diff --git a/.gitignore b/.gitignore index 9532800b..11812df1 100644 --- a/.gitignore +++ b/.gitignore @@ -1,69 +1,69 @@ -# Uncomment these types if you want even more clean repository. But be careful. -# It can make harm to an existing project source. Read explanations below. -# -# Resource files are binaries containing manifest, project icon and version info. -# They can not be viewed as text or compared by diff-tools. Consider replacing them with .rc files. -#*.res -# -# Type library file (binary). In old Delphi versions it should be stored. -# Since Delphi 2009 it is produced from .ridl file and can safely be ignored. -#*.tlb -# -# Diagram Portfolio file. Used by the diagram editor up to Delphi 7. -# Uncomment this if you are not using diagrams or use newer Delphi version. -#*.ddp -# -# Visual LiveBindings file. Added in Delphi XE2. -# Uncomment this if you are not using LiveBindings Designer. -#*.vlb -# -# Deployment Manager configuration file for your project. Added in Delphi XE2. -# Uncomment this if it is not mobile development and you do not use remote debug feature. -#*.deployproj -# -# C++ object files produced when C/C++ Output file generation is configured. -# Uncomment this if you are not using external objects (zlib library for example). -#*.obj -# - -# Delphi compiler-generated binaries (safe to delete) -*.exe -*.dll -*.bpl -*.bpi -*.dcp -*.so -*.apk -*.drc -*.map -*.dres -*.rsm -*.tds -*.dcu -*.lib -*.a -*.o -*.ocx - -# Delphi autogenerated files (duplicated info) -*.cfg -*.hpp -*Resource.rc - -# Delphi local files (user-specific info) -*.local -*.identcache -*.projdata -*.tvsconfig -*.dsk - -# Delphi history and backups -__history/ -__recovery/ -*.~* - -# Castalia statistics file (since XE7 Castalia is distributed with Delphi) -*.stat - -# Boss dependency manager vendor folder https://github.com/HashLoad/boss -modules/ +# Uncomment these types if you want even more clean repository. But be careful. +# It can make harm to an existing project source. Read explanations below. +# +# Resource files are binaries containing manifest, project icon and version info. +# They can not be viewed as text or compared by diff-tools. Consider replacing them with .rc files. +#*.res +# +# Type library file (binary). In old Delphi versions it should be stored. +# Since Delphi 2009 it is produced from .ridl file and can safely be ignored. +#*.tlb +# +# Diagram Portfolio file. Used by the diagram editor up to Delphi 7. +# Uncomment this if you are not using diagrams or use newer Delphi version. +#*.ddp +# +# Visual LiveBindings file. Added in Delphi XE2. +# Uncomment this if you are not using LiveBindings Designer. +#*.vlb +# +# Deployment Manager configuration file for your project. Added in Delphi XE2. +# Uncomment this if it is not mobile development and you do not use remote debug feature. +#*.deployproj +# +# C++ object files produced when C/C++ Output file generation is configured. +# Uncomment this if you are not using external objects (zlib library for example). +#*.obj +# + +# Delphi compiler-generated binaries (safe to delete) +*.exe +*.dll +*.bpl +*.bpi +*.dcp +*.so +*.apk +*.drc +*.map +*.dres +*.rsm +*.tds +*.dcu +*.lib +*.a +*.o +*.ocx + +# Delphi autogenerated files (duplicated info) +*.cfg +*.hpp +*Resource.rc + +# Delphi local files (user-specific info) +*.local +*.identcache +*.projdata +*.tvsconfig +*.dsk + +# Delphi history and backups +__history/ +__recovery/ +*.~* + +# Castalia statistics file (since XE7 Castalia is distributed with Delphi) +*.stat + +# Boss dependency manager vendor folder https://github.com/HashLoad/boss +modules/ diff --git a/Demo/D10_1/SVGIconImageListDemo.dpr b/Demo/D10_1/SVGIconImageListDemo.dpr index f3647d60..91f91e25 100644 --- a/Demo/D10_1/SVGIconImageListDemo.dpr +++ b/Demo/D10_1/SVGIconImageListDemo.dpr @@ -1,21 +1,21 @@ -program SVGIconImageListDemo; - -uses - Vcl.Forms, - Vcl.Themes, - Vcl.Styles, - UMain in '..\Source\UMain.pas' {MainForm}, - SVGIconImageListEditorUnit in '..\..\Packages\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, - SVGIconImageList in '..\..\source\SVGIconImageList.pas', - UDataModule in '..\Source\UDataModule.pas' {ImageDataModule: TDataModule}; - -{$R *.res} - -begin - Application.Initialize; - Application.MainFormOnTaskbar := True; - TStyleManager.TrySetStyle('Windows10'); - Application.CreateForm(TImageDataModule, ImageDataModule); - Application.CreateForm(TMainForm, MainForm); - Application.Run; -end. +program SVGIconImageListDemo; + +uses + Vcl.Forms, + Vcl.Themes, + Vcl.Styles, + UMain in '..\Source\UMain.pas' {MainForm}, + SVGIconImageListEditorUnit in '..\..\Packages\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, + SVGIconImageList in '..\..\source\SVGIconImageList.pas', + UDataModule in '..\Source\UDataModule.pas' {ImageDataModule: TDataModule}; + +{$R *.res} + +begin + Application.Initialize; + Application.MainFormOnTaskbar := True; + TStyleManager.TrySetStyle('Windows10'); + Application.CreateForm(TImageDataModule, ImageDataModule); + Application.CreateForm(TMainForm, MainForm); + Application.Run; +end. diff --git a/Demo/D10_1/SVGIconImageListDemo.dproj b/Demo/D10_1/SVGIconImageListDemo.dproj index b93590fa..436f48d0 100644 --- a/Demo/D10_1/SVGIconImageListDemo.dproj +++ b/Demo/D10_1/SVGIconImageListDemo.dproj @@ -1,885 +1,885 @@ - - - {60259119-4A8F-4FB3-AAAB-25CBFB58FEE8} - SVGIconImageListDemo.dpr - Debug - DCC32 - 18.8 - VCL - True - Win32 - 2 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\Dcu\D10_1\$(Platform)\$(Config) - ..\Bin - ..\..\source;..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) - ..\Bin\IconFontsImageListDemo.exe - 00400000 - x86 - SVGIconImageListDemo - Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;$(DCC_Namespace) - true - 1033 - CompanyName=Ethea;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=;ProgramID= - "Aqua Light Slate|VCLSTYLE|$(BDSCOMMONDIR)\Styles\AquaLightSlate.vsf";"Cobalt XEMedia|VCLSTYLE|$(BDSCOMMONDIR)\Styles\CobaltXEMedia.vsf";"Cyan Night|VCLSTYLE|$(BDSCOMMONDIR)\Styles\CyanNight.vsf";"Emerald Light Slate|VCLSTYLE|$(BDSCOMMONDIR)\Styles\EmeraldLightSlate.vsf";Glossy|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Glossy.vsf;Glow|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Glow.vsf;"Golden Graphite|VCLSTYLE|$(BDSCOMMONDIR)\Styles\GoldenGraphite.vsf";"Iceberg Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\IcebergClassico.vsf";"Lavender Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\LavenderClassico.vsf";Light|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Light.vsf;Obsidian|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Obsidian.vsf;"Sapphire Kamri|VCLSTYLE|$(BDSCOMMONDIR)\Styles\SapphireKamri.vsf";Silver|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Silver.vsf;Sky|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Sky.vsf;"Slate Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\SlateClassico.vsf";"Turquoise Gray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\TurquoiseGray.vsf";Windows10|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10.vsf;"Windows10 Dark|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10Dark.vsf";"Windows10 SlateGray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10SlateGray.vsf" - - - System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - $(BDS)\bin\default_app.manifest - ..\Images\svgiconimagelistcomponenticon.ico - true - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - PerMonitor - - - $(BDS)\bin\default_app.manifest - ..\Images\svgiconimagelistcomponenticon.ico - true - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - - - true - DEBUG;$(DCC_Define) - - - true - - - - MainSource - - -
MainForm
-
- -
SVGIconImageListEditor
- dfm -
- - -
ImageDataModule
- dfm - TDataModule -
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - - Delphi.Personality.12 - VCLApplication - - - - SVGIconImageListDemo.dpr - - - False - True - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1040 - 1252 - - - Ethea S.r.l. - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - - - - True - True - - - - - SVGIconImageListDemo.exe - true - - - - - res\drawable-ldpi - 1 - - - - - - classes - 1 - - - - - Contents\MacOS - 0 - - - 1 - - - - - res\drawable-xxhdpi - 1 - - - - - 1 - - - 1 - - - 1 - - - - - Contents\Resources - 1 - - - - - 1 - - - 1 - - - 0 - - - 1 - - - 1 - - - library\lib\armeabi-v7a - 1 - - - 1 - - - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\values-v21 - 1 - - - res\values-v21 - 1 - - - - - 1 - - - 1 - - - 1 - - - - - library\lib\armeabi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - 0 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\drawable-normal - 1 - - - - - 1 - - - 1 - - - 1 - - - - - - library\lib\armeabi-v7a - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\drawable - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - - - 1 - - - 1 - - - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable-mdpi - 1 - - - - - res\drawable-xlarge - 1 - - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - library\lib\mips - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 0 - - - 1 - .framework - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - res\xml - 1 - - - res\xml - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - - 1 - - - 1 - - - 1 - - - - - res\drawable-xhdpi - 1 - - - - - res\drawable-large - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - res\drawable-hdpi - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - - res\values - 1 - - - - - res\drawable-small - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 0 - .bpl - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - - - 1 - - - 1 - - - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - 0 - .dll;.bpl - - - 1 - .dylib - - - - - - - - - - - - - - - 12 - - - -
+ + + {60259119-4A8F-4FB3-AAAB-25CBFB58FEE8} + SVGIconImageListDemo.dpr + Debug + DCC32 + 18.8 + VCL + True + Win32 + 2 + Application + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\Dcu\D10_1\$(Platform)\$(Config) + ..\Bin + ..\..\source;..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) + ..\Bin\IconFontsImageListDemo.exe + 00400000 + x86 + SVGIconImageListDemo + Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;$(DCC_Namespace) + true + 1033 + CompanyName=Ethea;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=;ProgramID= + "Aqua Light Slate|VCLSTYLE|$(BDSCOMMONDIR)\Styles\AquaLightSlate.vsf";"Cobalt XEMedia|VCLSTYLE|$(BDSCOMMONDIR)\Styles\CobaltXEMedia.vsf";"Cyan Night|VCLSTYLE|$(BDSCOMMONDIR)\Styles\CyanNight.vsf";"Emerald Light Slate|VCLSTYLE|$(BDSCOMMONDIR)\Styles\EmeraldLightSlate.vsf";Glossy|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Glossy.vsf;Glow|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Glow.vsf;"Golden Graphite|VCLSTYLE|$(BDSCOMMONDIR)\Styles\GoldenGraphite.vsf";"Iceberg Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\IcebergClassico.vsf";"Lavender Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\LavenderClassico.vsf";Light|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Light.vsf;Obsidian|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Obsidian.vsf;"Sapphire Kamri|VCLSTYLE|$(BDSCOMMONDIR)\Styles\SapphireKamri.vsf";Silver|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Silver.vsf;Sky|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Sky.vsf;"Slate Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\SlateClassico.vsf";"Turquoise Gray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\TurquoiseGray.vsf";Windows10|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10.vsf;"Windows10 Dark|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10Dark.vsf";"Windows10 SlateGray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10SlateGray.vsf" + + + System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + $(BDS)\bin\default_app.manifest + ..\Images\svgiconimagelistcomponenticon.ico + true + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + PerMonitor + + + $(BDS)\bin\default_app.manifest + ..\Images\svgiconimagelistcomponenticon.ico + true + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + true + + + true + DEBUG;$(DCC_Define) + + + true + + + + MainSource + + +
MainForm
+
+ +
SVGIconImageListEditor
+ dfm +
+ + +
ImageDataModule
+ dfm + TDataModule +
+ + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + + Delphi.Personality.12 + VCLApplication + + + + SVGIconImageListDemo.dpr + + + False + True + False + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 1040 + 1252 + + + Ethea S.r.l. + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + + + + True + True + + + + + SVGIconImageListDemo.exe + true + + + + + res\drawable-ldpi + 1 + + + + + + classes + 1 + + + + + Contents\MacOS + 0 + + + 1 + + + + + res\drawable-xxhdpi + 1 + + + + + 1 + + + 1 + + + 1 + + + + + Contents\Resources + 1 + + + + + 1 + + + 1 + + + 0 + + + 1 + + + 1 + + + library\lib\armeabi-v7a + 1 + + + 1 + + + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + 1 + + + 1 + + + 1 + + + + + library\lib\armeabi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + 0 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\drawable-normal + 1 + + + + + 1 + + + 1 + + + 1 + + + + + + library\lib\armeabi-v7a + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\drawable + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + + + 1 + + + 1 + + + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable-mdpi + 1 + + + + + res\drawable-xlarge + 1 + + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + library\lib\mips + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 0 + + + 1 + .framework + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + + 1 + + + 1 + + + 1 + + + + + res\drawable-xhdpi + 1 + + + + + res\drawable-large + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + res\drawable-hdpi + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + + res\values + 1 + + + + + res\drawable-small + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 0 + .bpl + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + + + 1 + + + 1 + + + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + 0 + .dll;.bpl + + + 1 + .dylib + + + + + + + + + + + + + + + 12 + + + +
diff --git a/Demo/D10_2/SVGIconImageListDemo.dpr b/Demo/D10_2/SVGIconImageListDemo.dpr index f3647d60..91f91e25 100644 --- a/Demo/D10_2/SVGIconImageListDemo.dpr +++ b/Demo/D10_2/SVGIconImageListDemo.dpr @@ -1,21 +1,21 @@ -program SVGIconImageListDemo; - -uses - Vcl.Forms, - Vcl.Themes, - Vcl.Styles, - UMain in '..\Source\UMain.pas' {MainForm}, - SVGIconImageListEditorUnit in '..\..\Packages\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, - SVGIconImageList in '..\..\source\SVGIconImageList.pas', - UDataModule in '..\Source\UDataModule.pas' {ImageDataModule: TDataModule}; - -{$R *.res} - -begin - Application.Initialize; - Application.MainFormOnTaskbar := True; - TStyleManager.TrySetStyle('Windows10'); - Application.CreateForm(TImageDataModule, ImageDataModule); - Application.CreateForm(TMainForm, MainForm); - Application.Run; -end. +program SVGIconImageListDemo; + +uses + Vcl.Forms, + Vcl.Themes, + Vcl.Styles, + UMain in '..\Source\UMain.pas' {MainForm}, + SVGIconImageListEditorUnit in '..\..\Packages\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, + SVGIconImageList in '..\..\source\SVGIconImageList.pas', + UDataModule in '..\Source\UDataModule.pas' {ImageDataModule: TDataModule}; + +{$R *.res} + +begin + Application.Initialize; + Application.MainFormOnTaskbar := True; + TStyleManager.TrySetStyle('Windows10'); + Application.CreateForm(TImageDataModule, ImageDataModule); + Application.CreateForm(TMainForm, MainForm); + Application.Run; +end. diff --git a/Demo/D10_2/SVGIconImageListDemo.dproj b/Demo/D10_2/SVGIconImageListDemo.dproj index 644f636c..0fd59f92 100644 --- a/Demo/D10_2/SVGIconImageListDemo.dproj +++ b/Demo/D10_2/SVGIconImageListDemo.dproj @@ -1,884 +1,884 @@ - - - {60259119-4A8F-4FB3-AAAB-25CBFB58FEE8} - SVGIconImageListDemo.dpr - Debug - DCC32 - 18.8 - VCL - True - Win32 - 2 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\Dcu\D10_2\$(Platform)\$(Config) - ..\Bin - ..\..\source;..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) - ..\Bin\IconFontsImageListDemo.exe - 00400000 - x86 - SVGIconImageListDemo - Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;$(DCC_Namespace) - true - 1033 - CompanyName=Ethea;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=;ProgramID= - "Aqua Light Slate|VCLSTYLE|$(BDSCOMMONDIR)\Styles\AquaLightSlate.vsf";"Cobalt XEMedia|VCLSTYLE|$(BDSCOMMONDIR)\Styles\CobaltXEMedia.vsf";"Cyan Night|VCLSTYLE|$(BDSCOMMONDIR)\Styles\CyanNight.vsf";"Emerald Light Slate|VCLSTYLE|$(BDSCOMMONDIR)\Styles\EmeraldLightSlate.vsf";Glossy|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Glossy.vsf;Glow|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Glow.vsf;"Golden Graphite|VCLSTYLE|$(BDSCOMMONDIR)\Styles\GoldenGraphite.vsf";"Iceberg Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\IcebergClassico.vsf";"Lavender Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\LavenderClassico.vsf";Light|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Light.vsf;Obsidian|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Obsidian.vsf;"Sapphire Kamri|VCLSTYLE|$(BDSCOMMONDIR)\Styles\SapphireKamri.vsf";Silver|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Silver.vsf;Sky|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Sky.vsf;"Slate Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\SlateClassico.vsf";"Turquoise Gray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\TurquoiseGray.vsf";Windows10|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10.vsf;"Windows10 Dark|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10Dark.vsf";"Windows10 SlateGray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10SlateGray.vsf" - - - System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - $(BDS)\bin\default_app.manifest - ..\Images\svgiconimagelistcomponenticon.ico - true - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - PerMonitor - - - $(BDS)\bin\default_app.manifest - ..\Images\svgiconimagelistcomponenticon.ico - true - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - - - true - DEBUG;$(DCC_Define) - - - true - - - - MainSource - - -
MainForm
-
- -
SVGIconImageListEditor
- dfm -
- - -
ImageDataModule
- dfm - TDataModule -
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - - Delphi.Personality.12 - VCLApplication - - - - SVGIconImageListDemo.dpr - - - False - True - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1040 - 1252 - - - Ethea S.r.l. - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - - - - True - True - - - - - SVGIconImageListDemo.exe - true - - - - - 1 - - - 0 - - - - - classes - 1 - - - - - res\xml - 1 - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - - - res\values - 1 - - - - - res\values-v21 - 1 - - - res\values-v21 - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - 1 - - - 1 - - - 0 - - - - - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - - - - 1 - - - 1 - - - 1 - - - - - - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 0 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - - 12 - - - -
+ + + {60259119-4A8F-4FB3-AAAB-25CBFB58FEE8} + SVGIconImageListDemo.dpr + Debug + DCC32 + 18.8 + VCL + True + Win32 + 2 + Application + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\Dcu\D10_2\$(Platform)\$(Config) + ..\Bin + ..\..\source;..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) + ..\Bin\IconFontsImageListDemo.exe + 00400000 + x86 + SVGIconImageListDemo + Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;$(DCC_Namespace) + true + 1033 + CompanyName=Ethea;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=;ProgramID= + "Aqua Light Slate|VCLSTYLE|$(BDSCOMMONDIR)\Styles\AquaLightSlate.vsf";"Cobalt XEMedia|VCLSTYLE|$(BDSCOMMONDIR)\Styles\CobaltXEMedia.vsf";"Cyan Night|VCLSTYLE|$(BDSCOMMONDIR)\Styles\CyanNight.vsf";"Emerald Light Slate|VCLSTYLE|$(BDSCOMMONDIR)\Styles\EmeraldLightSlate.vsf";Glossy|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Glossy.vsf;Glow|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Glow.vsf;"Golden Graphite|VCLSTYLE|$(BDSCOMMONDIR)\Styles\GoldenGraphite.vsf";"Iceberg Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\IcebergClassico.vsf";"Lavender Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\LavenderClassico.vsf";Light|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Light.vsf;Obsidian|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Obsidian.vsf;"Sapphire Kamri|VCLSTYLE|$(BDSCOMMONDIR)\Styles\SapphireKamri.vsf";Silver|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Silver.vsf;Sky|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Sky.vsf;"Slate Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\SlateClassico.vsf";"Turquoise Gray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\TurquoiseGray.vsf";Windows10|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10.vsf;"Windows10 Dark|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10Dark.vsf";"Windows10 SlateGray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10SlateGray.vsf" + + + System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + $(BDS)\bin\default_app.manifest + ..\Images\svgiconimagelistcomponenticon.ico + true + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + PerMonitor + + + $(BDS)\bin\default_app.manifest + ..\Images\svgiconimagelistcomponenticon.ico + true + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + true + + + true + DEBUG;$(DCC_Define) + + + true + + + + MainSource + + +
MainForm
+
+ +
SVGIconImageListEditor
+ dfm +
+ + +
ImageDataModule
+ dfm + TDataModule +
+ + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + + Delphi.Personality.12 + VCLApplication + + + + SVGIconImageListDemo.dpr + + + False + True + False + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 1040 + 1252 + + + Ethea S.r.l. + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + + + + True + True + + + + + SVGIconImageListDemo.exe + true + + + + + 1 + + + 0 + + + + + classes + 1 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + + + res\values + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + 1 + + + 1 + + + 0 + + + + + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + + + + 1 + + + 1 + + + 1 + + + + + + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + + + + + + + + + + + 12 + + + +
diff --git a/Demo/D10_3/IconPickerFMX.dpr b/Demo/D10_3/IconPickerFMX.dpr index 38a138e7..4796e5c5 100644 --- a/Demo/D10_3/IconPickerFMX.dpr +++ b/Demo/D10_3/IconPickerFMX.dpr @@ -1,15 +1,15 @@ -program IconPickerFMX; - -uses - System.StartUpCopy, - FMX.Forms, - UIconPickerFMX in '..\Source\UIconPickerFMX.pas' {IconPicker}, - BitmapCodecSVG in '..\..\Svg\BitmapCodecSVG.pas'; - -{$R *.res} - -begin - Application.Initialize; - Application.CreateForm(TIconPicker, IconPicker); - Application.Run; -end. +program IconPickerFMX; + +uses + System.StartUpCopy, + FMX.Forms, + UIconPickerFMX in '..\Source\UIconPickerFMX.pas' {IconPicker}, + BitmapCodecSVG in '..\..\Svg\BitmapCodecSVG.pas'; + +{$R *.res} + +begin + Application.Initialize; + Application.CreateForm(TIconPicker, IconPicker); + Application.Run; +end. diff --git a/Demo/D10_3/IconPickerFMX.dproj b/Demo/D10_3/IconPickerFMX.dproj index 080790d7..722f2fec 100644 --- a/Demo/D10_3/IconPickerFMX.dproj +++ b/Demo/D10_3/IconPickerFMX.dproj @@ -1,1084 +1,1084 @@ - - - {E5711C9C-9B07-4318-B3CC-870F7D2F10CF} - 18.8 - FMX - IconPickerFMX.dpr - True - Debug - Win32 - 32787 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - true - Cfg_2 - true - true - - - .\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) - true - true - true - true - true - true - true - true - $(BDS)\bin\delphi_PROJECTICON.ico - $(BDS)\bin\delphi_PROJECTICNS.icns - IconPickerFMX - ..\..\SVG;..\..\Source;..\..\GDIP;$(DCC_UnitSearchPath) - - - DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;tethering;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;soapserver;FrameViewer10_3;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;ibxbindings;rtl;DbxClientDriver;FireDACDSDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage) - package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= - Debug - true - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png - $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png - $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png - $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png - $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png - $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png - $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png - $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png - $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png - $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png - android-support-v4.dex.jar;cloud-messaging.dex.jar;com-google-android-gms.play-services-ads-base.17.2.0.dex.jar;com-google-android-gms.play-services-ads-identifier.16.0.0.dex.jar;com-google-android-gms.play-services-ads-lite.17.2.0.dex.jar;com-google-android-gms.play-services-ads.17.2.0.dex.jar;com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar;com-google-android-gms.play-services-analytics.16.0.8.dex.jar;com-google-android-gms.play-services-base.16.0.1.dex.jar;com-google-android-gms.play-services-basement.16.2.0.dex.jar;com-google-android-gms.play-services-gass.17.2.0.dex.jar;com-google-android-gms.play-services-identity.16.0.0.dex.jar;com-google-android-gms.play-services-maps.16.1.0.dex.jar;com-google-android-gms.play-services-measurement-base.16.4.0.dex.jar;com-google-android-gms.play-services-measurement-sdk-api.16.4.0.dex.jar;com-google-android-gms.play-services-stats.16.0.1.dex.jar;com-google-android-gms.play-services-tagmanager-v4-impl.16.0.8.dex.jar;com-google-android-gms.play-services-tasks.16.0.1.dex.jar;com-google-android-gms.play-services-wallet.16.0.1.dex.jar;com-google-firebase.firebase-analytics.16.4.0.dex.jar;com-google-firebase.firebase-common.16.1.0.dex.jar;com-google-firebase.firebase-iid-interop.16.0.1.dex.jar;com-google-firebase.firebase-iid.17.1.1.dex.jar;com-google-firebase.firebase-measurement-connector.17.0.1.dex.jar;com-google-firebase.firebase-messaging.17.5.0.dex.jar;fmx.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar - - - DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;tethering;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;ibxbindings;rtl;DbxClientDriver;FireDACDSDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage) - package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= - Debug - true - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png - $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png - $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png - $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png - $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png - $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png - $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png - $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png - $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png - $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png - android-support-v4.dex.jar;cloud-messaging.dex.jar;com-google-android-gms.play-services-ads-base.17.2.0.dex.jar;com-google-android-gms.play-services-ads-identifier.16.0.0.dex.jar;com-google-android-gms.play-services-ads-lite.17.2.0.dex.jar;com-google-android-gms.play-services-ads.17.2.0.dex.jar;com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar;com-google-android-gms.play-services-analytics.16.0.8.dex.jar;com-google-android-gms.play-services-base.16.0.1.dex.jar;com-google-android-gms.play-services-basement.16.2.0.dex.jar;com-google-android-gms.play-services-gass.17.2.0.dex.jar;com-google-android-gms.play-services-identity.16.0.0.dex.jar;com-google-android-gms.play-services-maps.16.1.0.dex.jar;com-google-android-gms.play-services-measurement-base.16.4.0.dex.jar;com-google-android-gms.play-services-measurement-sdk-api.16.4.0.dex.jar;com-google-android-gms.play-services-stats.16.0.1.dex.jar;com-google-android-gms.play-services-tagmanager-v4-impl.16.0.8.dex.jar;com-google-android-gms.play-services-tasks.16.0.1.dex.jar;com-google-android-gms.play-services-wallet.16.0.1.dex.jar;com-google-firebase.firebase-analytics.16.4.0.dex.jar;com-google-firebase.firebase-common.16.1.0.dex.jar;com-google-firebase.firebase-iid-interop.16.0.1.dex.jar;com-google-firebase.firebase-iid.17.1.1.dex.jar;com-google-firebase.firebase-measurement-connector.17.0.1.dex.jar;com-google-firebase.firebase-messaging.17.5.0.dex.jar;fmx.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar - - - DBXSqliteDriver;RESTComponents;IOCore;DBXDb2Driver;DBXInterBaseDriver;IOIBX;DataSnapServerMidas;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;svnui;tethering;rbBDE2026;FireDACADSDriver;rbRAP2026;DBXMSSQLDriver;rbRest2026;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;rbDBE2026;vcltouch;IconFontsImageList;vcldb;bindcompfmx;svn;DBXOracleDriver;ISOpenOffice7;inetdb;rbDB2026;CEF4Delphi;FmxTeeUI;emsedge;FireDACIBDriver;fmx;fmxdae;SVGImagePackageR;vclib;frxTee26;rbTC2026;iORM_Project;fs26;fmxgtxDocumentStudioControls;FireDACDBXDriver;dbexpress;IndyCore;rbIBE2026;vclx;vclgtxDocumentStudioControls;frxIntIO26;dsnap;DataSnapCommon;emsclient;FireDACCommon;rbRIDE2026;frxcs26;RESTBackendComponents;DataSnapConnectors;IOFireDAC;VCLRESTComponents;soapserver;fsTee26;FrameViewer10_3;IODBX;ISVcl7;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;fsIBX26;rbRCL2026;frx26;FireDACCommonODBC;FireDACCommonDriver;rbDIDE2026;DataSnapClient;rbCIDE2026;frxIntIOIndy26;inet;dclRBE2026;bindcompdbx;IndyIPCommon;dclRBFireDAC2026;vcl;DBXSybaseASEDriver;IndyIPServer;frxDB26;IndySystem;fsADO26;FireDACDb2Driver;frxDBX26;dsnapcon;rbADO2026;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;fsDB26;TeeDB;FireDAC;rbTCUI2026;IOXML;dclRBDBE2026;emshosting;LiscorVCL;frxe26;WPViewPDF_D10_3;LiscorRTL;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;ChromeTabs_R;DBXOdbcDriver;FireDACTDataDriver;FMXTee;rbRTL2026;frxIBX26;soaprtl;DbxCommonDriver;SVGPackage;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;emsserverresource;DbxClientDriver;FireDACDSDriver;DBXSybaseASADriver;frxADO26;CustomIPTransport;vcldsnap;vclgtxFRDocumentControls;SynEdit_R10_3;rbUSER2026;rbDAD2026;dclRBADO2026;DCPcrypt;bindcomp;appanalytics;ISRtl7;DBXInformixDriver;wPDF3_D10_3;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;rbUSERDesign2026;DataSnapIndy10ServerTransport;ISFLib7;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;rbFireDAC2026;dclRBIBE2026;IOADO;rbIDE2026;fmxase;$(DCC_UsePackage) - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - true - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - $(BDS)\bin\default_app.manifest - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - - - DBXSqliteDriver;RESTComponents;DBXDb2Driver;DBXInterBaseDriver;DataSnapServerMidas;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;CEF4Delphi;FmxTeeUI;emsedge;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;emsserverresource;DbxClientDriver;FireDACDSDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage) - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) - Debug - true - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - $(BDS)\bin\default_app.manifest - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - true - PerMonitorV2 - true - 1033 - - - true - PerMonitorV2 - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - PerMonitorV2 - - - true - PerMonitorV2 - - - - MainSource - - -
IconPicker
- fmx -
- - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Application - - - - IconPickerFMX.dpr - - - Chrome Tabs - Microsoft Office 2000 Sample Automation Server Wrapper Components - - - - - - true - - - - - true - - - - - true - - - - - IconPickerFMX.exe - true - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - classes - 1 - - - classes - 1 - - - - - res\xml - 1 - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - library\lib\armeabi - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\mips - 1 - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\values-v21 - 1 - - - res\values-v21 - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - res\drawable-small - 1 - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - res\drawable-xlarge - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - Contents\MacOS - 1 - .framework - - - Contents\MacOS - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - Contents\Resources\StartUp\ - 0 - - - Contents\Resources\StartUp\ - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - 1 - - - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - Contents - 1 - - - Contents - 1 - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - Contents\MacOS - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - - True - True - True - True - - - 12 - - - - -
+ + + {E5711C9C-9B07-4318-B3CC-870F7D2F10CF} + 18.8 + FMX + IconPickerFMX.dpr + True + Debug + Win32 + 32787 + Application + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + true + Cfg_2 + true + true + + + .\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + true + true + true + true + true + true + true + true + $(BDS)\bin\delphi_PROJECTICON.ico + $(BDS)\bin\delphi_PROJECTICNS.icns + IconPickerFMX + ..\..\SVG;..\..\Source;..\..\GDIP;$(DCC_UnitSearchPath) + + + DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;tethering;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;soapserver;FrameViewer10_3;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;ibxbindings;rtl;DbxClientDriver;FireDACDSDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage) + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + true + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png + android-support-v4.dex.jar;cloud-messaging.dex.jar;com-google-android-gms.play-services-ads-base.17.2.0.dex.jar;com-google-android-gms.play-services-ads-identifier.16.0.0.dex.jar;com-google-android-gms.play-services-ads-lite.17.2.0.dex.jar;com-google-android-gms.play-services-ads.17.2.0.dex.jar;com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar;com-google-android-gms.play-services-analytics.16.0.8.dex.jar;com-google-android-gms.play-services-base.16.0.1.dex.jar;com-google-android-gms.play-services-basement.16.2.0.dex.jar;com-google-android-gms.play-services-gass.17.2.0.dex.jar;com-google-android-gms.play-services-identity.16.0.0.dex.jar;com-google-android-gms.play-services-maps.16.1.0.dex.jar;com-google-android-gms.play-services-measurement-base.16.4.0.dex.jar;com-google-android-gms.play-services-measurement-sdk-api.16.4.0.dex.jar;com-google-android-gms.play-services-stats.16.0.1.dex.jar;com-google-android-gms.play-services-tagmanager-v4-impl.16.0.8.dex.jar;com-google-android-gms.play-services-tasks.16.0.1.dex.jar;com-google-android-gms.play-services-wallet.16.0.1.dex.jar;com-google-firebase.firebase-analytics.16.4.0.dex.jar;com-google-firebase.firebase-common.16.1.0.dex.jar;com-google-firebase.firebase-iid-interop.16.0.1.dex.jar;com-google-firebase.firebase-iid.17.1.1.dex.jar;com-google-firebase.firebase-measurement-connector.17.0.1.dex.jar;com-google-firebase.firebase-messaging.17.5.0.dex.jar;fmx.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar + + + DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;tethering;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;ibxbindings;rtl;DbxClientDriver;FireDACDSDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage) + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=auto;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + true + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png + android-support-v4.dex.jar;cloud-messaging.dex.jar;com-google-android-gms.play-services-ads-base.17.2.0.dex.jar;com-google-android-gms.play-services-ads-identifier.16.0.0.dex.jar;com-google-android-gms.play-services-ads-lite.17.2.0.dex.jar;com-google-android-gms.play-services-ads.17.2.0.dex.jar;com-google-android-gms.play-services-analytics-impl.16.0.8.dex.jar;com-google-android-gms.play-services-analytics.16.0.8.dex.jar;com-google-android-gms.play-services-base.16.0.1.dex.jar;com-google-android-gms.play-services-basement.16.2.0.dex.jar;com-google-android-gms.play-services-gass.17.2.0.dex.jar;com-google-android-gms.play-services-identity.16.0.0.dex.jar;com-google-android-gms.play-services-maps.16.1.0.dex.jar;com-google-android-gms.play-services-measurement-base.16.4.0.dex.jar;com-google-android-gms.play-services-measurement-sdk-api.16.4.0.dex.jar;com-google-android-gms.play-services-stats.16.0.1.dex.jar;com-google-android-gms.play-services-tagmanager-v4-impl.16.0.8.dex.jar;com-google-android-gms.play-services-tasks.16.0.1.dex.jar;com-google-android-gms.play-services-wallet.16.0.1.dex.jar;com-google-firebase.firebase-analytics.16.4.0.dex.jar;com-google-firebase.firebase-common.16.1.0.dex.jar;com-google-firebase.firebase-iid-interop.16.0.1.dex.jar;com-google-firebase.firebase-iid.17.1.1.dex.jar;com-google-firebase.firebase-measurement-connector.17.0.1.dex.jar;com-google-firebase.firebase-messaging.17.5.0.dex.jar;fmx.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar + + + DBXSqliteDriver;RESTComponents;IOCore;DBXDb2Driver;DBXInterBaseDriver;IOIBX;DataSnapServerMidas;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;svnui;tethering;rbBDE2026;FireDACADSDriver;rbRAP2026;DBXMSSQLDriver;rbRest2026;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;rbDBE2026;vcltouch;IconFontsImageList;vcldb;bindcompfmx;svn;DBXOracleDriver;ISOpenOffice7;inetdb;rbDB2026;CEF4Delphi;FmxTeeUI;emsedge;FireDACIBDriver;fmx;fmxdae;SVGImagePackageR;vclib;frxTee26;rbTC2026;iORM_Project;fs26;fmxgtxDocumentStudioControls;FireDACDBXDriver;dbexpress;IndyCore;rbIBE2026;vclx;vclgtxDocumentStudioControls;frxIntIO26;dsnap;DataSnapCommon;emsclient;FireDACCommon;rbRIDE2026;frxcs26;RESTBackendComponents;DataSnapConnectors;IOFireDAC;VCLRESTComponents;soapserver;fsTee26;FrameViewer10_3;IODBX;ISVcl7;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;fsIBX26;rbRCL2026;frx26;FireDACCommonODBC;FireDACCommonDriver;rbDIDE2026;DataSnapClient;rbCIDE2026;frxIntIOIndy26;inet;dclRBE2026;bindcompdbx;IndyIPCommon;dclRBFireDAC2026;vcl;DBXSybaseASEDriver;IndyIPServer;frxDB26;IndySystem;fsADO26;FireDACDb2Driver;frxDBX26;dsnapcon;rbADO2026;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;fsDB26;TeeDB;FireDAC;rbTCUI2026;IOXML;dclRBDBE2026;emshosting;LiscorVCL;frxe26;WPViewPDF_D10_3;LiscorRTL;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;ChromeTabs_R;DBXOdbcDriver;FireDACTDataDriver;FMXTee;rbRTL2026;frxIBX26;soaprtl;DbxCommonDriver;SVGPackage;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;emsserverresource;DbxClientDriver;FireDACDSDriver;DBXSybaseASADriver;frxADO26;CustomIPTransport;vcldsnap;vclgtxFRDocumentControls;SynEdit_R10_3;rbUSER2026;rbDAD2026;dclRBADO2026;DCPcrypt;bindcomp;appanalytics;ISRtl7;DBXInformixDriver;wPDF3_D10_3;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;rbUSERDesign2026;DataSnapIndy10ServerTransport;ISFLib7;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;rbFireDAC2026;dclRBIBE2026;IOADO;rbIDE2026;fmxase;$(DCC_UsePackage) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + $(BDS)\bin\default_app.manifest + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + DBXSqliteDriver;RESTComponents;DBXDb2Driver;DBXInterBaseDriver;DataSnapServerMidas;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;CEF4Delphi;FmxTeeUI;emsedge;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;emsserverresource;DbxClientDriver;FireDACDSDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + Debug + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + $(BDS)\bin\default_app.manifest + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + true + PerMonitorV2 + true + 1033 + + + true + PerMonitorV2 + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + true + PerMonitorV2 + + + true + PerMonitorV2 + + + + MainSource + + +
IconPicker
+ fmx +
+ + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + Delphi.Personality.12 + Application + + + + IconPickerFMX.dpr + + + Chrome Tabs + Microsoft Office 2000 Sample Automation Server Wrapper Components + + + + + + true + + + + + true + + + + + true + + + + + IconPickerFMX.exe + true + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + classes + 1 + + + classes + 1 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\armeabi + 1 + + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\mips + 1 + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-small + 1 + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + Contents\MacOS + 1 + .framework + + + Contents\MacOS + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + Contents\Resources\StartUp\ + 0 + + + Contents\Resources\StartUp\ + 0 + + + 0 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + 1 + + + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + + + Contents + 1 + + + Contents + 1 + + + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + Contents\MacOS + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + + + + + + + + + + + True + True + True + True + + + 12 + + + + +
diff --git a/Demo/D10_3/SVGIconImageDemoFMX.dpr b/Demo/D10_3/SVGIconImageDemoFMX.dpr index 40b8acfb..78c86606 100644 --- a/Demo/D10_3/SVGIconImageDemoFMX.dpr +++ b/Demo/D10_3/SVGIconImageDemoFMX.dpr @@ -1,14 +1,14 @@ -program SVGIconImageDemoFMX; - -uses - System.StartUpCopy, - FMX.Forms, - USVGIconImageFMX in '..\Source\USVGIconImageFMX.pas' {SVGIconImageForm}; - -{$R *.res} - -begin - Application.Initialize; - Application.CreateForm(TSVGIconImageForm, SVGIconImageForm); - Application.Run; -end. +program SVGIconImageDemoFMX; + +uses + System.StartUpCopy, + FMX.Forms, + USVGIconImageFMX in '..\Source\USVGIconImageFMX.pas' {SVGIconImageForm}; + +{$R *.res} + +begin + Application.Initialize; + Application.CreateForm(TSVGIconImageForm, SVGIconImageForm); + Application.Run; +end. diff --git a/Demo/D10_3/SVGIconImageDemoFMX.dproj b/Demo/D10_3/SVGIconImageDemoFMX.dproj index c7db48fb..cbddc316 100644 --- a/Demo/D10_3/SVGIconImageDemoFMX.dproj +++ b/Demo/D10_3/SVGIconImageDemoFMX.dproj @@ -1,1053 +1,1053 @@ - - - {9F3FCCAB-39A7-436C-B038-A6D28455E580} - 18.8 - FMX - SVGIconImageDemoFMX.dpr - True - Debug - Win32 - 32785 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Cfg_1 - true - true - - - true - Cfg_1 - true - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - true - Cfg_2 - true - true - - - ..\dcu\D10_3\$(Platform)\$(Config) - ..\Bin - false - false - false - false - false - System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) - true - true - true - true - true - true - true - true - $(BDS)\bin\delphi_PROJECTICON.ico - $(BDS)\bin\delphi_PROJECTICNS.icns - SVGIconImageDemoFMX - ..\..\Source;..\..\Svg;..\..\GDIP;$(DCC_UnitSearchPath) - - - DBXSqliteDriver;RESTComponents;IOCore;DBXDb2Driver;DBXInterBaseDriver;DataSnapServerMidas;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;svnui;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;IconFontsImageList;vcltouch;vcldb;bindcompfmx;svn;DBXOracleDriver;ISOpenOffice7;inetdb;FmxTeeUI;emsedge;FireDACIBDriver;fmx;fmxdae;SVGImagePackageR;vclib;frxTee26;fs26;FireDACDBXDriver;dbexpress;IndyCore;vclx;frxIntIO26;dsnap;DataSnapCommon;emsclient;FireDACCommon;frxcs26;RESTBackendComponents;DataSnapConnectors;IOFireDAC;VCLRESTComponents;soapserver;fsTee26;ISVcl7;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;fsIBX26;frx26;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;frxIntIOIndy26;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;frxDB26;IndySystem;fsADO26;FireDACDb2Driver;frxDBX26;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;fsDB26;TeeDB;FireDAC;IOXML;emshosting;frxe26;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;ChromeTabs_R;DBXOdbcDriver;FireDACTDataDriver;FMXTee;SVGPackage;frxIBX26;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;emsserverresource;DbxClientDriver;FireDACDSDriver;DBXSybaseASADriver;frxADO26;CustomIPTransport;vcldsnap;SynEdit_R10_3;ISRtl7;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;ISFLib7;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage) - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - true - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - $(BDS)\bin\default_app.manifest - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - ..\Images\svgiconimagelistcomponenticon.ico - - - DBXSqliteDriver;RESTComponents;DBXDb2Driver;DBXInterBaseDriver;DataSnapServerMidas;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;emsserverresource;DbxClientDriver;FireDACDSDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage) - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) - Debug - true - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - $(BDS)\bin\default_app.manifest - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - Debug - - - Debug - - - false - true - PerMonitorV2 - true - 1033 - - - true - PerMonitorV2 - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - PerMonitorV2 - IconFontsImageListComponentIcon.ico - - - true - PerMonitorV2 - - - - MainSource - - -
SVGIconImageForm
- fmx -
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Application - - - - SVGIconImageDemoFMX.dpr - - - Microsoft Office XP Sample Automation Server Wrapper Components - DCPcrypt cryptographic component library v2 B3 - Microsoft Office 2000 Sample Automation Server Wrapper Components - - - - - - true - - - - - true - - - - - true - - - - - SVGIconImageDemoFMX.exe - true - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - classes - 1 - - - classes - 1 - - - - - res\xml - 1 - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - library\lib\armeabi - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\mips - 1 - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\values-v21 - 1 - - - res\values-v21 - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - res\drawable-small - 1 - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - res\drawable-xlarge - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - Contents\MacOS - 1 - .framework - - - Contents\MacOS - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - Contents\Resources\StartUp\ - 0 - - - Contents\Resources\StartUp\ - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - 1 - - - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - Contents - 1 - - - Contents - 1 - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - Contents\MacOS - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - - True - True - True - False - - - 12 - - - - - -
+ + + {9F3FCCAB-39A7-436C-B038-A6D28455E580} + 18.8 + FMX + SVGIconImageDemoFMX.dpr + True + Debug + Win32 + 32785 + Application + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Cfg_1 + true + true + + + true + Cfg_1 + true + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + true + Cfg_2 + true + true + + + ..\dcu\D10_3\$(Platform)\$(Config) + ..\Bin + false + false + false + false + false + System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + true + true + true + true + true + true + true + true + $(BDS)\bin\delphi_PROJECTICON.ico + $(BDS)\bin\delphi_PROJECTICNS.icns + SVGIconImageDemoFMX + ..\..\Source;..\..\Svg;..\..\GDIP;$(DCC_UnitSearchPath) + + + DBXSqliteDriver;RESTComponents;IOCore;DBXDb2Driver;DBXInterBaseDriver;DataSnapServerMidas;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;svnui;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;IconFontsImageList;vcltouch;vcldb;bindcompfmx;svn;DBXOracleDriver;ISOpenOffice7;inetdb;FmxTeeUI;emsedge;FireDACIBDriver;fmx;fmxdae;SVGImagePackageR;vclib;frxTee26;fs26;FireDACDBXDriver;dbexpress;IndyCore;vclx;frxIntIO26;dsnap;DataSnapCommon;emsclient;FireDACCommon;frxcs26;RESTBackendComponents;DataSnapConnectors;IOFireDAC;VCLRESTComponents;soapserver;fsTee26;ISVcl7;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;fsIBX26;frx26;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;frxIntIOIndy26;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;frxDB26;IndySystem;fsADO26;FireDACDb2Driver;frxDBX26;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;fsDB26;TeeDB;FireDAC;IOXML;emshosting;frxe26;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;ChromeTabs_R;DBXOdbcDriver;FireDACTDataDriver;FMXTee;SVGPackage;frxIBX26;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;emsserverresource;DbxClientDriver;FireDACDSDriver;DBXSybaseASADriver;frxADO26;CustomIPTransport;vcldsnap;SynEdit_R10_3;ISRtl7;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;ISFLib7;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + $(BDS)\bin\default_app.manifest + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + ..\Images\svgiconimagelistcomponenticon.ico + + + DBXSqliteDriver;RESTComponents;DBXDb2Driver;DBXInterBaseDriver;DataSnapServerMidas;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;emsserverresource;DbxClientDriver;FireDACDSDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + Debug + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + $(BDS)\bin\default_app.manifest + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + Debug + + + Debug + + + false + true + PerMonitorV2 + true + 1033 + + + true + PerMonitorV2 + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + true + PerMonitorV2 + IconFontsImageListComponentIcon.ico + + + true + PerMonitorV2 + + + + MainSource + + +
SVGIconImageForm
+ fmx +
+ + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + Delphi.Personality.12 + Application + + + + SVGIconImageDemoFMX.dpr + + + Microsoft Office XP Sample Automation Server Wrapper Components + DCPcrypt cryptographic component library v2 B3 + Microsoft Office 2000 Sample Automation Server Wrapper Components + + + + + + true + + + + + true + + + + + true + + + + + SVGIconImageDemoFMX.exe + true + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + classes + 1 + + + classes + 1 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\armeabi + 1 + + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\mips + 1 + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-small + 1 + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + Contents\MacOS + 1 + .framework + + + Contents\MacOS + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + Contents\Resources\StartUp\ + 0 + + + Contents\Resources\StartUp\ + 0 + + + 0 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + 1 + + + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + + + Contents + 1 + + + Contents + 1 + + + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + Contents\MacOS + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + + + + + + + + + + + True + True + True + False + + + 12 + + + + + +
diff --git a/Demo/D10_3/SVGIconImageListDemo.dpr b/Demo/D10_3/SVGIconImageListDemo.dpr index f3647d60..91f91e25 100644 --- a/Demo/D10_3/SVGIconImageListDemo.dpr +++ b/Demo/D10_3/SVGIconImageListDemo.dpr @@ -1,21 +1,21 @@ -program SVGIconImageListDemo; - -uses - Vcl.Forms, - Vcl.Themes, - Vcl.Styles, - UMain in '..\Source\UMain.pas' {MainForm}, - SVGIconImageListEditorUnit in '..\..\Packages\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, - SVGIconImageList in '..\..\source\SVGIconImageList.pas', - UDataModule in '..\Source\UDataModule.pas' {ImageDataModule: TDataModule}; - -{$R *.res} - -begin - Application.Initialize; - Application.MainFormOnTaskbar := True; - TStyleManager.TrySetStyle('Windows10'); - Application.CreateForm(TImageDataModule, ImageDataModule); - Application.CreateForm(TMainForm, MainForm); - Application.Run; -end. +program SVGIconImageListDemo; + +uses + Vcl.Forms, + Vcl.Themes, + Vcl.Styles, + UMain in '..\Source\UMain.pas' {MainForm}, + SVGIconImageListEditorUnit in '..\..\Packages\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, + SVGIconImageList in '..\..\source\SVGIconImageList.pas', + UDataModule in '..\Source\UDataModule.pas' {ImageDataModule: TDataModule}; + +{$R *.res} + +begin + Application.Initialize; + Application.MainFormOnTaskbar := True; + TStyleManager.TrySetStyle('Windows10'); + Application.CreateForm(TImageDataModule, ImageDataModule); + Application.CreateForm(TMainForm, MainForm); + Application.Run; +end. diff --git a/Demo/D10_3/SVGIconImageListDemo.dproj b/Demo/D10_3/SVGIconImageListDemo.dproj index a85a412a..af71d333 100644 --- a/Demo/D10_3/SVGIconImageListDemo.dproj +++ b/Demo/D10_3/SVGIconImageListDemo.dproj @@ -1,884 +1,884 @@ - - - {60259119-4A8F-4FB3-AAAB-25CBFB58FEE8} - SVGIconImageListDemo.dpr - Debug - DCC32 - 18.8 - VCL - True - Win32 - 2 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\Dcu\D10_3\$(Platform)\$(Config) - ..\Bin - ..\..\source;..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) - ..\Bin\IconFontsImageListDemo.exe - 00400000 - x86 - SVGIconImageListDemo - Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;$(DCC_Namespace) - true - 1033 - CompanyName=Ethea;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=;ProgramID= - "Aqua Light Slate|VCLSTYLE|$(BDSCOMMONDIR)\Styles\AquaLightSlate.vsf";"Cobalt XEMedia|VCLSTYLE|$(BDSCOMMONDIR)\Styles\CobaltXEMedia.vsf";"Cyan Night|VCLSTYLE|$(BDSCOMMONDIR)\Styles\CyanNight.vsf";"Emerald Light Slate|VCLSTYLE|$(BDSCOMMONDIR)\Styles\EmeraldLightSlate.vsf";Glossy|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Glossy.vsf;Glow|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Glow.vsf;"Golden Graphite|VCLSTYLE|$(BDSCOMMONDIR)\Styles\GoldenGraphite.vsf";"Iceberg Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\IcebergClassico.vsf";"Lavender Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\LavenderClassico.vsf";Light|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Light.vsf;Obsidian|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Obsidian.vsf;"Sapphire Kamri|VCLSTYLE|$(BDSCOMMONDIR)\Styles\SapphireKamri.vsf";Silver|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Silver.vsf;Sky|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Sky.vsf;"Slate Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\SlateClassico.vsf";"Turquoise Gray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\TurquoiseGray.vsf";Windows10|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10.vsf;"Windows10 Dark|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10Dark.vsf";"Windows10 SlateGray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10SlateGray.vsf" - - - System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - $(BDS)\bin\default_app.manifest - ..\Images\svgiconimagelistcomponenticon.ico - true - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - PerMonitor - - - $(BDS)\bin\default_app.manifest - ..\Images\svgiconimagelistcomponenticon.ico - true - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - - - true - DEBUG;$(DCC_Define) - - - true - - - - MainSource - - -
MainForm
-
- -
SVGIconImageListEditor
- dfm -
- - -
ImageDataModule
- dfm - TDataModule -
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - - Delphi.Personality.12 - VCLApplication - - - - SVGIconImageListDemo.dpr - - - False - True - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1040 - 1252 - - - Ethea S.r.l. - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - - - - True - True - - - - - SVGIconImageListDemo.exe - true - - - - - 1 - - - 0 - - - - - classes - 1 - - - - - res\xml - 1 - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - - - res\values - 1 - - - - - res\values-v21 - 1 - - - res\values-v21 - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - 1 - - - 1 - - - 0 - - - - - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - - - - 1 - - - 1 - - - 1 - - - - - - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 0 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - - 12 - - - -
+ + + {60259119-4A8F-4FB3-AAAB-25CBFB58FEE8} + SVGIconImageListDemo.dpr + Debug + DCC32 + 18.8 + VCL + True + Win32 + 2 + Application + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\Dcu\D10_3\$(Platform)\$(Config) + ..\Bin + ..\..\source;..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) + ..\Bin\IconFontsImageListDemo.exe + 00400000 + x86 + SVGIconImageListDemo + Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;$(DCC_Namespace) + true + 1033 + CompanyName=Ethea;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=;ProgramID= + "Aqua Light Slate|VCLSTYLE|$(BDSCOMMONDIR)\Styles\AquaLightSlate.vsf";"Cobalt XEMedia|VCLSTYLE|$(BDSCOMMONDIR)\Styles\CobaltXEMedia.vsf";"Cyan Night|VCLSTYLE|$(BDSCOMMONDIR)\Styles\CyanNight.vsf";"Emerald Light Slate|VCLSTYLE|$(BDSCOMMONDIR)\Styles\EmeraldLightSlate.vsf";Glossy|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Glossy.vsf;Glow|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Glow.vsf;"Golden Graphite|VCLSTYLE|$(BDSCOMMONDIR)\Styles\GoldenGraphite.vsf";"Iceberg Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\IcebergClassico.vsf";"Lavender Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\LavenderClassico.vsf";Light|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Light.vsf;Obsidian|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Obsidian.vsf;"Sapphire Kamri|VCLSTYLE|$(BDSCOMMONDIR)\Styles\SapphireKamri.vsf";Silver|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Silver.vsf;Sky|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Sky.vsf;"Slate Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\SlateClassico.vsf";"Turquoise Gray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\TurquoiseGray.vsf";Windows10|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10.vsf;"Windows10 Dark|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10Dark.vsf";"Windows10 SlateGray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10SlateGray.vsf" + + + System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + $(BDS)\bin\default_app.manifest + ..\Images\svgiconimagelistcomponenticon.ico + true + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + PerMonitor + + + $(BDS)\bin\default_app.manifest + ..\Images\svgiconimagelistcomponenticon.ico + true + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + true + + + true + DEBUG;$(DCC_Define) + + + true + + + + MainSource + + +
MainForm
+
+ +
SVGIconImageListEditor
+ dfm +
+ + +
ImageDataModule
+ dfm + TDataModule +
+ + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + + Delphi.Personality.12 + VCLApplication + + + + SVGIconImageListDemo.dpr + + + False + True + False + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 1040 + 1252 + + + Ethea S.r.l. + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + + + + True + True + + + + + SVGIconImageListDemo.exe + true + + + + + 1 + + + 0 + + + + + classes + 1 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + + + res\values + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + 1 + + + 1 + + + 0 + + + + + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + + + + 1 + + + 1 + + + 1 + + + + + + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + + + + + + + + + + + 12 + + + +
diff --git a/Demo/D10_3/SVGIconImageListDemoFMX.dpr b/Demo/D10_3/SVGIconImageListDemoFMX.dpr index 6dc52676..c4fdb83f 100644 --- a/Demo/D10_3/SVGIconImageListDemoFMX.dpr +++ b/Demo/D10_3/SVGIconImageListDemoFMX.dpr @@ -1,28 +1,28 @@ -//--------------------------------------------------------------------------- - -// This software is Copyright (c) 2015 Embarcadero Technologies, Inc. -// You may only use this software if you are an authorized licensee -// of an Embarcadero developer tools product. -// This software is considered a Redistributable as defined under -// the software license agreement that comes with the Embarcadero Products -// and is subject to that software license agreement. - -//--------------------------------------------------------------------------- - -program SVGIconImageListDemoFMX; - -uses - System.StartUpCopy, - FMX.Forms, - {$IFDEF MSWINDOWS} - FMX.SVGIconImageListEditorUnit in '..\..\Packages\FMX.SVGIconImageListEditorUnit.pas' {SVGIconImageListEditorFMX}, - {$ENDIF } - UMainFMX in '..\Source\UMainFMX.pas' {SVGIconImageListForm}; - -{$R *.res} - -begin - Application.Initialize; - Application.CreateForm(TSVGIconImageListForm, SVGIconImageListForm); - Application.Run; -end. +//--------------------------------------------------------------------------- + +// This software is Copyright (c) 2015 Embarcadero Technologies, Inc. +// You may only use this software if you are an authorized licensee +// of an Embarcadero developer tools product. +// This software is considered a Redistributable as defined under +// the software license agreement that comes with the Embarcadero Products +// and is subject to that software license agreement. + +//--------------------------------------------------------------------------- + +program SVGIconImageListDemoFMX; + +uses + System.StartUpCopy, + FMX.Forms, + {$IFDEF MSWINDOWS} + FMX.SVGIconImageListEditorUnit in '..\..\Packages\FMX.SVGIconImageListEditorUnit.pas' {SVGIconImageListEditorFMX}, + {$ENDIF } + UMainFMX in '..\Source\UMainFMX.pas' {SVGIconImageListForm}; + +{$R *.res} + +begin + Application.Initialize; + Application.CreateForm(TSVGIconImageListForm, SVGIconImageListForm); + Application.Run; +end. diff --git a/Demo/D10_3/SVGIconImageListDemoFMX.dproj b/Demo/D10_3/SVGIconImageListDemoFMX.dproj index bafa5a85..e369ff1b 100644 --- a/Demo/D10_3/SVGIconImageListDemoFMX.dproj +++ b/Demo/D10_3/SVGIconImageListDemoFMX.dproj @@ -1,1263 +1,1263 @@ - - - {9B6BC2FB-9912-4FF8-B666-AE3FEC0ED091} - 18.8 - FMX - SVGIconImageListDemoFMX.dpr - True - Debug - Win32 - 1 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Cfg_1 - true - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - true - Cfg_2 - true - true - - - true - $(BDS)\bin\delphi_PROJECTICON.ico - true - true - true - System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) - true - true - true - true - true - true - $(BDS)\bin\delphi_PROJECTICNS.icns - SVGIconImageListDemoFMX - ..\Dcu\D10_3\$(Platform)\$(Config) - ..\Bin\ - false - false - false - false - false - ..\..\Source;..\..\Svg;..\..\GDIP;$(DCC_UnitSearchPath) - - - $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png - $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png - $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png - package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=preferExternal;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= - $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png - android-support-v4.dex.jar;apk-expansion.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services.dex.jar - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png - DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;tethering;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage) - true - Debug - $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png - $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png - $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png - $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png - $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png - 1 - #000000 - - - package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=preferExternal;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= - Debug - true - true - Base - true - $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png - $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png - $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png - $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png - android-support-v4.dex.jar;apk-expansion.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services.dex.jar - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png - DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;tethering;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage);$(DCC_UsePackage) - 1 - #000000 - - - DBXSqliteDriver;RESTComponents;DataSnapServerMidas;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;svnui;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;svn;DBXOracleDriver;inetdb;FmxTeeUI;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;FireDACDSDriver;rtl;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;vclribbon;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage) - 1033 - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - $(BDS)\bin\default_app.manifest - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) - true - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - ..\Images\svgiconimagelistcomponenticon.ico - - - DBXSqliteDriver;RESTComponents;DataSnapServerMidas;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;FireDACDSDriver;rtl;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;vclribbon;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage) - 1033 - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) - $(BDS)\bin\default_app.manifest - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) - true - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - 1 - #000000 - - - true - false - Debug - PerMonitor - true - 1033 - - - true - Debug - PerMonitor - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - PerMonitor - IconFontsImageListComponentIcon.ico - - - true - PerMonitor - - - - MainSource - - -
SVGIconImageListEditorFMX
-
- -
SVGIconImageListForm
-
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Application - - - - SVGIconImageListDemoFMX.dpr - - - Chrome Tabs - Microsoft Office 2000 Sample Automation Server Wrapper Components - - - - - - true - - - - - true - - - - - ic_launcher.png - true - - - - - styles.xml - true - - - - - ic_notification.png - true - - - - - SVGIconImageListDemoFMX.exe - true - - - - - ic_launcher.png - true - - - - - splash_image.png - true - - - - - splash_image.png - true - - - - - splash_image.png - true - - - - - libSVGIconImageListDemoFMX.so - true - - - - - true - - - - - ic_notification.png - true - - - - - ic_launcher.png - true - - - - - libIconFontsImageListDemoFMX.so - true - - - - - true - - - - - classes.dex - true - - - - - ic_notification.png - true - - - - - true - - - - - ic_launcher.png - true - - - - - libIconFontsImageListDemoFMX.so - true - - - - - true - - - - - true - - - - - true - - - - - splash_image.png - true - - - - - .\assets\internal - Material Design Icons.ttf - true - - - - - ic_notification.png - true - - - - - - true - - - - - ic_launcher.png - true - - - - - ic_notification.png - true - - - - - .\assets\internal - Material Design Icons.ttf - true - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - classes - 1 - - - classes - 1 - - - - - res\xml - 1 - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - library\lib\armeabi - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\mips - 1 - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\values-v21 - 1 - - - res\values-v21 - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - res\drawable-small - 1 - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - res\drawable-xlarge - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - Contents\MacOS - 1 - .framework - - - Contents\MacOS - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - Contents\Resources\StartUp\ - 0 - - - Contents\Resources\StartUp\ - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - 1 - - - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - Contents - 1 - - - Contents - 1 - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - Contents\MacOS - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - - False - False - True - False - - - 12 - - - - - - - -
+ + + {9B6BC2FB-9912-4FF8-B666-AE3FEC0ED091} + 18.8 + FMX + SVGIconImageListDemoFMX.dpr + True + Debug + Win32 + 1 + Application + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Cfg_1 + true + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + true + Cfg_2 + true + true + + + true + $(BDS)\bin\delphi_PROJECTICON.ico + true + true + true + System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + true + true + true + true + true + true + $(BDS)\bin\delphi_PROJECTICNS.icns + SVGIconImageListDemoFMX + ..\Dcu\D10_3\$(Platform)\$(Config) + ..\Bin\ + false + false + false + false + false + ..\..\Source;..\..\Svg;..\..\GDIP;$(DCC_UnitSearchPath) + + + $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=preferExternal;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png + android-support-v4.dex.jar;apk-expansion.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services.dex.jar + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png + DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;tethering;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage) + true + Debug + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png + 1 + #000000 + + + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=preferExternal;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + true + true + Base + true + $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png + android-support-v4.dex.jar;apk-expansion.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services.dex.jar + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png + DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;tethering;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage);$(DCC_UsePackage) + 1 + #000000 + + + DBXSqliteDriver;RESTComponents;DataSnapServerMidas;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;svnui;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;svn;DBXOracleDriver;inetdb;FmxTeeUI;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;FireDACDSDriver;rtl;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;vclribbon;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage) + 1033 + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + $(BDS)\bin\default_app.manifest + CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) + true + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + ..\Images\svgiconimagelistcomponenticon.ico + + + DBXSqliteDriver;RESTComponents;DataSnapServerMidas;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;FireDACDSDriver;rtl;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;vclribbon;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage) + 1033 + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + $(BDS)\bin\default_app.manifest + CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) + true + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + 1 + #000000 + + + true + false + Debug + PerMonitor + true + 1033 + + + true + Debug + PerMonitor + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + true + PerMonitor + IconFontsImageListComponentIcon.ico + + + true + PerMonitor + + + + MainSource + + +
SVGIconImageListEditorFMX
+
+ +
SVGIconImageListForm
+
+ + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + Delphi.Personality.12 + Application + + + + SVGIconImageListDemoFMX.dpr + + + Chrome Tabs + Microsoft Office 2000 Sample Automation Server Wrapper Components + + + + + + true + + + + + true + + + + + ic_launcher.png + true + + + + + styles.xml + true + + + + + ic_notification.png + true + + + + + SVGIconImageListDemoFMX.exe + true + + + + + ic_launcher.png + true + + + + + splash_image.png + true + + + + + splash_image.png + true + + + + + splash_image.png + true + + + + + libSVGIconImageListDemoFMX.so + true + + + + + true + + + + + ic_notification.png + true + + + + + ic_launcher.png + true + + + + + libIconFontsImageListDemoFMX.so + true + + + + + true + + + + + classes.dex + true + + + + + ic_notification.png + true + + + + + true + + + + + ic_launcher.png + true + + + + + libIconFontsImageListDemoFMX.so + true + + + + + true + + + + + true + + + + + true + + + + + splash_image.png + true + + + + + .\assets\internal + Material Design Icons.ttf + true + + + + + ic_notification.png + true + + + + + + true + + + + + ic_launcher.png + true + + + + + ic_notification.png + true + + + + + .\assets\internal + Material Design Icons.ttf + true + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + classes + 1 + + + classes + 1 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\armeabi + 1 + + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\mips + 1 + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-small + 1 + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + Contents\MacOS + 1 + .framework + + + Contents\MacOS + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + Contents\Resources\StartUp\ + 0 + + + Contents\Resources\StartUp\ + 0 + + + 0 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + 1 + + + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + + + Contents + 1 + + + Contents + 1 + + + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + Contents\MacOS + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + + + + + + + + + + + False + False + True + False + + + 12 + + + + + + + +
diff --git a/Demo/D10_4/SVGIconImageDemoFMX.dpr b/Demo/D10_4/SVGIconImageDemoFMX.dpr index 40b8acfb..78c86606 100644 --- a/Demo/D10_4/SVGIconImageDemoFMX.dpr +++ b/Demo/D10_4/SVGIconImageDemoFMX.dpr @@ -1,14 +1,14 @@ -program SVGIconImageDemoFMX; - -uses - System.StartUpCopy, - FMX.Forms, - USVGIconImageFMX in '..\Source\USVGIconImageFMX.pas' {SVGIconImageForm}; - -{$R *.res} - -begin - Application.Initialize; - Application.CreateForm(TSVGIconImageForm, SVGIconImageForm); - Application.Run; -end. +program SVGIconImageDemoFMX; + +uses + System.StartUpCopy, + FMX.Forms, + USVGIconImageFMX in '..\Source\USVGIconImageFMX.pas' {SVGIconImageForm}; + +{$R *.res} + +begin + Application.Initialize; + Application.CreateForm(TSVGIconImageForm, SVGIconImageForm); + Application.Run; +end. diff --git a/Demo/D10_4/SVGIconImageDemoFMX.dproj b/Demo/D10_4/SVGIconImageDemoFMX.dproj index 83e73cd2..1e86fa6f 100644 --- a/Demo/D10_4/SVGIconImageDemoFMX.dproj +++ b/Demo/D10_4/SVGIconImageDemoFMX.dproj @@ -1,1119 +1,1119 @@ - - - {9F3FCCAB-39A7-436C-B038-A6D28455E580} - 19.0 - FMX - SVGIconImageDemoFMX.dpr - True - Debug - Win32 - 32785 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Cfg_1 - true - true - - - true - Cfg_1 - true - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - true - Cfg_2 - true - true - - - ..\dcu\D10_4\$(Platform)\$(Config) - ..\Bin - false - false - false - false - false - System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) - true - true - true - true - true - true - true - true - $(BDS)\bin\delphi_PROJECTICON.ico - $(BDS)\bin\delphi_PROJECTICNS.icns - SVGIconImageDemoFMX - ..\..\Source;..\..\Svg;..\..\GDIP;$(DCC_UnitSearchPath) - - - DBXSqliteDriver;RESTComponents;IOCore;DBXDb2Driver;DBXInterBaseDriver;DataSnapServerMidas;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;svnui;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;IconFontsImageList;vcltouch;vcldb;bindcompfmx;svn;DBXOracleDriver;ISOpenOffice7;inetdb;FmxTeeUI;emsedge;FireDACIBDriver;fmx;fmxdae;SVGImagePackageR;vclib;frxTee26;fs26;FireDACDBXDriver;dbexpress;IndyCore;vclx;frxIntIO26;dsnap;DataSnapCommon;emsclient;FireDACCommon;frxcs26;RESTBackendComponents;DataSnapConnectors;IOFireDAC;VCLRESTComponents;soapserver;fsTee26;ISVcl7;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;fsIBX26;frx26;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;frxIntIOIndy26;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;frxDB26;IndySystem;fsADO26;FireDACDb2Driver;frxDBX26;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;fsDB26;TeeDB;FireDAC;IOXML;emshosting;frxe26;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;ChromeTabs_R;DBXOdbcDriver;FireDACTDataDriver;FMXTee;SVGPackage;frxIBX26;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;emsserverresource;DbxClientDriver;FireDACDSDriver;DBXSybaseASADriver;frxADO26;CustomIPTransport;vcldsnap;SynEdit_R10_3;ISRtl7;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;ISFLib7;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage) - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - true - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - $(BDS)\bin\default_app.manifest - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - ..\Images\svgiconimagelistcomponenticon.ico - - - DBXSqliteDriver;RESTComponents;DBXDb2Driver;DBXInterBaseDriver;DataSnapServerMidas;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;emsserverresource;DbxClientDriver;FireDACDSDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage) - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) - Debug - true - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - $(BDS)\bin\default_app.manifest - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - Debug - - - Debug - - - false - true - PerMonitorV2 - true - 1033 - ..\Images\svgiconimagelistcomponenticon.ico - - - true - PerMonitorV2 - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - PerMonitorV2 - ..\D10_3\IconFontsImageListComponentIcon.ico - - - true - PerMonitorV2 - - - - MainSource - - -
SVGIconImageForm
- fmx -
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Application - - - - SVGIconImageDemoFMX.dpr - - - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components - - - - - - true - - - - - true - - - - - true - - - - - SVGIconImageDemoFMX.exe - true - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - classes - 1 - - - classes - 1 - - - - - res\xml - 1 - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - library\lib\armeabi - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\mips - 1 - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\values-v21 - 1 - - - res\values-v21 - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - res\drawable-small - 1 - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - res\drawable-xlarge - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - Contents\MacOS - 1 - .framework - - - Contents\MacOS - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - Contents\Resources\StartUp\ - 0 - - - Contents\Resources\StartUp\ - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - 1 - - - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen - 64 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - Contents - 1 - - - Contents - 1 - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - Contents\MacOS - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - - True - True - True - False - - - 12 - - - - - -
+ + + {9F3FCCAB-39A7-436C-B038-A6D28455E580} + 19.0 + FMX + SVGIconImageDemoFMX.dpr + True + Debug + Win32 + 32785 + Application + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Cfg_1 + true + true + + + true + Cfg_1 + true + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + true + Cfg_2 + true + true + + + ..\dcu\D10_4\$(Platform)\$(Config) + ..\Bin + false + false + false + false + false + System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + true + true + true + true + true + true + true + true + $(BDS)\bin\delphi_PROJECTICON.ico + $(BDS)\bin\delphi_PROJECTICNS.icns + SVGIconImageDemoFMX + ..\..\Source;..\..\Svg;..\..\GDIP;$(DCC_UnitSearchPath) + + + DBXSqliteDriver;RESTComponents;IOCore;DBXDb2Driver;DBXInterBaseDriver;DataSnapServerMidas;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;svnui;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;IconFontsImageList;vcltouch;vcldb;bindcompfmx;svn;DBXOracleDriver;ISOpenOffice7;inetdb;FmxTeeUI;emsedge;FireDACIBDriver;fmx;fmxdae;SVGImagePackageR;vclib;frxTee26;fs26;FireDACDBXDriver;dbexpress;IndyCore;vclx;frxIntIO26;dsnap;DataSnapCommon;emsclient;FireDACCommon;frxcs26;RESTBackendComponents;DataSnapConnectors;IOFireDAC;VCLRESTComponents;soapserver;fsTee26;ISVcl7;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;fsIBX26;frx26;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;frxIntIOIndy26;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;frxDB26;IndySystem;fsADO26;FireDACDb2Driver;frxDBX26;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;fsDB26;TeeDB;FireDAC;IOXML;emshosting;frxe26;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;ChromeTabs_R;DBXOdbcDriver;FireDACTDataDriver;FMXTee;SVGPackage;frxIBX26;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;emsserverresource;DbxClientDriver;FireDACDSDriver;DBXSybaseASADriver;frxADO26;CustomIPTransport;vcldsnap;SynEdit_R10_3;ISRtl7;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;ISFLib7;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + $(BDS)\bin\default_app.manifest + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + ..\Images\svgiconimagelistcomponenticon.ico + + + DBXSqliteDriver;RESTComponents;DBXDb2Driver;DBXInterBaseDriver;DataSnapServerMidas;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;ibxbindings;rtl;emsserverresource;DbxClientDriver;FireDACDSDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + Debug + true + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + $(BDS)\bin\default_app.manifest + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + Debug + + + Debug + + + false + true + PerMonitorV2 + true + 1033 + ..\Images\svgiconimagelistcomponenticon.ico + + + true + PerMonitorV2 + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + true + PerMonitorV2 + ..\D10_3\IconFontsImageListComponentIcon.ico + + + true + PerMonitorV2 + + + + MainSource + + +
SVGIconImageForm
+ fmx +
+ + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + Delphi.Personality.12 + Application + + + + SVGIconImageDemoFMX.dpr + + + Microsoft Office 2000 Sample Automation Server Wrapper Components + Microsoft Office XP Sample Automation Server Wrapper Components + + + + + + true + + + + + true + + + + + true + + + + + SVGIconImageDemoFMX.exe + true + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + classes + 1 + + + classes + 1 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\armeabi + 1 + + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\mips + 1 + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-small + 1 + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + Contents\MacOS + 1 + .framework + + + Contents\MacOS + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + Contents\Resources\StartUp\ + 0 + + + Contents\Resources\StartUp\ + 0 + + + 0 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + 1 + + + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen + 64 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + + + Contents + 1 + + + Contents + 1 + + + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + Contents\MacOS + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + + + + + + + + + + + True + True + True + False + + + 12 + + + + + +
diff --git a/Demo/D10_4/SVGIconImageListDemo.dpr b/Demo/D10_4/SVGIconImageListDemo.dpr index f3647d60..91f91e25 100644 --- a/Demo/D10_4/SVGIconImageListDemo.dpr +++ b/Demo/D10_4/SVGIconImageListDemo.dpr @@ -1,21 +1,21 @@ -program SVGIconImageListDemo; - -uses - Vcl.Forms, - Vcl.Themes, - Vcl.Styles, - UMain in '..\Source\UMain.pas' {MainForm}, - SVGIconImageListEditorUnit in '..\..\Packages\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, - SVGIconImageList in '..\..\source\SVGIconImageList.pas', - UDataModule in '..\Source\UDataModule.pas' {ImageDataModule: TDataModule}; - -{$R *.res} - -begin - Application.Initialize; - Application.MainFormOnTaskbar := True; - TStyleManager.TrySetStyle('Windows10'); - Application.CreateForm(TImageDataModule, ImageDataModule); - Application.CreateForm(TMainForm, MainForm); - Application.Run; -end. +program SVGIconImageListDemo; + +uses + Vcl.Forms, + Vcl.Themes, + Vcl.Styles, + UMain in '..\Source\UMain.pas' {MainForm}, + SVGIconImageListEditorUnit in '..\..\Packages\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, + SVGIconImageList in '..\..\source\SVGIconImageList.pas', + UDataModule in '..\Source\UDataModule.pas' {ImageDataModule: TDataModule}; + +{$R *.res} + +begin + Application.Initialize; + Application.MainFormOnTaskbar := True; + TStyleManager.TrySetStyle('Windows10'); + Application.CreateForm(TImageDataModule, ImageDataModule); + Application.CreateForm(TMainForm, MainForm); + Application.Run; +end. diff --git a/Demo/D10_4/SVGIconImageListDemoFMX.dpr b/Demo/D10_4/SVGIconImageListDemoFMX.dpr index 6dc52676..c4fdb83f 100644 --- a/Demo/D10_4/SVGIconImageListDemoFMX.dpr +++ b/Demo/D10_4/SVGIconImageListDemoFMX.dpr @@ -1,28 +1,28 @@ -//--------------------------------------------------------------------------- - -// This software is Copyright (c) 2015 Embarcadero Technologies, Inc. -// You may only use this software if you are an authorized licensee -// of an Embarcadero developer tools product. -// This software is considered a Redistributable as defined under -// the software license agreement that comes with the Embarcadero Products -// and is subject to that software license agreement. - -//--------------------------------------------------------------------------- - -program SVGIconImageListDemoFMX; - -uses - System.StartUpCopy, - FMX.Forms, - {$IFDEF MSWINDOWS} - FMX.SVGIconImageListEditorUnit in '..\..\Packages\FMX.SVGIconImageListEditorUnit.pas' {SVGIconImageListEditorFMX}, - {$ENDIF } - UMainFMX in '..\Source\UMainFMX.pas' {SVGIconImageListForm}; - -{$R *.res} - -begin - Application.Initialize; - Application.CreateForm(TSVGIconImageListForm, SVGIconImageListForm); - Application.Run; -end. +//--------------------------------------------------------------------------- + +// This software is Copyright (c) 2015 Embarcadero Technologies, Inc. +// You may only use this software if you are an authorized licensee +// of an Embarcadero developer tools product. +// This software is considered a Redistributable as defined under +// the software license agreement that comes with the Embarcadero Products +// and is subject to that software license agreement. + +//--------------------------------------------------------------------------- + +program SVGIconImageListDemoFMX; + +uses + System.StartUpCopy, + FMX.Forms, + {$IFDEF MSWINDOWS} + FMX.SVGIconImageListEditorUnit in '..\..\Packages\FMX.SVGIconImageListEditorUnit.pas' {SVGIconImageListEditorFMX}, + {$ENDIF } + UMainFMX in '..\Source\UMainFMX.pas' {SVGIconImageListForm}; + +{$R *.res} + +begin + Application.Initialize; + Application.CreateForm(TSVGIconImageListForm, SVGIconImageListForm); + Application.Run; +end. diff --git a/Demo/D10_4/SVGIconImageListDemoFMX.dproj b/Demo/D10_4/SVGIconImageListDemoFMX.dproj index 4b1a8b84..9668d458 100644 --- a/Demo/D10_4/SVGIconImageListDemoFMX.dproj +++ b/Demo/D10_4/SVGIconImageListDemoFMX.dproj @@ -1,1332 +1,1332 @@ - - - {9B6BC2FB-9912-4FF8-B666-AE3FEC0ED091} - 19.0 - FMX - SVGIconImageListDemoFMX.dpr - True - Debug - Win32 - 1 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Cfg_1 - true - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - true - Cfg_2 - true - true - - - true - $(BDS)\bin\delphi_PROJECTICON.ico - true - true - true - System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) - true - true - true - true - true - true - $(BDS)\bin\delphi_PROJECTICNS.icns - SVGIconImageListDemoFMX - ..\Dcu\D10_4\$(Platform)\$(Config) - ..\Bin\ - false - false - false - false - false - ..\..\Source;..\..\Svg;..\..\GDIP;$(DCC_UnitSearchPath) - 1040 - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) - - - $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png - $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png - $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png - package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=preferExternal;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= - $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png - android-support-v4.dex.jar;apk-expansion.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services.dex.jar - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png - DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;tethering;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage) - true - Debug - $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png - $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png - $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png - $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png - $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png - 1 - #000000 - - - package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=preferExternal;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= - Debug - true - true - Base - true - $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png - $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png - $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png - $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png - android-support-v4.dex.jar;apk-expansion.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services.dex.jar - $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png - DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;tethering;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage);$(DCC_UsePackage) - 1 - #000000 - - - DBXSqliteDriver;RESTComponents;DataSnapServerMidas;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;svnui;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;svn;DBXOracleDriver;inetdb;FmxTeeUI;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;FireDACDSDriver;rtl;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;vclribbon;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage) - 1033 - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - $(BDS)\bin\default_app.manifest - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) - true - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - ..\Images\svgiconimagelistcomponenticon.ico - - - DBXSqliteDriver;RESTComponents;DataSnapServerMidas;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;FireDACDSDriver;rtl;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;vclribbon;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage) - 1033 - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) - $(BDS)\bin\default_app.manifest - CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) - true - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - 1 - #000000 - - - true - false - Debug - PerMonitor - true - 1033 - ..\Images\svgiconimagelistcomponenticon.ico - - - true - Debug - PerMonitor - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - PerMonitor - ..\D10_3\IconFontsImageListComponentIcon.ico - - - true - PerMonitor - - - - MainSource - - -
SVGIconImageListEditorFMX
-
- -
SVGIconImageListForm
-
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Application - - - - SVGIconImageListDemoFMX.dpr - - - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components - - - - - - true - - - - - true - - - - - ic_launcher.png - true - - - - - styles.xml - true - - - - - ic_notification.png - true - - - - - SVGIconImageListDemoFMX.exe - true - - - - - ic_launcher.png - true - - - - - splash_image.png - true - - - - - splash_image.png - true - - - - - splash_image.png - true - - - - - libSVGIconImageListDemoFMX.so - true - - - - - true - - - - - ic_notification.png - true - - - - - ic_launcher.png - true - - - - - libIconFontsImageListDemoFMX.so - true - - - - - true - - - - - classes.dex - true - - - - - ic_notification.png - true - - - - - true - - - - - ic_launcher.png - true - - - - - libIconFontsImageListDemoFMX.so - true - - - - - true - - - - - true - - - - - true - - - - - splash_image.png - true - - - - - .\assets\internal - Material Design Icons.ttf - true - - - - - ic_notification.png - true - - - - - - true - - - - - ic_launcher.png - true - - - - - ic_notification.png - true - - - - - .\assets\internal - Material Design Icons.ttf - true - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - classes - 1 - - - classes - 1 - - - - - res\xml - 1 - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - library\lib\armeabi - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\mips - 1 - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\values-v21 - 1 - - - res\values-v21 - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - res\drawable-small - 1 - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - res\drawable-xlarge - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - Contents\MacOS - 1 - .framework - - - Contents\MacOS - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - Contents\Resources\StartUp\ - 0 - - - Contents\Resources\StartUp\ - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - 1 - - - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen - 64 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - Contents - 1 - - - Contents - 1 - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - Contents\MacOS - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - - False - False - True - False - - - 12 - - - - - - - -
+ + + {9B6BC2FB-9912-4FF8-B666-AE3FEC0ED091} + 19.0 + FMX + SVGIconImageListDemoFMX.dpr + True + Debug + Win32 + 1 + Application + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Cfg_1 + true + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + true + Cfg_2 + true + true + + + true + $(BDS)\bin\delphi_PROJECTICON.ico + true + true + true + System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + true + true + true + true + true + true + $(BDS)\bin\delphi_PROJECTICNS.icns + SVGIconImageListDemoFMX + ..\Dcu\D10_4\$(Platform)\$(Config) + ..\Bin\ + false + false + false + false + false + ..\..\Source;..\..\Svg;..\..\GDIP;$(DCC_UnitSearchPath) + 1040 + CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) + + + $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=preferExternal;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png + android-support-v4.dex.jar;apk-expansion.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services.dex.jar + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png + DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;tethering;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage) + true + Debug + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_24x24.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_36x36.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_NotificationIcon_96x96.png + 1 + #000000 + + + package=com.embarcadero.$(MSBuildProjectName);label=$(MSBuildProjectName);versionCode=1;versionName=1.0.0;persistent=False;restoreAnyVersion=False;installLocation=preferExternal;largeHeap=False;theme=TitleBar;hardwareAccelerated=true;apiKey= + Debug + true + true + Base + true + $(BDS)\bin\Artwork\Android\FM_SplashImage_640x480.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_426x320.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_144x144.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_470x320.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_72x72.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_48x48.png + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_36x36.png + $(BDS)\bin\Artwork\Android\FM_SplashImage_960x720.png + android-support-v4.dex.jar;apk-expansion.dex.jar;cloud-messaging.dex.jar;fmx.dex.jar;google-analytics-v2.dex.jar;google-play-billing.dex.jar;google-play-licensing.dex.jar;google-play-services.dex.jar + $(BDS)\bin\Artwork\Android\FM_LauncherIcon_96x96.png + DBXSqliteDriver;RESTComponents;DBXInterBaseDriver;emsclientfiredac;DataSnapFireDAC;tethering;bindcompfmx;FmxTeeUI;FireDACIBDriver;fmx;FireDACDBXDriver;dbexpress;IndyCore;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;soapserver;bindengine;CloudService;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;IndyIPServer;IndySystem;fmxFireDAC;FireDAC;FireDACSqliteDriver;ibmonitor;FMXTee;soaprtl;DbxCommonDriver;ibxpress;xmlrtl;soapmidas;DataSnapNativeClient;FireDACDSDriver;rtl;DbxClientDriver;CustomIPTransport;bindcomp;IndyIPClient;dbxcds;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;$(DCC_UsePackage);$(DCC_UsePackage) + 1 + #000000 + + + DBXSqliteDriver;RESTComponents;DataSnapServerMidas;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;svnui;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;svn;DBXOracleDriver;inetdb;FmxTeeUI;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;FireDACDSDriver;rtl;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;vclribbon;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage) + 1033 + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + $(BDS)\bin\default_app.manifest + CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) + true + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + ..\Images\svgiconimagelistcomponenticon.ico + + + DBXSqliteDriver;RESTComponents;DataSnapServerMidas;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;DataSnapFireDAC;tethering;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;FireDACIBDriver;fmx;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;DataSnapCommon;emsclient;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;FireDACOracleDriver;CloudService;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonDriver;DataSnapClient;inet;bindcompdbx;IndyIPCommon;vcl;DBXSybaseASEDriver;IndyIPServer;IndySystem;FireDACDb2Driver;dsnapcon;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;FireDACDSDriver;rtl;DbxClientDriver;DBXSybaseASADriver;CustomIPTransport;vcldsnap;bindcomp;appanalytics;DBXInformixDriver;IndyIPClient;bindcompvcl;TeeUI;vclribbon;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;inetdbxpress;FireDACMongoDBDriver;IndyProtocols;fmxase;$(DCC_UsePackage) + 1033 + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;$(DCC_Namespace) + $(BDS)\bin\default_app.manifest + CompanyName=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductVersion=1.0.0.0;Comments=;ProgramID=com.embarcadero.$(MSBuildProjectName);FileDescription=$(MSBuildProjectName);ProductName=$(MSBuildProjectName) + true + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + 1 + #000000 + + + true + false + Debug + PerMonitor + true + 1033 + ..\Images\svgiconimagelistcomponenticon.ico + + + true + Debug + PerMonitor + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + true + PerMonitor + ..\D10_3\IconFontsImageListComponentIcon.ico + + + true + PerMonitor + + + + MainSource + + +
SVGIconImageListEditorFMX
+
+ +
SVGIconImageListForm
+
+ + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + Delphi.Personality.12 + Application + + + + SVGIconImageListDemoFMX.dpr + + + Microsoft Office 2000 Sample Automation Server Wrapper Components + Microsoft Office XP Sample Automation Server Wrapper Components + + + + + + true + + + + + true + + + + + ic_launcher.png + true + + + + + styles.xml + true + + + + + ic_notification.png + true + + + + + SVGIconImageListDemoFMX.exe + true + + + + + ic_launcher.png + true + + + + + splash_image.png + true + + + + + splash_image.png + true + + + + + splash_image.png + true + + + + + libSVGIconImageListDemoFMX.so + true + + + + + true + + + + + ic_notification.png + true + + + + + ic_launcher.png + true + + + + + libIconFontsImageListDemoFMX.so + true + + + + + true + + + + + classes.dex + true + + + + + ic_notification.png + true + + + + + true + + + + + ic_launcher.png + true + + + + + libIconFontsImageListDemoFMX.so + true + + + + + true + + + + + true + + + + + true + + + + + splash_image.png + true + + + + + .\assets\internal + Material Design Icons.ttf + true + + + + + ic_notification.png + true + + + + + + true + + + + + ic_launcher.png + true + + + + + ic_notification.png + true + + + + + .\assets\internal + Material Design Icons.ttf + true + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + classes + 1 + + + classes + 1 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\armeabi + 1 + + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\mips + 1 + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-small + 1 + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + Contents\MacOS + 1 + .framework + + + Contents\MacOS + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + Contents\Resources\StartUp\ + 0 + + + Contents\Resources\StartUp\ + 0 + + + 0 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + 1 + + + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen + 64 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + + + Contents + 1 + + + Contents + 1 + + + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + Contents\MacOS + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + + + + + + + + + + + False + False + True + False + + + 12 + + + + + + + +
diff --git a/Demo/DXE6/SVGIconImageListDemo.dpr b/Demo/DXE6/SVGIconImageListDemo.dpr index f3647d60..91f91e25 100644 --- a/Demo/DXE6/SVGIconImageListDemo.dpr +++ b/Demo/DXE6/SVGIconImageListDemo.dpr @@ -1,21 +1,21 @@ -program SVGIconImageListDemo; - -uses - Vcl.Forms, - Vcl.Themes, - Vcl.Styles, - UMain in '..\Source\UMain.pas' {MainForm}, - SVGIconImageListEditorUnit in '..\..\Packages\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, - SVGIconImageList in '..\..\source\SVGIconImageList.pas', - UDataModule in '..\Source\UDataModule.pas' {ImageDataModule: TDataModule}; - -{$R *.res} - -begin - Application.Initialize; - Application.MainFormOnTaskbar := True; - TStyleManager.TrySetStyle('Windows10'); - Application.CreateForm(TImageDataModule, ImageDataModule); - Application.CreateForm(TMainForm, MainForm); - Application.Run; -end. +program SVGIconImageListDemo; + +uses + Vcl.Forms, + Vcl.Themes, + Vcl.Styles, + UMain in '..\Source\UMain.pas' {MainForm}, + SVGIconImageListEditorUnit in '..\..\Packages\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, + SVGIconImageList in '..\..\source\SVGIconImageList.pas', + UDataModule in '..\Source\UDataModule.pas' {ImageDataModule: TDataModule}; + +{$R *.res} + +begin + Application.Initialize; + Application.MainFormOnTaskbar := True; + TStyleManager.TrySetStyle('Windows10'); + Application.CreateForm(TImageDataModule, ImageDataModule); + Application.CreateForm(TMainForm, MainForm); + Application.Run; +end. diff --git a/Demo/DXE6/SVGIconImageListDemo.dproj b/Demo/DXE6/SVGIconImageListDemo.dproj index af2b8d43..a0e4d34a 100644 --- a/Demo/DXE6/SVGIconImageListDemo.dproj +++ b/Demo/DXE6/SVGIconImageListDemo.dproj @@ -1,855 +1,855 @@ - - - {60259119-4A8F-4FB3-AAAB-25CBFB58FEE8} - SVGIconImageListDemo.dpr - Debug - DCC32 - 18.8 - VCL - True - Win32 - 2 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\Images\svgiconimagelistcomponenticon.ico - $(BDS)\bin\default_app.manifest - Amakrits|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\Amakrits.vsf;"Amethyst Kamri|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\AmethystKamri.vsf";"Aqua Light Slate|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\AquaLightSlate.vsf";Carbon|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\Carbon.vsf;"Cyan Night|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\CyanNight.vsf";Glossy|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\Glossy.vsf;"Golden Graphite|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\GoldenGraphite.vsf";Light|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\Light.vsf;Luna|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\Luna.vsf;"Ruby Graphite|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\RubyGraphite.vsf";"Sapphire Kamri|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\SapphireKamri.vsf";"Turquoise Gray|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\TurquoiseGray.vsf" - ..\Dcu\DXE6\$(Platform)\$(Config) - ..\Bin - ..\..\source;..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) - ..\Bin\IconFontsImageListDemo.exe - 00400000 - x86 - SVGIconImageListDemo - Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;$(DCC_Namespace) - true - 1033 - CompanyName=Ethea;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=;ProgramID= - "Aqua Light Slate|VCLSTYLE|$(BDSCOMMONDIR)\Styles\AquaLightSlate.vsf";"Cobalt XEMedia|VCLSTYLE|$(BDSCOMMONDIR)\Styles\CobaltXEMedia.vsf";"Cyan Night|VCLSTYLE|$(BDSCOMMONDIR)\Styles\CyanNight.vsf";"Emerald Light Slate|VCLSTYLE|$(BDSCOMMONDIR)\Styles\EmeraldLightSlate.vsf";Glossy|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Glossy.vsf;Glow|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Glow.vsf;"Golden Graphite|VCLSTYLE|$(BDSCOMMONDIR)\Styles\GoldenGraphite.vsf";"Iceberg Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\IcebergClassico.vsf";"Lavender Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\LavenderClassico.vsf";Light|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Light.vsf;Obsidian|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Obsidian.vsf;"Sapphire Kamri|VCLSTYLE|$(BDSCOMMONDIR)\Styles\SapphireKamri.vsf";Silver|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Silver.vsf;Sky|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Sky.vsf;"Slate Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\SlateClassico.vsf";"Turquoise Gray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\TurquoiseGray.vsf";Windows10|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10.vsf;"Windows10 Dark|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10Dark.vsf";"Windows10 SlateGray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10SlateGray.vsf" - - - System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - ..\Images\svgiconimagelistcomponenticon.ico - true - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - PerMonitor - - - $(BDS)\bin\default_app.manifest - ..\Images\svgiconimagelistcomponenticon.ico - true - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - - - true - DEBUG;$(DCC_Define) - - - true - - - - MainSource - - -
MainForm
-
- -
SVGIconImageListEditor
- dfm -
- - -
ImageDataModule
- dfm - TDataModule -
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - - Delphi.Personality.12 - VCLApplication - - - - SVGIconImageListDemo.dpr - - - False - True - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1040 - 1252 - - - Ethea S.r.l. - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - - - - True - False - - - - - SVGIconImageListDemo.exe - true - - - - - res\drawable-normal - 1 - - - - - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - library\lib\mips - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - - - library\lib\x86 - 1 - - - - - res\drawable-xlarge - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-xxhdpi - 1 - - - - - 1 - - - 1 - - - - - res\drawable-xhdpi - 1 - - - - - 1 - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 0 - - - - - 1 - .framework - - - 0 - - - - - res\drawable-small - 1 - - - - - - 1 - - - Contents\MacOS - 0 - - - - - classes - 1 - - - - - - 1 - - - 1 - - - 1 - - - - - - res\values - 1 - - - res\values - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - res\drawable - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - 1 - - - - - Contents\Resources - 1 - - - - - - 1 - - - 1 - - - 1 - - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - res\drawable-ldpi - 1 - - - - - 1 - - - 1 - - - - - res\drawable-mdpi - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - 1 - - - 1 - - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - 1 - .dylib - - - 0 - .bpl - - - 1 - .dylib - - - 1 - .dylib - - - - - library\lib\armeabi-v7a - 1 - - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\drawable - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\values-v21 - 1 - - - res\values-v21 - 1 - - - - - 1 - - - 1 - - - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - - - 1 - - - library\lib\armeabi-v7a - 1 - - - 0 - - - 1 - - - 1 - - - - - library\lib\armeabi - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - - - res\drawable-large - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\xml - 1 - - - res\xml - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\values - 1 - - - - - res\drawable-hdpi - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - 1 - - - - - - - - - - - - - - - - 12 - - - -
+ + + {60259119-4A8F-4FB3-AAAB-25CBFB58FEE8} + SVGIconImageListDemo.dpr + Debug + DCC32 + 18.8 + VCL + True + Win32 + 2 + Application + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\Images\svgiconimagelistcomponenticon.ico + $(BDS)\bin\default_app.manifest + Amakrits|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\Amakrits.vsf;"Amethyst Kamri|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\AmethystKamri.vsf";"Aqua Light Slate|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\AquaLightSlate.vsf";Carbon|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\Carbon.vsf;"Cyan Night|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\CyanNight.vsf";Glossy|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\Glossy.vsf;"Golden Graphite|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\GoldenGraphite.vsf";Light|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\Light.vsf;Luna|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\Luna.vsf;"Ruby Graphite|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\RubyGraphite.vsf";"Sapphire Kamri|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\SapphireKamri.vsf";"Turquoise Gray|VCLSTYLE|$(PUBLIC)\Documents\Embarcadero\Studio\14.0\Styles\TurquoiseGray.vsf" + ..\Dcu\DXE6\$(Platform)\$(Config) + ..\Bin + ..\..\source;..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) + ..\Bin\IconFontsImageListDemo.exe + 00400000 + x86 + SVGIconImageListDemo + Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;$(DCC_Namespace) + true + 1033 + CompanyName=Ethea;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=;ProgramID= + "Aqua Light Slate|VCLSTYLE|$(BDSCOMMONDIR)\Styles\AquaLightSlate.vsf";"Cobalt XEMedia|VCLSTYLE|$(BDSCOMMONDIR)\Styles\CobaltXEMedia.vsf";"Cyan Night|VCLSTYLE|$(BDSCOMMONDIR)\Styles\CyanNight.vsf";"Emerald Light Slate|VCLSTYLE|$(BDSCOMMONDIR)\Styles\EmeraldLightSlate.vsf";Glossy|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Glossy.vsf;Glow|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Glow.vsf;"Golden Graphite|VCLSTYLE|$(BDSCOMMONDIR)\Styles\GoldenGraphite.vsf";"Iceberg Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\IcebergClassico.vsf";"Lavender Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\LavenderClassico.vsf";Light|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Light.vsf;Obsidian|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Obsidian.vsf;"Sapphire Kamri|VCLSTYLE|$(BDSCOMMONDIR)\Styles\SapphireKamri.vsf";Silver|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Silver.vsf;Sky|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Sky.vsf;"Slate Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\SlateClassico.vsf";"Turquoise Gray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\TurquoiseGray.vsf";Windows10|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10.vsf;"Windows10 Dark|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10Dark.vsf";"Windows10 SlateGray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10SlateGray.vsf" + + + System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + ..\Images\svgiconimagelistcomponenticon.ico + true + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + PerMonitor + + + $(BDS)\bin\default_app.manifest + ..\Images\svgiconimagelistcomponenticon.ico + true + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + true + + + true + DEBUG;$(DCC_Define) + + + true + + + + MainSource + + +
MainForm
+
+ +
SVGIconImageListEditor
+ dfm +
+ + +
ImageDataModule
+ dfm + TDataModule +
+ + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + + Delphi.Personality.12 + VCLApplication + + + + SVGIconImageListDemo.dpr + + + False + True + False + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 1040 + 1252 + + + Ethea S.r.l. + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + + + + True + False + + + + + SVGIconImageListDemo.exe + true + + + + + res\drawable-normal + 1 + + + + + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + library\lib\mips + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + + + library\lib\x86 + 1 + + + + + res\drawable-xlarge + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + + + 1 + + + 1 + + + + + res\drawable-xhdpi + 1 + + + + + 1 + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 0 + + + + + 1 + .framework + + + 0 + + + + + res\drawable-small + 1 + + + + + + 1 + + + Contents\MacOS + 0 + + + + + classes + 1 + + + + + + 1 + + + 1 + + + 1 + + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + 1 + + + + + Contents\Resources + 1 + + + + + + 1 + + + 1 + + + 1 + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 1 + + + 1 + + + 1 + + + + + res\drawable-ldpi + 1 + + + + + 1 + + + 1 + + + + + res\drawable-mdpi + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + 1 + + + 1 + + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + 1 + .dylib + + + 0 + .bpl + + + 1 + .dylib + + + 1 + .dylib + + + + + library\lib\armeabi-v7a + 1 + + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\drawable + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + 1 + + + 1 + + + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + + + 1 + + + library\lib\armeabi-v7a + 1 + + + 0 + + + 1 + + + 1 + + + + + library\lib\armeabi + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + + + res\drawable-large + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\values + 1 + + + + + res\drawable-hdpi + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + 1 + + + + + + + + + + + + + + + + 12 + + + +
diff --git a/Demo/DXE8/SVGIconImageListDemo.dpr b/Demo/DXE8/SVGIconImageListDemo.dpr index f3647d60..91f91e25 100644 --- a/Demo/DXE8/SVGIconImageListDemo.dpr +++ b/Demo/DXE8/SVGIconImageListDemo.dpr @@ -1,21 +1,21 @@ -program SVGIconImageListDemo; - -uses - Vcl.Forms, - Vcl.Themes, - Vcl.Styles, - UMain in '..\Source\UMain.pas' {MainForm}, - SVGIconImageListEditorUnit in '..\..\Packages\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, - SVGIconImageList in '..\..\source\SVGIconImageList.pas', - UDataModule in '..\Source\UDataModule.pas' {ImageDataModule: TDataModule}; - -{$R *.res} - -begin - Application.Initialize; - Application.MainFormOnTaskbar := True; - TStyleManager.TrySetStyle('Windows10'); - Application.CreateForm(TImageDataModule, ImageDataModule); - Application.CreateForm(TMainForm, MainForm); - Application.Run; -end. +program SVGIconImageListDemo; + +uses + Vcl.Forms, + Vcl.Themes, + Vcl.Styles, + UMain in '..\Source\UMain.pas' {MainForm}, + SVGIconImageListEditorUnit in '..\..\Packages\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, + SVGIconImageList in '..\..\source\SVGIconImageList.pas', + UDataModule in '..\Source\UDataModule.pas' {ImageDataModule: TDataModule}; + +{$R *.res} + +begin + Application.Initialize; + Application.MainFormOnTaskbar := True; + TStyleManager.TrySetStyle('Windows10'); + Application.CreateForm(TImageDataModule, ImageDataModule); + Application.CreateForm(TMainForm, MainForm); + Application.Run; +end. diff --git a/Demo/DXE8/SVGIconImageListDemo.dproj b/Demo/DXE8/SVGIconImageListDemo.dproj index cf0e1639..5b2a3486 100644 --- a/Demo/DXE8/SVGIconImageListDemo.dproj +++ b/Demo/DXE8/SVGIconImageListDemo.dproj @@ -1,888 +1,888 @@ - - - {60259119-4A8F-4FB3-AAAB-25CBFB58FEE8} - SVGIconImageListDemo.dpr - Debug - DCC32 - 18.8 - VCL - True - Win32 - 2 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\Dcu\DXE8\$(Platform)\$(Config) - ..\Bin - ..\..\source;..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) - ..\Bin\IconFontsImageListDemo.exe - 00400000 - x86 - SVGIconImageListDemo - Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;$(DCC_Namespace) - true - 1033 - CompanyName=Ethea;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=;ProgramID= - "Aqua Light Slate|VCLSTYLE|$(BDSCOMMONDIR)\Styles\AquaLightSlate.vsf";"Cobalt XEMedia|VCLSTYLE|$(BDSCOMMONDIR)\Styles\CobaltXEMedia.vsf";"Cyan Night|VCLSTYLE|$(BDSCOMMONDIR)\Styles\CyanNight.vsf";"Emerald Light Slate|VCLSTYLE|$(BDSCOMMONDIR)\Styles\EmeraldLightSlate.vsf";Glossy|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Glossy.vsf;Glow|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Glow.vsf;"Golden Graphite|VCLSTYLE|$(BDSCOMMONDIR)\Styles\GoldenGraphite.vsf";"Iceberg Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\IcebergClassico.vsf";"Lavender Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\LavenderClassico.vsf";Light|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Light.vsf;Obsidian|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Obsidian.vsf;"Sapphire Kamri|VCLSTYLE|$(BDSCOMMONDIR)\Styles\SapphireKamri.vsf";Silver|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Silver.vsf;Sky|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Sky.vsf;"Slate Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\SlateClassico.vsf";"Turquoise Gray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\TurquoiseGray.vsf";Windows10|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10.vsf;"Windows10 Dark|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10Dark.vsf";"Windows10 SlateGray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10SlateGray.vsf" - - - System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - $(BDS)\bin\default_app.manifest - ..\Images\svgiconimagelistcomponenticon.ico - true - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - PerMonitor - - - $(BDS)\bin\default_app.manifest - ..\Images\svgiconimagelistcomponenticon.ico - true - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - - - true - DEBUG;$(DCC_Define) - - - true - - - - MainSource - - -
MainForm
-
- -
SVGIconImageListEditor
- dfm -
- - -
ImageDataModule
- dfm - TDataModule -
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - - Delphi.Personality.12 - VCLApplication - - - - SVGIconImageListDemo.dpr - - - False - True - False - - - True - False - 1 - 0 - 0 - 0 - False - False - False - False - False - 1040 - 1252 - - - Ethea S.r.l. - - 1.0.0.0 - - - - - - 1.0.0.0 - - - - - - - True - True - - - - - SVGIconImageListDemo.exe - true - - - - - res\drawable-normal - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - library\lib\mips - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - library\lib\x86 - 1 - - - - - res\drawable-xlarge - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-xxhdpi - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\drawable-xhdpi - 1 - - - - - 1 - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 0 - - - - - 1 - .framework - - - 0 - - - - - res\drawable-small - 1 - - - - - - 1 - - - Contents\MacOS - 0 - - - - - classes - 1 - - - - - 1 - - - 1 - - - 1 - - - - - - res\values - 1 - - - res\values - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - res\drawable - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - 1 - - - - - Contents\Resources - 1 - - - - - - 1 - - - 1 - - - 1 - - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - res\drawable-ldpi - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\drawable-mdpi - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - 1 - - - 1 - - - 1 - - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - 1 - .dylib - - - 0 - .bpl - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - - - library\lib\armeabi-v7a - 1 - - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\drawable - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\values-v21 - 1 - - - res\values-v21 - 1 - - - - - 1 - - - 1 - - - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - 1 - - - - - library\lib\armeabi-v7a - 1 - - - 1 - - - 0 - - - 1 - - - 1 - - - 1 - - - - - library\lib\armeabi - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\drawable-large - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\xml - 1 - - - res\xml - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\values - 1 - - - - - res\drawable-hdpi - 1 - - - - - 1 - - - 1 - - - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - - - - - - - - - - - 12 - - - -
+ + + {60259119-4A8F-4FB3-AAAB-25CBFB58FEE8} + SVGIconImageListDemo.dpr + Debug + DCC32 + 18.8 + VCL + True + Win32 + 2 + Application + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\Dcu\DXE8\$(Platform)\$(Config) + ..\Bin + ..\..\source;..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) + ..\Bin\IconFontsImageListDemo.exe + 00400000 + x86 + SVGIconImageListDemo + Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;System;Xml;Data;Datasnap;Web;Soap;Winapi;$(DCC_Namespace) + true + 1033 + CompanyName=Ethea;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProductName=;ProductVersion=1.0.0.0;Comments=;ProgramID= + "Aqua Light Slate|VCLSTYLE|$(BDSCOMMONDIR)\Styles\AquaLightSlate.vsf";"Cobalt XEMedia|VCLSTYLE|$(BDSCOMMONDIR)\Styles\CobaltXEMedia.vsf";"Cyan Night|VCLSTYLE|$(BDSCOMMONDIR)\Styles\CyanNight.vsf";"Emerald Light Slate|VCLSTYLE|$(BDSCOMMONDIR)\Styles\EmeraldLightSlate.vsf";Glossy|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Glossy.vsf;Glow|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Glow.vsf;"Golden Graphite|VCLSTYLE|$(BDSCOMMONDIR)\Styles\GoldenGraphite.vsf";"Iceberg Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\IcebergClassico.vsf";"Lavender Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\LavenderClassico.vsf";Light|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Light.vsf;Obsidian|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Obsidian.vsf;"Sapphire Kamri|VCLSTYLE|$(BDSCOMMONDIR)\Styles\SapphireKamri.vsf";Silver|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Silver.vsf;Sky|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Sky.vsf;"Slate Classico|VCLSTYLE|$(BDSCOMMONDIR)\Styles\SlateClassico.vsf";"Turquoise Gray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\TurquoiseGray.vsf";Windows10|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10.vsf;"Windows10 Dark|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10Dark.vsf";"Windows10 SlateGray|VCLSTYLE|$(BDSCOMMONDIR)\Styles\Windows10SlateGray.vsf" + + + System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + $(BDS)\bin\default_app.manifest + ..\Images\svgiconimagelistcomponenticon.ico + true + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + PerMonitor + + + $(BDS)\bin\default_app.manifest + ..\Images\svgiconimagelistcomponenticon.ico + true + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + true + + + true + DEBUG;$(DCC_Define) + + + true + + + + MainSource + + +
MainForm
+
+ +
SVGIconImageListEditor
+ dfm +
+ + +
ImageDataModule
+ dfm + TDataModule +
+ + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + + Delphi.Personality.12 + VCLApplication + + + + SVGIconImageListDemo.dpr + + + False + True + False + + + True + False + 1 + 0 + 0 + 0 + False + False + False + False + False + 1040 + 1252 + + + Ethea S.r.l. + + 1.0.0.0 + + + + + + 1.0.0.0 + + + + + + + True + True + + + + + SVGIconImageListDemo.exe + true + + + + + res\drawable-normal + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + library\lib\mips + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + library\lib\x86 + 1 + + + + + res\drawable-xlarge + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\drawable-xhdpi + 1 + + + + + 1 + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 0 + + + + + 1 + .framework + + + 0 + + + + + res\drawable-small + 1 + + + + + + 1 + + + Contents\MacOS + 0 + + + + + classes + 1 + + + + + 1 + + + 1 + + + 1 + + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + 1 + + + + + Contents\Resources + 1 + + + + + + 1 + + + 1 + + + 1 + + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 1 + + + 1 + + + 1 + + + + + res\drawable-ldpi + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\drawable-mdpi + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + 1 + + + 1 + + + 1 + + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + 1 + .dylib + + + 0 + .bpl + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + + + library\lib\armeabi-v7a + 1 + + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\drawable + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + 1 + + + 1 + + + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + 1 + + + + + library\lib\armeabi-v7a + 1 + + + 1 + + + 0 + + + 1 + + + 1 + + + 1 + + + + + library\lib\armeabi + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\drawable-large + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\values + 1 + + + + + res\drawable-hdpi + 1 + + + + + 1 + + + 1 + + + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + + + + + + + + + + + 12 + + + +
diff --git a/Demo/NewSydneyVectors/C++BUIDER_Product.svg b/Demo/NewSydneyVectors/C++BUIDER_Product.svg index 3645ce17..d319f004 100644 --- a/Demo/NewSydneyVectors/C++BUIDER_Product.svg +++ b/Demo/NewSydneyVectors/C++BUIDER_Product.svg @@ -1,32 +1,32 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/Demo/NewSydneyVectors/C++Builder project icon.svg b/Demo/NewSydneyVectors/C++Builder project icon.svg index cbac2df9..f2bd2ecb 100644 --- a/Demo/NewSydneyVectors/C++Builder project icon.svg +++ b/Demo/NewSydneyVectors/C++Builder project icon.svg @@ -1,30 +1,30 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/Demo/NewSydneyVectors/Delphi project icon (two-tone).svg b/Demo/NewSydneyVectors/Delphi project icon (two-tone).svg index 6b62b3ed..0ec12e5b 100644 --- a/Demo/NewSydneyVectors/Delphi project icon (two-tone).svg +++ b/Demo/NewSydneyVectors/Delphi project icon (two-tone).svg @@ -1,28 +1,28 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/Demo/NewSydneyVectors/Delphi project icon.svg b/Demo/NewSydneyVectors/Delphi project icon.svg index 6c782fda..09002db1 100644 --- a/Demo/NewSydneyVectors/Delphi project icon.svg +++ b/Demo/NewSydneyVectors/Delphi project icon.svg @@ -1,28 +1,28 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/Demo/NewSydneyVectors/Interbase_product icon.svg b/Demo/NewSydneyVectors/Interbase_product icon.svg index 05596606..867ab463 100644 --- a/Demo/NewSydneyVectors/Interbase_product icon.svg +++ b/Demo/NewSydneyVectors/Interbase_product icon.svg @@ -1,46 +1,46 @@ - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/Demo/NewSydneyVectors/RAD_SERVER_Product icon.svg b/Demo/NewSydneyVectors/RAD_SERVER_Product icon.svg index af838be4..cfea591c 100644 --- a/Demo/NewSydneyVectors/RAD_SERVER_Product icon.svg +++ b/Demo/NewSydneyVectors/RAD_SERVER_Product icon.svg @@ -1,123 +1,123 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Demo/NewSydneyVectors/RAD_STUDIO_Product icon.svg b/Demo/NewSydneyVectors/RAD_STUDIO_Product icon.svg index 74f9af2b..f1a08605 100644 --- a/Demo/NewSydneyVectors/RAD_STUDIO_Product icon.svg +++ b/Demo/NewSydneyVectors/RAD_STUDIO_Product icon.svg @@ -1,40 +1,40 @@ - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + diff --git a/Demo/Source/UDataModule.dfm b/Demo/Source/UDataModule.dfm index 3287ea50..a9711594 100644 --- a/Demo/Source/UDataModule.dfm +++ b/Demo/Source/UDataModule.dfm @@ -1,7276 +1,7276 @@ -object ImageDataModule: TImageDataModule - OldCreateOrder = False - Height = 150 - Width = 215 - object SVGIconImageCollection: TSVGIconImageCollection - Left = 87 - Top = 30 - Images = { - 1B0100000B00000062007500730069006E006500730073006D0061006E009D03 - 00003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F - 2F7777772E77332E6F72672F323030302F737667222076696577426F783D2230 - 20302034382034382220656E61626C652D6261636B67726F756E643D226E6577 - 20302030203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D - 22234646393830302220706F696E74733D2232342C33372031392C3331203139 - 2C32352032392C32352032392C3331222F3E0D0A202020203C672066696C6C3D - 2223464641373236223E0D0A20202020202020203C636972636C652063783D22 - 3333222063793D2231392220723D2232222F3E0D0A20202020202020203C6369 - 72636C652063783D223135222063793D2231392220723D2232222F3E0D0A2020 - 20203C2F673E0D0A202020203C706174682066696C6C3D222346464237344422 - 20643D224D33332C313363302D372E362D31382D352D31382C3063302C312E31 - 2C302C352E392C302C3763302C352C342C392C392C3973392D342C392D394333 - 332C31382E392C33332C31342E312C33332C31337A222F3E0D0A202020203C70 - 6174682066696C6C3D22233432343234322220643D224D32342C34632D362E31 - 2C302D31302C342E392D31302C313163302C302E382C302C322E332C302C322E - 336C322C312E37762D356C31322D346C342C3476356C322D312E3763302C302C - 302D312E352C302D322E3363302D342D312D382D362D396C2D312D3220483234 - 7A222F3E0D0A202020203C672066696C6C3D2223373834373139223E0D0A2020 - 2020202020203C636972636C652063783D223238222063793D2231392220723D - 2231222F3E0D0A20202020202020203C636972636C652063783D223230222063 - 793D2231392220723D2231222F3E0D0A202020203C2F673E0D0A202020203C70 - 6F6C79676F6E2066696C6C3D22236666662220706F696E74733D2232342C3433 - 2031392C33312032342C33322032392C3331222F3E0D0A202020203C706F6C79 - 676F6E2066696C6C3D22234433324632462220706F696E74733D2232332C3335 - 2032322E332C33392E352032342C34332E352032352E372C33392E352032352C - 33352032362C33342032342C33322032322C3334222F3E0D0A202020203C7061 - 74682066696C6C3D22233534364537412220643D224D32392C33314C32392C33 - 316C2D352C31326C2D352D313263302C302D31312C322D31312C313368333243 - 34302C33332C32392C33312C32392C33317A222F3E0D0A3C2F7376673E0D0A0D - 00000062007500730069006E0065007300730077006F006D0061006E00F60200 - 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F - 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 - 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 - 302030203438203438223E0D0A202020203C7265637420783D2231362220793D - 223135222066696C6C3D2223424633363043222077696474683D223136222068 - 65696768743D223138222F3E0D0A202020203C706174682066696C6C3D222337 - 38393039432220643D224D34302C3434483863302D31312C31312D31332C3131 - 2D31336831304332392C33312C34302C33332C34302C34347A222F3E0D0A2020 - 20203C706174682066696C6C3D22234646393830302220643D224D32342C3337 - 632D322E322C302D352D362D352D36762D3668313076364332392C33312C3236 - 2E322C33372C32342C33377A222F3E0D0A202020203C706174682066696C6C3D - 22234646423734442220643D224D33332C313463302D372E362D31382D352D31 - 382C3063302C312E312C302C352E392C302C3763302C352C342C392C392C3973 - 392D342C392D394333332C31392E392C33332C31352E312C33332C31347A222F - 3E0D0A202020203C706174682066696C6C3D22234646353732322220643D224D - 32342C344331372E392C342C392C372E342C392C32372E336C372C342E375631 - 396C31322D376C342C357631356C372D3663302D342D302E372D32302D31312D - 32306C2D312D324832347A222F3E0D0A202020203C706174682066696C6C3D22 - 234646423734442220643D224D32342C3338632D342E342C302D352D372D352D - 3773322E352C342C352C3473352D342C352D345332382E342C33382C32342C33 - 387A222F3E0D0A202020203C636972636C652066696C6C3D2223373834373139 - 222063783D223238222063793D2232312220723D2231222F3E0D0A202020203C - 636972636C652066696C6C3D2223373834373139222063783D22323022206379 - 3D2232312220723D2231222F3E0D0A3C2F7376673E0D0A08000000630061006C - 0065006E00640061007200030500003C7376672076657273696F6E3D22312220 - 786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376 - 67222076696577426F783D223020302034382034382220656E61626C652D6261 - 636B67726F756E643D226E657720302030203438203438223E0D0A202020203C - 706174682066696C6C3D22234346443844432220643D224D352C333856313468 - 333876323463302C322E322D312E382C342D342C34483943362E382C34322C35 - 2C34302E322C352C33387A222F3E0D0A202020203C706174682066696C6C3D22 - 234634343333362220643D224D34332C313076364835762D3663302D322E322C - 312E382D342C342D346833304334312E322C362C34332C372E382C34332C3130 - 7A222F3E0D0A202020203C672066696C6C3D2223423731433143223E0D0A2020 - 2020202020203C636972636C652063783D223333222063793D2231302220723D - 2233222F3E0D0A20202020202020203C636972636C652063783D223135222063 - 793D2231302220723D2233222F3E0D0A202020203C2F673E0D0A202020203C67 - 2066696C6C3D2223423042454335223E0D0A20202020202020203C7061746820 - 643D224D33332C33632D312E312C302D322C302E392D322C32763563302C312E - 312C302E392C322C322C3273322D302E392C322D3256354333352C332E392C33 - 342E312C332C33332C337A222F3E0D0A20202020202020203C7061746820643D - 224D31352C33632D312E312C302D322C302E392D322C32763563302C312E312C - 302E392C322C322C3273322D302E392C322D3256354331372C332E392C31362E - 312C332C31352C337A222F3E0D0A202020203C2F673E0D0A202020203C672066 - 696C6C3D2223393041344145223E0D0A20202020202020203C7265637420783D - 2231332220793D223230222077696474683D223422206865696768743D223422 - 2F3E0D0A20202020202020203C7265637420783D2231392220793D2232302220 - 77696474683D223422206865696768743D2234222F3E0D0A2020202020202020 - 3C7265637420783D2232352220793D223230222077696474683D223422206865 - 696768743D2234222F3E0D0A20202020202020203C7265637420783D22333122 - 20793D223230222077696474683D223422206865696768743D2234222F3E0D0A - 20202020202020203C7265637420783D2231332220793D223236222077696474 - 683D223422206865696768743D2234222F3E0D0A20202020202020203C726563 - 7420783D2231392220793D223236222077696474683D22342220686569676874 - 3D2234222F3E0D0A20202020202020203C7265637420783D2232352220793D22 - 3236222077696474683D223422206865696768743D2234222F3E0D0A20202020 - 202020203C7265637420783D2233312220793D223236222077696474683D2234 - 22206865696768743D2234222F3E0D0A20202020202020203C7265637420783D - 2231332220793D223332222077696474683D223422206865696768743D223422 - 2F3E0D0A20202020202020203C7265637420783D2231392220793D2233322220 - 77696474683D223422206865696768743D2234222F3E0D0A2020202020202020 - 3C7265637420783D2232352220793D223332222077696474683D223422206865 - 696768743D2234222F3E0D0A20202020202020203C7265637420783D22333122 - 20793D223332222077696474683D223422206865696768743D2234222F3E0D0A - 202020203C2F673E0D0A3C2F7376673E0D0A05000000610062006F0075007400 - 600100003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 - 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D - 223020302034382034382220656E61626C652D6261636B67726F756E643D226E - 657720302030203438203438223E0D0A202020203C706174682066696C6C3D22 - 233231393646332220643D224D33372C34304831316C2D362C3656313263302D - 332E332C322E372D362C362D3668323663332E332C302C362C322E372C362C36 - 7632324334332C33372E332C34302E332C34302C33372C34307A222F3E0D0A20 - 2020203C672066696C6C3D2223666666223E0D0A20202020202020203C726563 - 7420783D2232322220793D223230222077696474683D22342220686569676874 - 3D223131222F3E0D0A20202020202020203C636972636C652063783D22323422 - 2063793D2231352220723D2232222F3E0D0A202020203C2F673E0D0A3C2F7376 - 673E0D0A0A000000630061006C00630075006C00610074006F0072004D090000 - 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 - 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 - 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 - 2030203438203438223E0D0A202020203C706174682066696C6C3D2223363136 - 3136312220643D224D34302C3136483876323463302C322E322C312E382C342C - 342C3468323463322E322C302C342D312E382C342D345631367A222F3E0D0A20 - 2020203C706174682066696C6C3D22233432343234322220643D224D33362C34 - 48313243392E382C342C382C352E382C382C38763968333256384334302C352E - 382C33382E322C342C33362C347A222F3E0D0A202020203C706174682066696C - 6C3D22233943434336352220643D224D33362C3134483132632D302E362C302D - 312D302E342D312D31563863302D302E362C302E342D312C312D316832346330 - 2E362C302C312C302E342C312C3176354333372C31332E362C33362E362C3134 - 2C33362C31347A222F3E0D0A202020203C672066696C6C3D2223333336393145 - 223E0D0A20202020202020203C7265637420783D2233332220793D2231302220 - 77696474683D223222206865696768743D2232222F3E0D0A2020202020202020 - 3C7265637420783D2232392220793D223130222077696474683D223222206865 - 696768743D2232222F3E0D0A202020203C2F673E0D0A202020203C7061746820 - 66696C6C3D22234646353235322220643D224D33362C3233682D33632D302E36 - 2C302D312D302E342D312D31762D3263302D302E362C302E342D312C312D3168 - 3363302E362C302C312C302E342C312C3176324333372C32322E362C33362E36 - 2C32332C33362C32337A222F3E0D0A202020203C672066696C6C3D2223453045 - 304530223E0D0A20202020202020203C7061746820643D224D31352C3233682D - 33632D302E362C302D312D302E342D312D31762D3263302D302E362C302E342D - 312C312D31683363302E362C302C312C302E342C312C3176324331362C32322E - 362C31352E362C32332C31352C32337A222F3E0D0A20202020202020203C7061 - 746820643D224D32322C3233682D33632D302E362C302D312D302E342D312D31 - 762D3263302D302E362C302E342D312C312D31683363302E362C302C312C302E - 342C312C3176324332332C32322E362C32322E362C32332C32322C32337A222F - 3E0D0A20202020202020203C7061746820643D224D32392C3233682D33632D30 - 2E362C302D312D302E342D312D31762D3263302D302E362C302E342D312C312D - 31683363302E362C302C312C302E342C312C3176324333302C32322E362C3239 - 2E362C32332C32392C32337A222F3E0D0A20202020202020203C706174682064 - 3D224D31352C3239682D33632D302E362C302D312D302E342D312D31762D3263 - 302D302E362C302E342D312C312D31683363302E362C302C312C302E342C312C - 3176324331362C32382E362C31352E362C32392C31352C32397A222F3E0D0A20 - 202020202020203C7061746820643D224D32322C3239682D33632D302E362C30 - 2D312D302E342D312D31762D3263302D302E362C302E342D312C312D31683363 - 302E362C302C312C302E342C312C3176324332332C32382E362C32322E362C32 - 392C32322C32397A222F3E0D0A20202020202020203C7061746820643D224D32 - 392C3239682D33632D302E362C302D312D302E342D312D31762D3263302D302E - 362C302E342D312C312D31683363302E362C302C312C302E342C312C31763243 - 33302C32382E362C32392E362C32392C32392C32397A222F3E0D0A2020202020 - 2020203C7061746820643D224D31352C3335682D33632D302E362C302D312D30 - 2E342D312D31762D3263302D302E362C302E342D312C312D31683363302E362C - 302C312C302E342C312C3176324331362C33342E362C31352E362C33352C3135 - 2C33357A222F3E0D0A20202020202020203C7061746820643D224D32322C3335 - 682D33632D302E362C302D312D302E342D312D31762D3263302D302E362C302E - 342D312C312D31683363302E362C302C312C302E342C312C3176324332332C33 - 342E362C32322E362C33352C32322C33357A222F3E0D0A20202020202020203C - 7061746820643D224D32392C3335682D33632D302E362C302D312D302E342D31 - 2D31762D3263302D302E362C302E342D312C312D31683363302E362C302C312C - 302E342C312C3176324333302C33342E362C32392E362C33352C32392C33357A - 222F3E0D0A20202020202020203C7061746820643D224D31352C3431682D3363 - 2D302E362C302D312D302E342D312D31762D3263302D302E362C302E342D312C - 312D31683363302E362C302C312C302E342C312C3176324331362C34302E362C - 31352E362C34312C31352C34317A222F3E0D0A20202020202020203C70617468 - 20643D224D32322C3431682D33632D302E362C302D312D302E342D312D31762D - 3263302D302E362C302E342D312C312D31683363302E362C302C312C302E342C - 312C3176324332332C34302E362C32322E362C34312C32322C34317A222F3E0D - 0A20202020202020203C7061746820643D224D32392C3431682D33632D302E36 - 2C302D312D302E342D312D31762D3263302D302E362C302E342D312C312D3168 - 3363302E362C302C312C302E342C312C3176324333302C34302E362C32392E36 - 2C34312C32392C34317A222F3E0D0A202020203C2F673E0D0A202020203C6720 - 66696C6C3D2223424442444244223E0D0A20202020202020203C706174682064 - 3D224D33362C3239682D33632D302E362C302D312D302E342D312D31762D3263 - 302D302E362C302E342D312C312D31683363302E362C302C312C302E342C312C - 3176324333372C32382E362C33362E362C32392C33362C32397A222F3E0D0A20 - 202020202020203C7061746820643D224D33362C3335682D33632D302E362C30 - 2D312D302E342D312D31762D3263302D302E362C302E342D312C312D31683363 - 302E362C302C312C302E342C312C3176324333372C33342E362C33362E362C33 - 352C33362C33357A222F3E0D0A20202020202020203C7061746820643D224D33 - 362C3431682D33632D302E362C302D312D302E342D312D31762D3263302D302E - 362C302E342D312C312D31683363302E362C302C312C302E342C312C31763243 - 33372C34302E362C33362E362C34312C33362C34317A222F3E0D0A202020203C - 2F673E0D0A3C2F7376673E0D0A0A000000630065006C006C005F00700068006F - 006E006500EB0500003C7376672076657273696F6E3D22312220786D6C6E733D - 22687474703A2F2F7777772E77332E6F72672F323030302F7376672220766965 - 77426F783D223020302034382034382220656E61626C652D6261636B67726F75 - 6E643D226E657720302030203438203438223E0D0A202020203C706174682066 - 696C6C3D22233534364537412220643D224D31322C343056313068323063322E - 322C302C342C312E382C342C3476323663302C322E322D312E382C342D342C34 - 4831364331332E382C34342C31322C34322E322C31322C34307A222F3E0D0A20 - 2020203C706174682066696C6C3D22233446433346372220643D224D33322C31 - 33483136632D302E362C302D312C302E342D312C31763863302C302E362C302E - 342C312C312C3168313663302E362C302C312D302E342C312D31762D38433333 - 2C31332E342C33322E362C31332C33322C31337A222F3E0D0A202020203C7061 - 74682066696C6C3D22234233453546432220643D224D31392C3330682D32632D - 302E362C302D312D302E342D312D31762D3163302D302E362C302E342D312C31 - 2D31683263302E362C302C312C302E342C312C3176314332302C32392E362C31 - 392E362C33302C31392C33307A222F3E0D0A202020203C706174682066696C6C - 3D22234233453546432220643D224D32352C3330682D32632D302E362C302D31 - 2D302E342D312D31762D3163302D302E362C302E342D312C312D31683263302E - 362C302C312C302E342C312C3176314332362C32392E362C32352E362C33302C - 32352C33307A222F3E0D0A202020203C706174682066696C6C3D222342334535 - 46432220643D224D33312C3330682D32632D302E362C302D312D302E342D312D - 31762D3163302D302E362C302E342D312C312D31683263302E362C302C312C30 - 2E342C312C3176314333322C32392E362C33312E362C33302C33312C33307A22 - 2F3E0D0A202020203C706174682066696C6C3D22234233453546432220643D22 - 4D31392C3335682D32632D302E362C302D312D302E342D312D31762D3163302D - 302E362C302E342D312C312D31683263302E362C302C312C302E342C312C3176 - 314332302C33342E362C31392E362C33352C31392C33357A222F3E0D0A202020 - 203C706174682066696C6C3D22234233453546432220643D224D32352C333568 - 2D32632D302E362C302D312D302E342D312D31762D3163302D302E362C302E34 - 2D312C312D31683263302E362C302C312C302E342C312C3176314332362C3334 - 2E362C32352E362C33352C32352C33357A222F3E0D0A202020203C7061746820 - 66696C6C3D22234233453546432220643D224D33312C3335682D32632D302E36 - 2C302D312D302E342D312D31762D3163302D302E362C302E342D312C312D3168 - 3263302E362C302C312C302E342C312C3176314333322C33342E362C33312E36 - 2C33352C33312C33357A222F3E0D0A202020203C706174682066696C6C3D2223 - 4233453546432220643D224D31392C3430682D32632D302E362C302D312D302E - 342D312D31762D3163302D302E362C302E342D312C312D31683263302E362C30 - 2C312C302E342C312C3176314332302C33392E362C31392E362C34302C31392C - 34307A222F3E0D0A202020203C706174682066696C6C3D222342334535464322 - 20643D224D32352C3430682D32632D302E362C302D312D302E342D312D31762D - 3163302D302E362C302E342D312C312D31683263302E362C302C312C302E342C - 312C3176314332362C33392E362C32352E362C34302C32352C34307A222F3E0D - 0A202020203C706174682066696C6C3D22234233453546432220643D224D3331 - 2C3430682D32632D302E362C302D312D302E342D312D31762D3163302D302E36 - 2C302E342D312C312D31683263302E362C302C312C302E342C312C3176314333 - 322C33392E362C33312E362C34302C33312C34307A222F3E0D0A202020203C70 - 6174682066696C6C3D22233337343734462220643D224D31362C3130682D3456 - 3463302D312E312C302E392D322C322D32683063312E312C302C322C302E392C - 322C325631307A222F3E0D0A3C2F7376673E0D0A0800000063006F006E007400 - 6100630074007300AD0100003C7376672076657273696F6E3D22312220786D6C - 6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376672220 - 76696577426F783D223020302034382034382220656E61626C652D6261636B67 - 726F756E643D226E657720302030203438203438223E0D0A202020203C706174 - 682066696C6C3D22234646373034332220643D224D33382C3434483132563468 - 323663322E322C302C342C312E382C342C347633324334322C34322E322C3430 - 2E322C34342C33382C34347A222F3E0D0A202020203C706174682066696C6C3D - 22234246333630432220643D224D31302C346832763430682D32632D322E322C - 302D342D312E382D342D34563843362C352E382C372E382C342C31302C347A22 - 2F3E0D0A202020203C672066696C6C3D2223414233303042223E0D0A20202020 - 202020203C636972636C652063783D223236222063793D2232302220723D2234 - 222F3E0D0A20202020202020203C7061746820643D224D33332C333063302C30 - 2D312E392D342D372D34632D352E312C302D372C342D372C3476326831345633 - 307A222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0B000000610064 - 0076006500720074006900730069006E006700350300003C7376672076657273 - 696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F7267 - 2F323030302F737667222076696577426F783D22302030203438203438222065 - 6E61626C652D6261636B67726F756E643D226E65772030203020343820343822 - 3E0D0A202020203C672066696C6C3D2223393043414639223E0D0A2020202020 - 2020203C7061746820643D224D31372E342C3333483135762D3468346C302E34 - 2C312E354331392E372C33312E382C31382E372C33332C31372E342C33337A22 - 2F3E0D0A20202020202020203C7061746820643D224D33372C333663302C302D - 31312E382D372D31382D3756313563352E382C302C31382D372C31382D375633 - 367A222F3E0D0A202020203C2F673E0D0A202020203C672066696C6C3D222332 - 3833353933223E0D0A20202020202020203C636972636C652063783D22392220 - 63793D2232322220723D2235222F3E0D0A20202020202020203C706174682064 - 3D224D34302C3139682D337636683363312E372C302C332D312E332C332D3353 - 34312E372C31392C34302C31397A222F3E0D0A20202020202020203C70617468 - 20643D224D31382E362C34312E32632D302E392C302E362D322E352C312E322D - 342E362C312E34632D302E362C302E312D312E322D302E332D312E342D314C38 - 2E322C32372E3963302C302C382E382D362E322C382E382C312E312063302C35 - 2E352C312E352C382E342C322E322C392E3563302E352C302E372C302E352C31 - 2E362C302C322E334331392C34312C31382E382C34312E312C31382E362C3431 - 2E327A222F3E0D0A202020203C2F673E0D0A202020203C706174682066696C6C - 3D22233346353142352220643D224D392C32396831305631354839632D312E31 - 2C302D322C302E392D322C3276313043372C32382E312C372E392C32392C392C - 32397A222F3E0D0A202020203C706174682066696C6C3D222334324135463522 - 20643D224D33382C33384C33382C3338632D312E312C302D322D302E392D322D - 32563863302D312E312C302E392D322C322D32683063312E312C302C322C302E - 392C322C327632384334302C33372E312C33392E312C33382C33382C33387A22 - 2F3E0D0A3C2F7376673E0D0A1700000061006C00700068006100620065007400 - 6900630061006C005F0073006F007200740069006E0067005F0061007A00B001 - 00003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F - 2F7777772E77332E6F72672F323030302F737667222076696577426F783D2230 - 20302034382034382220656E61626C652D6261636B67726F756E643D226E6577 - 20302030203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D - 22233534364537412220706F696E74733D2233382C33332033382C352033342C - 352033342C33332032382C33332033362C34332034342C3333222F3E0D0A2020 - 20203C672066696C6C3D2223323139364633223E0D0A20202020202020203C70 - 61746820643D224D31362E382C31372E32682D352E336C2D312E312C3348362E - 394C31322E362C3568322E396C352E372C31352E32682D332E324C31362E382C - 31372E327A204D31322E322C31342E354831366C2D312E392D352E374C31322E - 322C31342E357A222F3E0D0A20202020202020203C7061746820643D224D3132 - 2E342C34302E3548323056343348382E34762D312E394C31362C33302E334838 - 2E34762D322E356831312E3476312E374C31322E342C34302E357A222F3E0D0A - 202020203C2F673E0D0A3C2F7376673E0D0A1700000061006C00700068006100 - 6200650074006900630061006C005F0073006F007200740069006E0067005F00 - 7A006100AA0100003C7376672076657273696F6E3D22312220786D6C6E733D22 - 687474703A2F2F7777772E77332E6F72672F323030302F737667222076696577 - 426F783D223020302034382034382220656E61626C652D6261636B67726F756E - 643D226E657720302030203438203438223E0D0A202020203C672066696C6C3D - 2223323139364633223E0D0A20202020202020203C7061746820643D224D3136 - 2E382C3430682D352E336C2D312E312C3348362E396C352E372D31352E326832 - 2E394C32312E312C3433682D332E324C31362E382C34307A204D31322E322C33 - 372E334831366C2D312E392D352E374C31322E322C33372E337A222F3E0D0A20 - 202020202020203C7061746820643D224D31322E342C31372E3748323076322E - 3548382E34762D312E394C31362C372E3548382E3456356831312E3476312E37 - 4C31322E342C31372E377A222F3E0D0A202020203C2F673E0D0A202020203C70 - 6F6C79676F6E2066696C6C3D22233534364537412220706F696E74733D223338 - 2C33332033382C352033342C352033342C33332032382C33332033362C343320 - 34342C3333222F3E0D0A3C2F7376673E0D0A0A00000061006E00640072006F00 - 690064005F006F007300520600003C3F786D6C2076657273696F6E3D22312E30 - 2220656E636F64696E673D227574662D38223F3E0D0A3C212D2D2047656E6572 - 61746F723A2041646F626520496C6C7573747261746F722031352E302E302C20 - 535647204578706F727420506C75672D496E202E205356472056657273696F6E - 3A20362E3030204275696C6420302920202D2D3E0D0A3C21444F435459504520 - 737667205055424C494320222D2F2F5733432F2F4454442053564720312E312F - 2F454E222022687474703A2F2F7777772E77332E6F72672F4772617068696373 - 2F5356472F312E312F4454442F73766731312E647464223E0D0A3C7376672076 - 657273696F6E3D22312E31222020786D6C6E733D22687474703A2F2F7777772E - 77332E6F72672F323030302F7376672220786D6C6E733A786C696E6B3D226874 - 74703A2F2F7777772E77332E6F72672F313939392F786C696E6B2220783D2230 - 70782220793D22307078220D0A092077696474683D2234387078222068656967 - 68743D2234387078222076696577426F783D223020302034382034382220656E - 61626C652D6261636B67726F756E643D226E6577203020302034382034382220 - 786D6C3A73706163653D227072657365727665223E0D0A3C673E0D0A093C7061 - 74682066696C6C3D22233743423334322220643D224D31322C32392E30303163 - 302C312E3130342D302E3839362C322D322C326C302C30632D312E3130342C30 - 2D322D302E3839362D322D32762D3963302D312E3130342C302E3839362D322C - 322D326C302C3063312E3130342C302C322C302E3839362C322C320D0A090956 - 32392E3030317A222F3E0D0A093C706174682066696C6C3D2223374342333432 - 2220643D224D34302C32392E30303163302C312E3130342D302E3839362C322D - 322C326C302C30632D312E3130342C302D322D302E3839362D322D32762D3963 - 302D312E3130342C302E3839362D322C322D326C302C3063312E3130342C302C - 322C302E3839362C322C320D0A09095632392E3030317A222F3E0D0A093C7061 - 74682066696C6C3D22233743423334322220643D224D32322C343063302C312E - 3130342D302E3839362C322D322C326C302C30632D312E3130342C302D322D30 - 2E3839362D322D32762D3963302D312E3130342C302E3839362D322C322D326C - 302C3063312E3130342C302C322C302E3839362C322C325634307A220D0A0909 - 2F3E0D0A093C706174682066696C6C3D22233743423334322220643D224D3330 - 2C343063302C312E3130342D302E3839362C322D322C326C302C30632D312E31 - 30342C302D322D302E3839362D322D32762D3963302D312E3130342C302E3839 - 362D322C322D326C302C3063312E3130342C302C322C302E3839362C322C3256 - 34307A220D0A09092F3E0D0A093C706174682066696C6C3D2223374342333432 - 2220643D224D31342C31382E30303156333363302C312E3130342C302E383936 - 2C322C322C3268313663312E3130342C302C322D302E3839362C322D32563138 - 2E3030314831347A222F3E0D0A093C706174682066696C6C3D22233743423334 - 322220643D224D32342C38632D362C302D392E3635352C332E3634352D31302C - 386832304333332E3635342C31312E3634352C33302C382C32342C387A204D32 - 302C31332E353938632D302E3535322C302D312D302E3434382D312D3173302E - 3434382D312C312D310D0A090973312C302E3434382C312C315332302E353532 - 2C31332E3539382C32302C31332E3539387A204D32382C31332E353938632D30 - 2E3535332C302D312D302E3434382D312D3173302E3434372D312C312D317331 - 2C302E3434382C312C315332382E3535332C31332E3539382C32382C31332E35 - 39387A222F3E0D0A093C6C696E652066696C6C3D226E6F6E6522207374726F6B - 653D222337434233343222207374726F6B652D77696474683D22322220737472 - 6F6B652D6C696E656361703D22726F756E64222078313D223330222079313D22 - 37222078323D2232382E333334222079323D22392E343939222F3E0D0A093C6C - 696E652066696C6C3D226E6F6E6522207374726F6B653D222337434233343222 - 207374726F6B652D77696474683D223222207374726F6B652D6C696E65636170 - 3D22726F756E64222078313D223138222079313D2237222078323D2231392E33 - 3333222079323D22392E303832222F3E0D0A3C2F673E0D0A3C2F7376673E0D0A - 0700000061006E0073007700650072007300920200003C737667207665727369 - 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F - 323030302F737667222076696577426F783D223020302034382034382220656E - 61626C652D6261636B67726F756E643D226E657720302030203438203438223E - 0D0A202020203C706F6C79676F6E2066696C6C3D22233432413546352220706F - 696E74733D2233362C343420382C343420382C382032382C382033362C313622 - 2F3E0D0A202020203C706F6C79676F6E2066696C6C3D22233930434146392220 - 706F696E74733D2234302C34302031322C34302031322C342033322C34203430 - 2C3132222F3E0D0A202020203C706F6C79676F6E2066696C6C3D222345314635 - 46452220706F696E74733D2233382E352C31332033312C31332033312C352E35 - 222F3E0D0A202020203C706174682066696C6C3D22233139373644322220643D - 224D32332E342C32392E3963302D302E322C302D302E342C302E312D302E3673 - 302E322D302E332C302E332D302E3573302E332D302E322C302E352D302E3373 - 302E342D302E312C302E362D302E3173302E352C302C302E372C302E31207330 - 2E342C302E322C302E352C302E3373302E322C302E332C302E332C302E357330 - 2E312C302E342C302E312C302E3673302C302E342D302E312C302E36732D302E - 322C302E332D302E332C302E35732D302E332C302E322D302E352C302E33732D - 302E342C302E312D302E372C302E3120732D302E352C302D302E362D302E3173 - 2D302E342D302E322D302E352D302E33732D302E322D302E332D302E332D302E - 355332332E342C33302E312C32332E342C32392E397A204D32362E312C32362E - 38682D322E334C32332E342C313768334C32362E312C32362E387A222F3E0D0A - 3C2F7376673E0D0A0800000061007000700072006F00760061006C00D2010000 - 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 - 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 - 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 - 2030203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D2223 - 3842433334412220706F696E74733D2232342C332032382E372C362E36203334 - 2E352C352E382033362E372C31312E332034322E322C31332E352034312E342C - 31392E332034352C32342034312E342C32382E372034322E322C33342E352033 - 362E372C33362E372033342E352C34322E322032382E372C34312E342032342C - 34352031392E332C34312E342031332E352C34322E322031312E332C33362E37 - 20352E382C33342E3520362E362C32382E3720332C323420362E362C31392E33 - 20352E382C31332E352031312E332C31312E332031332E352C352E382031392E - 332C362E36222F3E0D0A202020203C706F6C79676F6E2066696C6C3D22234343 - 464639302220706F696E74733D2233342E362C31342E362032312C32382E3220 - 31352E342C32322E362031322E362C32352E342032312C33332E382033372E34 - 2C31372E34222F3E0D0A3C2F7376673E0D0A0700000061007000700072006F00 - 760065004F0200003C7376672076657273696F6E3D22312220786D6C6E733D22 - 687474703A2F2F7777772E77332E6F72672F323030302F737667222076696577 - 426F783D223020302034382034382220656E61626C652D6261636B67726F756E - 643D226E657720302030203438203438223E0D0A202020203C672066696C6C3D - 2223464643433830223E0D0A20202020202020203C636972636C652063783D22 - 3338222063793D2232362220723D2234222F3E0D0A20202020202020203C6369 - 72636C652063783D223130222063793D2232362220723D2234222F3E0D0A2020 - 2020202020203C7061746820643D224D33392C313963302D31322E372D33302D - 382E332D33302C3063302C312E382C302C382E322C302C313063302C382E332C - 362E372C31352C31352C31357331352D362E372C31352D31354333392C32372E - 322C33392C32302E382C33392C31397A222F3E0D0A20202020202020203C7061 - 746820643D224D32342C344331352E322C342C382C31312E322C382C32306330 - 2C312E322C302C332E352C302C332E356C322E312C302E365631396C31392E35 - 2D362E336C382E322C362E3376352E316C322E312D302E3663302C302C302D32 - 2E332C302D332E35204334302C31322E352C33342E362C342C32342C347A222F - 3E0D0A202020203C2F673E0D0A202020203C706F6C79676F6E2066696C6C3D22 - 233443414635302220706F696E74733D2233322E362C31382E362032322E332C - 32382E392031372E342C32342031342E362C32362E382032322E332C33342E35 - 2033352E342C32312E34222F3E0D0A3C2F7376673E0D0A0A0000006100720065 - 0061005F0063006800610072007400070100003C7376672076657273696F6E3D - 22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030 - 302F737667222076696577426F783D223020302034382034382220656E61626C - 652D6261636B67726F756E643D226E657720302030203438203438223E0D0A20 - 2020203C706F6C79676F6E2066696C6C3D22233346353142352220706F696E74 - 733D2234322C333720362C333720362C32352031362C31302033302C31372034 - 322C36222F3E0D0A202020203C706F6C79676F6E2066696C6C3D222330304243 - 44342220706F696E74733D2234322C343220362C343220362C33322031362C32 - 342033302C32362034322C3137222F3E0D0A3C2F7376673E0D0A090000006100 - 7300730069007300740061006E0074001B0400003C7376672076657273696F6E - 3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F3230 - 30302F737667222076696577426F783D223020302034382034382220656E6162 - 6C652D6261636B67726F756E643D226E657720302030203438203438223E0D0A - 202020203C672066696C6C3D2223464641373236223E0D0A2020202020202020 - 3C636972636C652063783D223130222063793D2232362220723D2234222F3E0D - 0A20202020202020203C636972636C652063783D223338222063793D22323622 - 20723D2234222F3E0D0A202020203C2F673E0D0A202020203C70617468206669 - 6C6C3D22234646423734442220643D224D33392C313963302D31322E372D3330 - 2D382E332D33302C3063302C312E382C302C382E322C302C313063302C382E33 - 2C362E372C31352C31352C31357331352D362E372C31352D31354333392C3237 - 2E322C33392C32302E382C33392C31397A222F3E0D0A202020203C7061746820 - 66696C6C3D22234646353732322220643D224D32342C334331342E362C332C37 - 2C31302E362C372C323063302C312E322C302C332E342C302C332E344C392C32 - 35762D336C32312D392E386C392C392E3876336C322D312E3663302C302C302D - 322E312C302D332E34204334312C31322C33352E332C332C32342C337A222F3E - 0D0A202020203C672066696C6C3D2223373834373139223E0D0A202020202020 - 20203C636972636C652063783D223331222063793D2232362220723D2232222F - 3E0D0A20202020202020203C636972636C652063783D223137222063793D2232 - 362220723D2232222F3E0D0A202020203C2F673E0D0A202020203C7061746820 - 66696C6C3D22233735373537352220643D224D34332C3234632D302E362C302D - 312C302E342D312C31762D3763302D382E382D372E322D31362D31362D313668 - 2D37632D302E362C302D312C302E342D312C3173302E342C312C312C31683763 - 372E372C302C31342C362E332C31342C31347631302063302C302E362C302E34 - 2C312C312C3173312D302E342C312D31763263302C332E392D332E312C372D37 - 2C37483234632D302E362C302D312C302E342D312C3173302E342C312C312C31 - 68313163352C302C392D342C392D39762D354334342C32342E342C34332E362C - 32342C34332C32347A222F3E0D0A202020203C672066696C6C3D222333373437 - 3446223E0D0A20202020202020203C7061746820643D224D34332C3232682D31 - 632D312E312C302D322C302E392D322C32763463302C312E312C302E392C322C - 322C32683163312E312C302C322D302E392C322D32762D344334352C32322E39 - 2C34342E312C32322C34332C32327A222F3E0D0A20202020202020203C636972 - 636C652063783D223234222063793D2233382220723D2232222F3E0D0A202020 - 203C2F673E0D0A3C2F7376673E0D0A0A00000061007500640069006F005F0066 - 0069006C006500D70200003C7376672076657273696F6E3D22312220786D6C6E - 733D22687474703A2F2F7777772E77332E6F72672F323030302F737667222076 - 696577426F783D223020302034382034382220656E61626C652D6261636B6772 - 6F756E643D226E657720302030203438203438223E0D0A202020203C72656374 - 20783D22323034222066696C6C3D226E6F6E65222077696474683D2234382220 - 6865696768743D223438222F3E0D0A202020203C706F6C79676F6E2066696C6C - 3D22233930434146392220706F696E74733D223234342C3435203231322C3435 - 203231322C33203233342C33203234342C3133222F3E0D0A202020203C706F6C - 79676F6E2066696C6C3D22234531463546452220706F696E74733D223234322E - 352C3134203233332C3134203233332C342E35222F3E0D0A202020203C672066 - 696C6C3D2223313937364432223E0D0A20202020202020203C636972636C6520 - 63783D22323237222063793D2233302220723D2234222F3E0D0A202020202020 - 20203C706F6C79676F6E20706F696E74733D223233342C3231203232392C3139 - 203232392C3330203233312C3330203233312C32322E39203233342C3234222F - 3E0D0A202020203C2F673E0D0A202020203C706F6C79676F6E2066696C6C3D22 - 233930434146392220706F696E74733D2234302C343520382C343520382C3320 - 33302C332034302C3133222F3E0D0A202020203C706F6C79676F6E2066696C6C - 3D22234531463546452220706F696E74733D2233382E352C31342032392C3134 - 2032392C342E35222F3E0D0A202020203C672066696C6C3D2223313937364432 - 223E0D0A20202020202020203C636972636C652063783D223233222063793D22 - 33302220723D2234222F3E0D0A20202020202020203C706F6C79676F6E20706F - 696E74733D2233302C32312032352C31392032352C33302032372C3330203237 - 2C32322E392033302C3234222F3E0D0A202020203C2F673E0D0A3C2F7376673E - 0D0A090000006100750074006F006D006100740069006300BB0300003C737667 - 2076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77 - 332E6F72672F323030302F737667222076696577426F783D2230203020343820 - 34382220656E61626C652D6261636B67726F756E643D226E6577203020302034 - 38203438223E0D0A202020203C706174682066696C6C3D222333463531423522 - 20643D224D33392C34334839632D322E322C302D342D312E382D342D34563963 - 302D322E322C312E382D342C342D3468333063322E322C302C342C312E382C34 - 2C347633304334332C34312E322C34312E322C34332C33392C34337A222F3E0D - 0A202020203C706174682066696C6C3D22234233453546432220643D224D3333 - 2E362C32352E3463302E312D302E342C302E312D302E392C302E312D312E3473 - 302D302E392D302E312D312E346C322E382D3263302E332D302E322C302E342D - 302E362C302E322D302E396C2D322E372D342E3620632D302E322D302E332D30 - 2E352D302E342D302E382D302E334C33302C31362E33632D302E372D302E362D - 312E352D312D322E342D312E346C2D302E332D332E3463302D302E332D302E33 - 2D302E362D302E362D302E36682D352E33632D302E332C302D302E362C302E33 - 2D302E362C302E364C32302E342C313520632D302E392C302E332D312E362C30 - 2E382D322E342C312E346C2D332E312D312E34632D302E332D302E312D302E37 - 2C302D302E382C302E336C2D322E372C342E36632D302E322C302E332D302E31 - 2C302E372C302E322C302E396C322E382C32632D302E312C302E342D302E312C - 302E392D302E312C312E342073302C302E392C302E312C312E346C2D322E382C - 32632D302E332C302E322D302E342C302E362D302E322C302E396C322E372C34 - 2E3663302E322C302E332C302E352C302E342C302E382C302E336C332E312D31 - 2E3463302E372C302E362C312E352C312C322E342C312E346C302E332C332E34 - 2063302C302E332C302E332C302E362C302E362C302E3668352E3363302E332C - 302C302E362D302E332C302E362D302E366C302E332D332E3463302E392D302E - 332C312E362D302E382C322E342D312E346C332E312C312E3463302E332C302E - 312C302E372C302C302E382D302E336C322E372D342E362063302E322D302E33 - 2C302E312D302E372D302E322D302E394C33332E362C32352E347A204D32342C - 3239632D322E382C302D352D322E322D352D3563302D322E382C322E322D352C - 352D3563322E382C302C352C322E322C352C354332392C32362E382C32362E38 - 2C32392C32342C32397A222F3E0D0A3C2F7376673E0D0A0A0000006100750074 - 006F006D006F007400690076006500480300003C7376672076657273696F6E3D - 22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030 - 302F737667222076696577426F783D223020302034382034382220656E61626C - 652D6261636B67726F756E643D226E657720302030203438203438223E0D0A20 - 2020203C706174682066696C6C3D226E6F6E6522207374726F6B653D22234634 - 3433333622207374726F6B652D77696474683D223422207374726F6B652D6D69 - 7465726C696D69743D2231302220643D224D372C3230762D3863302D322E322C - 312E382D342C342D3468313463312E322C302C322E342C302E362C332E322C31 - 2E36204C33352C3138222F3E0D0A202020203C672066696C6C3D222333373437 - 3446223E0D0A20202020202020203C636972636C652063783D22333522206379 - 3D2233372220723D2235222F3E0D0A20202020202020203C636972636C652063 - 783D223133222063793D2233372220723D2235222F3E0D0A202020203C2F673E - 0D0A202020203C706174682066696C6C3D22234634343333362220643D224D34 - 302E322C31374C33332C31344837632D312E322C302D322C302E382D322C3276 - 313063302C312E322C302E382C322C322C32683163302D322E382C322E322D35 - 2C352D3573352C322E322C352C3568313263302D322E382C322E322D352C352D - 352073352C322E322C352C35683163312E322C302C322D302E382C322D32762D - 352E324334332C31392E322C34312E382C31372E362C34302E322C31377A222F - 3E0D0A202020203C672066696C6C3D2223353436453741223E0D0A2020202020 - 2020203C636972636C652063783D223234222063793D2233372220723D223322 - 2F3E0D0A20202020202020203C636972636C652063783D223335222063793D22 - 33372220723D2232222F3E0D0A20202020202020203C636972636C652063783D - 223133222063793D2233372220723D2232222F3E0D0A20202020202020203C70 - 61746820643D224D33302E342C3339632D302E332D302E362D302E342D312E33 - 2D302E342D3273302E322D312E342C302E342D324831372E3663302E332C302E - 362C302E342C312E332C302E342C32732D302E322C312E342D302E342C324833 - 302E347A222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0C00000062 - 00610064005F006400650063006900730069006F006E002D0200003C73766720 - 76657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E7733 - 2E6F72672F323030302F737667222076696577426F783D223020302034382034 - 382220656E61626C652D6261636B67726F756E643D226E657720302030203438 - 203438223E0D0A202020203C672066696C6C3D2223464643433830223E0D0A20 - 202020202020203C636972636C652063783D223338222063793D223236222072 - 3D2234222F3E0D0A20202020202020203C636972636C652063783D2231302220 - 63793D2232362220723D2234222F3E0D0A20202020202020203C706174682064 - 3D224D33392C313963302D31322E372D33302D382E332D33302C3063302C312E - 382C302C382E322C302C313063302C382E332C362E372C31352C31352C313573 - 31352D362E372C31352D31354333392C32372E322C33392C32302E382C33392C - 31397A222F3E0D0A20202020202020203C7061746820643D224D32342C344331 - 352E322C342C382C31312E322C382C323063302C312E322C302C332E352C302C - 332E356C322E312C302E365631396C31392E352D362E336C382E322C362E3376 - 352E316C322E312D302E3663302C302C302D322E332C302D332E35204334302C - 31322E352C33342E362C342C32342C347A222F3E0D0A202020203C2F673E0D0A - 202020203C7265637420783D2231362220793D223234222066696C6C3D222346 - 3434333336222077696474683D22313622206865696768743D2234222F3E0D0A - 3C2F7376673E0D0A090000006200610072005F00630068006100720074003601 - 00003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F - 2F7777772E77332E6F72672F323030302F737667222076696577426F783D2230 - 20302034382034382220656E61626C652D6261636B67726F756E643D226E6577 - 20302030203438203438223E0D0A202020203C672066696C6C3D222330304243 - 4434223E0D0A20202020202020203C7265637420783D2231392220793D223232 - 222077696474683D22313022206865696768743D223230222F3E0D0A20202020 - 202020203C7265637420783D22362220793D223132222077696474683D223130 - 22206865696768743D223330222F3E0D0A20202020202020203C726563742078 - 3D2233322220793D2236222077696474683D22313022206865696768743D2233 - 36222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0700000062006500 - 61007200690073006800D90200003C7376672076657273696F6E3D2231222078 - 6D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F737667 - 222076696577426F783D223020302034382034382220656E61626C652D626163 - 6B67726F756E643D226E657720302030203438203438223E0D0A202020203C67 - 2066696C6C3D2223463434333336223E0D0A20202020202020203C7265637420 - 783D2234302220793D223334222077696474683D223422206865696768743D22 - 3130222F3E0D0A20202020202020203C7265637420783D2233342220793D2232 - 39222077696474683D223422206865696768743D223135222F3E0D0A20202020 - 202020203C7265637420783D2232382220793D223333222077696474683D2234 - 22206865696768743D223131222F3E0D0A20202020202020203C726563742078 - 3D2232322220793D223235222077696474683D223422206865696768743D2231 - 39222F3E0D0A20202020202020203C7265637420783D2231362220793D223238 - 222077696474683D223422206865696768743D223136222F3E0D0A2020202020 - 2020203C7265637420783D2231302220793D223234222077696474683D223422 - 206865696768743D223230222F3E0D0A20202020202020203C7265637420783D - 22342220793D223139222077696474683D223422206865696768743D22323522 - 2F3E0D0A202020203C2F673E0D0A202020203C672066696C6C3D222344333246 - 3246223E0D0A20202020202020203C706F6C79676F6E20706F696E74733D2233 - 342C31332E322033302C31372E322032302C372E322031352C31322E3220372E - 342C342E3620342E362C372E342031352C31372E382032302C31322E38203330 - 2C32322E382033342C31382E382034302E312C32342E392034322E392C32322E - 31222F3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D2234 - 342C32362033352C32362034342C3137222F3E0D0A202020203C2F673E0D0A3C - 2F7376673E0D0A0A000000620069006E006F00630075006C006100720073004F - 0400003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A - 2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D22 - 3020302034382034382220656E61626C652D6261636B67726F756E643D226E65 - 7720302030203438203438223E0D0A202020203C672066696C6C3D2223333734 - 373446223E0D0A20202020202020203C636972636C652063783D223333222063 - 793D2231362220723D2236222F3E0D0A20202020202020203C636972636C6520 - 63783D223135222063793D2231362220723D2236222F3E0D0A20202020202020 - 203C7061746820643D224D34362E372C32356C2D31352E332C334831362E374C - 312E342C32356C342E332D372E3963312E312D312E392C332E312D332E312C35 - 2E332D332E316832362E3263322E322C302C342E322C312E322C352E332C332E - 314C34362E372C32357A222F3E0D0A20202020202020203C636972636C652063 - 783D223338222063793D2233302220723D223130222F3E0D0A20202020202020 - 203C636972636C652063783D223130222063793D2233302220723D223130222F - 3E0D0A20202020202020203C636972636C652063783D223234222063793D2232 - 382220723D2235222F3E0D0A202020203C2F673E0D0A202020203C636972636C - 652066696C6C3D2223353436453741222063783D223234222063793D22323822 - 20723D2232222F3E0D0A202020203C672066696C6C3D2223613066223E0D0A20 - 202020202020203C636972636C652063783D223338222063793D223330222072 - 3D2237222F3E0D0A20202020202020203C636972636C652063783D2231302220 - 63793D2233302220723D2237222F3E0D0A202020203C2F673E0D0A202020203C - 672066696C6C3D2223434539334438223E0D0A20202020202020203C70617468 - 20643D224D34312E372C32372E37632D312D312E312D322E332D312E372D332E - 372D312E37732D322E382C302E362D332E372C312E37632D302E342C302E342D - 302E332C312C302E312C312E3463302E342C302E342C312C302E332C312E342D - 302E312063312E322D312E332C332E332D312E332C342E352C3063302E322C30 - 2E322C302E352C302E332C302E372C302E3363302E322C302C302E352D302E31 - 2C302E372D302E334334322E312C32382E372C34322E312C32382E312C34312E - 372C32372E377A222F3E0D0A20202020202020203C7061746820643D224D3130 - 2C3236632D312E342C302D322E382C302E362D332E372C312E37632D302E342C - 302E342D302E332C312C302E312C312E3463302E342C302E342C312C302E332C - 312E342D302E3163312E322D312E332C332E332D312E332C342E352C30206330 - 2E322C302E322C302E352C302E332C302E372C302E3363302E322C302C302E35 - 2D302E312C302E372D302E3363302E342D302E342C302E342D312C302E312D31 - 2E344331322E382C32362E362C31312E342C32362C31302C32367A222F3E0D0A - 202020203C2F673E0D0A3C2F7376673E0D0A09000000620069006F0068006100 - 7A00610072006400EA0A00003C7376672076657273696F6E3D22312220786D6C - 6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376672220 - 76696577426F783D223020302034382034382220656E61626C652D6261636B67 - 726F756E643D226E657720302030203438203438223E0D0A202020203C706174 - 682066696C6C3D22233030413334342220643D224D32342C3133632D372E322C - 302D31332C352E382D31332C313373352E382C31332C31332C31337331332D35 - 2E382C31332D31335333312E322C31332C32342C31337A204D32342C3335632D - 352C302D392D342D392D3973342D392C392D3973392C342C392C39205332392C - 33352C32342C33357A222F3E0D0A202020203C706174682066696C6C3D222330 - 30433835332220643D224D382E352C32352E3463342D322E322C392D312E312C - 31312E352C322E3563302E312C302E312C302E322C302E312C302E332C302E31 - 6C312E322D302E3763302E312D302E312C302E322D302E322C302E312D302E33 - 2063302D302E322D302E312D302E342D302E312D302E3663302C302C302C302C - 302C3063302D302E312C302D302E312C302D302E3263302C302C302C302C302C - 3063302D302E312C302D302E312C302D302E3263302C302C302C302C302C3063 - 302D302E312C302D302E312C302D302E326C302C302063302D302E312C302D30 - 2E312C302E312D302E3263302C302C302C302C302C3063302D302E312C302D30 - 2E312C302E312D302E3263302C302C302C302C302C3063302C302C302D302E31 - 2C302E312D302E3163302C302C302D302E312C302E312D302E3163302C302C30 - 2D302E312C302E312D302E312063302C302C302E312D302E312C302E312D302E - 3163302C302C302C302C302C3063302C302C302E312D302E312C302E312D302E - 3163302C302C302C302C302C3063302C302C302E312D302E312C302E312D302E - 3163302C302C302C302C302C3063302C302C302E312D302E312C302E312D302E - 312063302C302C302C302C302C3063302C302C302E312D302E312C302E312D30 - 2E3163302C302C302C302C302E312C3063302E322D302E312C302E342D302E32 - 2C302E352D302E3263302E312C302C302E322D302E312C302E322D302E33762D - 312E3363302D302E312D302E312D302E322D302E322D302E3220632D342E352D - 302E342D382D342E312D382D382E3663302D342E312C332D372E362C362E392D - 382E3463302E312C302C302E322D302E312C302E322D302E3356342E3863302D - 302E312D302E312D302E322D302E322D302E324331362E342C352E352C31322C - 31302E342C31322C31362E332063302C312E332C302E322C322E362C302E362C - 332E38632D312E322C302E322D322E352C302E372D332E362C312E33632D352E - 322C332D372E332C392E322D352E322C31342E3543332E392C33362C342C3336 - 2C342E312C33366C302E332D302E3263302E312D302E312C302E322D302E322C - 302E312D302E332043332E332C33312E372C342E382C32372E342C382E352C32 - 352E344C382E352C32352E347A204D33392C32312E34632D312E322D302E372D - 322E342D312E312D332E362D312E3363302E342D312E322C302E362D322E342C - 302E362D332E3863302D352E392D342E342D31302E382D31302E322D31312E37 - 20632D302E312C302D302E322C302E312D302E322C302E3276302E3463302C30 - 2E312C302E312C302E322C302E322C302E3363342C302E382C362E392C342E33 - 2C362E392C382E3463302C342E352D332E352C382E322D382C382E36632D302E - 312C302D302E322C302E312D302E322C302E3276312E332063302C302E312C30 - 2E312C302E322C302E322C302E3363302E322C302E312C302E342C302E312C30 - 2E362C302E3263302C302C302C302C302C3063302C302C302E312C302E312C30 - 2E312C302E3163302C302C302C302C302C3063302E312C302C302E312C302E31 - 2C302E312C302E3163302C302C302C302C302C302063302E312C302E312C302E - 322C302E322C302E332C302E3363302C302C302C302C302C3063302C302C302E - 312C302E312C302E312C302E3163302C302C302C302C302C3063302C302C302E - 312C302E312C302E312C302E3163302C302C302C302E312C302C302E3163302C - 302C302C302E312C302C302E312063302C302C302C302E312C302E312C302E31 - 63302C302C302C302C302C3063302C302E312C302C302E312C302E312C302E32 - 63302C302C302C302C302C3063302C302E312C302C302E312C302C302E326330 - 2C302C302C302C302C3063302C302E312C302C302E312C302C302E3263302C30 - 2C302C302C302C302E312063302C302C302C302E312C302C302E3163302C302C - 302C302C302C302E3163302C302E322C302C302E342D302E312C302E3663302C - 302E312C302C302E322C302E312C302E336C312E322C302E3763302E312C302E - 312C302E322C302C302E332D302E3163322E362D332E362C372E362D342E382C - 31312E352D322E352063332E362C322E312C352E322C362E332C332E392C3130 - 2E3163302C302E312C302C302E322C302E312C302E336C302E332C302E326330 - 2E312C302E312C302E322C302C302E332D302E314334362E332C33302E352C34 - 342E322C32342E332C33392C32312E344C33392C32312E347A204D33302E382C - 34302E3320632D342D322E322D352E352D372E312D332E352D31312E3163302E - 312D302E312C302D302E322D302E312D302E334C32362C32382E32632D302E31 - 2D302E312D302E322C302D302E332C30632D302E322C302E312D302E332C302E - 332D302E352C302E3363302C302C302C302C302C3020632D302E312C302D302E - 312C302E312D302E322C302E3163302C302C302C302C302C30632D302E312C30 - 2D302E312C302D302E322C302E3163302C302C302C302C302C30632D302E312C - 302D302E332C302E312D302E342C302E3163302C302C302C302C302C30632D30 - 2E312C302D302E312C302D302E322C302063302C302C302C302D302E312C3063 - 302C302D302E312C302D302E312C3063302C302D302E312C302D302E312C3063 - 302C302D302E312C302D302E312C3063302C302D302E312C302D302E312C3063 - 302C302C302C302D302E312C30632D302E312C302D302E312C302D302E322C30 - 63302C302C302C302C302C3020632D302E312C302D302E312C302D302E322C30 - 63302C302C302C302C302C30632D302E312C302D302E312C302D302E322D302E - 3163302C302C302C302C302C3063302C302D302E312C302D302E312D302E3163 - 302C302C302C302D302E312C30632D302E322D302E312D302E332D302E322D30 - 2E352D302E3320632D302E312D302E312D302E322D302E312D302E332C306C2D - 312E322C302E37632D302E312C302E312D302E312C302E322D302E312C302E33 - 63312E392C342C302E342C382E382D332E352C31312E31632D332E362C322E31 - 2D382E322C312E332D31302E392D312E3720632D302E312D302E312D302E322D - 302E312D302E332D302E316C2D302E332C302E32632D302E312C302E312D302E - 312C302E322D302E312C302E3363332E362C342E352C31302E322C352E382C31 - 352E342C322E3863312E322D302E372C322E322D312E352C332D322E34206330 - 2E382C302E392C312E382C312E382C332C322E3463352E322C332C31312E372C - 312E362C31352E342D322E3863302E312D302E312C302D302E322D302E312D30 - 2E334C34322C33382E35632D302E312D302E312D302E322C302D302E332C302E - 314333392C34312E352C33342E342C34322E332C33302E382C34302E33204C33 - 302E382C34302E337A222F3E0D0A3C2F7376673E0D0A07000000620069006F00 - 6D00610073007300890200003C7376672076657273696F6E3D22312220786D6C - 6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376672220 - 76696577426F783D223020302034382034382220656E61626C652D6261636B67 - 726F756E643D226E657720302030203438203438223E0D0A202020203C706174 - 682066696C6C3D22233943434336352220643D224D33322C3135563748313676 - 384C362E322C3430632D302E362C312E352C302E352C332C322E312C33683331 - 2E3563312E362C302C322E362D312E362C322E312D334C33322C31357A222F3E - 0D0A202020203C706174682066696C6C3D22233842433334412220643D224D33 - 322C39483136632D312E312C302D322D302E392D322D32763063302D312E312C - 302E392D322C322D3268313663312E312C302C322C302E392C322C3276304333 - 342C382E312C33332E312C392C33322C397A222F3E0D0A202020203C70617468 - 2066696C6C3D22233245374433322220643D224D32382C333063302C342E342D - 342C382D342C38732D342D332E362D342D3873342D382C342D385332382C3235 - 2E362C32382C33307A222F3E0D0A202020203C706174682066696C6C3D222333 - 38384533432220643D224D33312E312C33322E36632D322C342D372E312C352E - 342D372E312C352E34732D322D352C302D382E3973372E312D352E342C372E31 - 2D352E345333332E312C32382E362C33312E312C33322E367A222F3E0D0A2020 - 20203C706174682066696C6C3D22233433413034372220643D224D31362E392C - 33322E3663322C342C372E312C352E342C372E312C352E3473322D352C302D38 - 2E39732D372E312D352E342D372E312D352E345331342E392C32382E362C3136 - 2E392C33322E367A222F3E0D0A3C2F7376673E0D0A07000000620069006F0074 - 00650063006800BF0400003C7376672076657273696F6E3D22312220786D6C6E - 733D22687474703A2F2F7777772E77332E6F72672F323030302F737667222076 - 696577426F783D223020302034382034382220656E61626C652D6261636B6772 - 6F756E643D226E657720302030203438203438223E0D0A202020203C70617468 - 2066696C6C3D22234144313435372220643D224D33362C3463302C392E332D36 - 2C31332E322D31322E382C31372E384331362E312C32362E352C382C33312E38 - 2C382C3434683463302D31302E312C362E352D31342E342C31332E342D31382E - 394333322E322C32302E362C34302C31352E342C34302C34204833367A222F3E - 0D0A202020203C706174682066696C6C3D22234144313435372220643D224D33 - 382C3431483131632D302E362C302D312D302E342D312D3173302E342D312C31 - 2D3168323763302E362C302C312C302E342C312C315333382E362C34312C3338 - 2C34317A222F3E0D0A202020203C706174682066696C6C3D2223414431343537 - 2220643D224D33362C3337483132632D302E362C302D312D302E342D312D3173 - 302E342D312C312D3168323463302E362C302C312C302E342C312C315333362E - 362C33372C33362C33377A222F3E0D0A202020203C706174682066696C6C3D22 - 234144313435372220643D224D33342C3333483134632D302E362C302D312D30 - 2E342D312D3173302E342D312C312D3168323063302E362C302C312C302E342C - 312C315333342E362C33332C33342C33337A222F3E0D0A202020203C70617468 - 2066696C6C3D22234144313435372220643D224D32392C3239483139632D302E - 362C302D312D302E342D312D3173302E342D312C312D3168313063302E362C30 - 2C312C302E342C312C315332392E362C32392C32392C32397A222F3E0D0A2020 - 20203C706174682066696C6C3D22234539314536332220643D224D33372C3948 - 313043392E342C392C392C382E362C392C3873302E342D312C312D3168323763 - 302E362C302C312C302E342C312C315333372E362C392C33372C397A222F3E0D - 0A202020203C706174682066696C6C3D22234539314536332220643D224D3336 - 2C3133483132632D302E362C302D312D302E342D312D3173302E342D312C312D - 3168323463302E362C302C312C302E342C312C315333362E362C31332C33362C - 31337A222F3E0D0A202020203C706174682066696C6C3D222345393145363322 - 20643D224D33342C3137483134632D302E362C302D312D302E342D312D317330 - 2E342D312C312D3168323063302E362C302C312C302E342C312C315333342E36 - 2C31372C33342C31377A222F3E0D0A202020203C706174682066696C6C3D2223 - 4539314536332220643D224D32392C3231483139632D302E362C302D312D302E - 342D312D3173302E342D312C312D3168313063302E362C302C312C302E342C31 - 2C315332392E362C32312C32392C32317A222F3E0D0A202020203C7061746820 - 66696C6C3D22234539314536332220643D224D34302C3434682D3463302D3130 - 2E312D362E352D31342E342D31332E342D31382E394331352E382C32302E362C - 382C31352E342C382C34683463302C392E332C362C31332E322C31322E382C31 - 372E38204333312E392C32362E352C34302C33312E382C34302C34347A222F3E - 0D0A3C2F7376673E0D0A0800000062006F006F006B006D00610072006B00D000 - 00003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F - 2F7777772E77332E6F72672F323030302F737667222076696577426F783D2230 - 20302034382034382220656E61626C652D6261636B67726F756E643D226E6577 - 20302030203438203438223E0D0A202020203C706174682066696C6C3D222346 - 34343333362220643D224D33372C34336C2D31332D366C2D31332C3656396330 - 2D322E322C312E382D342C342D3468313863322E322C302C342C312E382C342C - 345634337A222F3E0D0A3C2F7376673E0D0A0900000062007200690065006600 - 63006100730065005E0200003C7376672076657273696F6E3D22312220786D6C - 6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376672220 - 76696577426F783D223020302034382034382220656E61626C652D6261636B67 - 726F756E643D226E657720302030203438203438223E0D0A202020203C706174 - 682066696C6C3D22233432343234322220643D224D32372C37682D36632D312E - 372C302D332C312E332D332C3376336832762D3363302D302E362C302E342D31 - 2C312D31683663302E362C302C312C302E342C312C3176336832762D33433330 - 2C382E332C32382E372C372C32372C377A222F3E0D0A202020203C7061746820 - 66696C6C3D22234536353130302220643D224D34302C34334838632D322E322C - 302D342D312E382D342D3456313563302D322E322C312E382D342C342D346833 - 3263322E322C302C342C312E382C342C347632344334342C34312E322C34322E - 322C34332C34302C34337A222F3E0D0A202020203C706174682066696C6C3D22 - 234646364534302220643D224D34302C32384838632D322E322C302D342D312E - 382D342D34762D3963302D322E322C312E382D342C342D3468333263322E322C - 302C342C312E382C342C3476394334342C32362E322C34322E322C32382C3430 - 2C32387A222F3E0D0A202020203C706174682066696C6C3D2223464646334530 - 2220643D224D32362C3236682D34632D302E362C302D312D302E342D312D3176 - 2D3263302D302E362C302E342D312C312D31683463302E362C302C312C302E34 - 2C312C3176324332372C32352E362C32362E362C32362C32362C32367A222F3E - 0D0A3C2F7376673E0D0A07000000620075006C006C00690073006800D9020000 - 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 - 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 - 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 - 2030203438203438223E0D0A202020203C672066696C6C3D2223344341463530 - 223E0D0A20202020202020203C7265637420783D2234302220793D2232312220 - 77696474683D223422206865696768743D223233222F3E0D0A20202020202020 - 203C7265637420783D2233342220793D223238222077696474683D2234222068 - 65696768743D223136222F3E0D0A20202020202020203C7265637420783D2232 - 382220793D223233222077696474683D223422206865696768743D223231222F - 3E0D0A20202020202020203C7265637420783D2232322220793D223239222077 - 696474683D223422206865696768743D223135222F3E0D0A2020202020202020 - 3C7265637420783D2231362220793D223332222077696474683D223422206865 - 696768743D223132222F3E0D0A20202020202020203C7265637420783D223130 - 2220793D223330222077696474683D223422206865696768743D223134222F3E - 0D0A20202020202020203C7265637420783D22342220793D2233342220776964 - 74683D223422206865696768743D223130222F3E0D0A202020203C2F673E0D0A - 202020203C672066696C6C3D2223333838453343223E0D0A2020202020202020 - 3C706F6C79676F6E20706F696E74733D2234302E312C392E312033342C31352E - 322033302C31312E322032302C32312E322031352C31362E3220342E362C3236 - 2E3620372E342C32392E342031352C32312E382032302C32362E382033302C31 - 362E382033342C32302E382034322E392C31312E39222F3E0D0A202020202020 - 20203C706F6C79676F6E20706F696E74733D2234342C382033352C382034342C - 3137222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A08000000620075 - 00730069006E00650073007300290200003C7376672076657273696F6E3D2231 - 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F - 737667222076696577426F783D223020302034382034382220656E61626C652D - 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 - 203C672066696C6C3D2223323633323338223E0D0A20202020202020203C7061 - 746820643D224D31312C34344839632D302E362C302D312D302E342D312D3176 - 2D32683476324331322C34332E362C31312E362C34342C31312C34347A222F3E - 0D0A20202020202020203C7061746820643D224D33392C3434682D32632D302E - 362C302D312D302E342D312D31762D32683476324334302C34332E362C33392E - 362C34342C33392C34347A222F3E0D0A202020203C2F673E0D0A202020203C70 - 6174682066696C6C3D22233337343734462220643D224D32372C37682D36632D - 312E372C302D332C312E332D332C3376336832762D3363302D302E362C302E34 - 2D312C312D31683663302E362C302C312C302E342C312C3176336832762D3343 - 33302C382E332C32382E372C372C32372C377A222F3E0D0A202020203C706174 - 682066696C6C3D22233738393039432220643D224D34302C34334838632D322E - 322C302D342D312E382D342D3456313563302D322E322C312E382D342C342D34 - 68333263322E322C302C342C312E382C342C347632344334342C34312E322C34 - 322E322C34332C34302C34337A222F3E0D0A3C2F7376673E0D0A100000006200 - 7500730069006E006500730073005F0063006F006E0074006100630074000F02 - 00003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F - 2F7777772E77332E6F72672F323030302F737667222076696577426F783D2230 - 20302034382034382220656E61626C652D6261636B67726F756E643D226E6577 - 20302030203438203438223E0D0A202020203C706174682066696C6C3D222336 - 37334142372220643D224D34302C374838632D322E322C302D342C312E382D34 - 2C3476323663302C322E322C312E382C342C342C346835762D312E33632D302E - 362D302E332D312D312D312D312E3763302D312E312C302E392D322C322D3273 - 322C302E392C322C322063302C302E372D302E342C312E342D312C312E375634 - 31683138762D312E33632D302E362D302E332D312D312D312D312E3763302D31 - 2E312C302E392D322C322D3273322C302E392C322C3263302C302E372D302E34 - 2C312E342D312C312E37563431683563322E322C302C342D312E382C342D3456 - 3131204334342C382E382C34322E322C372C34302C377A222F3E0D0A20202020 - 3C672066696C6C3D2223443143344539223E0D0A20202020202020203C636972 - 636C652063783D223234222063793D2231382220723D2234222F3E0D0A202020 - 20202020203C7061746820643D224D33312C323863302C302D312E392D342D37 - 2D34632D352E312C302D372C342D372C3476326831345632387A222F3E0D0A20 - 2020203C2F673E0D0A3C2F7376673E0D0A0A000000620075007400740069006E - 0067005F0069006E008B0400003C7376672076657273696F6E3D22312220786D - 6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73766722 - 2076696577426F783D223020302034382034382220656E61626C652D6261636B - 67726F756E643D226E657720302030203438203438223E0D0A202020203C7061 - 74682066696C6C3D22234346443844432220643D224D32342C334331322E342C - 332C332C31322E342C332C323463302C31312E362C392E342C32312C32312C32 - 3163302E332C302C302E372C302C312D302E3156332E314332342E372C332C32 - 342E332C332C32342C337A222F3E0D0A202020203C706174682066696C6C3D22 - 233337343734462220643D224D32352C332E317634312E3963342E312D302E32 - 2C372E392D312E352C31312D332E3756362E384333322E392C342E362C32392E - 312C332E322C32352C332E317A222F3E0D0A202020203C706174682066696C6C - 3D22234646423734442220643D224D32302E352C31334331342E312C31332E33 - 2C382E392C31382E372C392C32352E3163302C322E382C312C352E342C322E37 - 2C372E3563312E342C312E372C322E332C332E392C322E332C362E3176332E38 - 63332C312E362C362E342C322E352C31302C322E352063302E332C302C302E37 - 2C302C312D302E3163302E372C302C312E332D302E312C322D302E32762D392E - 3463332E362D322E312C362D352E392C362D31302E344333332C31382E322C32 - 372E342C31322E372C32302E352C31337A222F3E0D0A202020203C7061746820 - 66696C6C3D22234646423734442220643D224D32392C33382E364C32352C3338 - 762D3968386C2D302E372C374333322E312C33372E362C33302E372C33382E38 - 2C32392C33382E367A222F3E0D0A202020203C706F6C79676F6E2066696C6C3D - 22234646423734442220706F696E74733D2233392C32392033322C3331203331 - 2C32362033322C3232222F3E0D0A202020203C636972636C652066696C6C3D22 - 23373834373139222063783D2232392E35222063793D2232352E352220723D22 - 312E35222F3E0D0A202020203C706174682066696C6C3D222346463537323222 - 20643D224D32312C3132632D372E322C302D31332C352E382D31332C31336330 - 2C372E362C352E312C392C362C31336C342D33762D386C352D326C312D346333 - 2E322C302C362D332E392C362D362E314332372E392C31332C32342E342C3132 - 2C32312C31327A222F3E0D0A202020203C636972636C652066696C6C3D222346 - 4642373444222063783D223139222063793D2232372220723D2233222F3E0D0A - 202020203C706174682066696C6C3D22234346443844432220643D224D34352C - 323463302D372E312D332E362D31332E342D392D31372E327633342E34433431 - 2E342C33372E342C34352C33312E312C34352C32347A222F3E0D0A202020203C - 706174682066696C6C3D22234646393830302220643D224D32302C34342E3663 - 312E332C302E322C322E362C302E342C342C302E3463302E332C302C302E372C - 302C312D302E3163302E372C302C312E332D302E312C322D302E32762D362E35 - 6C2D372D315634342E367A222F3E0D0A3C2F7376673E0D0A0D00000063006100 - 62006C0065005F00720065006C006500610073006500750200003C7376672076 - 657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E - 6F72672F323030302F737667222076696577426F783D22302030203438203438 - 2220656E61626C652D6261636B67726F756E643D226E65772030203020343820 - 3438223E0D0A202020203C706174682066696C6C3D2223333734373446222064 - 3D224D33342E392C32392E31632D322E372D322E372D372E312D322E372D392E - 382C306C2D342C34632D312E372C312E372D342E352C312E372D362E322C3063 - 2D312E372D312E372D312E372D342E352C302D362E326C342E352D342E356C2D - 322E382D322E38206C2D342E352C342E35632D332E332C332E332D332E332C38 - 2E362C302C31312E3863332E332C332E332C382E362C332E332C31312E382C30 - 6C342D3463312E322D312E312C332D312E312C342E322C3063312E312C312E32 - 2C312E312C332C302C342E324C32372C34312E326C322E382C322E386C352E31 - 2D352E31204333372E362C33362E322C33372E362C33312E382C33342E392C32 - 392E317A222F3E0D0A202020203C706174682066696C6C3D2223303237374244 - 2220643D224D31362E312C32322E394C31362E312C32322E39632D322E382D32 - 2E382D322E382D372E332C302D31306C362E382D362E3863322E382D322E382C - 372E332D322E382C31302C306C302C3063322E382C322E382C322E382C372E33 - 2C302C3130206C2D362E382C362E384332332E332C32352E372C31382E392C32 - 352E372C31362E312C32322E397A222F3E0D0A202020203C636972636C652066 - 696C6C3D2223423345354643222063783D223238222063793D2231312220723D - 2234222F3E0D0A3C2F7376673E0D0A0D000000630061006C006C005F00740072 - 0061006E007300660065007200E90200003C7376672076657273696F6E3D2231 - 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F - 737667222076696577426F783D223020302034382034382220656E61626C652D - 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 - 203C706174682066696C6C3D22233030393638382220643D224D33392E322C38 - 2E346C2D312E382C312E38632D362E332C362E352D352E342C32322C302C3237 - 2E366C312E382C312E3863302E352C302E352C312E332C302E352C312E382C30 - 6C332E362D332E3763302E352D302E352C302E352D312E332C302D312E38206C - 2D332E342D332E34682D342E38632D312E332D312E332D312E332D31322E312C - 302D31332E3468342E386C332E332D332E3463302E352D302E352C302E352D31 - 2E332C302D312E384C34312C382E344334302E352C372E392C33392E372C372E - 392C33392E322C382E347A222F3E0D0A202020203C706174682066696C6C3D22 - 233030393638382220643D224D31312E322C382E346C2D312E382C312E38632D - 362E332C362E352D352E342C32322C302C32372E366C312E382C312E3863302E - 352C302E352C312E332C302E352C312E382C306C332E362D332E3763302E352D - 302E352C302E352D312E332C302D312E38206C2D332E342D332E3448382E3563 - 2D312E332D312E332D312E332D31322E312C302D31332E3468342E386C332E33 - 2D332E3463302E352D302E352C302E352D312E332C302D312E384C31332C382E - 344331322E352C372E392C31312E372C372E392C31312E322C382E347A222F3E - 0D0A202020203C672066696C6C3D2223323139364633223E0D0A202020202020 - 20203C706F6C79676F6E20706F696E74733D2232352E332C31382E362033302E - 372C32342032352E332C32392E34222F3E0D0A20202020202020203C72656374 - 20783D2231362220793D223232222077696474683D2231312220686569676874 - 3D2234222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A080000006300 - 61006C006C006200610063006B00840200003C7376672076657273696F6E3D22 - 312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32303030 - 2F737667222076696577426F783D223020302034382034382220656E61626C65 - 2D6261636B67726F756E643D226E657720302030203438203438223E0D0A2020 - 20203C706174682066696C6C3D22233231393646332220643D224D32362E342C - 33332E3963302C302C342D322E362C342E382D3363302E382D302E342C312E37 - 2D302E362C322E322D302E3263302E382C302E352C372E352C342E392C382E31 - 2C352E3363302E362C302E342C302E382C312E352C302E312C322E3620632D30 - 2E382C312E312D342E332C352E352D352E382C352E34632D312E352C302D382E - 342C302E342D32302E332D31312E3443332E362C32302E372C342C31332E382C - 342C31322E3363302D312E352C342E332D352E312C352E342D352E3863312E31 - 2D302E382C322E322D302E352C322E362C302E312063302E342C302E362C342E - 382C372E332C352E332C382E3163302E332C302E352C302E322C312E342D302E - 322C322E32632D302E342C302E382D332C342E382D332C342E3873302E372C32 - 2E382C352C372E324332332E352C33332E322C32362E342C33332E392C32362E - 342C33332E397A222F3E0D0A202020203C672066696C6C3D2223334635314235 - 223E0D0A20202020202020203C7061746820643D224D33352C39483235763468 - 313063312E312C302C322C302E392C322C3276313068345631354334312C3131 - 2E372C33382E332C392C33352C397A222F3E0D0A20202020202020203C706F6C - 79676F6E20706F696E74733D2232382C31362032312E332C31312032382C3622 - 2F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A09000000630061006D00 - 63006F007200640065007200510400003C7376672076657273696F6E3D223122 - 20786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73 - 7667222076696577426F783D223020302034382034382220656E61626C652D62 - 61636B67726F756E643D226E657720302030203438203438223E0D0A20202020 - 3C706174682066696C6C3D22233630374438422220643D224D32302C34324831 - 30632D322E322C302D342D312E382D342D3456313563302D352C342D392C392D - 39683063352C302C392C342C392C397632334332342C34302E322C32322E322C - 34322C32302C34327A222F3E0D0A202020203C636972636C652066696C6C3D22 - 23343535413634222063783D223135222063793D2231352220723D2237222F3E - 0D0A202020203C636972636C652066696C6C3D2223343241354635222063783D - 223135222063793D2231352220723D22352E32222F3E0D0A202020203C706174 - 682066696C6C3D22233930434146392220643D224D31382E332C3133632D302E - 382D302E392D322D312E352D332E332D312E355331322E362C31322C31312E37 - 2C3133632D302E332C302E342D302E332C302E392C302E312C312E3263302E34 - 2C302E332C302E392C302E332C312E322D302E312063312D312E322C322E392D - 312E322C332E392C3063302E322C302E322C302E342C302E332C302E372C302E - 3363302E322C302C302E342D302E312C302E362D302E324331382E362C31332E - 392C31382E362C31332E332C31382E332C31337A222F3E0D0A202020203C7061 - 74682066696C6C3D22233630374438422220643D224D34302C3331483238632D - 312E312C302D322D302E392D322D3256313963302D312E312C302E392D322C32 - 2D3268313263312E312C302C322C302E392C322C327631304334322C33302E31 - 2C34312E312C33312C34302C33317A222F3E0D0A202020203C7265637420783D - 2232342220793D223139222066696C6C3D222334353541363422207769647468 - 3D223222206865696768743D223130222F3E0D0A202020203C7265637420783D - 2232382220793D223139222066696C6C3D222330334139463422207769647468 - 3D22313222206865696768743D223130222F3E0D0A202020203C706F6C79676F - 6E2066696C6C3D22233446433346372220706F696E74733D2233332C32322E32 - 2032392C32382033372C3238222F3E0D0A202020203C672066696C6C3D222342 - 3345354643223E0D0A20202020202020203C636972636C652063783D2233372E - 35222063793D2232312E352220723D2231222F3E0D0A20202020202020203C70 - 6F6C79676F6E20706F696E74733D2233362C32342E322033332C32382033392C - 3238222F3E0D0A202020203C2F673E0D0A202020203C636972636C652066696C - 6C3D2223343535413634222063783D223135222063793D2233352220723D2233 - 222F3E0D0A202020203C636972636C652066696C6C3D22234634343333362220 - 63783D223135222063793D2233352220723D2232222F3E0D0A3C2F7376673E0D - 0A0D000000630061006D0063006F0072006400650072005F00700072006F0011 - 0400003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A - 2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D22 - 3020302034382034382220656E61626C652D6261636B67726F756E643D226E65 - 7720302030203438203438223E0D0A202020203C7265637420783D2232372220 - 793D2238222066696C6C3D2223333734373446222077696474683D2231302220 - 6865696768743D2234222F3E0D0A202020203C706174682066696C6C3D222336 - 30374438422220643D224D32372C38682D392E37632D312E352C302D322E382C - 302E382D332E352C322E316C2D332E332C364C31342C31386C332E332D364832 - 3776372E3268345631324333312C392E382C32392E322C382C32372C387A222F - 3E0D0A202020203C706174682066696C6C3D22233630374438422220643D224D - 33302C34304836632D322E322C302D342D312E382D342D3456323063302D322E - 322C312E382D342C342D3468323463322E322C302C342C312E382C342C347631 - 364333342C33382E322C33322E322C34302C33302C34307A222F3E0D0A202020 - 203C706174682066696C6C3D22233630374438422220643D224D33382C33356C - 352C356833563138682D336C2D352C355633357A222F3E0D0A202020203C7061 - 74682066696C6C3D22233534364537412220643D224D32322C33354838632D31 - 2E312C302D322D302E392D322D3256323363302D312E312C302E392D322C322D - 3268313463312E312C302C322C302E392C322C327631304332342C33342E312C - 32332E312C33352C32322C33357A222F3E0D0A202020203C7265637420783D22 - 33342220793D223233222066696C6C3D2223343535413634222077696474683D - 223422206865696768743D223132222F3E0D0A202020203C706174682066696C - 6C3D22233236333233382220643D224D34312C3133682D34632D302E362C302D - 312D302E342D312D31563863302D302E362C302E342D312C312D31683463312E - 372C302C332C312E332C332C3376304334342C31312E372C34322E372C31332C - 34312C31337A222F3E0D0A202020203C7265637420783D22382220793D223233 - 222066696C6C3D2223303341394634222077696474683D223134222068656967 - 68743D223130222F3E0D0A202020203C706F6C79676F6E2066696C6C3D222334 - 46433346372220706F696E74733D2231332E352C32352E3520392C3332203138 - 2C3332222F3E0D0A202020203C672066696C6C3D2223423345354643223E0D0A - 20202020202020203C636972636C652063783D2231392E35222063793D223235 - 2E352220723D22312E35222F3E0D0A20202020202020203C706F6C79676F6E20 - 706F696E74733D2231372E352C32372E362031342C33322032312C3332222F3E - 0D0A202020203C2F673E0D0A3C2F7376673E0D0A06000000630061006D006500 - 720061004A0300003C7376672076657273696F6E3D22312220786D6C6E733D22 - 687474703A2F2F7777772E77332E6F72672F323030302F737667222076696577 - 426F783D223020302034382034382220656E61626C652D6261636B67726F756E - 643D226E657720302030203438203438223E0D0A202020203C70617468206669 - 6C6C3D22233531324441382220643D224D33332E392C31322E314831342E324C - 31372E362C3763302E342D302E362C312D302E392C312E372D302E3968392E36 - 63302E372C302C312E332C302E332C312E372C302E394C33332E392C31322E31 - 7A222F3E0D0A202020203C706174682066696C6C3D2223383636374334222064 - 3D224D31342C3131483856392E3243382C382E352C382E352C382C392E322C38 - 68332E364331332E352C382C31342C382E352C31342C392E325631317A222F3E - 0D0A202020203C706174682066696C6C3D22233545333542312220643D224D34 - 302C34324838632D322E322C302D342D312E382D342D3456313463302D322E32 - 2C312E382D342C342D3468333263322E322C302C342C312E382C342C34763234 - 4334342C34302E322C34322E322C34322C34302C34327A222F3E0D0A20202020 - 3C636972636C652066696C6C3D2223353132444138222063783D223234222063 - 793D2232362220723D223132222F3E0D0A202020203C636972636C652066696C - 6C3D2223423338384646222063783D223234222063793D2232362220723D2239 - 222F3E0D0A202020203C706174682066696C6C3D22234337413746462220643D - 224D32392C3233632D312E322D312E342D332D322E322D342E382D322E32632D - 312E382C302D332E362C302E382D342E382C322E32632D302E352C302E352D30 - 2E342C312E332C302E312C312E3863302E352C302E352C312E332C302E342C31 - 2E382D302E312063312E352D312E372C342E332D312E372C352E382C3063302E - 332C302E332C302E362C302E342C312C302E3463302E332C302C302E362D302E - 312C302E392D302E334332392E342C32342E342C32392E352C32332E352C3239 - 2C32337A222F3E0D0A202020203C656C6C697073652066696C6C3D2223383636 - 374334222063783D223131222063793D2231332E35222072783D223222207279 - 3D22312E35222F3E0D0A3C2F7376673E0D0A0C000000630061006D0065007200 - 61005F006100640064006F006E00FF0400003C7376672076657273696F6E3D22 - 312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32303030 - 2F737667222076696577426F783D223020302034382034382220656E61626C65 - 2D6261636B67726F756E643D226E657720302030203438203438223E0D0A2020 - 20203C706174682066696C6C3D22233531324441382220643D224D33332E392C - 31322E314831342E324C31372E362C3763302E342D302E362C312D302E392C31 - 2E372D302E3968392E3663302E372C302C312E332C302E332C312E372C302E39 - 4C33332E392C31322E317A222F3E0D0A202020203C706174682066696C6C3D22 - 233836363743342220643D224D31342C3131483856392E3243382C382E352C38 - 2E352C382C392E322C3868332E364331332E352C382C31342C382E352C31342C - 392E325631317A222F3E0D0A202020203C706174682066696C6C3D2223354533 - 3542312220643D224D34302C34324838632D322E322C302D342D312E382D342D - 3456313463302D322E322C312E382D342C342D3468333263322E322C302C342C - 312E382C342C347632344334342C34302E322C34322E322C34322C34302C3432 - 7A222F3E0D0A202020203C636972636C652066696C6C3D222335313244413822 - 2063783D223234222063793D2232362220723D223132222F3E0D0A202020203C - 636972636C652066696C6C3D2223423338384646222063783D22323422206379 - 3D2232362220723D2239222F3E0D0A202020203C706174682066696C6C3D2223 - 4337413746462220643D224D32382E382C3233632D312E322D312E342D332D32 - 2E322D342E382D322E32732D332E362C302E382D342E382C322E32632D302E35 - 2C302E352D302E342C312E332C302E312C312E3863302E352C302E352C312E33 - 2C302E342C312E382D302E312063312E352D312E372C342E332D312E372C352E - 382C3063302E332C302E332C302E362C302E342C312C302E3463302E332C302C - 302E362D302E312C302E392D302E334332392E322C32342E342C32392E332C32 - 332E352C32382E382C32337A222F3E0D0A202020203C656C6C69707365206669 - 6C6C3D2223383636374334222063783D223131222063793D2231332E35222072 - 783D2232222072793D22312E35222F3E0D0A202020203C706174682066696C6C - 3D22233842433334412220643D224D34382C33332E3863302D312E332D312E31 - 2D322E342D322E342D322E34483432632D302E342C302D302E372D302E352D30 - 2E342D302E3863302E342D302E362C302E352D312E332C302E342D322E312063 - 2D302E322D312E322D312E312D322E312D322E332D322E344333372E372C3235 - 2E372C33362C32372E312C33362C323963302C302E362C302E322C312E312C30 - 2E342C312E3663302E322C302E342C302C302E382D302E352C302E38682D332E - 36632D312E332C302D322E342C312E312D322E342C322E345633372063302C30 - 2E342C302E352C302E372C302E382C302E3463302E362D302E342C312E332D30 - 2E352C322E312D302E3463312E322C302E322C322E312C312E312C322E342C32 - 2E3363302E342C312E392D312E312C332E362D322E392C332E36632D302E362C - 302D312E312D302E322D312E362D302E3420632D302E342D302E322D302E382C - 302D302E382C302E3576322E3663302C312E332C312E312C322E342C322E342C - 322E346831332E3263312E332C302C322E342D312E312C322E342D322E345633 - 332E387A222F3E0D0A3C2F7376673E0D0A06000000630061006E00630065006C - 007B0100003C7376672076657273696F6E3D22312220786D6C6E733D22687474 - 703A2F2F7777772E77332E6F72672F323030302F737667222076696577426F78 - 3D223020302034382034382220656E61626C652D6261636B67726F756E643D22 - 6E657720302030203438203438223E0D0A202020203C706174682066696C6C3D - 22234435303030302220643D224D32342C364331342E312C362C362C31342E31 - 2C362C323473382E312C31382C31382C31387331382D382E312C31382D313853 - 33332E392C362C32342C367A204D32342C313063332E312C302C362C312E312C - 382E342C322E384C31322E382C33322E34204331312E312C33302C31302C3237 - 2E312C31302C32344331302C31362E332C31362E332C31302C32342C31307A20 - 4D32342C3338632D332E312C302D362D312E312D382E342D322E386C31392E36 - 2D31392E364333362E392C31382C33382C32302E392C33382C32344333382C33 - 312E372C33312E372C33382C32342C3338207A222F3E0D0A3C2F7376673E0D0A - 0D000000630061006E0064006C0065005F0073007400690063006B0073004303 - 00003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F - 2F7777772E77332E6F72672F323030302F737667222076696577426F783D2230 - 20302034382034382220656E61626C652D6261636B67726F756E643D226E6577 - 20302030203438203438223E0D0A202020203C672066696C6C3D222335343645 - 3741223E0D0A20202020202020203C7265637420783D2233382220793D223422 - 2077696474683D223222206865696768743D223230222F3E0D0A202020202020 - 20203C7265637420783D2231352220793D2237222077696474683D2232222068 - 65696768743D223137222F3E0D0A20202020202020203C7265637420783D2238 - 2220793D223237222077696474683D223222206865696768743D223137222F3E - 0D0A20202020202020203C7265637420783D2232382220793D22313922207769 - 6474683D223222206865696768743D223232222F3E0D0A202020203C2F673E0D - 0A202020203C706174682066696C6C3D22233443414635302220643D224D3336 - 2C37683663312E312C302C322C302E392C322C3276313063302C312E312D302E - 392C322D322C32682D36632D312E312C302D322D302E392D322D325639433334 - 2C372E392C33342E392C372C33362C377A222F3E0D0A202020203C7061746820 - 66696C6C3D22233443414635302220643D224D31332C3130683663312E312C30 - 2C322C302E392C322C32763763302C312E312D302E392C322D322C32682D3663 - 2D312E312C302D322D302E392D322D32762D374331312C31302E392C31312E39 - 2C31302C31332C31307A222F3E0D0A202020203C706174682066696C6C3D2223 - 4634343333362220643D224D362C3330683663312E312C302C322C302E392C32 - 2C32763763302C312E312D302E392C322D322C324836632D312E312C302D322D - 302E392D322D32762D3743342C33302E392C342E392C33302C362C33307A222F - 3E0D0A202020203C706174682066696C6C3D22234634343333362220643D224D - 32362C3232683663312E312C302C322C302E392C322C3276313263302C312E31 - 2D302E392C322D322C32682D36632D312E312C302D322D302E392D322D325632 - 344332342C32322E392C32342E392C32322C32362C32327A222F3E0D0A3C2F73 - 76673E0D0A0900000063006100700061006300690074006F0072001B0200003C - 7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777 - 772E77332E6F72672F323030302F737667222076696577426F783D2230203020 - 34382034382220656E61626C652D6261636B67726F756E643D226E6577203020 - 30203438203438223E0D0A202020203C672066696C6C3D222346463938303022 - 3E0D0A20202020202020203C7265637420793D223237222077696474683D2232 - 3522206865696768743D2234222F3E0D0A20202020202020203C726563742079 - 3D223137222077696474683D22323522206865696768743D2234222F3E0D0A20 - 2020203C2F673E0D0A202020203C672066696C6C3D2223334635314235223E0D - 0A20202020202020203C7061746820643D224D34362C333563312E312C302C32 - 2D302E392C322D3256313563302D312E312D302E392D322D322D324832377632 - 324834367A222F3E0D0A20202020202020203C7061746820643D224D32312C31 - 33632D312E312C302D322C302E392D322C3276313863302C312E312C302E392C - 322C322C3268325631334832317A222F3E0D0A202020203C2F673E0D0A202020 - 203C706174682066696C6C3D22233330334639462220643D224D32352C333363 - 312E312C302C322C302E392C322C3256313363302C312E312D302E392C322D32 - 2C32632D312E312C302D322D302E392D322D327632324332332C33332E392C32 - 332E392C33332C32352C33337A222F3E0D0A3C2F7376673E0D0A070000006300 - 64005F006C006F0067006F005B0D00003C3F786D6C2076657273696F6E3D2231 - 2E302220656E636F64696E673D227574662D38223F3E0D0A3C212D2D2047656E - 657261746F723A2041646F626520496C6C7573747261746F722031352E302E30 - 2C20535647204578706F727420506C75672D496E202E20535647205665727369 - 6F6E3A20362E3030204275696C6420302920202D2D3E0D0A3C21444F43545950 - 4520737667205055424C494320222D2F2F5733432F2F4454442053564720312E - 312F2F454E222022687474703A2F2F7777772E77332E6F72672F477261706869 - 63732F5356472F312E312F4454442F73766731312E647464223E0D0A3C737667 - 2076657273696F6E3D22312E31222020786D6C6E733D22687474703A2F2F7777 - 772E77332E6F72672F323030302F7376672220786D6C6E733A786C696E6B3D22 - 687474703A2F2F7777772E77332E6F72672F313939392F786C696E6B2220783D - 223070782220793D22307078220D0A092077696474683D223438707822206865 - 696768743D2234387078222076696577426F783D223020302034382034382220 - 656E61626C652D6261636B67726F756E643D226E657720302030203438203438 - 2220786D6C3A73706163653D227072657365727665223E0D0A3C673E0D0A093C - 706174682066696C6C3D22233231393646332220643D224D31372E3831342C31 - 384832302E3263302E352C302C302E382C302E342C302E382C302E387631362E - 3463302C302E3339392D302E342C302E382D302E382C302E38682D322E333834 - 632D302E342C302D302E382D302E342D302E382D302E385631382E380D0A0909 - 4331362E3931362C31382E332C31372E3331342C31382C31372E3831342C3138 - 7A222F3E0D0A093C706174682066696C6C3D22233231393646332220643D224D - 31342E322C3131682D332E33632D302E352C302D302E392C302E3430332D302E - 392C302E38303756313748322E3243312E362C31372C312C31372E3630352C31 - 2C31382E32317631362E353843312C33352E3339362C312E362C33362C322E32 - 2C33366831320D0A090963302E342C302C302E382D302E3330352C302E382D30 - 2E3830395631312E3830374331352C31312E3430332C31342E372C31312C3134 - 2E322C31317A204D31302C33312E32383363302C302E3339382D302E342C302E - 382D302E382C302E3848362E38632D302E342C302D302E382D302E3339392D30 - 2E382D302E380D0A09095632312E3843362C32312E342C362E332C32312C362E - 382C323168322E3463302E352C302C302E382C302E342C302E382C302E385633 - 312E3238337A222F3E0D0A093C706174682066696C6C3D222332313936463322 - 20643D224D33332E322C323563302E352C302C302E382C302E362C302E382C30 - 2E3876392E3463302C302E3339392D302E3432322C302E382D302E382C302E38 - 682D392E34632D302E3432352C302D302E382D302E342D302E382D302E38762D - 322E3338360D0A090963302D302E352C302E342D302E3739392C302E382D302E - 3739394C33302C3332762D33682D362E32632D302E3333312C302D302E382D30 - 2E342D302E382D302E3830315631382E3863302D302E352C302E342D302E382C - 302E382D302E3868392E3463302E3339392C302C302E382C302E342C302E382C - 302E3876322E340D0A090963302C302E332D302E3236362C302E382D302E382C - 302E3848323776334833332E327A222F3E0D0A093C706174682066696C6C3D22 - 233231393646332220643D224D34382C323876372E3263302C302E3339392D30 - 2E342C302E382D302E3830312C302E384833362E38632D302E322C302D302E38 - 2D302E342D302E382D302E385631382E3863302D302E352C302E3433322D302E - 382C302E3833312D302E384834372E320D0A090963302C302C302E382C302C30 - 2E382C302E38563235682D34762D322E3263302C302C302E312D302E382D302E - 382D302E38682D322E34632D302E352C302D302E382C302E342D302E382C302E - 3876382E3463302C302E3339392C302E352C302E382C302E382C302E3868322E - 340D0A090963302E3339392C302C302E382D302E342C302E382D302E38563238 - 4834387A222F3E0D0A3C2F673E0D0A3C673E0D0A093C706F6C79676F6E206669 - 6C6C3D22233044343741312220706F696E74733D2234352E3739392C31352E39 - 382034362E392C31352E39382034362E392C31322E3838312034382C31322E38 - 38312034382C31312E39382034342E3739392C31312E39382034342E3739392C - 31322E383831200D0A090934352E3739392C31322E3838312009222F3E0D0A09 - 3C706174682066696C6C3D22233044343741312220643D224D34342E3031342C - 31342E343736682D312E31343376302E30393563302C302E3338322D302E3039 - 362C302E3537332D302E3537322C302E353733632D302E3437352C302D302E35 - 372D302E3139312D302E35372D302E373632762D302E3636380D0A090963302D - 302E3537322C302D302E3736322C302E35372D302E37363263302E3338312C30 - 2C302E3537322C302E3039352C302E3537322C302E34373776302E3039356831 - 2E303437762D302E30393563302D312E3034372D302E3338312D312E3432392D - 312E3532332D312E343239682D302E3238370D0A0909632D312E3134312C302D - 312E3532332C302E3338322D312E3532332C312E36313876302E37363463302C - 312E3134322C302E3338312C312E3631382C312E3532332C312E36313868302E - 33383363312E3034372C302C312E3432382D302E3437372C312E3432382D312E - 3433762D302E3039354834342E3031347A222F3E0D0A093C706F6C79676F6E20 - 66696C6C3D22233044343741312220706F696E74733D2232392E3531362C3132 - 2032382E3731372C31342E392032372E3831362C31322032362E3231372C3132 - 2032362E3231372C31362032372E3331362C31362032372E3331362C31332032 - 382E3131352C31362032392E3231372C3136200D0A090933302E3131352C3133 - 2E312033302E3131352C31362033312E3131352C31362033312E3131352C3132 - 2009222F3E0D0A093C706174682066696C6C3D22233044343741312220643D22 - 4D33382E3731332C3132682D302E39682D302E3839386C2D312E3139392C3468 - 312E3139396C302E3139392D302E3768302E36303268302E3739396C302E3139 - 392C302E3768312E3139394C33382E3731332C31327A204D33372E3931342C31 - 342E350D0A0909682D302E346C302E342D312E376C302C306C302C306C302E33 - 39382C312E374833372E3931347A222F3E0D0A093C706174682066696C6C3D22 - 233044343741312220643D224D33332E39322C3132682D302E3139394833322E - 3032763468312E313032762D312E3168302E3668302E31393963312E3130322C - 302C312E352D302E342C312E352D312E34762D302E334333352E34322C31322E - 332C33352E30322C31322C33332E39322C31320D0A09097A204D33342E33322C - 31332E3663302C302E342D302E312C302E352D302E342C302E35682D302E3139 - 39682D302E36762D312E3268302E3668302E3163302E342C302C302E352C302E - 312C302E352C302E345631332E367A222F3E0D0A093C706174682066696C6C3D - 22233044343741312220643D224D32332E3539342C3132682D302E323836682D - 302E323836632D312E3134332C302D312E3532332C302E3338322D312E353233 - 2C312E36313876302E37363263302C312E3134342C302E3338312C312E36322C - 312E3532332C312E363268302E3238360D0A090968302E32383663312E313433 - 2C302C312E3532332D302E3437372C312E3532332D312E3632762D302E373632 - 4332352E3131372C31322E3338322C32342E3733372C31322C32332E3539342C - 31327A204D32332E3937352C31342E313963302C302E3537312C302C302E3736 - 332D302E3537312C302E3736330D0A0909682D302E303935682D302E30393563 - 2D302E3537312C302D302E3537312D302E3139312D302E3537312D302E373633 - 762D302E35373263302D302E35372C302D302E3736322C302E3537312D302E37 - 363268302E30393568302E30393563302E3537312C302C302E3537312C302E31 - 39312C302E3537312C302E3736320D0A09095631342E31397A222F3E0D0A093C - 706174682066696C6C3D22233044343741312220643D224D32302E3432322C31 - 342E343737682D312E31343476302E30393563302C302E3338322D302E303935 - 2C302E3537312D302E3537312C302E353731632D302E3437362C302D302E3537 - 312D302E3138392D302E3537312D302E373632762D302E3636360D0A09096330 - 2D302E3537332C302D302E3736322C302E3537312D302E37363263302E333831 - 2C302C302E3537312C302E3039352C302E3537312C302E34373576302E303936 - 68312E303438762D302E30393663302D312E3034372D302E3338312D312E3432 - 382D312E3532332D312E343238682D302E3238360D0A0909632D312E3134332C - 302D312E3532342C302E3338312D312E3532342C312E36313876302E37363363 - 302C312E3134332C302E3338312C312E3631392C312E3532342C312E36313968 - 302E33383163312E3034382C302C312E3432392D302E3437372C312E3432392D - 312E343239762D302E3039354832302E3432327A220D0A09092F3E0D0A3C2F67 - 3E0D0A3C2F7376673E0D0A0E0000006300680061007200670065005F00620061 - 0074007400650072007900C60100003C7376672076657273696F6E3D22312220 - 786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376 - 67222076696577426F783D223020302034382034382220656E61626C652D6261 - 636B67726F756E643D226E657720302030203438203438223E0D0A202020203C - 672066696C6C3D2223384243333441223E0D0A20202020202020203C70617468 - 20643D224D33342C3434483134632D312E312C302D322D302E392D322D325638 - 63302D312E312C302E392D322C322D3268323063312E312C302C322C302E392C - 322C327633344333362C34332E312C33352E312C34342C33342C34347A222F3E - 0D0A20202020202020203C7061746820643D224D32382C3133682D38632D302E - 362C302D312D302E342D312D31563563302D302E362C302E342D312C312D3168 - 3863302E362C302C312C302E342C312C3176374332392C31322E362C32382E36 - 2C31332C32382C31337A222F3E0D0A202020203C2F673E0D0A202020203C706F - 6C79676F6E2066696C6C3D22234646454233422220706F696E74733D2233302C - 32342032342E352C32342032362E372C31332031382C32362032332E352C3236 - 2032312E332C3337222F3E0D0A3C2F7376673E0D0A0900000063006800650063 - 006B006D00610072006B00D00000003C7376672076657273696F6E3D22312220 - 786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376 - 67222076696577426F783D223020302034382034382220656E61626C652D6261 - 636B67726F756E643D226E657720302030203438203438223E0D0A202020203C - 706F6C79676F6E2066696C6C3D22233433413034372220706F696E74733D2234 - 302E362C31322E312031372C33352E3720372E342C32362E3120342E362C3239 - 2031372C34312E332034332E342C31342E39222F3E0D0A3C2F7376673E0D0A07 - 0000006300690072006300750069007400550400003C7376672076657273696F - 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 - 3030302F737667222076696577426F783D223020302034382034382220656E61 - 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D - 0A202020203C706174682066696C6C3D22233443414635302220643D224D362C - 313076323863302C322E322C312E382C342C342C3468323863322E322C302C34 - 2D312E382C342D3456313063302D322E322D312E382D342D342D344831304337 - 2E382C362C362C372E382C362C31307A222F3E0D0A202020203C672066696C6C - 3D2223464643313037223E0D0A20202020202020203C7061746820643D224D36 - 2E362C386C362C36632D302E342C302E362D302E362C312E332D302E362C3263 - 302C322E322C312E382C342C342C3473342D312E382C342D34732D312E382D34 - 2D342D34632D302E372C302D312E342C302E322D322C302E366C2D362D362043 - 372E342C362E392C362E392C372E342C362E362C387A204D31362C31342E3563 - 302E382C302C312E352C302E372C312E352C312E35732D302E372C312E352D31 - 2E352C312E35732D312E352D302E372D312E352D312E355331352E322C31342E - 352C31362C31342E357A222F3E0D0A20202020202020203C7061746820643D22 - 4D34312E342C34306C2D362D3663302E342D302E362C302E362D312E332C302E - 362D3263302D322E322D312E382D342D342D34732D342C312E382D342C347331 - 2E382C342C342C3463302E372C302C312E342D302E322C322D302E366C362C36 - 204334302E362C34312E312C34312E312C34302E362C34312E342C34307A204D - 33322C33332E35632D302E382C302D312E352D302E372D312E352D312E357330 - 2E372D312E352C312E352D312E3573312E352C302E372C312E352C312E355333 - 322E382C33332E352C33322C33332E357A222F3E0D0A20202020202020203C70 - 61746820643D224D31362C333663322E322C302C342D312E382C342D3463302D - 302E372D302E322D312E342D302E362D324C33302C31392E3463302E362C302E - 342C312E332C302E362C322C302E3663322E322C302C342D312E382C342D3473 - 2D312E382D342D342D3420732D342C312E382D342C3463302C302E372C302E32 - 2C312E342C302E362C324C31382C32382E36632D302E362D302E342D312E332D - 302E362D322D302E36632D322E322C302D342C312E382D342C345331332E382C - 33362C31362C33367A204D33322C31342E3563302E382C302C312E352C302E37 - 2C312E352C312E3520732D302E372C312E352D312E352C312E35732D312E352D - 302E372D312E352D312E355333312E322C31342E352C33322C31342E357A204D - 31362C33302E3563302E382C302C312E352C302E372C312E352C312E35732D30 - 2E372C312E352D312E352C312E35732D312E352D302E372D312E352D312E3520 - 5331352E322C33302E352C31362C33302E357A222F3E0D0A202020203C2F673E - 0D0A3C2F7376673E0D0A0C00000063006C006100700070006500720062006F00 - 610072006400CE0300003C7376672076657273696F6E3D22312220786D6C6E73 - 3D22687474703A2F2F7777772E77332E6F72672F323030302F73766722207669 - 6577426F783D223020302034382034382220656E61626C652D6261636B67726F - 756E643D226E657720302030203438203438223E0D0A202020203C7061746820 - 66696C6C3D22233346353142352220643D224D34332E342C382E334C342C3135 - 6C2D302E332D32632D302E342D322E322C312E312D342E322C332E332D342E36 - 6C33312E362D352E3363322E322D302E342C342E322C312E312C342E362C332E - 334C34332E342C382E337A222F3E0D0A202020203C706174682066696C6C3D22 - 233346353142352220643D224D34302C34314838632D322E322C302D342D312E - 382D342D345631356834307632324334342C33392E322C34322E322C34312C34 - 302C34317A222F3E0D0A202020203C672066696C6C3D2223394641384441223E - 0D0A20202020202020203C706F6C79676F6E20706F696E74733D2231382E382C - 362E342032332E372C31312E372032372E372C31312032322E372C352E37222F - 3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D2231302E39 - 2C372E372031352E382C31332031392E382C31322E332031342E382C372E3122 - 2F3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D2232362E - 372C352E312033312E362C31302E332033352E352C392E372033302E362C342E - 34222F3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D2233 - 342E352C332E382033392E352C392034332E342C382E332033382E352C332E31 - 222F3E0D0A202020203C2F673E0D0A202020203C636972636C652066696C6C3D - 2223394641384441222063783D22372E35222063793D2231312E352220723D22 - 312E35222F3E0D0A202020203C672066696C6C3D2223394641384441223E0D0A - 20202020202020203C706F6C79676F6E20706F696E74733D2234302C31352033 - 362C32312034302C32312034342C3135222F3E0D0A20202020202020203C706F - 6C79676F6E20706F696E74733D2233322C31352032382C32312033322C323120 - 33362C3135222F3E0D0A20202020202020203C706F6C79676F6E20706F696E74 - 733D2232342C31352032302C32312032342C32312032382C3135222F3E0D0A20 - 202020202020203C706F6C79676F6E20706F696E74733D2231362C3135203132 - 2C32312031362C32312032302C3135222F3E0D0A20202020202020203C706F6C - 79676F6E20706F696E74733D22382C313520342C323120382C32312031322C31 - 35222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0D00000063006C00 - 6500610072005F00660069006C007400650072007300F10100003C7376672076 - 657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E - 6F72672F323030302F737667222076696577426F783D22302030203438203438 - 2220656E61626C652D6261636B67726F756E643D226E65772030203020343820 - 3438223E0D0A202020203C706F6C79676F6E2066696C6C3D2223463537433030 - 2220706F696E74733D2232392C32332031392C323320372C392034312C39222F - 3E0D0A202020203C672066696C6C3D2223464639383030223E0D0A2020202020 - 2020203C706F6C79676F6E20706F696E74733D2232392C33382031392C343420 - 31392C32332032392C3233222F3E0D0A20202020202020203C7061746820643D - 224D34312E352C39682D333543352E372C392C352C382E332C352C372E357630 - 43352C362E372C352E372C362C362E352C366833354334322E332C362C34332C - 362E372C34332C372E3576304334332C382E332C34322E332C392C34312E352C - 397A222F3E0D0A202020203C2F673E0D0A202020203C636972636C652066696C - 6C3D2223463434333336222063783D223338222063793D2233382220723D2231 - 30222F3E0D0A202020203C7265637420783D2233322220793D22333622206669 - 6C6C3D2223666666222077696474683D22313222206865696768743D2234222F - 3E0D0A3C2F7376673E0D0A0D00000063006C006F00730065005F00750070005F - 006D006F00640065006D0300003C7376672076657273696F6E3D22312220786D - 6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73766722 - 2076696577426F783D223020302034382034382220656E61626C652D6261636B - 67726F756E643D226E657720302030203438203438223E0D0A202020203C7061 - 74682066696C6C3D22233245374433322220643D224D352C323463302C31382E - 392C31342E382C31392C31372C313973342C302C342C305332342E312C32362E - 352C352C32347A222F3E0D0A202020203C7265637420783D2232322220793D22 - 3236222066696C6C3D2223333838453343222077696474683D22342220686569 - 6768743D223137222F3E0D0A202020203C706174682066696C6C3D2223433632 - 3832382220643D224D33342C313663302C352E312D352E322C382E322D382C38 - 2E32732D322D332E312D322D382E3273352D392E322C352D392E325333342C31 - 302E392C33342C31367A222F3E0D0A202020203C706174682066696C6C3D2223 - 4336323832382220643D224D31342C313663302C352E312C352E322C382E322C - 382C382E3273322D332E312C322D382E32732D352D392E322D352D392E325331 - 342C31302E392C31342C31367A222F3E0D0A202020203C706174682066696C6C - 3D22234535333933352220643D224D32342C3237632D322E322D312E362D312E - 392D342E352C322E342D382E384333302E382C31332E382C33322C372C33322C - 3773352C332E342C352C394333372C32312E392C33312E332C32372C32342C32 - 377A222F3E0D0A202020203C706174682066696C6C3D22234535333933352220 - 643D224D32342C323763322E322D312E362C312E392D342E352D322E342D382E - 384331372E322C31332E382C31362C372C31362C37732D352C332E342D352C39 - 4331312C32312E392C31362E372C32372C32342C32377A222F3E0D0A20202020 - 3C706174682066696C6C3D22234634343333362220643D224D33302C31366330 - 2C362E312D322E372C31312D362C3131732D362D342E392D362D313173362D31 - 312C362D31315333302C392E392C33302C31367A222F3E0D0A202020203C7061 - 74682066696C6C3D22233443414635302220643D224D32322C343363302C302C - 312E382C302C342C307331372D302E312C31372D31394332332E392C32362E35 - 2C32322C34332C32322C34337A222F3E0D0A3C2F7376673E0D0A050000006300 - 6C006F0074006800750D00003C7376672076657273696F6E3D22312220786D6C - 6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376672220 - 76696577426F783D223020302034382034382220656E61626C652D6261636B67 - 726F756E643D226E657720302030203438203438223E0D0A202020203C706174 - 682066696C6C3D22234646353732322220643D224D362C313076323863302C32 - 2E322C312E382C342C342C3468323863322E322C302C342D312E382C342D3456 - 313063302D322E322D312E382D342D342D3448313043372E382C362C362C372E - 382C362C31307A222F3E0D0A202020203C672066696C6C3D2223424633363043 - 223E0D0A20202020202020203C7265637420783D22362220793D223335222077 - 696474683D22333622206865696768743D2232222F3E0D0A2020202020202020 - 3C7265637420783D22362220793D223331222077696474683D22333622206865 - 696768743D2232222F3E0D0A20202020202020203C7061746820643D224D362E - 312C333963302E322C302E382C302E362C312E352C312E322C326833332E3263 - 302E362D302E352C312D312E322C312E322D3248362E317A222F3E0D0A202020 - 20202020203C7061746820643D224D362E312C396833352E37632D302E322D30 - 2E382D302E362D312E352D312E322D3248372E3443362E382C372E352C362E33 - 2C382E322C362E312C397A222F3E0D0A20202020202020203C7265637420783D - 22362220793D223233222077696474683D22333622206865696768743D223222 - 2F3E0D0A20202020202020203C7265637420783D22362220793D223237222077 - 696474683D22333622206865696768743D2232222F3E0D0A2020202020202020 - 3C7265637420783D22362220793D223135222077696474683D22333622206865 - 696768743D2232222F3E0D0A20202020202020203C7265637420783D22362220 - 793D223131222077696474683D22333622206865696768743D2232222F3E0D0A - 20202020202020203C7265637420783D22362220793D22313922207769647468 - 3D22333622206865696768743D2232222F3E0D0A202020203C2F673E0D0A2020 - 20203C672066696C6C3D2223464638413635223E0D0A20202020202020203C72 - 65637420783D2232372220793D2236222077696474683D223222206865696768 - 743D2235222F3E0D0A20202020202020203C7265637420783D2232372220793D - 223133222077696474683D223222206865696768743D2236222F3E0D0A202020 - 20202020203C7265637420783D2232372220793D223239222077696474683D22 - 3222206865696768743D2236222F3E0D0A20202020202020203C726563742078 - 3D2233312220793D2236222077696474683D223222206865696768743D223122 - 2F3E0D0A20202020202020203C7265637420783D2231392220793D2232392220 - 77696474683D223222206865696768743D2236222F3E0D0A2020202020202020 - 3C7265637420783D2233312220793D2239222077696474683D22322220686569 - 6768743D2236222F3E0D0A20202020202020203C7265637420783D2232332220 - 793D2236222077696474683D223222206865696768743D2231222F3E0D0A2020 - 2020202020203C7265637420783D2232332220793D223235222077696474683D - 223222206865696768743D2236222F3E0D0A20202020202020203C7265637420 - 783D2232332220793D2239222077696474683D223222206865696768743D2236 - 222F3E0D0A20202020202020203C7265637420783D2231392220793D22323122 - 2077696474683D223222206865696768743D2236222F3E0D0A20202020202020 - 203C7265637420783D2232332220793D223137222077696474683D2232222068 - 65696768743D2236222F3E0D0A20202020202020203C7265637420783D223233 - 2220793D223333222077696474683D223222206865696768743D2236222F3E0D - 0A20202020202020203C7265637420783D2232372220793D2232312220776964 - 74683D223222206865696768743D2236222F3E0D0A20202020202020203C7265 - 637420783D2233392220793D223333222077696474683D223222206865696768 - 743D2236222F3E0D0A20202020202020203C7265637420783D2233392220793D - 223137222077696474683D223222206865696768743D2236222F3E0D0A202020 - 20202020203C7265637420783D2233392220793D223235222077696474683D22 - 3222206865696768743D2236222F3E0D0A20202020202020203C706174682064 - 3D224D33392C362E31563768312E364334302E322C362E362C33392E362C362E - 332C33392C362E317A222F3E0D0A20202020202020203C7265637420783D2233 - 312220793D223137222077696474683D223222206865696768743D2236222F3E - 0D0A20202020202020203C7061746820643D224D34302E362C34314833397630 - 2E394333392E362C34312E372C34302E322C34312E342C34302E362C34317A22 - 2F3E0D0A20202020202020203C7265637420783D2233352220793D2231332220 - 77696474683D223222206865696768743D2236222F3E0D0A2020202020202020 - 3C7265637420783D2233312220793D223333222077696474683D223222206865 - 696768743D2236222F3E0D0A20202020202020203C7265637420783D22333522 - 20793D223239222077696474683D223222206865696768743D2236222F3E0D0A - 20202020202020203C7265637420783D2233392220793D223922207769647468 - 3D223222206865696768743D2236222F3E0D0A20202020202020203C72656374 - 20783D2233352220793D223231222077696474683D223222206865696768743D - 2236222F3E0D0A20202020202020203C7265637420783D2233312220793D2232 - 35222077696474683D223222206865696768743D2236222F3E0D0A2020202020 - 2020203C7265637420783D2233352220793D223337222077696474683D223222 - 206865696768743D2235222F3E0D0A20202020202020203C7265637420783D22 - 33352220793D2236222077696474683D223222206865696768743D2235222F3E - 0D0A20202020202020203C7265637420783D2233312220793D22343122207769 - 6474683D223222206865696768743D2231222F3E0D0A20202020202020203C72 - 65637420783D2232332220793D223431222077696474683D2232222068656967 - 68743D2231222F3E0D0A20202020202020203C7265637420783D223237222079 - 3D223337222077696474683D223222206865696768743D2235222F3E0D0A2020 - 2020202020203C7265637420783D2231392220793D223337222077696474683D - 223222206865696768743D2235222F3E0D0A20202020202020203C7265637420 - 783D22372220793D223137222077696474683D223222206865696768743D2236 - 222F3E0D0A20202020202020203C7061746820643D224D392C343148372E3463 - 302E352C302E342C312C302E372C312E362C302E395634317A222F3E0D0A2020 - 2020202020203C7061746820643D224D372E342C37483956362E3143382E342C - 362E332C372E382C362E362C372E342C377A222F3E0D0A20202020202020203C - 7265637420783D22372220793D223333222077696474683D2232222068656967 - 68743D2236222F3E0D0A20202020202020203C7265637420783D22372220793D - 223235222077696474683D223222206865696768743D2236222F3E0D0A202020 - 20202020203C7265637420783D22372220793D2239222077696474683D223222 - 206865696768743D2236222F3E0D0A20202020202020203C7265637420783D22 - 31312220793D223239222077696474683D223222206865696768743D2236222F - 3E0D0A20202020202020203C7265637420783D2231352220793D223137222077 - 696474683D223222206865696768743D2236222F3E0D0A20202020202020203C - 7265637420783D2231352220793D223333222077696474683D22322220686569 - 6768743D2236222F3E0D0A20202020202020203C7265637420783D2231352220 - 793D2239222077696474683D223222206865696768743D2236222F3E0D0A2020 - 2020202020203C7265637420783D2231352220793D2236222077696474683D22 - 3222206865696768743D2231222F3E0D0A20202020202020203C726563742078 - 3D2231392220793D2236222077696474683D223222206865696768743D223522 - 2F3E0D0A20202020202020203C7265637420783D2231352220793D2232352220 - 77696474683D223222206865696768743D2236222F3E0D0A2020202020202020 - 3C7265637420783D2231352220793D223431222077696474683D223222206865 - 696768743D2231222F3E0D0A20202020202020203C7265637420783D22313122 - 20793D223231222077696474683D223222206865696768743D2236222F3E0D0A - 20202020202020203C7265637420783D2231312220793D223622207769647468 - 3D223222206865696768743D2235222F3E0D0A20202020202020203C72656374 - 20783D2231312220793D223337222077696474683D223222206865696768743D - 2235222F3E0D0A20202020202020203C7265637420783D2231392220793D2231 - 33222077696474683D223222206865696768743D2236222F3E0D0A2020202020 - 2020203C7265637420783D2231312220793D223133222077696474683D223222 - 206865696768743D2236222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D - 0A0D00000063006F006C006C00610062006F0072006100740069006F006E005D - 0200003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A - 2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D22 - 3020302034382034382220656E61626C652D6261636B67726F756E643D226E65 - 7720302030203438203438223E0D0A202020203C706174682066696C6C3D2223 - 3135363543302220643D224D32352C32326831336C362C3656313163302D322E - 322D312E382D342D342D34483235632D322E322C302D342C312E382D342C3476 - 374332312C32302E322C32322E382C32322C32352C32327A222F3E0D0A202020 - 203C706174682066696C6C3D22233231393646332220643D224D32332C313948 - 31306C2D362C36563863302D322E322C312E382D342C342D3468313563322E32 - 2C302C342C312E382C342C3476374332372C31372E322C32352E322C31392C32 - 332C31397A222F3E0D0A202020203C672066696C6C3D2223464641373236223E - 0D0A20202020202020203C636972636C652063783D223132222063793D223331 - 2220723D2235222F3E0D0A20202020202020203C636972636C652063783D2233 - 36222063793D2233312220723D2235222F3E0D0A202020203C2F673E0D0A2020 - 20203C672066696C6C3D2223363037443842223E0D0A20202020202020203C70 - 61746820643D224D32302C343263302C302D322E322D342D382D34732D382C34 - 2D382C3476326831365634327A222F3E0D0A20202020202020203C7061746820 - 643D224D34342C343263302C302D322E322D342D382D34732D382C342D382C34 - 76326831365634327A222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A - 0700000063006F006C006C00650063007400C60200003C737667207665727369 - 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F - 323030302F737667222076696577426F783D223020302034382034382220656E - 61626C652D6261636B67726F756E643D226E657720302030203438203438223E - 0D0A202020203C672066696C6C3D2223303039363838223E0D0A202020202020 - 20203C7265637420783D2232322220793D223335222077696474683D22342220 - 6865696768743D223131222F3E0D0A20202020202020203C706F6C79676F6E20 - 706F696E74733D2232342C32392E362033312C33382031372C3338222F3E0D0A - 202020203C2F673E0D0A202020203C672066696C6C3D2223303039363838223E - 0D0A20202020202020203C7265637420783D2232322220793D22322220776964 - 74683D223422206865696768743D223131222F3E0D0A20202020202020203C70 - 6F6C79676F6E20706F696E74733D2232342C31382E342031372C31302033312C - 3130222F3E0D0A202020203C2F673E0D0A202020203C672066696C6C3D222330 - 3039363838223E0D0A20202020202020203C7265637420783D22322220793D22 - 3232222077696474683D22313122206865696768743D2234222F3E0D0A202020 - 20202020203C706F6C79676F6E20706F696E74733D2231382E342C3234203130 - 2C33312031302C3137222F3E0D0A202020203C2F673E0D0A202020203C672066 - 696C6C3D2223303039363838223E0D0A20202020202020203C7265637420783D - 2233352220793D223232222077696474683D22313122206865696768743D2234 - 222F3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D223239 - 2E362C32342033382C31372033382C3331222F3E0D0A202020203C2F673E0D0A - 202020203C636972636C652066696C6C3D2223463434333336222063783D2232 - 34222063793D2232342220723D2233222F3E0D0A3C2F7376673E0D0A0B000000 - 63006F006D0062006F005F0063006800610072007400080300003C7376672076 - 657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E - 6F72672F323030302F737667222076696577426F783D22302030203438203438 - 2220656E61626C652D6261636B67726F756E643D226E65772030203020343820 - 3438223E0D0A202020203C672066696C6C3D2223303042434434223E0D0A2020 - 2020202020203C7265637420783D2233372220793D223138222077696474683D - 223622206865696768743D223234222F3E0D0A20202020202020203C72656374 - 20783D2232392220793D223236222077696474683D223622206865696768743D - 223136222F3E0D0A20202020202020203C7265637420783D2232312220793D22 - 3232222077696474683D223622206865696768743D223230222F3E0D0A202020 - 20202020203C7265637420783D2231332220793D223332222077696474683D22 - 3622206865696768743D223130222F3E0D0A20202020202020203C7265637420 - 783D22352220793D223238222077696474683D223622206865696768743D2231 - 34222F3E0D0A202020203C2F673E0D0A202020203C672066696C6C3D22233346 - 35314235223E0D0A20202020202020203C636972636C652063783D2238222063 - 793D2231362220723D2233222F3E0D0A20202020202020203C636972636C6520 - 63783D223136222063793D2231382220723D2233222F3E0D0A20202020202020 - 203C636972636C652063783D223234222063793D2231312220723D2233222F3E - 0D0A20202020202020203C636972636C652063783D223332222063793D223133 - 2220723D2233222F3E0D0A20202020202020203C636972636C652063783D2234 - 30222063793D22392220723D2233222F3E0D0A20202020202020203C706F6C79 - 676F6E20706F696E74733D2233392E312C372E322033312E382C31302E392032 - 332E352C382E382031352E352C31352E3820382E352C31342E3120372E352C31 - 372E392031362E352C32302E322032342E352C31332E322033322E322C31352E - 312034302E392C31302E38222F3E0D0A202020203C2F673E0D0A3C2F7376673E - 0D0A0C00000063006F006D006D0061006E0064005F006C0069006E006500EB05 - 00003C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D22 - 7574662D38223F3E0D0A3C212D2D2047656E657261746F723A2041646F626520 - 496C6C7573747261746F722031392E312E312C20535647204578706F72742050 - 6C75672D496E202E205356472056657273696F6E3A20362E3030204275696C64 - 20302920202D2D3E0D0A3C7376672076657273696F6E3D22312E31222020786D - 6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73766722 - 20786D6C6E733A786C696E6B3D22687474703A2F2F7777772E77332E6F72672F - 313939392F786C696E6B2220783D223070782220793D22307078220D0A092076 - 696577426F783D223020302034382034382220656E61626C652D6261636B6772 - 6F756E643D226E6577203020302034382034382220786D6C3A73706163653D22 - 7072657365727665223E0D0A3C673E0D0A093C706174682066696C6C3D222343 - 46443844432220643D224D34312C36483743362E342C362C362C362E342C362C - 3776333568333656374334322C362E342C34312E362C362C34312C367A222F3E - 0D0A3C2F673E0D0A3C7265637420783D22382220793D223133222066696C6C3D - 2223323633323338222077696474683D22333222206865696768743D22323722 - 2F3E0D0A3C673E0D0A093C706174682066696C6C3D2223373646463033222064 - 3D224D32322C32372E36632D302E312C312E312D302E342C312E392D312C322E - 35632D302E362C302E362D312E342C302E392D322E352C302E39632D312E312C - 302D322D302E342D322E362D312E31632D302E362D302E372D302E392D312E38 - 2D302E392D332E310D0A0909762D312E3663302D312E332C302E332D322E342C - 302E392D332E3163302E362D302E372C312E352D312E312C322E362D312E3163 - 312E312C302C312E392C302E332C322E352C302E3963302E362C302E362C302E - 392C312E342C312C322E36682D3263302D302E372D302E312D312E322D302E33 - 2D312E340D0A0909632D302E322D302E332D302E362D302E342D312E312D302E - 34632D302E352C302D302E392C302E322D312E322C302E36632D302E322C302E - 342D302E332C312D302E342C312E3876312E3863302C312C302E312C312E362C - 302E332C3263302E322C302E342C302E362C302E352C312E312C302E350D0A09 - 0963302E352C302C302E392D302E312C312E312D302E3463302E322D302E332C - 302E332D302E372C302E332D312E344832327A222F3E0D0A093C706174682066 - 696C6C3D22233736464630332220643D224D32342C323463302D302E332C302E - 312D302E352C302E332D302E3763302E322D302E322C302E342D302E332C302E - 372D302E3363302E332C302C302E352C302E312C302E372C302E3363302E322C - 302E322C302E332C302E342C302E332C302E370D0A090963302C302E332D302E - 312C302E352D302E332C302E375332352E332C32352C32352C3235632D302E33 - 2C302D302E352D302E312D302E372D302E335332342C32342E332C32342C3234 - 7A222F3E0D0A093C706174682066696C6C3D22233736464630332220643D224D - 32342C333063302D302E332C302E312D302E352C302E332D302E3763302E322D - 302E322C302E342D302E332C302E372D302E3363302E332C302C302E352C302E - 312C302E372C302E3363302E322C302E322C302E332C302E342C302E332C302E - 370D0A090963302C302E332D302E312C302E352D302E332C302E375332352E33 - 2C33312C32352C3331632D302E332C302D302E352D302E312D302E372D302E33 - 5332342C33302E332C32342C33307A222F3E0D0A093C706174682066696C6C3D - 22233736464630332220643D224D32382C323168326C332C3130682D324C3238 - 2C32317A222F3E0D0A3C2F673E0D0A3C673E0D0A093C636972636C652066696C - 6C3D2223393041344145222063783D2231332E35222063793D22392E35222072 - 3D22312E35222F3E0D0A093C636972636C652066696C6C3D2223393041344145 - 222063783D22392E35222063793D22392E352220723D22312E35222F3E0D0A3C - 2F673E0D0A3C2F7376673E0D0A0800000063006F006D006D0065006E00740073 - 00E30000003C7376672076657273696F6E3D22312220786D6C6E733D22687474 - 703A2F2F7777772E77332E6F72672F323030302F737667222076696577426F78 - 3D223020302034382034382220656E61626C652D6261636B67726F756E643D22 - 6E657720302030203438203438223E0D0A202020203C706174682066696C6C3D - 22233842433334412220643D224D33372C33394831316C2D362C365631316330 - 2D332E332C322E372D362C362D3668323663332E332C302C362C322E372C362C - 367632324334332C33362E332C34302E332C33392C33372C33397A222F3E0D0A - 3C2F7376673E0D0A0E00000063006F006D0070006100630074005F0063006100 - 6D00650072006100770200003C7376672076657273696F6E3D22312220786D6C - 6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376672220 - 76696577426F783D223020302034382034382220656E61626C652D6261636B67 - 726F756E643D226E657720302030203438203438223E0D0A202020203C706174 - 682066696C6C3D22233630374438422220643D224D34302C33394838632D322E - 322C302D342D312E382D342D3456313363302D322E322C312E382D342C342D34 - 68333263322E322C302C342C312E382C342C347632324334342C33372E322C34 - 322E322C33392C34302C33397A222F3E0D0A202020203C636972636C65206669 - 6C6C3D2223343535413634222063783D223239222063793D2232342220723D22 - 3132222F3E0D0A202020203C636972636C652066696C6C3D2223343241354635 - 222063783D223239222063793D2232342220723D2239222F3E0D0A202020203C - 706174682066696C6C3D22233930434146392220643D224D33332E382C323163 - 2D312E322D312E342D332D322E322D342E382D322E32732D332E362C302E382D - 342E382C322E32632D302E352C302E352D302E342C312E332C302E312C312E38 - 63302E352C302E352C312E332C302E342C312E382D302E312063312E352D312E - 372C342E332D312E372C352E382C3063302E332C302E332C302E362C302E342C - 312C302E3463302E332C302C302E362D302E312C302E392D302E334333342E32 - 2C32322E342C33342E332C32312E352C33332E382C32317A222F3E0D0A202020 - 203C7265637420783D22382220793D223133222066696C6C3D22234144443846 - 42222077696474683D223622206865696768743D2233222F3E0D0A3C2F737667 - 3E0D0A0F00000063006F006E0066006500720065006E00630065005F00630061 - 006C006C00860200003C7376672076657273696F6E3D22312220786D6C6E733D - 22687474703A2F2F7777772E77332E6F72672F323030302F7376672220766965 - 77426F783D223020302034382034382220656E61626C652D6261636B67726F75 - 6E643D226E657720302030203438203438223E0D0A202020203C636972636C65 - 2066696C6C3D2223464641373236222063783D223132222063793D2232312220 - 723D2235222F3E0D0A202020203C672066696C6C3D2223343535413634223E0D - 0A20202020202020203C7061746820643D224D322C33342E3763302C302C322E - 382D362E332C31302D362E337331302C362E332C31302C362E33563338483256 - 33342E377A222F3E0D0A20202020202020203C7061746820643D224D34362C33 - 342E3763302C302D322E382D362E332D31302D362E33732D31302C362E332D31 - 302C362E335633386832305633342E377A222F3E0D0A202020203C2F673E0D0A - 202020203C636972636C652066696C6C3D2223464642373444222063783D2232 - 34222063793D2231372220723D2236222F3E0D0A202020203C70617468206669 - 6C6C3D22233630374438422220643D224D33362C33342E3163302C302D332E33 - 2D372E352D31322D372E35732D31322C372E352D31322C372E35563338683234 - 5633342E317A222F3E0D0A202020203C636972636C652066696C6C3D22234646 - 41373236222063783D223336222063793D2232312220723D2235222F3E0D0A20 - 2020203C636972636C652066696C6C3D2223464641373236222063783D223132 - 222063793D2232312220723D2235222F3E0D0A202020203C636972636C652066 - 696C6C3D2223464641373236222063783D223336222063793D2232312220723D - 2235222F3E0D0A3C2F7376673E0D0A120000006300720079007300740061006C - 005F006F007300630069006C006C00610074006F007200AD0100003C73766720 - 76657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E7733 - 2E6F72672F323030302F737667222076696577426F783D223020302034382034 - 382220656E61626C652D6261636B67726F756E643D226E657720302030203438 - 203438223E0D0A202020203C672066696C6C3D2223464639383030223E0D0A20 - 202020202020203C7265637420783D22332220793D223238222077696474683D - 22323622206865696768743D2234222F3E0D0A20202020202020203C72656374 - 20783D22332220793D223136222077696474683D22323622206865696768743D - 2234222F3E0D0A202020203C2F673E0D0A202020203C706174682066696C6C3D - 22233231393646332220643D224D34332C313148323076323668323363312E31 - 2C302C322D302E392C322D325631334334352C31312E392C34342E312C31312C - 34332C31317A222F3E0D0A202020203C706174682066696C6C3D222336344235 - 46362220643D224D32302C39682D32763330683263312E312C302C322D302E39 - 2C322D325631314332322C392E392C32312E312C392C32302C397A222F3E0D0A - 3C2F7376673E0D0A11000000630075007200720065006E00630079005F006500 - 78006300680061006E0067006500F30700003C7376672076657273696F6E3D22 - 312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32303030 - 2F737667222076696577426F783D223020302034382034382220656E61626C65 - 2D6261636B67726F756E643D226E657720302030203438203438223E0D0A2020 - 20203C636972636C652066696C6C3D2223334635314235222063783D22313822 - 2063793D2231382220723D223135222F3E0D0A202020203C706174682066696C - 6C3D22234646463539442220643D224D32302E332C313676312E37682D332E38 - 76312E3468332E3876312E37682D332E3863302C302E362C302E312C312E322C - 302E332C312E3663302E322C302E342C302E342C302E382C302E372C3163302E - 332C302E332C302E372C302E342C312E312C302E362063302E342C302E312C30 - 2E392C302E322C312E342C302E3263302E342C302C302E372C302C312E312D30 - 2E3163302E342D302E312C302E372D302E312C312D302E336C302E342C322E37 - 632D302E342C302E312D302E392C302E322D312E342C302E32632D302E352C30 - 2E312D312C302E312D312E352C302E3120632D302E392C302D312E382D302E31 - 2D322E362D302E34632D302E382D302E322D312E352D302E362D322D312E3163 - 2D302E362D302E352D312D312E312D312E342D312E39632D302E332D302E372D - 302E352D312E362D302E352D322E36682D312E39762D312E3768312E39762D31 - 2E34682D312E3956313668312E392063302E312D312C302E332D312E382C302E - 362D322E3663302E342D302E372C302E382D312E342C312E342D312E3963302E - 362D302E352C312E332D302E392C322E312D312E3163302E382D302E332C312E - 372D302E342C322E362D302E3463302E342C302C302E392C302C312E332C302E - 312063302E342C302E312C302E392C302E312C312E332C302E336C2D302E342C - 322E37632D302E332D302E312D302E362D302E322D312D302E33632D302E342D - 302E312D302E372D302E312D312E312D302E31632D302E352C302D312C302E31 - 2D312E342C302E32632D302E342C302E312D302E382C302E332D312C302E3620 - 632D302E332C302E332D302E352C302E362D302E372C31732D302E332C302E39 - 2D302E332C312E354832302E337A222F3E0D0A202020203C636972636C652066 - 696C6C3D2223344341463530222063783D223330222063793D2233302220723D - 223135222F3E0D0A202020203C706174682066696C6C3D22236666662220643D - 224D32382E342C323763302E312C302E322C302E322C302E342C302E342C302E - 3663302E322C302E322C302E342C302E342C302E372C302E3563302E332C302E - 322C302E372C302E332C312E312C302E3563302E372C302E332C312E342C302E - 362C322C302E392063302E362C302E332C312E312C302E372C312E352C312E31 - 63302E342C302E342C302E382C302E392C312C312E3463302E322C302E352C30 - 2E342C312E322C302E342C312E3963302C302E372D302E312C312E332D302E33 - 2C312E38632D302E322C302E352D302E352C312D302E392C312E3420732D302E - 392C302E372D312E342C302E39632D302E362C302E322D312E322C302E342D31 - 2E382C302E3576322E32682D312E38762D322E32632D302E362D302E312D312E - 322D302E322D312E382D302E34732D312E312D302E352D312E352D31632D302E - 352D302E342D302E382D312D312E312D312E3620632D302E332D302E362D302E - 342D312E342D302E342D322E3368332E3363302C302E352C302E312C312C302E - 322C312E3363302E312C302E342C302E332C302E362C302E362C302E3963302E - 322C302E322C302E352C302E342C302E382C302E3563302E332C302E312C302E - 362C302E312C302E392C302E312063302E342C302C302E372C302C302E392D30 - 2E3163302E332D302E312C302E352D302E322C302E372D302E3463302E322D30 - 2E322C302E332D302E342C302E342D302E3663302E312D302E322C302E312D30 - 2E352C302E312D302E3863302D302E332C302D302E362D302E312D302E382063 - 2D302E312D302E322D302E322D302E352D302E342D302E37732D302E342D302E - 342D302E372D302E35632D302E332D302E322D302E372D302E332D312E312D30 - 2E35632D302E372D302E332D312E342D302E362D322D302E39632D302E362D30 - 2E332D312E312D302E372D312E352D312E3120632D302E342D302E342D302E38 - 2D302E392D312D312E34632D302E322D302E352D302E342D312E322D302E342D - 312E3963302D302E362C302E312D312E322C302E332D312E3763302E322D302E - 352C302E352D312C302E392D312E3463302E342D302E342C302E392D302E372C - 312E342D312063302E352D302E322C312E322D302E342C312E382D302E35762D - 322E3468312E3876322E3463302E362C302E312C312E322C302E332C312E382C - 302E3663302E352C302E332C312C302E362C312E332C312E3163302E342C302E - 342C302E372C312C302E392C312E3663302E322C302E362C302E332C312E332C - 302E332C3220682D332E3363302D302E392D302E322D312E362D302E362D3263 - 2D302E342D302E342D302E392D302E372D312E352D302E37632D302E332C302D - 302E362C302E312D302E392C302E32632D302E322C302E312D302E342C302E32 - 2D302E362C302E34632D302E322C302E322D302E332C302E342D302E332C302E - 3620632D302E312C302E322D302E312C302E352D302E312C302E384332382E33 - 2C32362E352C32382E342C32362E382C32382E342C32377A222F3E0D0A3C2F73 - 76673E0D0A0600000063007500720073006F007200D70300003C737667207665 - 7273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F - 72672F323030302F737667222076696577426F783D2230203020343820343822 - 20656E61626C652D6261636B67726F756E643D226E6577203020302034382034 - 38223E0D0A202020203C706174682066696C6C3D22234530453045302220643D - 224D32372E382C33392E37632D302E312C302D302E322C302D302E342D302E31 - 632D302E322D302E312D302E342D302E332D302E362D302E356C2D332E372D38 - 2E366C2D342E352C342E324331382E352C33342E392C31382E332C33352C3138 - 2C333520632D302E312C302D302E332C302D302E342D302E314331372E332C33 - 342E382C31372C33342E342C31372C33346C302D323263302D302E342C302E32 - 2D302E382C302E362D302E394331372E372C31312C31372E392C31312C31382C - 313163302E322C302C302E352C302E312C302E372C302E336C31362C31352063 - 302E332C302E332C302E342C302E372C302E332C312E31632D302E312C302E34 - 2D302E352C302E362D302E392C302E376C2D362E332C302E366C332E392C382E - 3563302E312C302E322C302E312C302E352C302C302E38632D302E312C302E32 - 2D302E332C302E352D302E352C302E366C2D322E392C312E33204332382E312C - 33392E372C32372E392C33392E372C32372E382C33392E377A222F3E0D0A2020 - 20203C706174682066696C6C3D22233231323132312220643D224D31382C3132 - 6C31362C31356C2D372E372C302E376C342E352C392E386C2D322E392C312E33 - 6C2D342E332D392E394C31382C33344C31382C3132204D31382C3130632D302E - 332C302D302E352C302E312D302E382C302E3220632D302E372C302E332D312E - 322C312D312E322C312E386C302C323263302C302E382C302E352C312E352C31 - 2E322C312E384331372E352C33362C31372E382C33362C31382C333663302E35 - 2C302C312D302E322C312E342D302E356C332E342D332E326C332E312C372E33 - 2063302E322C302E352C302E362C302E392C312E312C312E3163302E322C302E - 312C302E352C302E312C302E372C302E3163302E332C302C302E352D302E312C - 302E382D302E326C322E392D312E3363302E352D302E322C302E392D302E362C - 312E312D312E3163302E322D302E352C302E322D312E312C302D312E35206C2D - 332E332D372E326C342E392D302E3463302E382D302E312C312E352D302E362C - 312E372D312E3363302E332D302E372C302E312D312E362D302E352D322E316C - 2D31362D31354331392C31302E322C31382E352C31302C31382C31304C31382C - 31307A222F3E0D0A3C2F7376673E0D0A1000000063007500730074006F006D00 - 650072005F0073007500700070006F0072007400420400003C73766720766572 - 73696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72 - 672F323030302F737667222076696577426F783D223020302034382034382220 - 656E61626C652D6261636B67726F756E643D226E657720302030203438203438 - 223E0D0A202020203C706174682066696C6C3D22234646423734442220643D22 - 4D32392C3433762D342E366C322E362C302E3563322E392C302E362C352E362D - 312E352C352E382D342E344C33382C32386C322E392D312E3263312D302E342C - 312E342D312E362C302E382D322E364C33382C313820632D302E362D372E362D - 342E392D31352D31362D31354331302E362C332C352C31312E342C352C323063 - 302C332E372C312E332C362E392C332E332C392E3663312E382C322E352C322E - 372C352E352C322E372C382E356C302C342E384832397A222F3E0D0A20202020 - 3C706F6C79676F6E2066696C6C3D22234646393830302220706F696E74733D22 - 32392C34332032392C33382E342032322C33372032322C3433222F3E0D0A2020 - 20203C636972636C652066696C6C3D2223373834373139222063783D2233332E - 35222063793D2232312E352220723D22312E35222F3E0D0A202020203C706174 - 682066696C6C3D22234646353732322220643D224D32312E342C334331322E33 - 2C332C352C31302E332C352C31392E3463302C31312E312C362C31312E342C36 - 2C31382E366C322E362D302E3963322E312D302E372C332E392D322E332C342E - 372D342E346C322E382D362E384C32372C3233762D362063302C302C372D332E - 382C372D31302E334333312C342E322C32352E372C332C32312E342C337A222F - 3E0D0A202020203C672066696C6C3D2223353436453741223E0D0A2020202020 - 2020203C7061746820643D224D32312C322E31632D302E362C302D312C302E34 - 2D312C317631332E3963302C302E362C302E342C312C312C3173312D302E342C - 312D3156332E314332322C322E352C32312E362C322E312C32312C322E317A22 - 2F3E0D0A20202020202020203C7061746820643D224D33362E392C33312E3963 - 2D372E392C302D31302E332D342E392D31302E342D352E31632D302E322D302E - 352D302E382D302E372D312E332D302E35632D302E352C302E322D302E372C30 - 2E382D302E352C312E332063302E312C302E332C332C362E332C31322E322C36 - 2E3363302E362C302C312D302E342C312D315333372E342C33312E392C33362E - 392C33312E397A222F3E0D0A202020203C2F673E0D0A202020203C636972636C - 652066696C6C3D2223333734373446222063783D223337222063793D22333322 - 20723D2232222F3E0D0A202020203C636972636C652066696C6C3D2223333734 - 373446222063783D223231222063793D2232332220723D2237222F3E0D0A2020 - 20203C636972636C652066696C6C3D2223353436453741222063783D22323122 - 2063793D2232332220723D2234222F3E0D0A3C2F7376673E0D0A030000006400 - 61006D006D0800003C7376672076657273696F6E3D22312220786D6C6E733D22 - 687474703A2F2F7777772E77332E6F72672F323030302F737667222076696577 - 426F783D223020302034382034382220656E61626C652D6261636B67726F756E - 643D226E657720302030203438203438223E0D0A202020203C672066696C6C3D - 2223383144344641223E0D0A20202020202020203C7265637420783D22323422 - 20793D223238222077696474683D22313822206865696768743D223134222F3E - 0D0A20202020202020203C7265637420783D22362220793D2231302220776964 - 74683D22313222206865696768743D223332222F3E0D0A202020203C2F673E0D - 0A202020203C672066696C6C3D2223313937364432223E0D0A20202020202020 - 203C7061746820643D224D31362C38682D3263302C312E312D302E392C322D32 - 2C32732D322D302E392D322D32483863302C312E312D302E392C322D322C3276 - 3263312E322C302C322E332D302E352C332D312E3463302E372C302E382C312E - 382C312E342C332C312E342073322E332D302E352C332D312E3463302E372C30 - 2E382C312E382C312E342C332C312E34762D324331362E392C31302C31362C39 - 2E312C31362C387A222F3E0D0A20202020202020203C7061746820643D224D31 - 362C3134682D3263302C312E312D302E392C322D322C32732D322D302E392D32 - 2D32483863302C312E312D302E392C322D322C32763263312E322C302C322E33 - 2D302E352C332D312E3463302E372C302E382C312E382C312E342C332C312E34 - 2073322E332D302E352C332D312E3463302E372C302E382C312E382C312E342C - 332C312E34762D324331362E392C31362C31362C31352E312C31362C31347A22 - 2F3E0D0A20202020202020203C7061746820643D224D31362C3230682D326330 - 2C312E312D302E392C322D322C32732D322D302E392D322D32483863302C312E - 312D302E392C322D322C32763263312E322C302C322E332D302E352C332D312E - 3463302E372C302E382C312E382C312E342C332C312E342073322E332D302E35 - 2C332D312E3463302E372C302E382C312E382C312E342C332C312E34762D3243 - 31362E392C32322C31362C32312E312C31362C32307A222F3E0D0A2020202020 - 2020203C7061746820643D224D31362C3236682D3263302C312E312D302E392C - 322D322C32732D322D302E392D322D32483863302C312E312D302E392C322D32 - 2C32763263312E322C302C322E332D302E352C332D312E3463302E372C302E38 - 2C312E382C312E342C332C312E342073322E332D302E352C332D312E3463302E - 372C302E382C312E382C312E342C332C312E34762D324331362E392C32382C31 - 362C32372E312C31362C32367A222F3E0D0A20202020202020203C7061746820 - 643D224D31362C3332682D3263302C312E312D302E392C322D322C32732D322D - 302E392D322D32483863302C312E312D302E392C322D322C32763263312E322C - 302C322E332D302E352C332D312E3463302E372C302E382C312E382C312E342C - 332C312E342073322E332D302E352C332D312E3463302E372C302E382C312E38 - 2C312E342C332C312E34762D324331362E392C33342C31362C33332E312C3136 - 2C33327A222F3E0D0A20202020202020203C7061746820643D224D31362C3338 - 682D3263302C312E312D302E392C322D322C32732D322D302E392D322D324838 - 63302C312E312D302E392C322D322C32763263312E322C302C322E332D302E35 - 2C332D312E3463302E372C302E382C312E382C312E342C332C312E342073322E - 332D302E352C332D312E3463302E372C302E382C312E382C312E342C332C312E - 34762D324331362E392C34302C31362C33392E312C31362C33387A222F3E0D0A - 20202020202020203C7061746820643D224D34302C3332682D3263302C312E31 - 2D302E392C322D322C32732D322D302E392D322D32682D3263302C312E312D30 - 2E392C322D322C32732D322D302E392D322D32682D3263302C312E312D302E39 - 2C322D322C3276322063312E322C302C322E332D302E352C332D312E3463302E - 372C302E382C312E382C312E342C332C312E3473322E332D302E352C332D312E - 3463302E372C302E382C312E382C312E342C332C312E3473322E332D302E352C - 332D312E3463302E372C302E382C312E382C312E342C332C312E34762D322043 - 34302E392C33342C34302C33332E312C34302C33327A222F3E0D0A2020202020 - 2020203C7061746820643D224D34302C3236682D3263302C312E312D302E392C - 322D322C32732D322D302E392D322D32682D3263302C312E312D302E392C322D - 322C32732D322D302E392D322D32682D3263302C312E312D302E392C322D322C - 3276322063312E322C302C322E332D302E352C332D312E3463302E372C302E38 - 2C312E382C312E342C332C312E3473322E332D302E352C332D312E3463302E37 - 2C302E382C312E382C312E342C332C312E3473322E332D302E352C332D312E34 - 63302E372C302E382C312E382C312E342C332C312E34762D32204334302E392C - 32382C34302C32372E312C34302C32367A222F3E0D0A20202020202020203C70 - 61746820643D224D34302C3338682D3263302C312E312D302E392C322D322C32 - 732D322D302E392D322D32682D3263302C312E312D302E392C322D322C327632 - 63312E322C302C322E332D302E352C332D312E3463302E372C302E382C312E38 - 2C312E342C332C312E342073322E332D302E352C332D312E3463302E372C302E - 382C312E382C312E342C332C312E34762D324334302E392C34302C34302C3339 - 2E312C34302C33387A222F3E0D0A202020203C2F673E0D0A202020203C706174 - 682066696C6C3D22233435354136342220643D224D32352E312C392E324C3331 - 2E352C3432483138563668332E324332332E312C362C32342E382C372E342C32 - 352E312C392E327A222F3E0D0A3C2F7376673E0D0A0A00000064006100740061 - 005F00730068006500650074000F0200003C7376672076657273696F6E3D2231 - 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F - 737667222076696577426F783D223020302034382034382220656E61626C652D - 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 - 203C706174682066696C6C3D22233930434146392220643D224D33392C313676 - 37682D36762D37682D327637682D36762D37682D327637682D37763268377636 - 682D37763268377636682D3776326832355631364833397A204D33392C323576 - 36682D36762D364833397A204D32352C323568367636682D365632357A204D32 - 352C333368367636682D365633337A204D33332C3339762D3668367636483333 - 7A222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223303042434434 - 2220706F696E74733D2234302C3820382C3820382C34302031362C3430203136 - 2C31362034302C3136222F3E0D0A202020203C706174682066696C6C3D222330 - 30393741372220643D224D372C37763334683130563137683234563748377A20 - 4D392C3233762D366836763648397A204D31352C323576364839762D36483135 - 7A204D31372C3968367636682D3656397A204D32352C3968367636682D365639 - 7A204D31352C397636483956394831357A204D392C3339762D36683676364839 - 7A204D33392C3135682D36563968365631357A222F3E0D0A3C2F7376673E0D0A - 040000006400650062007400300700003C7376672076657273696F6E3D223122 - 20786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73 - 7667222076696577426F783D223020302034382034382220656E61626C652D62 - 61636B67726F756E643D226E657720302030203438203438223E0D0A20202020 - 3C706174682066696C6C3D22234646423734442220643D224D31302C3132632D - 322E382C302D352D322E322D352D3573322E322D352C352D3573352C322E322C - 352C355331322E382C31322C31302C31327A222F3E0D0A202020203C70617468 - 2066696C6C3D22233630374438422220643D224D322C323276386C332C326C31 - 2C313468386C312D31346C332D32762D3863302D342E342D332E362D382D382D - 38683043352E362C31342C322C31372E362C322C32327A222F3E0D0A20202020 - 3C672066696C6C3D2223323633323338223E0D0A20202020202020203C706174 - 6820643D224D32322E342C34302E34632D302E362C322E352D312C332E362D32 - 2E342C332E36632D302E362C302D312E322D302E352D312E392D312E31632D31 - 2D302E382D322E322D312E392D342E312D312E39763263312E312C302C312E39 - 2C302E372C322E382C312E342063302E392C302E372C312E392C312E362C332E - 322C312E3663332E312C302C332E382D322E392C342E342D352E324332352C33 - 382E322C32352E342C33372C32372C3337762D324332332E372C33352C32322E - 392C33382E312C32322E342C34302E347A222F3E0D0A20202020202020203C70 - 6F6C79676F6E20706F696E74733D2231342E342C34302031302C34302031302C - 34342031342E312C3434222F3E0D0A202020203C2F673E0D0A202020203C6369 - 72636C652066696C6C3D2223344341463530222063783D223336222063793D22 - 33362220723D223130222F3E0D0A202020203C706174682066696C6C3D222366 - 66662220643D224D33352C333463302E312C302E322C302E312C302E332C302E - 332C302E3463302E312C302E312C302E332C302E322C302E352C302E3463302E - 322C302E312C302E352C302E322C302E382C302E3363302E352C302E322C302E - 392C302E342C312E332C302E362063302E342C302E322C302E372C302E342C31 - 2C302E3763302E332C302E332C302E352C302E362C302E372C302E3963302E32 - 2C302E342C302E322C302E382C302E322C312E3363302C302E342D302E312C30 - 2E382D302E322C312E32632D302E312C302E342D302E332C302E372D302E362C - 302E3920632D302E332C302E332D302E362C302E352D302E392C302E36632D30 - 2E342C302E322D302E382C302E332D312E322C302E3376312E35682D312E3276 - 2D312E35632D302E342C302D302E382D302E312D312E322D302E33632D302E34 - 2D302E322D302E372D302E342D312D302E3620632D302E332D302E332D302E35 - 2D302E362D302E372D312E31632D302E322D302E342D302E332D302E392D302E - 332D312E3568322E3263302C302E342C302C302E372C302E312C302E3963302E - 312C302E322C302E322C302E342C302E342C302E3663302E322C302E312C302E - 332C302E322C302E352C302E332063302E322C302E312C302E342C302E312C30 - 2E362C302E3163302E322C302C302E342C302C302E362D302E3163302E322D30 - 2E312C302E332D302E322C302E342D302E3363302E312D302E312C302E322D30 - 2E332C302E332D302E3463302E312D302E322C302E312D302E332C302E312D30 - 2E352063302D302E322C302D302E342D302E312D302E36632D302E312D302E32 - 2D302E312D302E332D302E332D302E34632D302E312D302E312D302E332D302E - 332D302E352D302E34632D302E322D302E312D302E342D302E322D302E372D30 - 2E33632D302E352D302E322D302E392D302E342D312E332D302E3620632D302E - 342D302E322D302E372D302E342D312D302E37632D302E332D302E332D302E35 - 2D302E362D302E372D302E39632D302E322D302E342D302E322D302E382D302E - 322D312E3363302D302E342C302E312D302E382C302E322D312E3263302E312D - 302E332C302E332D302E372C302E362D302E392063302E332D302E332C302E36 - 2D302E352C302E392D302E3663302E342D302E322C302E382D302E332C312E32 - 2D302E33762D312E3668312E3276312E3663302E342C302E312C302E382C302E - 322C312E322C302E3463302E342C302E322C302E362C302E342C302E392C302E - 372063302E322C302E332C302E342C302E362C302E362C3163302E312C302E34 - 2C302E322C302E392C302E322C312E34682D322E3263302D302E362D302E312D - 312D302E342D312E33632D302E322D302E332D302E362D302E342D312D302E34 - 632D302E322C302D302E342C302D302E362C302E3120632D302E322C302E312D - 302E332C302E322D302E342C302E334333352E312C33322E372C33352C33322E - 382C33352C3333732D302E312C302E332D302E312C302E354333342E392C3333 - 2E372C33342E392C33332E392C33352C33347A222F3E0D0A3C2F7376673E0D0A - 0A0000006400650070006100720074006D0065006E007400910300003C737667 - 2076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77 - 332E6F72672F323030302F737667222076696577426F783D2230203020343820 - 34382220656E61626C652D6261636B67726F756E643D226E6577203020302034 - 38203438223E0D0A202020203C706F6C79676F6E2066696C6C3D222343354341 - 45392220706F696E74733D2234322C343220362C343220362C392032342C3220 - 34322C39222F3E0D0A202020203C7265637420783D22362220793D2234322220 - 66696C6C3D2223394641384441222077696474683D2233362220686569676874 - 3D2232222F3E0D0A202020203C7265637420783D2232302220793D2233352220 - 66696C6C3D2223424633363043222077696474683D223822206865696768743D - 2239222F3E0D0A202020203C672066696C6C3D2223313536354330223E0D0A20 - 202020202020203C7265637420783D2233312220793D22323722207769647468 - 3D223622206865696768743D2235222F3E0D0A20202020202020203C72656374 - 20783D2232312220793D223237222077696474683D223622206865696768743D - 2235222F3E0D0A20202020202020203C7265637420783D2231312220793D2232 - 37222077696474683D223622206865696768743D2235222F3E0D0A2020202020 - 2020203C7265637420783D2233312220793D223335222077696474683D223622 - 206865696768743D2235222F3E0D0A20202020202020203C7265637420783D22 - 31312220793D223335222077696474683D223622206865696768743D2235222F - 3E0D0A20202020202020203C7265637420783D2233312220793D223139222077 - 696474683D223622206865696768743D2235222F3E0D0A20202020202020203C - 7265637420783D2232312220793D223139222077696474683D22362220686569 - 6768743D2235222F3E0D0A20202020202020203C7265637420783D2231312220 - 793D223139222077696474683D223622206865696768743D2235222F3E0D0A20 - 202020202020203C7265637420783D2233312220793D22313122207769647468 - 3D223622206865696768743D2235222F3E0D0A20202020202020203C72656374 - 20783D2232312220793D223131222077696474683D223622206865696768743D - 2235222F3E0D0A20202020202020203C7265637420783D2231312220793D2231 - 31222077696474683D223622206865696768743D2235222F3E0D0A202020203C - 2F673E0D0A3C2F7376673E0D0A0A0000006400650070006C006F0079006D0065 - 006E007400D80400003C7376672076657273696F6E3D22312220786D6C6E733D - 22687474703A2F2F7777772E77332E6F72672F323030302F7376672220766965 - 77426F783D223020302034382034382220656E61626C652D6261636B67726F75 - 6E643D226E657720302030203438203438223E0D0A202020203C706174682066 - 696C6C3D22234230424543352220643D224D33372C3432483556333268333263 - 322E382C302C352C322E322C352C3576304334322C33392E382C33392E382C34 - 322C33372C34327A222F3E0D0A202020203C706174682066696C6C3D22233337 - 343734462220643D224D31302C3334632D312E372C302D332C312E332D332C33 - 73312E332C332C332C3373332D312E332C332D335331312E372C33342C31302C - 33347A204D31302C3338632D302E362C302D312D302E342D312D3163302D302E - 362C302E342D312C312D312073312C302E342C312C314331312C33372E362C31 - 302E362C33382C31302C33387A222F3E0D0A202020203C706174682066696C6C - 3D22233337343734462220643D224D31392C3334632D312E372C302D332C312E - 332D332C3373312E332C332C332C3373332D312E332C332D335332302E372C33 - 342C31392C33347A204D31392C3338632D302E362C302D312D302E342D312D31 - 63302D302E362C302E342D312C312D312073312C302E342C312C314332302C33 - 372E362C31392E362C33382C31392C33387A222F3E0D0A202020203C70617468 - 2066696C6C3D22233337343734462220643D224D33372C3334632D312E372C30 - 2D332C312E332D332C3373312E332C332C332C3373332D312E332C332D335333 - 382E372C33342C33372C33347A204D33372C3338632D302E362C302D312D302E - 342D312D3163302D302E362C302E342D312C312D312073312C302E342C312C31 - 4333382C33372E362C33372E362C33382C33372C33387A222F3E0D0A20202020 - 3C706174682066696C6C3D22233337343734462220643D224D32382C3334632D - 312E372C302D332C312E332D332C3373312E332C332C332C3373332D312E332C - 332D335332392E372C33342C32382C33347A204D32382C3338632D302E362C30 - 2D312D302E342D312D3163302D302E362C302E342D312C312D312073312C302E - 342C312C314332392C33372E362C32382E362C33382C32382C33387A222F3E0D - 0A202020203C706174682066696C6C3D22234646393830302220643D224D3335 - 2C3331483131632D312E312C302D322D302E392D322D32563763302D312E312C - 302E392D322C322D3268323463312E312C302C322C302E392C322C3276323243 - 33372C33302E312C33362E312C33312C33352C33317A222F3E0D0A202020203C - 706174682066696C6C3D22233841353130302220643D224D32362E352C313368 - 2D37632D302E382C302D312E352D302E372D312E352D312E35763063302D302E - 382C302E372D312E352C312E352D312E35683763302E382C302C312E352C302E - 372C312E352C312E357630204332382C31322E332C32372E332C31332C32362E - 352C31337A222F3E0D0A202020203C706174682066696C6C3D22233630374438 - 422220643D224D33372C33314835763268333263322E322C302C342C312E382C - 342C34732D312E382C342D342C344835763268333263332E332C302C362D322E - 372C362D365334302E332C33312C33372C33317A222F3E0D0A3C2F7376673E0D - 0A090000006400690070006C006F006D0061005F003100B60200003C73766720 - 76657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E7733 - 2E6F72672F323030302F737667222076696577426F783D223020302034382034 - 382220656E61626C652D6261636B67726F756E643D226E657720302030203438 - 203438223E0D0A202020203C7265637420783D22342220793D2239222066696C - 6C3D2223453845414636222077696474683D22343022206865696768743D2233 - 30222F3E0D0A202020203C672066696C6C3D2223354336424330223E0D0A2020 - 2020202020203C706F6C79676F6E20706F696E74733D2233302C33342033322E - 382C33342032372E382C32392032352C33312E382033302C33362E38222F3E0D - 0A20202020202020203C706F6C79676F6E20706F696E74733D2231382C333420 - 31352E322C33342032302E322C32392032332C33312E382031382C33362E3822 - 2F3E0D0A202020203C2F673E0D0A202020203C7265637420783D223131222079 - 3D223135222066696C6C3D2223394641384441222077696474683D2232362220 - 6865696768743D2234222F3E0D0A202020203C706174682066696C6C3D222339 - 46413844412220643D224D32342C3233632D322E382C302D352C322E322D352C - 3573322E322C352C352C3573352D322E322C352D355332362E382C32332C3234 - 2C32337A204D32342C3331632D312E372C302D332D312E332D332D3373312E33 - 2D332C332D3373332C312E332C332C33205332352E372C33312C32342C33317A - 222F3E0D0A202020203C706174682066696C6C3D22233946413844412220643D - 224D332C38763332683432563848337A204D34332C3335632D312E372C302D33 - 2C312E332D332C33483863302D312E372D312E332D332D332D3356313363312E - 372C302C332D312E332C332D3368333263302C312E372C312E332C332C332C33 - 5633357A222F3E0D0A3C2F7376673E0D0A090000006400690070006C006F006D - 0061005F003200F60200003C7376672076657273696F6E3D22312220786D6C6E - 733D22687474703A2F2F7777772E77332E6F72672F323030302F737667222076 - 696577426F783D223020302034382034382220656E61626C652D6261636B6772 - 6F756E643D226E657720302030203438203438223E0D0A202020203C72656374 - 20783D22392220793D2234222066696C6C3D2223464245394537222077696474 - 683D22333022206865696768743D223430222F3E0D0A202020203C672066696C - 6C3D2223463435313145223E0D0A20202020202020203C706F6C79676F6E2070 - 6F696E74733D2233302C33372033322E382C33372032372E382C33322032352C - 33342E382033302C33392E38222F3E0D0A20202020202020203C706F6C79676F - 6E20706F696E74733D2231382C33372031352E322C33372032302E322C333220 - 32332C33342E382031382C33392E38222F3E0D0A202020203C2F673E0D0A2020 - 20203C7265637420783D2231352220793D223133222066696C6C3D2223464638 - 413635222077696474683D22313822206865696768743D2234222F3E0D0A2020 - 20203C7265637420783D2231352220793D223230222066696C6C3D2223464638 - 413635222077696474683D22313822206865696768743D2232222F3E0D0A2020 - 20203C706174682066696C6C3D22234646384136352220643D224D32342C3236 - 632D322E382C302D352C322E322D352C3573322E322C352C352C3573352D322E - 322C352D355332362E382C32362C32342C32367A204D32342C3334632D312E37 - 2C302D332D312E332D332D3373312E332D332C332D3373332C312E332C332C33 - 205332352E372C33342C32342C33347A222F3E0D0A202020203C706174682066 - 696C6C3D22234646384136352220643D224D382C33763432683332563348387A - 204D33382C3430632D312E372C302D332C312E332D332C3348313363302D312E - 372D312E332D332D332D33563863312E372C302C332D312E332C332D33683232 - 63302C312E372C312E332C332C332C335634307A222F3E0D0A3C2F7376673E0D - 0A0700000064006900730070006C0061007900140300003C7376672076657273 - 696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F7267 - 2F323030302F737667222076696577426F783D22302030203438203438222065 - 6E61626C652D6261636B67726F756E643D226E65772030203020343820343822 - 3E0D0A202020203C706174682066696C6C3D22233830444545412220643D224D - 34302C34314838632D322E322C302D342D312E382D342D3456313163302D322E - 322C312E382D342C342D3468333263322E322C302C342C312E382C342C347632 - 364334342C33392E322C34322E322C34312C34302C34317A222F3E0D0A202020 - 203C672066696C6C3D2223323936324646223E0D0A20202020202020203C706F - 6C79676F6E20706F696E74733D2233362C31372033312C31372032392C313520 - 33312C31332033362C31332033382C3135222F3E0D0A20202020202020203C70 - 6F6C79676F6E20706F696E74733D2233362C33352033312C33352032392C3333 - 2033312C33312033362C33312033382C3333222F3E0D0A20202020202020203C - 706F6C79676F6E20706F696E74733D2233372C33302033372C31382033392C31 - 362034312C31382034312C33302033392C3332222F3E0D0A2020202020202020 - 3C706F6C79676F6E20706F696E74733D2232362C33302032362C31382032382C - 31362033302C31382033302C33302032382C3332222F3E0D0A20202020202020 - 203C706F6C79676F6E20706F696E74733D2231372C31372031322C3137203130 - 2C31352031322C31332031372C31332031392C3135222F3E0D0A202020202020 - 20203C706F6C79676F6E20706F696E74733D2231372C33352031322C33352031 - 302C33332031322C33312031372C33312031392C3333222F3E0D0A2020202020 - 2020203C706F6C79676F6E20706F696E74733D2231382C33302031382C313820 - 32302C31362032322C31382032322C33302032302C3332222F3E0D0A20202020 - 202020203C706F6C79676F6E20706F696E74733D22372C333020372C31382039 - 2C31362031312C31382031312C333020392C3332222F3E0D0A202020203C2F67 - 3E0D0A3C2F7376673E0D0A0800000064006F00630075006D0065006E007400E9 - 0100003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A - 2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D22 - 3020302034382034382220656E61626C652D6261636B67726F756E643D226E65 - 7720302030203438203438223E0D0A202020203C706F6C79676F6E2066696C6C - 3D22233930434146392220706F696E74733D2234302C343520382C343520382C - 332033302C332034302C3133222F3E0D0A202020203C706F6C79676F6E206669 - 6C6C3D22234531463546452220706F696E74733D2233382E352C31342032392C - 31342032392C342E35222F3E0D0A202020203C672066696C6C3D222331393736 - 4432223E0D0A20202020202020203C7265637420783D2231362220793D223231 - 222077696474683D22313722206865696768743D2232222F3E0D0A2020202020 - 2020203C7265637420783D2231362220793D223235222077696474683D223133 - 22206865696768743D2232222F3E0D0A20202020202020203C7265637420783D - 2231362220793D223239222077696474683D22313722206865696768743D2232 - 222F3E0D0A20202020202020203C7265637420783D2231362220793D22333322 - 2077696474683D22313322206865696768743D2232222F3E0D0A202020203C2F - 673E0D0A3C2F7376673E0D0A0600000064006F006E0061007400650009040000 - 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 - 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 - 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 - 2030203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D2223 - 4536393332392220706F696E74733D2231312E372C32312E362031362E382C33 - 312E352032362E332C32372E362033302E372C31342E392031352E392C31352E - 37222F3E0D0A202020203C636972636C652066696C6C3D222335343645374122 - 2063783D223135222063793D2233362220723D22372E38222F3E0D0A20202020 - 3C672066696C6C3D2223393041344145223E0D0A20202020202020203C706174 - 6820643D224D31352C3237632D352C302D392C342D392C3963302C352C342C39 - 2C392C3973392D342C392D394332342C33312C32302C32372C31352C32377A20 - 4D31352C3433632D332E392C302D372D332E312D372D3763302D332E392C332E - 312D372C372D372073372C332E312C372C374332322C33392E392C31382E392C - 34332C31352C34337A222F3E0D0A20202020202020203C7265637420783D2231 - 342220793D223333222077696474683D223222206865696768743D2238222F3E - 0D0A202020203C2F673E0D0A202020203C672066696C6C3D2223464642373444 - 223E0D0A20202020202020203C7061746820643D224D31322E392C33364C3132 - 2E392C333663312C312E392C332E322C322E372C352E312C312E376C31362E35 - 2D382E3563312D302E352C312E372D312E322C322E322D312E3963312E372D33 - 2E322C352E362D31302E372C382E322D31372E32206C2D31382E322C382E374C - 32312E392C32366C2D362E382C332E364331322E352C33302E392C31312E372C - 33332E382C31322E392C33367A222F3E0D0A20202020202020203C7061746820 - 643D224D33302E322C334C31332E372C392E33632D302E372C302E322D312E35 - 2C312D322E322C312E376C2D352E362C372E35632D312C312E352D312E322C33 - 2E342D302E352C352E3163302E342C312C312E372C332E342C332E312C362E31 - 2063312E362D312E372C332E392D322E372C362E352D322E3763302E342C302C - 302E392C302C312E332C302E316C2D322E312D342E326C342E362D342E316838 - 63302C302C31352E352D322E322C31382E322D382E374C33302E322C337A222F - 3E0D0A202020203C2F673E0D0A202020203C706174682066696C6C3D22234646 - 434444322220643D224D31382E322C3336632D312E332C302E362D322E382C30 - 2D332E332D312E33632D302E362D312E332C302D322E382C312E332D332E3343 - 31372E342C33302E382C31392E342C33352E342C31382E322C33367A222F3E0D - 0A3C2F7376673E0D0A0E00000064006F007500670068006E00750074005F0063 - 006800610072007400C70100003C7376672076657273696F6E3D22312220786D - 6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73766722 - 2076696577426F783D223020302034382034382220656E61626C652D6261636B - 67726F756E643D226E657720302030203438203438223E0D0A202020203C7061 - 74682066696C6C3D22233030424344342220643D224D32342C3330632D332E33 - 2C302D362D322E372D362D3673322E372D362C362D3656354331332E352C352C - 352C31332E352C352C323473382E352C31392C31392C313963342E342C302C38 - 2E352D312E352C31312E382D342E316C2D382D31302E32204332362E372C3239 - 2E352C32352E342C33302C32342C33307A222F3E0D0A202020203C7061746820 - 66696C6C3D22233434384146462220643D224D33302C323468313363302D3130 - 2E352D382E352D31392D31392D31397631334332372E332C31382C33302C3230 - 2E372C33302C32347A222F3E0D0A202020203C706174682066696C6C3D222333 - 46353142352220643D224D34332C323448333063302C312E392D302E392C332E - 362D322E332C342E376C382C31302E324334302E322C33352E342C34332C3330 - 2C34332C32347A222F3E0D0A3C2F7376673E0D0A0400000064006F0077006E00 - FD0000003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 - 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D - 223020302034382034382220656E61626C652D6261636B67726F756E643D226E - 657720302030203438203438223E0D0A202020203C672066696C6C3D22233346 - 35314235223E0D0A20202020202020203C706F6C79676F6E20706F696E74733D - 2232342C34342031322E332C33302033352E372C3330222F3E0D0A2020202020 - 2020203C7265637420783D2232302220793D2236222077696474683D22382220 - 6865696768743D223237222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D - 0A0900000064006F0077006E005F006C006500660074000F0100003C73766720 - 76657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E7733 - 2E6F72672F323030302F737667222076696577426F783D223020302034382034 - 382220656E61626C652D6261636B67726F756E643D226E657720302030203438 - 203438223E0D0A202020203C706F6C79676F6E2066696C6C3D22233346353142 - 352220706F696E74733D22342C32392031382C31372E332031382C34302E3722 - 2F3E0D0A202020203C706174682066696C6C3D22233346353142352220643D22 - 4D34322C32315638682D3876313363302C322E322D312E382C342D342C344831 - 3376386831374333362E362C33332C34322C32372E362C34322C32317A222F3E - 0D0A3C2F7376673E0D0A0A00000064006F0077006E005F007200690067006800 - 74000C0100003C7376672076657273696F6E3D22312220786D6C6E733D226874 - 74703A2F2F7777772E77332E6F72672F323030302F737667222076696577426F - 783D223020302034382034382220656E61626C652D6261636B67726F756E643D - 226E657720302030203438203438223E0D0A202020203C706F6C79676F6E2066 - 696C6C3D22233346353142352220706F696E74733D2234342C32392033302C31 - 372E332033302C34302E37222F3E0D0A202020203C706174682066696C6C3D22 - 233346353142352220643D224D362C32315638683876313363302C322E322C31 - 2E382C342C342C3468313776384831384331312E342C33332C362C32372E362C - 362C32317A222F3E0D0A3C2F7376673E0D0A0800000064006F0077006E006C00 - 6F0061006400970100003C7376672076657273696F6E3D22312220786D6C6E73 - 3D22687474703A2F2F7777772E77332E6F72672F323030302F73766722207669 - 6577426F783D223020302034382034382220656E61626C652D6261636B67726F - 756E643D226E657720302030203438203438223E0D0A202020203C672066696C - 6C3D2223313536354330223E0D0A20202020202020203C706F6C79676F6E2070 - 6F696E74733D2232342C33372E312031332C32342033352C3234222F3E0D0A20 - 202020202020203C7265637420783D2232302220793D2234222077696474683D - 223822206865696768743D2234222F3E0D0A20202020202020203C7265637420 - 783D2232302220793D223130222077696474683D223822206865696768743D22 - 34222F3E0D0A20202020202020203C7265637420783D2232302220793D223136 - 222077696474683D223822206865696768743D223131222F3E0D0A2020202020 - 2020203C7265637420783D22362220793D223430222077696474683D22333622 - 206865696768743D2234222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D - 0A080000006400720069006200620062006C006500ED0500003C3F786D6C2076 - 657273696F6E3D22312E302220656E636F64696E673D227574662D38223F3E0D - 0A3C212D2D2047656E657261746F723A2041646F626520496C6C757374726174 - 6F722031352E302E302C20535647204578706F727420506C75672D496E202E20 - 5356472056657273696F6E3A20362E3030204275696C6420302920202D2D3E0D - 0A3C21444F435459504520737667205055424C494320222D2F2F5733432F2F44 - 54442053564720312E312F2F454E222022687474703A2F2F7777772E77332E6F - 72672F47726170686963732F5356472F312E312F4454442F73766731312E6474 - 64223E0D0A3C7376672076657273696F6E3D22312E31222020786D6C6E733D22 - 687474703A2F2F7777772E77332E6F72672F323030302F7376672220786D6C6E - 733A786C696E6B3D22687474703A2F2F7777772E77332E6F72672F313939392F - 786C696E6B2220783D223070782220793D22307078220D0A092077696474683D - 223438707822206865696768743D2234387078222076696577426F783D223020 - 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 - 3020302034382034382220786D6C3A73706163653D227072657365727665223E - 0D0A3C706174682066696C6C3D22234646343038312220643D224D34322C3337 - 63302C322E3736322D322E3233382C352D352C35483131632D322E3736312C30 - 2D352D322E3233382D352D3556313163302D322E3736322C322E3233392D352C - 352D3568323663322E3736322C302C352C322E3233382C352C355633377A222F - 3E0D0A3C706174682066696C6C3D22234646464646462220643D224D33332E30 - 36312C32362E323733632D302E3730332D302E3232312D312E3436342C302E31 - 37352D312E3638362C302E383935632D302E3832342C322E3635382D322E3331 - 362C352E3431392D322E3939332C352E35370D0A09632D302E3530372C302D31 - 2E3233362D302E34332D312E3935382D312E343463312E3637342D332E353934 - 2C322E3535312D382E3130362C322E3535312D31312E31313863302D382E3431 - 332D322E3132342D31302E31382D332E3930382D31302E31380D0A09632D332E - 3735372C302D332E382C392E3931322D332E382C31302E30313263302C312E31 - 36362C302E3034322C322E3234382C302E3132312C332E323536632D302E3531 - 382D302E3138392D312E3131332D302E3331392D312E37372D302E3331390D0A - 09632D332E38362C302D352E3631382C332E3830392D352E3631382C372E3334 - 374331342C33332E36332C31352E3837312C33372C32302E3034362C33376331 - 2E3937322C302C332E3633342D312E3239312C342E3937352D332E3232310D0A - 0963312E3138382C312E3233352C322E3433322C312E3639362C332E33362C31 - 2E36393663322E3932332C302C342E3835382D352E3233332C352E3535362D37 - 2E3438364333342E31362C32372E32372C33332E3736372C32362E3530322C33 - 332E3036312C32362E3237337A204D32302E3034382C33342E3236340D0A0963 - 2D332E3033312C302D332E33362D322E3737352D332E33362D332E3936396330 - 2D302E3138382C302E3033342D342E3631312C322E3933322D342E3631316331 - 2E3134342C302C322E3032322C302E3838352C322E3032322C302E3838350D0A - 0963302E3036352C302E30372C302E3133372C302E3133312C302E3231322C30 - 2E31383463302E3337352C312E3930342C302E3930342C332E3432362C312E35 - 31362C342E3633324332322E3336362C33332E3132332C32312E3230332C3334 - 2E3236342C32302E3034382C33342E3236347A0D0A09204D32342E3930312C32 - 372E393236632D302E3535392D312E39332D302E3934362D342E3532312D302E - 3934362D372E39313463302D332E3132362C302E3636362D362E3036382C312E - 3231392D372E30373363302E3432342C302E3634342C312E3131352C322E3635 - 2C312E3131352C372E3234310D0A094332362E3238392C32322E3631362C3235 - 2E37352C32352E3434362C32342E3930312C32372E3932367A222F3E0D0A3C2F - 7376673E0D0A080000006400760064005F006C006F0067006F00660700003C3F - 786D6C2076657273696F6E3D22312E302220656E636F64696E673D227574662D - 38223F3E0D0A3C212D2D2047656E657261746F723A2041646F626520496C6C75 - 73747261746F722031352E302E302C20535647204578706F727420506C75672D - 496E202E205356472056657273696F6E3A20362E3030204275696C6420302920 - 202D2D3E0D0A3C21444F435459504520737667205055424C494320222D2F2F57 - 33432F2F4454442053564720312E312F2F454E222022687474703A2F2F777777 - 2E77332E6F72672F47726170686963732F5356472F312E312F4454442F737667 - 31312E647464223E0D0A3C7376672076657273696F6E3D22312E31222020786D - 6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73766722 - 20786D6C6E733A786C696E6B3D22687474703A2F2F7777772E77332E6F72672F - 313939392F786C696E6B2220783D223070782220793D22307078220D0A092077 - 696474683D223438707822206865696768743D2234387078222076696577426F - 783D223020302034382034382220656E61626C652D6261636B67726F756E643D - 226E6577203020302034382034382220786D6C3A73706163653D227072657365 - 727665223E0D0A3C706174682066696C6C3D22233432413546352220643D224D - 32342E3030322C3237632D31322E3135342C302D32322C312E3334332D32322C - 332E30303663302C312E3635332C392E3834352C322E3939342C32322C322E39 - 39346331322E3135362C302C32322D312E3334312C32322D322E3939340D0A09 - 4334362E3030322C32382E3334332C33362E3135382C32372C32342E3030322C - 32377A204D32342E3030322C33302E393732632D322E3836332C302D352E3139 - 312D302E3439342D352E3139312D312E31303463302D302E3630392C322E3332 - 392D312E3130342C352E3139312D312E3130340D0A0963322E3836322C302C35 - 2E3139332C302E3439352C352E3139332C312E3130344332392E3139352C3330 - 2E3437382C32362E3836342C33302E3937322C32342E3030322C33302E393732 - 7A222F3E0D0A3C706174682066696C6C3D22233135363543302220643D224D32 - 312E32392C31356C322E3337312C362E34334C32392E32352C313568392E3438 - 3663342E3634372C302C372E3930362C322E3134382C372E3135382C342E3930 - 34632D302E3734352C322E3735362D352E3137382C342E3930342D392E383033 - 2C342E3930340D0A09682D362E32393563302C302C302E3134312D302E303433 - 2C302E3137322D302E31323663302E3234362D302E3934342C312E3730372D36 - 2E3236342C312E3732352D362E33343763302E30322D302E3130322D302E3130 - 352D302E3133332D302E3130352D302E31333368342E3537320D0A0963302C30 - 2D302E3038382D302E3030362D302E3132352C302E313333632D302E3032332C - 302E3037382D302E3934372C332E3432392D312E3134352C342E313736632D30 - 2E3032332C302E3039342D302E3136322C302E3133392D302E3136322C302E31 - 333968312E3039340D0A0963322E3539342C302C352E3034372D302E3832382C - 352E3536332D322E37343863302E3437332D312E3735322D312E3234342D322E - 3734362D342E3033392D322E373436682D312E3031346C2D342E3337352C302E - 3030346C2D31302E3034332C392E3933326C2D332E3834352D392E3735340D0A - 0963302C302D302E3033362D302E3036362D302E3036352D302E313437632D30 - 2E3031342D302E3032362D302E3130382D302E3130362D302E3230362D302E30 - 3633632D302E3036352C302E3033362D302E3037342C302E3131372D302E3036 - 362C302E3134360D0A0963302E3033362C302E3036362C302E3034322C302E30 - 382C302E3034382C302E31313163302E3536392C302E39332C302E3436372C32 - 2E3030392C302E33332C322E3532632D302E3737342C322E37352D352E313836 - 2C342E3930342D392E3831322C342E39303448322E3030320D0A0963302C302C - 302E3134392D302E3034332C302E3137322D302E31323663302E3235342D302E - 3934362C312E3731372D362E3239342C312E3732362D362E33343763302E3031 - 382D302E30392D302E3039392D302E3133332D302E3039392D302E3133336834 - 2E3630340D0A0963302C302D302E3133322C302E3033372D302E3135382C302E - 313331632D302E3032342C302E3037382D302E3935342C332E3433322D312E31 - 35312C342E313738632D302E3032332C302E3039342D302E3137382C302E3133 - 392D302E3137382C302E31333968312E3131380D0A0963322E3539372C302C35 - 2E3033322D302E3832382C352E3534372D322E37343863302E3437322D312E37 - 35322D312E32332D322E3734362D342E3032312D322E37343648382E35333968 - 2D342E343563302C302C302E3132352D302E3035392C302E3134372D302E3133 - 390D0A0963302E3132332D302E3434332C302E3439372D312E3833342C302E35 - 31352D312E38393943342E3737312C31352E3034372C342E3634362C31352C34 - 2E3634362C31354832312E32394C32312E32392C31357A222F3E0D0A3C2F7376 - 673E0D0A1100000065006C0065006300740072006900630061006C005F007300 - 65006E0073006F0072001A0200003C7376672076657273696F6E3D2231222078 - 6D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F737667 - 222076696577426F783D223020302034382034382220656E61626C652D626163 - 6B67726F756E643D226E657720302030203438203438223E0D0A202020203C63 - 6972636C652066696C6C3D2223423245424632222063783D223332222063793D - 2232342220723D2239222F3E0D0A202020203C706174682066696C6C3D222334 - 44443045312220643D224D33322C3132632D362E362C302D31322C352E342D31 - 322C313263302C362E362C352E342C31322C31322C31327331322D352E342C31 - 322D31324334342C31372E342C33382E362C31322C33322C31327A204D33322C - 333220632D342E342C302D382D332E362D382D3873332E362D382C382D387338 - 2C332E362C382C385333362E342C33322C33322C33327A222F3E0D0A20202020 - 3C672066696C6C3D2223334635314235223E0D0A20202020202020203C706F6C - 79676F6E20706F696E74733D2232352E342C32322031392E382C352E31203133 - 2E362C32372E372031312E342C323220342C323220342C323620382E362C3236 - 2031342E342C34302E332032302E322C31382E392032322E362C32362033302C - 32362033302C3232222F3E0D0A20202020202020203C636972636C652063783D - 223332222063793D2232342220723D2234222F3E0D0A202020203C2F673E0D0A - 3C2F7376673E0D0A1400000065006C0065006300740072006900630061006C00 - 5F007400680072006500730068006F006C006400F20100003C73766720766572 - 73696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72 - 672F323030302F737667222076696577426F783D223020302034382034382220 - 656E61626C652D6261636B67726F756E643D226E657720302030203438203438 - 223E0D0A202020203C7265637420783D22332220793D223132222066696C6C3D - 2223383044454541222077696474683D22343222206865696768743D22323422 - 2F3E0D0A202020203C7265637420783D22332220793D223233222066696C6C3D - 2223303341394634222077696474683D22343222206865696768743D2232222F - 3E0D0A202020203C706174682066696C6C3D226E6F6E6522207374726F6B653D - 222333463531423522207374726F6B652D77696474683D223422207374726F6B - 652D6D697465726C696D69743D2231302220643D224D342C31386C342E352D31 - 2E3563302E392D302E332C312E392C302E312C322E332C302E396C382E372C31 - 342E332063302E372C312E322C322E342C312E332C332E322C302E326C322E33 - 2D322E3863302E352D302E362C312E342D302E392C322E322D302E366C332C31 - 63312C302E332C322E312D302E322C322E352D312E316C342E332D31302E3163 - 302E352D312E312C312E392D312E362C322E392D302E396C342C322E37222F3E - 0D0A3C2F7376673E0D0A0B00000065006C006500630074007200690063006900 - 74007900E70000003C7376672076657273696F6E3D22312220786D6C6E733D22 - 687474703A2F2F7777772E77332E6F72672F323030302F737667222076696577 - 426F783D223020302034382034382220656E61626C652D6261636B67726F756E - 643D226E657720302030203438203438223E0D0A202020203C70617468206669 - 6C6C3D22233030424344342220643D224D33332E372C354C32322C31376C3135 - 2C354C32312E332C33362E376C352E312C322E384C31322C34336C322E372D31 - 342E386C322E392C352E314C32372C32346C2D31352D354C32352C354833332E - 377A222F3E0D0A3C2F7376673E0D0A0F00000065006C0065006300740072006F - 005F006400650076006900630065007300490100003C7376672076657273696F - 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 - 3030302F737667222076696577426F783D22302030203438203438223E0D0A20 - 2020203C706174682066696C6C3D22233346353142352220643D224D33392C34 - 334839632D322E322C302D342D312E382D342D34563963302D322E322C312E38 - 2D342C342D3468333063322E322C302C342C312E382C342C347633304334332C - 34312E322C34312E322C34332C33392C34337A222F3E0D0A202020203C706174 - 682066696C6C3D22233830444545412220643D224D33332E322C356C2D392E38 - 2C31302E314C33362C31392E334C32322E382C33312E376C342E332C322E344C - 31352C33376C322E332D31322E356C322E342C342E336C382D372E384C31352C - 31362E384C32352E392C354833332E327A222F3E0D0A3C2F7376673E0D0A0B00 - 000065006C0065006300740072006F006E00690063007300000200003C737667 - 2076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77 - 332E6F72672F323030302F737667222076696577426F783D2230203020343820 - 34382220656E61626C652D6261636B67726F756E643D226E6577203020302034 - 38203438223E0D0A202020203C706174682066696C6C3D222346463938303022 - 20643D224D34342C3138762D344833345634682D34763130682D345634682D34 - 763130682D345634682D34763130483476346831307634483476346831307634 - 4834763468313076313068345633346834763130683456333468347631306834 - 563334683130762D3448333420762D34683130762D34483334762D344834347A - 222F3E0D0A202020203C706174682066696C6C3D22233443414635302220643D - 224D382C313276323463302C322E322C312E382C342C342C3468323463322E32 - 2C302C342D312E382C342D3456313263302D322E322D312E382D342D342D3448 - 313243392E382C382C382C392E382C382C31327A222F3E0D0A202020203C7061 - 74682066696C6C3D22233337343734462220643D224D33312C3331483137632D - 312E312C302D322D302E392D322D3256313963302D312E312C302E392D322C32 - 2D3268313463312E312C302C322C302E392C322C327631304333332C33302E31 - 2C33322E312C33312C33312C33317A222F3E0D0A3C2F7376673E0D0A0D000000 - 65006D007000740079005F006200610074007400650072007900720100003C73 - 76672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F777777 - 2E77332E6F72672F323030302F737667222076696577426F783D223020302034 - 382034382220656E61626C652D6261636B67726F756E643D226E657720302030 - 203438203438223E0D0A202020203C672066696C6C3D2223434644384443223E - 0D0A20202020202020203C7061746820643D224D33342C3434483134632D312E - 312C302D322D302E392D322D32563863302D312E312C302E392D322C322D3268 - 323063312E312C302C322C302E392C322C327633344333362C34332E312C3335 - 2E312C34342C33342C34347A222F3E0D0A20202020202020203C706174682064 - 3D224D32382C3133682D38632D302E362C302D312D302E342D312D3156356330 - 2D302E362C302E342D312C312D31683863302E362C302C312C302E342C312C31 - 76374332392C31322E362C32382E362C31332C32382C31337A222F3E0D0A2020 - 20203C2F673E0D0A3C2F7376673E0D0A0C00000065006D007000740079005F00 - 660069006C00740065007200740100003C7376672076657273696F6E3D223122 - 20786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73 - 7667222076696577426F783D223020302034382034382220656E61626C652D62 - 61636B67726F756E643D226E657720302030203438203438223E0D0A20202020 - 3C672066696C6C3D2223464643433830223E0D0A20202020202020203C706F6C - 79676F6E20706F696E74733D2232392C32332031392C323320372C392034312C - 39222F3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D2232 - 392C33382031392C34342031392C32332032392C3233222F3E0D0A2020202020 - 2020203C7061746820643D224D34312E352C39682D333543352E372C392C352C - 382E332C352C372E35763043352C362E372C352E372C362C362E352C36683335 - 4334322E332C362C34332C362E372C34332C372E3576304334332C382E332C34 - 322E332C392C34312E352C397A222F3E0D0A202020203C2F673E0D0A3C2F7376 - 673E0D0A0B00000065006D007000740079005F00740072006100730068005B01 - 00003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F - 2F7777772E77332E6F72672F323030302F737667222076696577426F783D2230 - 20302034382034382220656E61626C652D6261636B67726F756E643D226E6577 - 20302030203438203438223E0D0A202020203C706174682066696C6C3D222342 - 33394444422220643D224D33302E362C34344831372E34632D322C302D332E37 - 2D312E342D342D332E344C392C31316833306C2D342E352C32392E364333342E - 322C34322E362C33322E352C34342C33302E362C34347A222F3E0D0A20202020 - 3C706174682066696C6C3D22233745353743322220643D224D33382C31334831 - 30632D312E312C302D322D302E392D322D32763063302D312E312C302E392D32 - 2C322D3268323863312E312C302C322C302E392C322C3276304334302C31322E - 312C33392E312C31332C33382C31337A222F3E0D0A3C2F7376673E0D0A080000 - 0065006E0064005F00630061006C006C00FE0100003C7376672076657273696F - 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 - 3030302F737667222076696577426F783D223020302034382034382220656E61 - 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D - 0A202020203C706174682066696C6C3D22234634343333362220643D224D3433 - 2E352C31362E386C2D322E332D322E33632D382E312D372E392D32372E352D36 - 2E382D33342E352C306C2D322E332C322E33632D302E362C302E362D302E362C - 312E362C302C322E336C342E362C342E352063302E362C302E362C312E372C30 - 2E362C322E332C306C352E312D342E394C31362C31332E3463312E362D312E36 - 2C31342E342D312E362C31362C306C2D302E332C352E356C342E392C342E3763 - 302E362C302E362C312E372C302E362C322E332C306C342E362D342E35204334 - 342E322C31382E342C34342E322C31372E342C34332E352C31362E387A222F3E - 0D0A202020203C672066696C6C3D2223423731433143223E0D0A202020202020 - 20203C706F6C79676F6E20706F696E74733D2232342C34302E352031362C3331 - 2033322C3331222F3E0D0A20202020202020203C7265637420783D2232312220 - 793D223234222077696474683D223622206865696768743D22372E35222F3E0D - 0A202020203C2F673E0D0A3C2F7376673E0D0A0B00000065006E00670069006E - 0065006500720069006E0067005B0400003C7376672076657273696F6E3D2231 - 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F - 737667222076696577426F783D223020302034382034382220656E61626C652D - 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 - 203C706174682066696C6C3D22234546364330302220643D224D33372E342C32 - 342E366C2D31312E362D322E326C2D332E392D31312E326C2D332E382C312E33 - 4C32322C32332E366C2D372E382C396C332C322E366C372E382D396C31312E36 - 2C322E324C33372E342C32342E367A222F3E0D0A202020203C672066696C6C3D - 2223464639383030223E0D0A20202020202020203C7061746820643D224D3234 - 2C3139632D322E382C302D352C322E322D352C3563302C322E382C322E322C35 - 2C352C3573352D322E322C352D354332392C32312E322C32362E382C31392C32 - 342C31397A204D32342C3236632D312E312C302D322D302E392D322D32206330 - 2D312E312C302E392D322C322D3273322C302E392C322C324332362C32352E31 - 2C32352E312C32362C32342C32367A222F3E0D0A20202020202020203C706174 - 6820643D224D34302E372C323763302E322D312C302E332D322C302E332D3363 - 302D312D302E312D322D302E332D336C332E332D322E3463302E342D302E332C - 302E362D302E392C302E332D312E344C34302C392E3820632D302E332D302E35 - 2D302E382D302E372D312E332D302E344C33352C3131632D312E352D312E332D - 332E332D322E332D352E322D336C2D302E342D342E31632D302E312D302E352D - 302E352D302E392D312D302E39682D382E36632D302E352C302D312C302E342D - 312C302E394C31382E322C3820632D312E392C302E372D332E372C312E372D35 - 2E322C334C392E332C392E3343382E382C392E312C382E322C392E332C382C39 - 2E386C2D342E332C372E34632D302E332C302E352D302E312C312E312C302E33 - 2C312E344C372E332C323143372E312C32322C372C32332C372C32342063302C - 312C302E312C322C302E332C334C342C32392E34632D302E342C302E332D302E - 362C302E392D302E332C312E344C382C33382E3263302E332C302E352C302E38 - 2C302E372C312E332C302E344C31332C333763312E352C312E332C332E332C32 - 2E332C352E322C336C302E342C342E312063302E312C302E352C302E352C302E - 392C312C302E3968382E3663302E352C302C312D302E342C312D302E396C302E - 342D342E3163312E392D302E372C332E372D312E372C352E322D336C332E372C - 312E3763302E352C302E322C312E312C302C312E332D302E346C342E332D372E - 342063302E332D302E352C302E312D312E312D302E332D312E344C34302E372C - 32377A204D32342C3335632D362E312C302D31312D342E392D31312D31316330 - 2D362E312C342E392D31312C31312D31317331312C342E392C31312C31314333 - 352C33302E312C33302E312C33352C32342C33357A222F3E0D0A202020203C2F - 673E0D0A3C2F7376673E0D0A1500000065006E0074006500720069006E006700 - 5F00680065006100760065006E005F0061006C00690076006500A70200003C73 - 76672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F777777 - 2E77332E6F72672F323030302F737667222076696577426F783D223020302034 - 382034382220656E61626C652D6261636B67726F756E643D226E657720302030 - 203438203438223E0D0A202020203C7265637420783D2231372220793D223239 - 222066696C6C3D2223303339424535222077696474683D223134222068656967 - 68743D2232222F3E0D0A202020203C7265637420783D2231332220793D223333 - 222066696C6C3D2223303339424535222077696474683D223232222068656967 - 68743D2232222F3E0D0A202020203C7265637420783D22392220793D22333722 - 2066696C6C3D2223303339424535222077696474683D22333022206865696768 - 743D2232222F3E0D0A202020203C7265637420783D22352220793D2234312220 - 66696C6C3D2223303339424535222077696474683D2233382220686569676874 - 3D2232222F3E0D0A202020203C706174682066696C6C3D222338314434464122 - 20643D224D33352C3133632D302E342C302D302E382C302D312E322C302E3143 - 33322E392C382E352C32382E392C352C32342C35632D342E312C302D372E362C - 322E352D392E322C36632D302E332C302D302E352C302D302E382C3020632D34 - 2E342C302D382C332E362D382C3873332E362C382C382C3863322E342C302C31 - 382E352C302C32312C3063332E392C302C372D332E312C372D374334322C3136 - 2E312C33382E392C31332C33352C31337A222F3E0D0A202020203C7061746820 - 66696C6C3D22233033394245352220643D224D32382C323163302D322E322D31 - 2E382D342D342D34732D342C312E382D342C3463302C302E352C302C362C302C - 3668384332382C32372C32382C32312E352C32382C32317A222F3E0D0A3C2F73 - 76673E0D0A0600000065007800700061006E006400C80000003C737667207665 - 7273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F - 72672F323030302F737667222076696577426F783D2230203020343820343822 - 20656E61626C652D6261636B67726F756E643D226E6577203020302034382034 - 38223E0D0A202020203C706F6C79676F6E2066696C6C3D222332313936463322 - 20706F696E74733D2234332C31372E312033392E392C31342032342C32392E39 - 20382E312C313420352C31372E312032342C3336222F3E0D0A3C2F7376673E0D - 0A060000006500780070006F0072007400710100003C7376672076657273696F - 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 - 3030302F737667222076696577426F783D223020302034382034382220656E61 - 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D - 0A202020203C706174682066696C6C3D22234646434342432220643D224D372C - 3430563863302D322E322C312E382D342C342D3468323463322E322C302C342C - 312E382C342C3476333263302C322E322D312E382C342D342C3448313143382E - 382C34342C372C34322E322C372C34307A222F3E0D0A202020203C672066696C - 6C3D2223464635373232223E0D0A20202020202020203C706F6C79676F6E2070 - 6F696E74733D2234322E372C32342033322C33332033322C3135222F3E0D0A20 - 202020202020203C7265637420783D2231342220793D22323122207769647468 - 3D22323322206865696768743D2236222F3E0D0A202020203C2F673E0D0A3C2F - 7376673E0D0A08000000650078007400650072006E0061006C00300100003C73 - 76672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F777777 - 2E77332E6F72672F323030302F737667222076696577426F783D223020302034 - 382034382220656E61626C652D6261636B67726F756E643D226E657720302030 - 203438203438223E0D0A202020203C636972636C652066696C6C3D2223423244 - 464442222063783D223234222063793D2233312220723D223134222F3E0D0A20 - 2020203C672066696C6C3D2223303039363838223E0D0A20202020202020203C - 706F6C79676F6E20706F696E74733D2232342C332E332033332C31342031352C - 3134222F3E0D0A20202020202020203C7265637420783D2232312220793D2231 - 31222077696474683D223622206865696768743D223233222F3E0D0A20202020 - 3C2F673E0D0A3C2F7376673E0D0A0700000066006100630074006F0072007900 - 6F0200003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 - 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D - 223020302034382034382220656E61626C652D6261636B67726F756E643D226E - 657720302030203438203438223E0D0A202020203C706174682066696C6C3D22 - 234246333630432220643D224D34312E322C35682D372E334C33322C34336831 - 314C34312E322C357A222F3E0D0A202020203C706174682066696C6C3D222345 - 36344131392220643D224D33332C3233682D34762D366C2D31322C36762D364C - 352C32337632306832385632337A222F3E0D0A202020203C7265637420783D22 - 392220793D223237222066696C6C3D2223464643313037222077696474683D22 - 3422206865696768743D2234222F3E0D0A202020203C7265637420783D223137 - 2220793D223237222066696C6C3D2223464643313037222077696474683D2234 - 22206865696768743D2234222F3E0D0A202020203C7265637420783D22323522 - 20793D223237222066696C6C3D2223464643313037222077696474683D223422 - 206865696768743D2234222F3E0D0A202020203C7265637420783D2239222079 - 3D223335222066696C6C3D2223464643313037222077696474683D2234222068 - 65696768743D2234222F3E0D0A202020203C7265637420783D2231372220793D - 223335222066696C6C3D2223464643313037222077696474683D223422206865 - 696768743D2234222F3E0D0A202020203C7265637420783D2232352220793D22 - 3335222066696C6C3D2223464643313037222077696474683D22342220686569 - 6768743D2234222F3E0D0A3C2F7376673E0D0A1100000066006100630074006F - 00720079005F0062007200650061006B0064006F0077006E00720200003C7376 - 672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E - 77332E6F72672F323030302F737667222076696577426F783D22302030203438 - 2034382220656E61626C652D6261636B67726F756E643D226E65772030203020 - 3438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D2223453634 - 4131392220706F696E74733D2232392C32332032392C31372032312C32312032 - 312C32332031372C32332031372C32372031332C32372031332C323320352C32 - 3320352C34332033332C34332033332C3233222F3E0D0A202020203C72656374 - 20783D2232352220793D223237222066696C6C3D222339393242304122207769 - 6474683D223422206865696768743D2234222F3E0D0A202020203C7265637420 - 783D22392220793D223335222066696C6C3D2223393932423041222077696474 - 683D223422206865696768743D2234222F3E0D0A202020203C7265637420783D - 2232352220793D223335222066696C6C3D222339393242304122207769647468 - 3D223422206865696768743D2234222F3E0D0A202020203C7265637420783D22 - 31372220793D223335222066696C6C3D2223393932423041222077696474683D - 223422206865696768743D2234222F3E0D0A202020203C7265637420783D2231 - 372220793D223237222066696C6C3D2223393932423041222077696474683D22 - 3422206865696768743D2234222F3E0D0A202020203C706F6C79676F6E206669 - 6C6C3D22234246333630432220706F696E74733D2234312E322C352033382C35 - 2033382C372033362C372033362C392033332E372C392033322C34332034332C - 3433222F3E0D0A3C2F7376673E0D0A03000000660061007100740400003C7376 - 672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E - 77332E6F72672F323030302F737667222076696577426F783D22302030203438 - 2034382220656E61626C652D6261636B67726F756E643D226E65772030203020 - 3438203438223E0D0A202020203C706174682066696C6C3D2223353538423246 - 2220643D224D31352C34306832336C362C3656323563302D322E322D312E382D - 342D342D34483135632D322E322C302D342C312E382D342C347631314331312C - 33382E322C31322E382C34302C31352C34307A222F3E0D0A202020203C706174 - 682066696C6C3D22233142354532302220643D224D32382E382C33322E38682D - 332E366C2D302E372C322E31682D322E326C332E372D313068312E396C332E37 - 2C3130682D322E324C32382E382C33322E387A204D32352E372C33312E326832 - 2E354C32372C32372E344C32352E372C33312E327A222F3E0D0A202020203C70 - 6174682066696C6C3D22233842433334412220643D224D33332C32354831306C - 2D362C36563863302D322E322C312E382D342C342D3468323563322E322C302C - 342C312E382C342C347631334333372C32332E322C33352E322C32352C33332C - 32357A222F3E0D0A202020203C706174682066696C6C3D22236666662220643D - 224D32352E342C31342E3263302C312D302E322C312E382D302E352C322E3563 - 2D302E332C302E372D302E372C312E332D312E332C312E376C312E372C312E33 - 4C32342C32302E396C2D322E322D312E37632D302E322C302D302E352C302E31 - 2D302E382C302E3120632D302E362C302D312E322D302E312D312E382D302E33 - 632D302E352D302E322D312D302E362D312E342D31632D302E342D302E342D30 - 2E372D312D302E392D312E36632D302E322D302E362D302E332D312E332D302E - 332D322E31762D302E3463302D302E382C302E312D312E352C302E332D322E31 - 2063302E322D302E362C302E352D312E322C302E392D312E3663302E342D302E - 342C302E382D302E382C312E342D3163302E352D302E322C312E312D302E332C - 312E382D302E3363302E362C302C312E322C302E312C312E382C302E3363302E - 352C302E322C312C302E362C312E342C312063302E342C302E342C302E372C31 - 2C302E392C312E3663302E322C302E362C302E332C312E332C302E332C322E31 - 5631342E327A204D32332E322C31332E3763302D312E312D302E322D312E392D - 302E362D322E34632D302E342D302E362D302E392D302E382D312E362D302E38 - 20632D302E372C302D312E332C302E332D312E362C302E38632D302E342C302E - 362D302E362C312E342D302E362C322E3476302E3563302C302E352C302E312C - 312C302E322C312E3463302E312C302E342C302E322C302E382C302E342C3163 - 302E322C302E332C302E342C302E352C302E372C302E362063302E332C302E31 - 2C302E362C302E322C302E392C302E3263302E372C302C312E332D302E332C31 - 2E362D302E3863302E342D302E362C302E362D312E342C302E362D322E355631 - 332E377A222F3E0D0A3C2F7376673E0D0A0700000066006500650064005F0069 - 006E00570200003C7376672076657273696F6E3D22312220786D6C6E733D2268 - 7474703A2F2F7777772E77332E6F72672F323030302F73766722207669657742 - 6F783D223020302034382034382220656E61626C652D6261636B67726F756E64 - 3D226E657720302030203438203438223E0D0A202020203C706174682066696C - 6C3D22233231393646332220643D224D33382C323476313263302C312E312D30 - 2E392C322D322C32483132632D312E312C302D322D302E392D322D3256323463 - 302D332E332D322E372D362D362D3668307634683063312E312C302C322C302E - 392C322C327631322063302C332E332C322E372C362C362C3668323463332E33 - 2C302C362D322E372C362D3656323463302D312E312C302E392D322C322D3268 - 30762D3468304334302E372C31382C33382C32302E372C33382C32347A222F3E - 0D0A202020203C672066696C6C3D2223334635314235223E0D0A202020202020 - 20203C706F6C79676F6E20706F696E74733D2233382E362C352E362032392C31 - 352E322032392C32382033332C32382033332C31362E382034312E342C382E34 - 222F3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D22362E - 362C382E342031352C31362E382031352C32382031392C32382031392C31352E - 3220392E342C352E36222F3E0D0A20202020202020203C706F6C79676F6E2070 - 6F696E74733D2233372C32372033312C33332032352C3237222F3E0D0A202020 - 20202020203C706F6C79676F6E20706F696E74733D2232332C32372031372C33 - 332031312C3237222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0800 - 000066006500650064006200610063006B00380200003C737667207665727369 - 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F - 323030302F737667222076696577426F783D223020302034382034382220656E - 61626C652D6261636B67726F756E643D226E657720302030203438203438223E - 0D0A202020203C706174682066696C6C3D22233738393039432220643D224D34 - 302C34314838632D322E322C302D342D312E382D342D346C302D32302E396330 - 2D312E332C302E362D322E352C312E372D332E334C32342C306C31382E332C31 - 322E3863312E312C302E372C312E372C322C312E372C332E3356333720433434 - 2C33392E322C34322E322C34312C34302C34317A222F3E0D0A202020203C7265 - 637420783D2231322220793D223131222066696C6C3D22236666662220776964 - 74683D22323422206865696768743D223232222F3E0D0A202020203C706F6C79 - 676F6E2066696C6C3D22233943323742302220706F696E74733D2232342C3133 - 2E362031382C32312E342033302C32312E34222F3E0D0A202020203C70617468 - 2066696C6C3D22234346443844432220643D224D34302C34314838632D322E32 - 2C302D342D312E382D342D346C302D32306C32302C31336C32302D3133763230 - 4334342C33392E322C34322E322C34312C34302C34317A222F3E0D0A20202020 - 3C706F6C79676F6E2066696C6C3D22233943323742302220706F696E74733D22 - 32342C32382032362C32362E372032362C32302032322C32302032322C32362E - 37222F3E0D0A3C2F7376673E0D0A04000000660069006C006500F30000003C73 - 76672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F777777 - 2E77332E6F72672F323030302F737667222076696577426F783D223020302034 - 382034382220656E61626C652D6261636B67726F756E643D226E657720302030 - 203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D22233930 - 434146392220706F696E74733D2234302C343520382C343520382C332033302C - 332034302C3133222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223 - 4531463546452220706F696E74733D2233382E352C31342032392C3134203239 - 2C342E35222F3E0D0A3C2F7376673E0D0A0E000000660069006C0069006E0067 - 005F0063006100620069006E0065007400100300003C7376672076657273696F - 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 - 3030302F737667222076696577426F783D223020302034382034382220656E61 - 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D - 0A202020203C7265637420783D2231322220793D223434222066696C6C3D2223 - 323633323338222077696474683D223422206865696768743D2232222F3E0D0A - 202020203C7265637420783D2233322220793D223434222066696C6C3D222332 - 3633323338222077696474683D223422206865696768743D2232222F3E0D0A20 - 2020203C706174682066696C6C3D22233630374438422220643D224D382C3431 - 563763302D322E322C312E382D342C342D3468323463322E322C302C342C312E - 382C342C3476333463302C322E322D312E382C342D342C3448313243392E382C - 34352C382C34332E322C382C34317A222F3E0D0A202020203C70617468206669 - 6C6C3D22234230424543352220643D224D31322C3137563863302D302E362C30 - 2E342D312C312D3168323263302E362C302C312C302E342C312C317639483132 - 7A222F3E0D0A202020203C7265637420783D2231322220793D22313922206669 - 6C6C3D2223423042454335222077696474683D22323422206865696768743D22 - 3130222F3E0D0A202020203C706174682066696C6C3D22234230424543352220 - 643D224D31322C3430762D39683234763963302C302E362D302E342C312D312C - 314831334331322E342C34312C31322C34302E362C31322C34307A222F3E0D0A - 202020203C7265637420783D2232302220793D223131222066696C6C3D222335 - 3436453741222077696474683D223822206865696768743D2232222F3E0D0A20 - 2020203C7265637420783D2232302220793D223233222066696C6C3D22233534 - 36453741222077696474683D223822206865696768743D2232222F3E0D0A2020 - 20203C7265637420783D2232302220793D223335222066696C6C3D2223353436 - 453741222077696474683D223822206865696768743D2232222F3E0D0A3C2F73 - 76673E0D0A0D000000660069006C006C00650064005F00660069006C00740065 - 0072007F0100003C7376672076657273696F6E3D22312220786D6C6E733D2268 - 7474703A2F2F7777772E77332E6F72672F323030302F73766722207669657742 - 6F783D223020302034382034382220656E61626C652D6261636B67726F756E64 - 3D226E657720302030203438203438223E0D0A202020203C706F6C79676F6E20 - 66696C6C3D22234635374330302220706F696E74733D2232392C32332031392C - 323320372C392034312C39222F3E0D0A202020203C672066696C6C3D22234646 - 39383030223E0D0A20202020202020203C706F6C79676F6E20706F696E74733D - 2232392C33382031392C34342031392C32332032392C3233222F3E0D0A202020 - 20202020203C7061746820643D224D34312E352C39682D333543352E372C392C - 352C382E332C352C372E35763043352C362E372C352E372C362C362E352C3668 - 33354334322E332C362C34332C362E372C34332C372E3576304334332C382E33 - 2C34322E332C392C34312E352C397A222F3E0D0A202020203C2F673E0D0A3C2F - 7376673E0D0A13000000440065006C007000680069005F00500072006F006400 - 7500630074002000690063006F006E008D2300003C3F786D6C2076657273696F - 6E3D22312E302220656E636F64696E673D227574662D38223F3E0D0A3C737667 - 2076657273696F6E3D22312E312220783D223070782220793D22307078222076 - 696577426F783D223020302038303030203830303022207374796C653D22656E - 61626C652D6261636B67726F756E643A6E657720302030203830303020383030 - 303B2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030 - 302F737667223E0D0A20203C7374796C6520747970653D22746578742F637373 - 223E0D0A092E7374307B646973706C61793A6E6F6E653B66696C6C3A23464646 - 4646463B7374726F6B653A234331323732443B7374726F6B652D77696474683A - 32303B7374726F6B652D6D697465726C696D69743A31303B7D0D0A092E737431 - 7B66696C6C3A234633323733353B7D0D0A092E7374327B66696C6C3A23394530 - 4632303B7D0D0A092E7374337B66696C6C3A234646464646463B7D0D0A3C2F73 - 74796C653E0D0A20203C672069643D2243616D6164615F31223E0D0A20202020 - 3C673E0D0A2020202020203C673E0D0A20202020202020203C636972636C6520 - 63783D2234303030222063793D22333939392E39392220723D22333938392E38 - 33222066696C6C3D2223463332373335222F3E0D0A20202020202020203C7061 - 746820636C6173733D227374322220643D224D363830392E39382C313136372E - 35344C313139302E32392C363833322E3763302E31322C302E31322C302E3234 - 2C302E32342C302E33352C302E33352063313536342E35362C313535312E3637 - 2C343039302E37362C313534312E32312C353634322E34322D32332E33354338 - 3338342E36342C353234352E32342C383337342E32382C323731392E32332C36 - 3830392E39382C313136372E35347A222066696C6C3D2223394530463230222F - 3E0D0A2020202020203C2F673E0D0A2020202020203C673E0D0A202020202020 - 20203C7061746820636C6173733D227374332220643D224D20333431382E3535 - 20343636332E3838204320333532322E303720343539342E353920333632342E - 313920343532332E3220333732372E303320343435322E383920432034313430 - 2E363620343137302E313220343535342E333520333838372E34332034393638 - 2E303320333630342E3733204C20353432382E383920333238382E3436204320 - 353430342E393520333236362E343620353338332E393820333234362E303720 - 353336312E383120333232372E3132204320353233302E393820333131352E33 - 3120353039302E363320333031372E343820343933382E3420323933362E3636 - 204320343730302E373720323831302E353120343434392E333720323732392E - 313220343138302E333920323731312E3334204320343034312E373720323730 - 322E313820333930322E363220323730392E3534203337363520323733332E31 - 34204320333535382E303820323736382E363220333336312E37342032383334 - 2E383320333137362E343620323933332E3934204320323930322E3735203330 - 38302E333420323637362E323920333238302E333120323439362E3835203335 - 33332E3239204320323239302E303620333832342E383420323137352E333220 - 343135302E3320323134352E393120343530352E3632204320323133342E3132 - 20343634382E303720323134302E373520343739302E373720323136322E3838 - 20343933322E3131204320323139312E323120353131332E313220323234322E - 343120353238372E363220323331392E353820353435342E3120432032343035 - 2E3320353633392E303220323531372E373920353830362E303520323635362E - 393920353935342E3835204320323639302E383220353939312E303120323732 - 372E343620363032342E353320323736332E373720363036302E322043203238 - 31372E333920353938352E363520323839302E3235203539343520323937302E - 383920353931362E3333204320333131352E343120353836342E393620333236 - 362E353220353835352E3820333431372E363620353835322E34322043203335 - 30312E373820353835302E353420333538362E333120353835362E3338203336 - 37302E333120353836322E3939204320333736352E363120353837302E343920 - 333836302E353820353838322E333320333935352E3620353839332E31322043 - 20343030302E363420353839382E323320343034352E343620353930352E3239 - 20343039342E363820353931322E3036204320333935352E333120353631392E - 343220333831382E313120353333312E333320333638302E393520353034332E - 3332204320333630392E383420353035372E333520333534322E353720353037 - 302E363220333437332E373220353038342E32204320333437312E3134203530 - 37372E323220333436382E383920353037322E383820333436372E3933203530 - 36382E3237204320333434332E373820343935322E363120333432312E313620 - 343833362E3620333339342E373720343732312E3436204320333338382E3134 - 20343639322E353620333339352E353620343637392E323720333431382E3535 - 20343636332E3838205A204D20333232362E393320333232382E383120432032 - 3932372E373520333437372E343820323638382E3320333736392E3638203235 - 36342E343520343134352E3139204320323532392E393320343234392E383420 - 323531302E3220343335372E323620323530302E353320343436372E31382043 - 20323437342E303220343736382E343520323534322E353320353035302E3438 - 20323637332E383220353331382E3637204320323732322E313220353431372E - 333420323738322E313520353531302E323720323833362E383320353630352E - 3832204320323834302E3520353631322E323320323834342E3120353631382E - 363720323835302E303520353632392E32204320323830392E32392035363439 - 2E393620323737302E353920353637302E363320323733302E39362035363839 - 2E3331204320323731372E343320353639352E363820323730332E3731203536 - 39382E323420323639322E363820353637382E3933204320323537372E393420 - 353437372E393220323438332E3620353236382E343220323432362E33362035 - 3034332E3436204320323338362E353620343838372E303220323336342E3034 - 20343732372E383520323337302E313520343536362E3434204320323338302E - 333720343239362E353620323435362E303320343034352E363620323539382E - 373220333831352E3335204320323732332E333420333631342E322032383832 - 2E323520333434342E343520333036362E333620333239372E30382043203332 - 32332E333320333137312E343320333339322E303820333036342E3838203335 - 37342E353620323938302E3238204320333538322E393220323937362E343120 - 333539312E3439203239373320333539392E393620323936392E333820432033 - 3436372E383620333034352E393620333334332E353320333133312E39203332 - 32362E393320333232382E3831205A222066696C6C3D2223666666666666222F - 3E0D0A20202020202020203C7061746820636C6173733D227374332220643D22 - 4D333831302E31352C353132362E39356337312E33342D31332E37382C313431 - 2E30392D32372E37332C3231312E31342D34302E303363372E30362D312E3234 - 2C31372E35332C352E38352C32332E36322C31312E3920633130312E32362C31 - 30302E36322C3139392E30362C3230342E39352C3330332E392C3330312E3635 - 6338372E39312C38312E312C3138332E38322C3135332E35342C3237362E3337 - 2C3232392E3539633133312E39322C3130382E342C3234372E32322C3233322E - 35362C3334362E34342C3337312E313720633137332E342C3234322E32362C32 - 39382E37352C3530372E33362C3336382E33362C3739372E3563362E31322C32 - 352E35312D312E36362C35362E392D31302E35332C38322E3939632D33302E31 - 322C38382E36342D39342E30322C3135322E35382D3136342E36362C3230392E - 373520632D39382E39362C38302E30392D3230392E38332C3133392E39322D33 - 32372E332C3138382E3431632D32342E34322C31302E30382D33332E32392C35 - 2E32352D34342E32322D31382E3637632D3132302E39352D3236342E35392D32 - 34332E34342D3532382E34382D3336352E33362D3739322E363320632D313635 - 2E32392D3335382E312D3333302E34332D3731362E32372D3439352E36372D31 - 3037342E3339632D33382E34382D38332E33392D37372E30392D3136362E3731 - 2D3131352E35372D3235302E312043333831342E33332C353133392E30342C33 - 3831322E36382C353133332E36362C333831302E31352C353132362E39357A22 - 2066696C6C3D2223666666666666222F3E0D0A20202020202020203C70617468 - 20636C6173733D227374332220643D224D20343038312E3520363033382E3539 - 204320343037372E363320363033302E323620343036352E353920363032312E - 343620343035362E3520363032302E3434204320333837372E39352036303030 - 2E333820333639392E353320353937382E333920333532302E35332035393633 - 2E3331204320333339352E323720353935322E373620333236392E3420353936 - 302E333220333134342E373920353937372E3938204320333035362E35372035 - 3939302E343820323937302E323120363031312E343420323839312E31203630 - 35342E3832204320323834342E363420363038302E3320323831302E30322036 - 3131342E343920323738382E393720363136362E3038204320323732372E3835 - 20363331352E393120323636322E3520363436342E303220323539382E373420 - 363631322E3737204320323536352E363420363638392E393920323533322E34 - 20363736372E313620323439372E313320363834392E3233204320323530352E - 343320363834362E373520323530382E363820363834352E383720323531312E - 383720363834342E38204320323638352E333720363738362E35382032383635 - 2E313720363736392E383920333034362E3420363736392E3732204320333135 - 342E343820363736392E363220333236322E373720363737372E333120333337 - 302E353920363738362E3131204320333437362E323720363739342E37342033 - 3538312E393120363830362E323920333638362E373820363832312E38352043 - 20333832332E323520363834322E303920333935382E393520363836372E3536 - 20343039372E393820363839312E3239204320343136332E333420363737332E - 353420343233302E333820363635332E313120343239362E3720363533322E32 - 38204320343330302E313220363532362E303520343330302E30352036353135 - 2E313720343239372E303320363530382E3533204320343232352E3737203633 - 35312E363220343135342E303920363139342E383920343038312E3520363033 - 382E3539205A204D20333036302E303720363136322E3336204320333034352E - 393420363136362E363920333033312E303720363137372E343120333032322E - 333920363138392E34204320323932362E343220363332312E39372032383331 - 2E353920363435352E333620323733362E363120363538382E36342043203237 - 33342E303220363539322E323720323733332E323820363539372E3232203237 - 33312E363720363630312E3535204320323732392E313920363539392E343120 - 323732362E373120363539372E323820323732342E323320363539352E313420 - 4320323734302E373120363536302E303320323735362E393520363532342E38 - 3120323737332E373220363438392E3834204320323832392E31332036333734 - 2E323620323838342E343120363235382E363220323934302E38312036313433 - 2E3532204320323934352E393520363133332E303420323935372E3434203631 - 32312E383620323936382E323720363131382E3538204320333038322E373120 - 363038332E393320333139392E353720363036322E383420333331382E393420 - 363035322E3537204320333430372E3420363034342E393620333439342E3437 - 20363034372E353120333538312E333320363036342E3537204320333539302E - 343620363036362E333620333539392E333420363036392E343420333630382E - 333320363037312E3933204320333431372E333320363035382E313520333233 - 382E323120363130372E373920333036302E303720363136322E3336205A2220 - 66696C6C3D2223666666666666222F3E0D0A20202020202020203C7061746820 - 636C6173733D227374332220643D224D20353832372E313320343235322E3231 - 204320353830352E3620343131392E373720353738332E383420333938372E33 - 3720353736322E353720333835342E3839204320353734332E36362033373337 - 2E313420353732352E353420333631392E323720353730362E35372033353031 - 2E3533204320353639322E313120333431312E373620353637372E3031203333 - 32322E303620353636312E363720333232392E3534204C20333439312E373820 - 343731382E3637204320333438342E333720343732352E333920333437372E31 - 3420343733382E303720333437382E393520343734352E313720432033343936 - 2E373120343831342E393320333531362E393120343838342E30362033353336 - 2E323720343935322E3938204320333534312E313720343935332E3233203335 - 34342E313320343935332E393720333534362E383520343935332E3433204320 - 333731382E373120343931392E333120333839302E343620343838342E363520 - 343036322E3420343835302E3938204320343339312E343320343738362E3535 - 20343732302E363220343732322E393520353034392E363320343635382E3439 - 204320353331332E323720343630362E383320353537362E3638203435353420 - 353834302E34352034353033204320353836332E363320343439382E35322035 - 3836352E383220343438382E393320353836322E363320343436392E39352043 - 20353835302E343420343339372E343420353833382E393320343332342E3820 - 353832372E313320343235322E3231205A222066696C6C3D2223666666666666 - 222F3E0D0A20202020202020203C673E0D0A202020202020202020203C706174 - 6820636C6173733D227374332220643D224D343538312E352C323433382E3332 - 632D35312E35392C37342E37342D3130332E32332C3134392E34352D3135342E - 30392C3232332E3038633238342E30322C34382E372C3530382E39352C313635 - 2E35362C3633302E39332C3233362E3038206331382E382C382E35382C33302E - 33362C372E30342C34352E35322D352E39376339352E32382D38312E37382C31 - 39312E30342D3136332E30312C3238372E31382D3234332E38633139302E3034 - 2D3135392E372C3338302E35382D3331382E38322C3537302E36332D3437382E - 353120633139392E38312D3136372E38382C3339392E33342D3333362E30382C - 3539382E39322D3530342E3233632D3332362E33392D3233322E30372D363935 - 2E322D3430372E33312D313039322E32312D3531312E3320632D39312E39312C - 3133332E37352D3138342E34342C3236372E30382D3237362E36362C3430302E - 363243343938382E32362C313834382E39332C343738342E39312C323134332E - 36352C343538312E352C323433382E33327A222066696C6C3D22236666666666 - 66222F3E0D0A202020202020202020203C7061746820636C6173733D22737433 - 2220643D224D333532342E31392C323436372E3438632D32312E34392C37392E - 38372D34342E36372C3136352E39372D36362E39382C3235302E32376334362E - 35362D31302E33372C3332332E31372D3131352E322C3731382E38382D38382E - 3832206331392E30382C312E31362C32382E39372D352E36382C33372E38362D - 32322E33326338352E332D3135392E36362C3136362E35362D3331312E38352C - 3235322E342D3437312E3232633132342E30342D3233302E32382C3234372E39 - 392D3436302E36322C3337312E39392D3639302E3933206336362E34322D3132 - 332E33362C3133322E38382D3234362E37312C3230312E31362D3337332E3436 - 632D3133372E33352D31372E32332D3237372E32322D32362E31362D3431392E - 31332D32362E3136632D3235322E35312C302D3439382E36312C32382E31372D - 3733352E34332C38312E343520632D362E38342C32382E36332D31342E39352C - 35362E39372D32322E362C38352E343143333734392E36332C313633302E332C - 333633362E38332C323034382E38372C333532342E31392C323436372E34387A - 222066696C6C3D2223666666666666222F3E0D0A202020202020202020203C70 - 61746820636C6173733D227374332220643D224D323534352E38362C31383336 - 2E353363362E36332C37382E31342C31332E33342C3135362E32372C31392E38 - 382C3233342E343263362E332C37352E332C31322E32322C3135302E36332C31 - 382E372C3232352E39312063362E35362C37362E31382C31332E38382C313532 - 2E32392C32302E33342C3232382E343863362E36322C37382E322C31322E3538 - 2C3135362E34372C31382E38362C3233342E3763362E30352C37352E33392C31 - 312E39382C3135302E37392C31382E32382C3232362E31362063352E36392C36 - 382E30382C31312E34332C3133392E36312C31372E37312C3231312E36386337 - 372E33382D37352E36332C3331372E30312D3238392E33312C3631322E34382D - 3431312E39386331332E37352D352E37312C32372E33382D382E38322C33302E - 38342D33302E3931206331382E34362D3131372E36372C33362E35322D323135 - 2E32322C35372E30332D3333322E35386332382E36382D3136342E31312C3537 - 2E33332D3332382E32332C38352E392D3439322E33376333352E37372D323035 - 2E35342C37312E35322D3431312E30392C3130372E30362D3631362E36372063 - 352E35392D33322E33332C31302E34392D36342E38322C31352E38362D39392E - 3336632D3337352E37312C3132342E35342D3732322E35322C3331332E392D31 - 3032372E33322C3535342E3935632D302E31342C302E362D302E33312C312E32 - 312D302E33322C312E382043323534302E36352C313739322E36352C32353433 - 2E39392C313831342E36312C323534352E38362C313833362E35337A22206669 - 6C6C3D2223666666666666222F3E0D0A202020202020202020203C7061746820 - 636C6173733D227374332220643D224D323135312E36392C333630322E303363 - 32382E39352C35382E32362C36322E36312C3132362E34352C39322E34342C31 - 38362E33356336322E38382D3133392E33382C3139342E32362D3334372E3537 - 2C3331382E31332D3438382E37322063362E34312D372E33312C31302E31342D - 32312E34392C382E31322D33302E3938632D32302E38312D39372E38392D3433 - 2E31342D3138392E36362D36352E30352D3238372E3332632D35372E39312D32 - 35382E312D3131352E38362D3531362E322D3137332E38322D3737342E323920 - 632D31352E32312D36372E37332D33302E35362D3133352E34322D34372E3533 - 2D3231302E3539632D32322E37342C32342E32332D34302E34372C34322E3835 - 2D35372E392C36312E3734632D37322E38332C37382E39362D3135312E35372C - 3135332E33392D3231362E39362C3233382E3120632D38382E30392C3131342E - 312D3136382E38332C3233332E38362D3235312E39322C3335312E3835632D31 - 342E30362C32322E36362D32372E38362C34352E35312D34312E342C36382E35 - 3263302E30312C362E362C322E32362C31332E32352C362E30342C32302E3834 - 2043313836352E34312C333032352E35362C323030382E34382C333331332E38 - 322C323135312E36392C333630322E30337A222066696C6C3D22236666666666 - 66222F3E0D0A202020202020202020203C7061746820636C6173733D22737433 - 2220643D224D313436332E33392C333737332E3235633136362E37352C313437 - 2E32342C3333332E35382C3239342E342C3530302E34332C3434312E35336333 - 382C33332E35312C37382E392C36392E33382C3132302E32362C3130352E3631 - 206331352E38332D3132342E38372C35382E322D3237392E37362C3130352E39 - 362D3430312E383763392E31362D32332E34332D302E30342D33372E33322D31 - 322E33312D35332E3738632D3136382E37382D3232362E34322D3333392E3236 - 2D3435322E35352D3530372E39332D3637392E303620632D33372E39392D3531 - 2E30322D37362E33322D3130312E382D3131352E39342D3135342E3632632D34 - 2E34372C382E34312D372E33332C31332E31382D392E36332C31382E32632D35 - 2E39372C31332E30362D31312E38342C32362E31352D31372E36332C33392E32 - 3720632D37382E31392C3138302E32332D3134312E32392C3336382E35382D31 - 38372E37372C3536332E333763312E35342C362E36382C352E30322C31332E35 - 342C392E31322C31372E343143313338352E362C333730342E38342C31343234 - 2E35372C333733382E39372C313436332E33392C333737332E32357A22206669 - 6C6C3D2223666666666666222F3E0D0A202020202020202020203C7061746820 - 636C6173733D227374332220643D224D313933372E322C343837322E30366334 - 342E36352C31352E34352C39342E34392C33322E39342C3134302E32392C3438 - 2E3934632D32362E38322D3136352E37362D31342E37382D3430302E392D3131 - 2E38372D3435312E35362063312E31392D32302E36342D352E36382D33322E32 - 382D32332E38352D34332E3439632D3138392E30382D3131362E35372D333831 - 2E33362D3233352E30332D3536392E39352D3335322E34632D36322E352D3338 - 2E38392D3132352E31332D37372E36322D3139302E39332D3131382E34322063 - 2D32332E32372C3136312E30322D33352E33392C3332352E36342D33352E3339 - 2C3439332E303763302C36322E33382C312E37322C3132342E33352C352E3033 - 2C3138352E393163322E38382C312E36322C362E32352C332E30382C31302E32 - 322C342E34342043313438362E34342C343731352E38312C313731312E37382C - 343739342E30332C313933372E322C343837322E30367A222066696C6C3D2223 - 666666666666222F3E0D0A202020202020202020203C7061746820636C617373 - 3D227374332220643D224D323235322E39322C353530372E3534632D31312E31 - 382D31392E36322D32322E39352D32322E37342D34332E31352D31372E383863 - 2D3139302E35382C34352E38322D3338362E34352C39322E31382D3537372E31 - 352C3133372E353420632D35342E31352C31322E38382D3130382E33332C3235 - 2E39312D3136332E36322C33392E31386336322E332C3136332E33362C313336 - 2E37332C3332302E36392C3232322E32312C3437302E3836633233342E38342D - 3132352E34312C3437302E33342D3235302E38322C3730352E34392D3337362E - 34342043323330352E36382C353632302E312C323239362E39392C353538342E - 392C323235322E39322C353530372E35347A222066696C6C3D22236666666666 - 66222F3E0D0A202020202020202020203C7061746820636C6173733D22737433 - 2220643D224D313734372E31352C353337332E3531633130342E35392D302E38 - 392C3230392E322D302E31382C3331332E382D302E31386334332E35362C302C - 38372E31332C302C3133332E36332C3020632D322E36382D31302E33322D3635 - 2E36352D3139302E32372D38352E34342D3238332E3438632D312E32362D382E - 38352D31352E392D32302E35322D32362E30372D32322E3639632D3233312E38 - 352D34392E34352D3436312E392D39362E38372D3639332E39382D3134352E32 - 3420632D33372E33342D372E37382D37342E39332D31342E38342D3131332E39 - 372D32322E346332312E36322C3136332E38342C35342E37382C3332342E3035 - 2C39382E37342C3437392E373363302E382C302C312E35382C302E30312C322E - 34312D302E30312043313439392E38382C353337362E352C313632332E35312C - 353337342E35362C313734372E31352C353337332E35317A222066696C6C3D22 - 23666666666666222F3E0D0A20202020202020203C2F673E0D0A202020202020 - 3C2F673E0D0A202020203C2F673E0D0A202020203C673E0D0A2020202020203C - 656C6C6970736520636C6173733D22737430222063783D22373335362E313822 - 2063793D223830312E3031222072783D223132342E36222072793D223132352E - 3731222F3E0D0A202020203C2F673E0D0A20203C2F673E0D0A3C2F7376673E0D - 0A04000000660069006C006D00560100003C7376672076657273696F6E3D2231 - 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F - 737667222076696577426F783D223020302034382034382220656E61626C652D - 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 - 203C706174682066696C6C3D22233346353142352220643D224D34352C394833 - 76333068343256397A204D32322C3337762D34683476344832327A204D33302C - 3337762D34683476344833307A204D33382C3337762D34683476344833387A20 - 4D31342C3337762D34683476344831347A204D362C3337762D34683476344836 - 207A204D32322C3135762D34683476344832327A204D33302C3135762D346834 - 76344833307A204D33382C3135762D34683476344833387A204D31342C313576 - 2D34683476344831347A204D362C3135762D346834763448367A222F3E0D0A3C - 2F7376673E0D0A09000000660069006C006D005F007200650065006C00F90100 - 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F - 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 - 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 - 302030203438203438223E0D0A202020203C706174682066696C6C3D22233346 - 353142352220643D224D34332C3339563234682D3476313563302C352C342C39 - 2C392C39762D344334352E322C34342C34332C34312E382C34332C33397A222F - 3E0D0A202020203C636972636C652066696C6C3D222339304134414522206378 - 3D223234222063793D2232342220723D223139222F3E0D0A202020203C636972 - 636C652066696C6C3D2223333734373446222063783D223234222063793D2232 - 342220723D2232222F3E0D0A202020203C672066696C6C3D2223323533323738 - 223E0D0A20202020202020203C636972636C652063783D223234222063793D22 - 31342220723D2235222F3E0D0A20202020202020203C636972636C652063783D - 223234222063793D2233342220723D2235222F3E0D0A20202020202020203C63 - 6972636C652063783D223334222063793D2232342220723D2235222F3E0D0A20 - 202020202020203C636972636C652063783D223134222063793D223234222072 - 3D2235222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0A0000006600 - 6C006100730068005F006100750074006F00440100003C737667207665727369 - 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F - 323030302F737667222076696577426F783D223020302034382034382220656E - 61626C652D6261636B67726F756E643D226E657720302030203438203438223E - 0D0A202020203C706F6C79676F6E2066696C6C3D22234646433130372220706F - 696E74733D2233332C32322032332E362C32322033302C352031392C35203133 - 2C32362032312E362C32362031372C3435222F3E0D0A202020203C7061746820 - 66696C6C3D22234634343333362220643D224D34302E382C31342E35682D342E - 334C33352E362C31374833336C342E352D313268322E336C342E352C3132682D - 322E364C34302E382C31342E357A204D33372E312C31322E3568334C33382E36 - 2C384C33372E312C31322E357A222F3E0D0A3C2F7376673E0D0A080000006600 - 6C006100730068005F006F006E00C80000003C7376672076657273696F6E3D22 - 312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32303030 - 2F737667222076696577426F783D223020302034382034382220656E61626C65 - 2D6261636B67726F756E643D226E657720302030203438203438223E0D0A2020 - 20203C706F6C79676F6E2066696C6C3D22234646433130372220706F696E7473 - 3D2233332C32322032332E362C32322033302C352031392C352031332C323620 - 32312E362C32362031372C3435222F3E0D0A3C2F7376673E0D0A0A0000006600 - 6C006F0077005F0063006800610072007400FC0100003C737667207665727369 - 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F - 323030302F737667222076696577426F783D223020302034382034382220656E - 61626C652D6261636B67726F756E643D226E657720302030203438203438223E - 0D0A202020203C706F6C79676F6E2066696C6C3D22234346443844432220706F - 696E74733D2233352C33362033392C33362033392C32322032362C3232203236 - 2C31332032322C31332032322C323220392C323220392C33362031332C333620 - 31332C32362032322C32362032322C33362032362C33362032362C3236203335 - 2C3236222F3E0D0A202020203C7265637420783D2231372220793D2236222066 - 696C6C3D2223334635314235222077696474683D22313422206865696768743D - 223130222F3E0D0A202020203C7265637420783D2233322220793D2233322220 - 66696C6C3D2223303042434434222077696474683D2231302220686569676874 - 3D223130222F3E0D0A202020203C7265637420783D22362220793D2233322220 - 66696C6C3D2223303042434434222077696474683D2231302220686569676874 - 3D223130222F3E0D0A202020203C7265637420783D2231392220793D22333222 - 2066696C6C3D2223303042434434222077696474683D22313022206865696768 - 743D223130222F3E0D0A3C2F7376673E0D0A0600000066006F006C0064006500 - 72004F0100003C7376672076657273696F6E3D22312220786D6C6E733D226874 - 74703A2F2F7777772E77332E6F72672F323030302F737667222076696577426F - 783D223020302034382034382220656E61626C652D6261636B67726F756E643D - 226E657720302030203438203438223E0D0A202020203C706174682066696C6C - 3D22234646413030302220643D224D34302C31324832326C2D342D344838632D - 322E322C302D342C312E382D342C347638683430762D344334342C31332E382C - 34322E322C31322C34302C31327A222F3E0D0A202020203C706174682066696C - 6C3D22234646434132382220643D224D34302C31324838632D322E322C302D34 - 2C312E382D342C3476323063302C322E322C312E382C342C342C346833326332 - 2E322C302C342D312E382C342D345631364334342C31332E382C34322E322C31 - 322C34302C31327A222F3E0D0A3C2F7376673E0D0A050000006600720061006D - 006500DD0300003C7376672076657273696F6E3D22312220786D6C6E733D2268 - 7474703A2F2F7777772E77332E6F72672F323030302F73766722207669657742 - 6F783D223020302034382034382220656E61626C652D6261636B67726F756E64 - 3D226E657720302030203438203438223E0D0A202020203C706174682066696C - 6C3D22233339343941422220643D224D34302E362C34302E31682D312E34632D - 302E322C302D302E332C302D302E352C306C2D332E312D302E34632D322E342D - 302E332D342E392D302E322D372E332C302E346C2D332E362C302E39632D302E - 352C302E312D312E312C302E312D312E362C30204C31392E362C3430632D322E - 342D302E362D342E382D302E372D372E332D302E346C2D332E312C302E34632D - 302E322C302D302E332C302D302E352C3048372E34632D312E392C302D332E34 - 2D312E352D332E342D332E34763063302D302E342C302E312D302E392C302E32 - 2D312E336C302E322D302E362063312D322E352C312E312D352E332C302E342D - 372E396C2D302E362D32632D302E322D302E372D302E322D312E332C302D326C - 302E332D302E3863302E392D322E372C302E382D352E372D302E322D382E346C - 2D302E312D302E3343342E312C31332E312C342C31322E372C342C31322E3376 - 2D312063302D312E392C312E352D332E342C332E342D332E346C312E342C3063 - 302E322C302C302E332C302C302E352C306C332E312C302E3463322E342C302E - 332C342E392C302E322C372E332D302E346C332E362D302E3963302E352D302E - 312C312E312D302E312C312E362C304C32382E342C382063322E342C302E362C - 342E382C302E372C372E332C302E346C332E312D302E3463302E322C302C302E - 332C302C302E352C306C312E342C3063312E392C302C332E342C312E352C332E - 342C332E34763163302C302E342D302E312C302E392D302E322C312E336C2D30 - 2E312C302E3320632D312E312C322E372D312E322C352E362D302E322C382E34 - 6C302E332C302E3863302E322C302E362C302E322C312E332C302C326C2D302E - 362C32632D302E372C322E362D302E362C352E342C302E342C372E396C302E32 - 2C302E3663302E322C302E342C302E322C302E382C302E322C312E3376302043 - 34342C33382E362C34322E352C34302E312C34302E362C34302E317A222F3E0D - 0A202020203C706174682066696C6C3D22234242444546422220643D224D3338 - 2C3336483130632D302E362C302D312D302E342D312D3156313363302D302E36 - 2C302E342D312C312D3168323863302E362C302C312C302E342C312C31763232 - 4333392C33352E362C33382E362C33362C33382C33367A222F3E0D0A3C2F7376 - 673E0D0A0C000000660075006C006C005F006200610074007400650072007900 - 720100003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 - 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D - 223020302034382034382220656E61626C652D6261636B67726F756E643D226E - 657720302030203438203438223E0D0A202020203C672066696C6C3D22233842 - 43333441223E0D0A20202020202020203C7061746820643D224D33342C343448 - 3134632D312E312C302D322D302E392D322D32563863302D312E312C302E392D - 322C322D3268323063312E312C302C322C302E392C322C327633344333362C34 - 332E312C33352E312C34342C33342C34347A222F3E0D0A20202020202020203C - 7061746820643D224D32382C3133682D38632D302E362C302D312D302E342D31 - 2D31563563302D302E362C302E342D312C312D31683863302E362C302C312C30 - 2E342C312C3176374332392C31322E362C32382E362C31332C32382C31337A22 - 2F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0A000000660075006C00 - 6C005F0074007200610073006800E90100003C7376672076657273696F6E3D22 - 312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32303030 - 2F737667222076696577426F783D223020302034382034382220656E61626C65 - 2D6261636B67726F756E643D226E657720302030203438203438223E0D0A2020 - 20203C706F6C79676F6E2066696C6C3D22234646384136352220706F696E7473 - 3D2232342C32312E332031322E372C31302032362C312E372033382E332C3130 - 222F3E0D0A202020203C706F6C79676F6E2066696C6C3D222346464142393122 - 20706F696E74733D2232342C32312E332031322E372C31302031372C342E3720 - 33382E332C3130222F3E0D0A202020203C706174682066696C6C3D2223423339 - 4444422220643D224D33302E362C34344831372E34632D322C302D332E372D31 - 2E342D342D332E344C392C31316833306C2D342E352C32392E364333342E322C - 34322E362C33322E352C34342C33302E362C34347A222F3E0D0A202020203C70 - 6174682066696C6C3D22233745353743322220643D224D33382C313348313063 - 2D312E312C302D322D302E392D322D32763063302D312E312C302E392D322C32 - 2D3268323863312E312C302C322C302E392C322C3276304334302C31322E312C - 33392E312C31332C33382C31337A222F3E0D0A3C2F7376673E0D0A0700000067 - 0061006C006C00650072007900140200003C7376672076657273696F6E3D2231 - 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F - 737667222076696577426F783D223020302034382034382220656E61626C652D - 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 - 203C706174682066696C6C3D22234536353130302220643D224D34312C343248 - 3133632D322E322C302D342D312E382D342D3456313863302D322E322C312E38 - 2D342C342D3468323863322E322C302C342C312E382C342C347632304334352C - 34302E322C34332E322C34322C34312C34327A222F3E0D0A202020203C706174 - 682066696C6C3D22234635374330302220643D224D33352C33364837632D322E - 322C302D342D312E382D342D3456313263302D322E322C312E382D342C342D34 - 68323863322E322C302C342C312E382C342C347632304333392C33342E322C33 - 372E322C33362C33352C33367A222F3E0D0A202020203C636972636C65206669 - 6C6C3D2223464646394334222063783D223330222063793D2231362220723D22 - 33222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223393432413039 - 2220706F696E74733D2231372C31372E3920382C33312032362C3331222F3E0D - 0A202020203C706F6C79676F6E2066696C6C3D22234246333630432220706F69 - 6E74733D2232382C32332E352032322C33312033342C3331222F3E0D0A3C2F73 - 76673E0D0A09000000670065006E00650061006C006F0067007900EC0200003C - 7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777 - 772E77332E6F72672F323030302F737667222076696577426F783D2230203020 - 34382034382220656E61626C652D6261636B67726F756E643D226E6577203020 - 30203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D222343 - 46443844432220706F696E74733D2234302C392034302C372033312C37203331 - 2C31322032342C31322031352C31322031352C323320382C323320382C323520 - 31352C32352031352C33362032342C33362033312C33362033312C3431203430 - 2C34312034302C33392033332C33392033332C33312034302C33312034302C32 - 392033312C32392033312C33342032342C33342031372C33342031372C313420 - 32342C31342033312C31342033312C31392034302C31392034302C3137203333 - 2C31372033332C39222F3E0D0A202020203C7265637420783D22342220793D22 - 3230222066696C6C3D2223303042434434222077696474683D22382220686569 - 6768743D2238222F3E0D0A202020203C672066696C6C3D222333463531423522 - 3E0D0A20202020202020203C7265637420783D2233362220793D223134222077 - 696474683D223822206865696768743D2238222F3E0D0A20202020202020203C - 7265637420783D2233362220793D2234222077696474683D2238222068656967 - 68743D2238222F3E0D0A20202020202020203C7265637420783D223230222079 - 3D2239222077696474683D223822206865696768743D2238222F3E0D0A202020 - 20202020203C7265637420783D2232302220793D223331222077696474683D22 - 3822206865696768743D2238222F3E0D0A20202020202020203C726563742078 - 3D2233362220793D223336222077696474683D223822206865696768743D2238 - 222F3E0D0A20202020202020203C7265637420783D2233362220793D22323622 - 2077696474683D223822206865696768743D2238222F3E0D0A202020203C2F67 - 3E0D0A3C2F7376673E0D0A13000000670065006E0065007200690063005F0073 - 006F007200740069006E0067005F00610073006300AD0100003C737667207665 - 7273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F - 72672F323030302F737667222076696577426F783D2230203020343820343822 - 20656E61626C652D6261636B67726F756E643D226E6577203020302034382034 - 38223E0D0A202020203C7265637420783D22362220793D2236222066696C6C3D - 2223323139364633222077696474683D223422206865696768743D2234222F3E - 0D0A202020203C7265637420783D22362220793D223134222066696C6C3D2223 - 323139364633222077696474683D22313222206865696768743D2234222F3E0D - 0A202020203C7265637420783D22362220793D223232222066696C6C3D222332 - 3139364633222077696474683D22323022206865696768743D2234222F3E0D0A - 202020203C7265637420783D22362220793D223330222066696C6C3D22233231 - 39364633222077696474683D22323822206865696768743D2234222F3E0D0A20 - 2020203C7265637420783D22362220793D223338222066696C6C3D2223323139 - 364633222077696474683D22333622206865696768743D2234222F3E0D0A3C2F - 7376673E0D0A14000000670065006E0065007200690063005F0073006F007200 - 740069006E0067005F006400650073006300AD0100003C737667207665727369 - 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F - 323030302F737667222076696577426F783D223020302034382034382220656E - 61626C652D6261636B67726F756E643D226E657720302030203438203438223E - 0D0A202020203C7265637420783D22362220793D223338222066696C6C3D2223 - 323139364633222077696474683D223422206865696768743D2234222F3E0D0A - 202020203C7265637420783D22362220793D223330222066696C6C3D22233231 - 39364633222077696474683D22313222206865696768743D2234222F3E0D0A20 - 2020203C7265637420783D22362220793D223232222066696C6C3D2223323139 - 364633222077696474683D22323022206865696768743D2234222F3E0D0A2020 - 20203C7265637420783D22362220793D223134222066696C6C3D222332313936 - 4633222077696474683D22323822206865696768743D2234222F3E0D0A202020 - 203C7265637420783D22362220793D2236222066696C6C3D2223323139364633 - 222077696474683D22333622206865696768743D2234222F3E0D0A3C2F737667 - 3E0D0A0500000067006C006F0062006500530900003C7376672076657273696F - 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 - 3030302F737667222076696577426F783D223020302034382034382220656E61 - 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D - 0A202020203C706174682066696C6C3D22233743423334322220643D224D3234 - 2C344331332C342C342C31332C342C323473392C32302C32302C32307332302D - 392C32302D32305333352C342C32342C347A222F3E0D0A202020203C70617468 - 2066696C6C3D22233032373742442220643D224D34352C323463302C31312E37 - 2D392E352C32312D32312C323153332C33352E372C332C32345331322E332C33 - 2C32342C335334352C31322E332C34352C32347A204D32332E382C33332E3763 - 302D302E342D302E322D302E362D302E362D302E3820632D312E332D302E342D - 322E352D302E342D332E362D312E35632D302E322D302E342D302E322D302E38 - 2D302E342D312E33632D302E342D302E342D312E352D302E362D322E312D302E - 38632D302E382C302D312E372C302D322E372C30632D302E342C302D312E312C - 302D312E352C3020632D302E362D302E322D312E312D312E312D312E352D312E - 3763302D302E322C302D302E362D302E342D302E36632D302E342D302E322D30 - 2E382C302E322D312E332C30632D302E322D302E322D302E322D302E342D302E - 322D302E3663302D302E362C302E342D312E332C302E382D312E372063302E36 - 2D302E342C312E332C302E322C312E392C302E3263302E322C302C302E322C30 - 2C302E342C302E3263302E362C302E322C302E382C312C302E382C312E376330 - 2C302E322C302C302E342C302C302E3463302C302E322C302E322C302E322C30 - 2E342C302E322063302E322D312E312C302E322D322E312C302E342D332E3263 - 302D312E332C312E332D322E352C322E332D322E3963302E342D302E322C302E - 362C302E322C312E312C3063312E332D302E342C342E342D312E372C332E382D - 332E34632D302E342D312E352D312E372D322E392D332E342D322E3720632D30 - 2E342C302E322D302E362C302E342D312C302E36632D302E362C302E342D312E - 392C312E372D322E352C312E37632D312E312D302E322D312E312D312E372D30 - 2E382D322E3363302E322D302E382C322E312D332E362C332E342D332E316330 - 2E322C302E322C302E362C302E362C302E382C302E382063302E342C302E322C - 312E312C302E322C312E372C302E3263302E322C302C302E342C302C302E362D - 302E3263302E322D302E322C302E322D302E322C302E322D302E3463302D302E - 362D302E362D312E332D312D312E37632D302E342D302E342D312E312D302E38 - 2D312E372D312E3120632D322E312D302E362D352E352C302E322D372E312C31 - 2E37732D322E392C342D332E382C362E31632D302E342C312E332D302E382C32 - 2E392D312C342E34632D302E322C312D302E342C312E392C302E322C322E3963 - 302E362C312E332C312E392C322E352C332E322C332E342063302E382C302E36 - 2C322E352C302E362C332E342C312E3763302E362C302E382C302E342C312E39 - 2C302E342C322E3963302C312E332C302E382C322E332C312E332C332E346330 - 2E322C302E362C302E342C312E352C302E362C322E3163302C302E322C302E32 - 2C312E352C302E322C312E372063312E332C302E362C322E332C312E332C332E - 382C312E3763302E322C302C312D312E332C312D312E3563302E362D302E362C - 312E312D312E352C312E372D312E3963302E342D302E322C302E382D302E342C - 312E332D302E3863302E342D302E342C302E362D312E332C302E382D312E3920 - 4332332E382C33352E312C32342C33342E332C32332E382C33332E377A204D32 - 342E322C31342E3363302E322C302C302E342D302E322C302E382D302E346330 - 2E362D302E342C312E332D312E312C312E392D312E3563302E362D302E342C31 - 2E332D312E312C312E372D312E352063302E362D302E342C312E312D312E332C - 312E332D312E3963302E322D302E342C302E382D312E332C302E362D312E3963 - 2D302E322D302E342D312E332D302E362D312E372D302E38632D312E372D302E - 342D332E312D302E362D342E382D302E36632D302E362C302D312E352C302E32 - 2D312E372C302E3820632D302E322C312E312C302E362C302E382C312E352C31 - 2E3163302C302C302E322C312E372C302E322C312E3963302E322C312D302E34 - 2C312E372D302E342C322E3763302C302E362C302C312E372C302E342C322E31 - 4C32342E322C31342E337A204D34312E382C32392063302E322D302E342C302E - 322D312E312C302E342D312E3563302E322D312C302E322D322E312C302E322D - 332E3163302D322E312D302E322D342E322D302E382D362E31632D302E342D30 - 2E362D302E362D312E332D302E382D312E39632D302E342D312E312D312D322E - 312D312E392D322E3920632D302E382D312E312D312E392D342D332E382D332E - 31632D302E362C302E322D312C312D312E352C312E35632D302E342C302E362D - 302E382C312E332D312E332C312E39632D302E322C302E322D302E342C302E36 - 2D302E322C302E3863302C302E322C302E322C302E322C302E342C302E322063 - 302E342C302E322C302E362C302E322C312C302E3463302E322C302C302E342C - 302E322C302E322C302E3463302C302C302C302E322D302E322C302E32632D31 - 2C312E312D322E312C312E392D332E312C322E39632D302E322C302E322D302E - 342C302E362D302E342C302E382063302C302E322C302E322C302E322C302E32 - 2C302E3463302C302E322D302E322C302E322D302E342C302E34632D302E342C - 302E322D302E382C302E342D312E312C302E36632D302E322C302E342C302C31 - 2E312D302E322C312E35632D302E322C312E312D302E382C312E392D312E332C - 322E3920632D302E342C302E362D302E362C312E332D312C312E3963302C302E - 382D302E322C312E352C302E322C322E3163312C312E352C322E392C302E362C - 342E342C312E3363302E342C302E322C302E382C302E322C312E312C302E3663 - 302E362C302E362C302E362C312E372C302E382C322E332063302E322C302E38 - 2C302E342C312E372C302E382C322E3563302E322C312C302E362C322E312C30 - 2E382C322E3963312E392D312E352C332E362D332E312C342E382D352E324334 - 302E362C33322E342C34312E322C33302E372C34312E382C32397A222F3E0D0A - 3C2F7376673E0D0A0D00000067006F006F0064005F0064006500630069007300 - 69006F006E00790200003C7376672076657273696F6E3D22312220786D6C6E73 - 3D22687474703A2F2F7777772E77332E6F72672F323030302F73766722207669 - 6577426F783D223020302034382034382220656E61626C652D6261636B67726F - 756E643D226E657720302030203438203438223E0D0A202020203C672066696C - 6C3D2223464643433830223E0D0A20202020202020203C636972636C65206378 - 3D223338222063793D2232362220723D2234222F3E0D0A20202020202020203C - 636972636C652063783D223130222063793D2232362220723D2234222F3E0D0A - 20202020202020203C7061746820643D224D33392C313963302D31322E372D33 - 302D382E332D33302C3063302C312E382C302C382E322C302C313063302C382E - 332C362E372C31352C31352C31357331352D362E372C31352D31354333392C32 - 372E322C33392C32302E382C33392C31397A222F3E0D0A20202020202020203C - 7061746820643D224D32342C344331352E322C342C382C31312E322C382C3230 - 63302C312E322C302C332E352C302C332E356C322E312C302E365631396C3139 - 2E352D362E336C382E322C362E3376352E316C322E312D302E3663302C302C30 - 2D322E332C302D332E35204334302C31322E352C33342E362C342C32342C347A - 222F3E0D0A202020203C2F673E0D0A202020203C672066696C6C3D2223344341 - 463530223E0D0A20202020202020203C7265637420783D2232322220793D2231 - 36222077696474683D223422206865696768743D223138222F3E0D0A20202020 - 202020203C7265637420783D2231352220793D223233222077696474683D2231 - 3822206865696768743D2234222F3E0D0A202020203C2F673E0D0A3C2F737667 - 3E0D0A0600000067006F006F0067006C006500660500003C3F786D6C20766572 - 73696F6E3D22312E302220656E636F64696E673D227574662D38223F3E0D0A3C - 212D2D2047656E657261746F723A2041646F626520496C6C7573747261746F72 - 2031352E302E302C20535647204578706F727420506C75672D496E202E205356 - 472056657273696F6E3A20362E3030204275696C6420302920202D2D3E0D0A3C - 21444F435459504520737667205055424C494320222D2F2F5733432F2F445444 - 2053564720312E312F2F454E222022687474703A2F2F7777772E77332E6F7267 - 2F47726170686963732F5356472F312E312F4454442F73766731312E64746422 - 3E0D0A3C7376672076657273696F6E3D22312E31222020786D6C6E733D226874 - 74703A2F2F7777772E77332E6F72672F323030302F7376672220786D6C6E733A - 786C696E6B3D22687474703A2F2F7777772E77332E6F72672F313939392F786C - 696E6B2220783D223070782220793D22307078220D0A092077696474683D2234 - 38707822206865696768743D2234387078222076696577426F783D2230203020 - 34382034382220656E61626C652D6261636B67726F756E643D226E6577203020 - 302034382034382220786D6C3A73706163653D227072657365727665223E0D0A - 3C706174682066696C6C3D22234646433130372220643D224D34332E3631312C - 32302E30383348343256323048323476386831312E333033632D312E3634392C - 342E3635372D362E30382C382D31312E3330332C38632D362E3632372C302D31 - 322D352E3337332D31322D31320D0A0963302D362E3632372C352E3337332D31 - 322C31322D313263332E3035392C302C352E3834322C312E3135342C372E3936 - 312C332E3033396C352E3635372D352E3635374333342E3034362C362E303533 - 2C32392E3236382C342C32342C344331322E3935352C342C342C31322E393535 - 2C342C32340D0A0963302C31312E3034352C382E3935352C32302C32302C3230 - 6331312E3034352C302C32302D382E3935352C32302D32304334342C32322E36 - 35392C34332E3836322C32312E33352C34332E3631312C32302E3038337A222F - 3E0D0A3C706174682066696C6C3D22234646334430302220643D224D362E3330 - 362C31342E3639316C362E3537312C342E3831394331342E3635352C31352E31 - 30382C31382E3936312C31322C32342C313263332E3035392C302C352E383432 - 2C312E3135342C372E3936312C332E3033396C352E3635372D352E3635370D0A - 094333342E3034362C362E3035332C32392E3236382C342C32342C344331362E - 3331382C342C392E3635362C382E3333372C362E3330362C31342E3639317A22 - 2F3E0D0A3C706174682066696C6C3D22233443414635302220643D224D32342C - 343463352E3136362C302C392E38362D312E3937372C31332E3430392D352E31 - 39326C2D362E31392D352E3233384332392E3231312C33352E3039312C32362E - 3731352C33362C32342C33360D0A09632D352E3230322C302D392E3631392D33 - 2E3331372D31312E3238332D372E3934366C2D362E3532322C352E3032354339 - 2E3530352C33392E3535362C31362E3232372C34342C32342C34347A222F3E0D - 0A3C706174682066696C6C3D22233139373644322220643D224D34332E363131 - 2C32302E30383348343256323048323476386831312E333033632D302E373932 - 2C322E3233372D322E3233312C342E3136362D342E3038372C352E3537310D0A - 0963302E3030312D302E3030312C302E3030322D302E3030312C302E3030332D - 302E3030326C362E31392C352E3233384333362E3937312C33392E3230352C34 - 342C33342C34342C32344334342C32322E3635392C34332E3836322C32312E33 - 352C34332E3631312C32302E3038337A222F3E0D0A3C2F7376673E0D0A0E0000 - 00670072006100640075006100740069006F006E005F00630061007000E70200 - 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F - 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 - 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 - 302030203438203438223E0D0A202020203C672066696C6C3D22233337343734 - 46223E0D0A20202020202020203C7265637420783D22392220793D2232302220 - 77696474683D22333022206865696768743D223133222F3E0D0A202020202020 - 20203C656C6C697073652063783D223234222063793D223333222072783D2231 - 35222072793D2236222F3E0D0A202020203C2F673E0D0A202020203C70617468 - 2066696C6C3D22233738393039432220643D224D32332E312C382E324C302E36 - 2C31382E31632D302E382C302E342D302E382C312E352C302C312E396C32322E - 352C392E3963302E362C302E322C312E322C302E322C312E382C306C32322E35 - 2D392E3963302E382D302E342C302E382D312E352C302D312E39204C32342E39 - 2C382E324332342E332C372E392C32332E372C372E392C32332E312C382E327A - 222F3E0D0A202020203C672066696C6C3D2223333734373446223E0D0A202020 - 20202020203C7061746820643D224D34332E322C32302E346C2D32302D332E34 - 632D302E352D302E312D312E312C302E332D312E322C302E38632D302E312C30 - 2E352C302E332C312E312C302E382C312E324C34322C32322E3256333763302C - 302E362C302E342C312C312C312073312D302E342C312D315632312E34433434 - 2C32302E392C34332E362C32302E352C34332E322C32302E347A222F3E0D0A20 - 202020202020203C636972636C652063783D223433222063793D223337222072 - 3D2232222F3E0D0A20202020202020203C7061746820643D224D34362C343063 - 302C312E372D332C362D332C36732D332D342E332D332D3673312E332D332C33 - 2D335334362C33382E332C34362C34307A222F3E0D0A202020203C2F673E0D0A - 3C2F7376673E0D0A040000006700720069006400C40100003C73766720766572 - 73696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72 - 672F323030302F737667222076696577426F783D223020302034382034382220 - 656E61626C652D6261636B67726F756E643D226E657720302030203438203438 - 223E0D0A202020203C706174682066696C6C3D22233930434146392220643D22 - 4D372C37763334683334563748377A204D33392C3135682D3656396836563135 - 7A204D32352C31355639683676364832357A204D33312C31377636682D36762D - 364833317A204D32332C3135682D36563968365631357A204D32332C31377636 - 682D36762D36204832337A204D31352C32334839762D3668365632337A204D31 - 352C323576364839762D364831357A204D31372C323568367636682D36563235 - 7A204D32332C33337636682D36762D364832337A204D32352C33336836763668 - 2D365633337A204D32352C3331762D36683676364832357A204D33332C323568 - 367636682D36205632357A204D33332C3233762D36683676364833337A204D31 - 352C397636483956394831357A204D392C33336836763648395633337A204D33 - 332C3339762D36683676364833337A222F3E0D0A3C2F7376673E0D0A07000000 - 6800650061006400730065007400A10100003C7376672076657273696F6E3D22 - 312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32303030 - 2F737667222076696577426F783D223020302034382034382220656E61626C65 - 2D6261636B67726F756E643D226E657720302030203438203438223E0D0A2020 - 20203C706174682066696C6C3D22233030393741372220643D224D32342C3543 - 31342E312C352C362C31332E312C362C3233763135683456323363302D372E37 - 2C362E332D31342C31342D31347331342C362E332C31342C3134763135683456 - 32334334322C31332E312C33332E392C352C32342C357A222F3E0D0A20202020 - 3C706174682066696C6C3D22233337343734462220643D224D33382C3433682D - 34563331683463322E322C302C342C312E382C342C3476344334322C34312E32 - 2C34302E322C34332C33382C34337A222F3E0D0A202020203C70617468206669 - 6C6C3D22233337343734462220643D224D31302C34336834563331682D34632D - 322E322C302D342C312E382D342C34763443362C34312E322C372E382C34332C - 31302C34337A222F3E0D0A3C2F7376673E0D0A0800000068006500610074005F - 006D00610070009F0200003C7376672076657273696F6E3D22312220786D6C6E - 733D22687474703A2F2F7777772E77332E6F72672F323030302F737667222076 - 696577426F783D223020302034382034382220656E61626C652D6261636B6772 - 6F756E643D226E657720302030203438203438223E0D0A202020203C706F6C79 - 676F6E2066696C6C3D22234346443844432220706F696E74733D22392C333920 - 392C3620372C3620372C34312034322C34312034322C3339222F3E0D0A202020 - 203C672066696C6C3D2223303042434434223E0D0A20202020202020203C6369 - 72636C652063783D223134222063793D2231312220723D2232222F3E0D0A2020 - 2020202020203C636972636C652063783D223332222063793D2231312220723D - 2232222F3E0D0A20202020202020203C636972636C652063783D223339222063 - 793D2231312220723D2232222F3E0D0A20202020202020203C636972636C6520 - 63783D223233222063793D2231312220723D2234222F3E0D0A20202020202020 - 203C636972636C652063783D223134222063793D2233332220723D2232222F3E - 0D0A20202020202020203C636972636C652063783D223330222063793D223333 - 2220723D2232222F3E0D0A20202020202020203C636972636C652063783D2232 - 32222063793D2233332220723D2233222F3E0D0A20202020202020203C636972 - 636C652063783D223338222063793D2233332220723D2234222F3E0D0A202020 - 20202020203C636972636C652063783D223134222063793D2232322220723D22 - 32222F3E0D0A20202020202020203C636972636C652063783D22333922206379 - 3D2232322220723D2232222F3E0D0A20202020202020203C636972636C652063 - 783D223332222063793D2232322220723D2233222F3E0D0A202020203C2F673E - 0D0A3C2F7376673E0D0A0C00000068006900670068005F006200610074007400 - 650072007900CD0100003C7376672076657273696F6E3D22312220786D6C6E73 - 3D22687474703A2F2F7777772E77332E6F72672F323030302F73766722207669 - 6577426F783D223020302034382034382220656E61626C652D6261636B67726F - 756E643D226E657720302030203438203438223E0D0A202020203C672066696C - 6C3D2223434644384443223E0D0A20202020202020203C7061746820643D224D - 33342C3434483134632D312E312C302D322D302E392D322D32563863302D312E - 312C302E392D322C322D3268323063312E312C302C322C302E392C322C327633 - 344333362C34332E312C33352E312C34342C33342C34347A222F3E0D0A202020 - 20202020203C7061746820643D224D32382C3133682D38632D302E362C302D31 - 2D302E342D312D31563563302D302E362C302E342D312C312D31683863302E36 - 2C302C312C302E342C312C3176374332392C31322E362C32382E362C31332C32 - 382C31337A222F3E0D0A202020203C2F673E0D0A202020203C70617468206669 - 6C6C3D22233842433334412220643D224D33342C3434483134632D312E312C30 - 2D322D302E392D322D325631336832347632394333362C34332E312C33352E31 - 2C34342C33342C34347A222F3E0D0A3C2F7376673E0D0A0D0000006800690067 - 0068005F007000720069006F007200690074007900B70200003C737667207665 - 7273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F - 72672F323030302F737667222076696577426F783D2230203020343820343822 - 20656E61626C652D6261636B67726F756E643D226E6577203020302034382034 - 38223E0D0A202020203C706174682066696C6C3D22234634343333362220643D - 224D32312E322C34342E386C2D31382D3138632D312E362D312E362D312E362D - 342E312C302D352E376C31382D313863312E362D312E362C342E312D312E362C - 352E372C306C31382C313863312E362C312E362C312E362C342E312C302C352E - 376C2D31382C3138204332352E332C34362E342C32322E372C34362E342C3231 - 2E322C34342E387A222F3E0D0A202020203C706174682066696C6C3D22236666 - 662220643D224D32312E362C33322E3763302D302E332C302E312D302E362C30 - 2E322D302E3963302E312D302E332C302E332D302E352C302E352D302E376330 - 2E322D302E322C302E352D302E342C302E382D302E3573302E362D302E322C31 - 2D302E322073302E372C302E312C312C302E3263302E332C302E312C302E362C - 302E332C302E382C302E3563302E322C302E322C302E342C302E342C302E352C - 302E3763302E312C302E332C302E322C302E362C302E322C302E39732D302E31 - 2C302E362D302E322C302E39732D302E332C302E352D302E352C302E3720632D - 302E322C302E322D302E352C302E342D302E382C302E35632D302E332C302E31 - 2D302E362C302E322D312C302E32732D302E372D302E312D312D302E32732D30 - 2E352D302E332D302E382D302E35632D302E322D302E322D302E342D302E342D - 302E352D302E375332312E362C33332E312C32312E362C33322E377A204D3235 - 2E382C32382E31682D332E364C32312E372C313368342E364C32352E382C3238 - 2E317A222F3E0D0A3C2F7376673E0D0A0400000068006F006D0065009C020000 - 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 - 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 - 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 - 2030203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D2223 - 4538454146362220706F696E74733D2234322C333920362C333920362C323320 - 32342C362034322C3233222F3E0D0A202020203C672066696C6C3D2223433543 - 414539223E0D0A20202020202020203C706F6C79676F6E20706F696E74733D22 - 33392C32312033342C31362033342C392033392C39222F3E0D0A202020202020 - 20203C7265637420783D22362220793D223339222077696474683D2233362220 - 6865696768743D2235222F3E0D0A202020203C2F673E0D0A202020203C706F6C - 79676F6E2066696C6C3D22234237314331432220706F696E74733D2232342C34 - 2E3320342C32322E3920362C32352E312032342C382E342034322C32352E3120 - 34342C32322E39222F3E0D0A202020203C7265637420783D2231382220793D22 - 3238222066696C6C3D2223443834333135222077696474683D22313222206865 - 696768743D223136222F3E0D0A202020203C7265637420783D2232312220793D - 223137222066696C6C3D2223303135373942222077696474683D223622206865 - 696768743D2236222F3E0D0A202020203C706174682066696C6C3D2223464638 - 4136352220643D224D32372E352C33352E35632D302E332C302D302E352C302E - 322D302E352C302E35763263302C302E332C302E322C302E352C302E352C302E - 355332382C33382E332C32382C3338762D324332382C33352E372C32372E382C - 33352E352C32372E352C33352E357A222F3E0D0A3C2F7376673E0D0A0A000000 - 690063006F006E00730038005F00630075007000070300003C73766720766572 - 73696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72 - 672F323030302F737667222076696577426F783D223020302034382034382220 - 656E61626C652D6261636B67726F756E643D226E657720302030203438203438 - 223E0D0A202020203C706174682066696C6C3D22233443414635302220643D22 - 4D34302C313448386C332E382C32382E3363302E312C312C312C312E372C322C - 312E376832302E3563312C302C312E382D302E372C322D312E374C34302C3134 - 7A222F3E0D0A202020203C672066696C6C3D2223383143373834223E0D0A2020 - 2020202020203C7061746820643D224D34322C31344836762D3363302D322E32 - 2C312E382D342C342D3468323863322E322C302C342C312E382C342C34563134 - 7A222F3E0D0A20202020202020203C7061746820643D224D33372E322C313048 - 31302E386C312E372D342E3763302E332D302E382C312D312E332C312E392D31 - 2E336831392E3263302E382C302C312E362C302E352C312E392C312E334C3337 - 2E322C31307A222F3E0D0A202020203C2F673E0D0A202020203C706174682066 - 696C6C3D22234538463545392220643D224D32382C32382E3563312E322D312E - 312C322D322E372C322D342E3563302D332E332D322E372D362D362D36632D33 - 2E332C302D362C322E372D362C3663302C312E382C302E382C332E342C322C34 - 2E35632D312E322C312E312D322C322E372D322C342E352063302C332E332C32 - 2E372C362C362C3663332E332C302C362D322E372C362D364333302C33312E32 - 2C32392E322C32392E362C32382C32382E357A204D32342C3336632D312E372C - 302D332D312E332D332D3363302D312E372C312E332D332C332D3363312E372C - 302C332C312E332C332C33204332372C33342E372C32352E372C33362C32342C - 33367A204D32342C3237632D312E372C302D332D312E332D332D3363302D312E - 372C312E332D332C332D3363312E372C302C332C312E332C332C334332372C32 - 352E372C32352E372C32372C32342C32377A222F3E0D0A3C2F7376673E0D0A04 - 0000006900640065006100160400003C7376672076657273696F6E3D22312220 - 786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376 - 67222076696577426F783D223020302034382034382220656E61626C652D6261 - 636B67726F756E643D226E657720302030203438203438223E0D0A202020203C - 636972636C652066696C6C3D2223464646353944222063783D22323422206379 - 3D2232322220723D223230222F3E0D0A202020203C706174682066696C6C3D22 - 234642433032442220643D224D33372C323263302D372E372D362E362D31332E - 382D31342E352D31322E39632D362C302E372D31302E382C352E352D31312E34 - 2C31312E35632D302E352C342E362C312E342C382E372C342E362C31312E3320 - 63312E342C312E322C322E332C322E392C322E332C342E38563337683132762D - 302E3163302D312E382C302E382D332E362C322E322D342E384333352E312C32 - 392E372C33372C32362E312C33372C32327A222F3E0D0A202020203C70617468 - 2066696C6C3D22234646463539442220643D224D33302E362C32302E326C2D33 - 2D32632D302E332D302E322D302E382D302E322D312E312C304C32342C31392E - 386C2D322E342D312E36632D302E332D302E322D302E382D302E322D312E312C - 306C2D332C3220632D302E322C302E322D302E342C302E342D302E342C302E37 - 73302C302E362C302E322C302E386C332E382C342E3756333768325632366330 - 2D302E322D302E312D302E342D302E322D302E366C2D332E332D342E316C312E - 352D316C322E342C312E3663302E332C302E322C302E382C302E322C312E312C - 30206C322E342D312E366C312E352C316C2D332E332C342E314332352E312C32 - 352E362C32352C32352E382C32352C323676313168325632362E346C332E382D - 342E3763302E322D302E322C302E332D302E352C302E322D302E385333302E38 - 2C32302E332C33302E362C32302E327A222F3E0D0A202020203C636972636C65 - 2066696C6C3D2223354336424330222063783D223234222063793D2234342220 - 723D2233222F3E0D0A202020203C706174682066696C6C3D2223394641384441 - 2220643D224D32362C3435682D34632D322E322C302D342D312E382D342D3476 - 2D3568313276354333302C34332E322C32382E322C34352C32362C34357A222F - 3E0D0A202020203C672066696C6C3D2223354336424330223E0D0A2020202020 - 2020203C7061746820643D224D33302C34316C2D31312E362C312E3663302E33 - 2C302E372C302E392C312E342C312E362C312E386C392E342D312E334332392E - 382C34322E352C33302C34312E382C33302C34317A222F3E0D0A202020202020 - 20203C706F6C79676F6E20706F696E74733D2231382C33382E372031382C3430 - 2E372033302C33392033302C3337222F3E0D0A202020203C2F673E0D0A3C2F73 - 76673E0D0A0A00000069006D006100670065005F00660069006C006500A30100 - 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F - 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 - 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 - 302030203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D22 - 233930434146392220706F696E74733D2234302C343520382C343520382C3320 - 33302C332034302C3133222F3E0D0A202020203C706F6C79676F6E2066696C6C - 3D22234531463546452220706F696E74733D2233382E352C31342032392C3134 - 2032392C342E35222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223 - 3135363543302220706F696E74733D2232312C32332031342C33332032382C33 - 33222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223313937364432 - 2220706F696E74733D2232382C32362E342032332C33332033332C3333222F3E - 0D0A202020203C636972636C652066696C6C3D2223313937364432222063783D - 2233312E35222063793D2232342E352220723D22312E35222F3E0D0A3C2F7376 - 673E0D0A0600000069006D0070006F0072007400710100003C73766720766572 - 73696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72 - 672F323030302F737667222076696577426F783D223020302034382034382220 - 656E61626C652D6261636B67726F756E643D226E657720302030203438203438 - 223E0D0A202020203C706174682066696C6C3D22234638424244302220643D22 - 4D372C3430563863302D322E322C312E382D342C342D3468323463322E322C30 - 2C342C312E382C342C3476333263302C322E322D312E382C342D342C34483131 - 43382E382C34342C372C34322E322C372C34307A222F3E0D0A202020203C6720 - 66696C6C3D2223453931453633223E0D0A20202020202020203C706F6C79676F - 6E20706F696E74733D2231332E332C32342032342C31352032342C3333222F3E - 0D0A20202020202020203C7265637420783D2231392220793D22323122207769 - 6474683D22323322206865696768743D2236222F3E0D0A202020203C2F673E0D - 0A3C2F7376673E0D0A0A00000069006E005F007400720061006E007300690074 - 00E20400003C7376672076657273696F6E3D22312220786D6C6E733D22687474 - 703A2F2F7777772E77332E6F72672F323030302F737667222076696577426F78 - 3D223020302034382034382220656E61626C652D6261636B67726F756E643D22 - 6E657720302030203438203438223E0D0A202020203C706174682066696C6C3D - 22234646433130372220643D224D34342C333648333056313663302D312E312C - 302E392D322C322D32683863302E362C302C312E322C302E332C312E362C302E - 386C362C372E3763302E332C302E342C302E342C302E382C302E342C312E3256 - 3332204334382C33342E322C34362E322C33362C34342C33367A222F3E0D0A20 - 2020203C672066696C6C3D2223393537354344223E0D0A20202020202020203C - 7061746820643D224D382C333668323256313363302D322E322D312E382D342D - 342D34483476323343342C33342E322C352E382C33362C382C33367A222F3E0D - 0A20202020202020203C7265637420793D2239222077696474683D2231302220 - 6865696768743D2232222F3E0D0A20202020202020203C7265637420793D2231 - 34222077696474683D22313022206865696768743D2232222F3E0D0A20202020 - 202020203C7265637420793D223139222077696474683D223130222068656967 - 68743D2232222F3E0D0A20202020202020203C7265637420793D223234222077 - 696474683D22313022206865696768743D2232222F3E0D0A202020203C2F673E - 0D0A202020203C672066696C6C3D2223374535374332223E0D0A202020202020 - 20203C7265637420783D22342220793D223131222077696474683D2231362220 - 6865696768743D2232222F3E0D0A20202020202020203C7265637420783D2234 - 2220793D223136222077696474683D22313222206865696768743D2232222F3E - 0D0A20202020202020203C7265637420783D22342220793D2232312220776964 - 74683D223822206865696768743D2232222F3E0D0A20202020202020203C7265 - 637420783D22342220793D223236222077696474683D22342220686569676874 - 3D2232222F3E0D0A202020203C2F673E0D0A202020203C672066696C6C3D2223 - 333734373446223E0D0A20202020202020203C636972636C652063783D223339 - 222063793D2233362220723D2235222F3E0D0A20202020202020203C63697263 - 6C652063783D223136222063793D2233362220723D2235222F3E0D0A20202020 - 3C2F673E0D0A202020203C672066696C6C3D2223373839303943223E0D0A2020 - 2020202020203C636972636C652063783D223339222063793D2233362220723D - 22322E35222F3E0D0A20202020202020203C636972636C652063783D22313622 - 2063793D2233362220723D22322E35222F3E0D0A202020203C2F673E0D0A2020 - 20203C706174682066696C6C3D22233435354136342220643D224D34342C3236 - 682D332E36632D302E332C302D302E352D302E312D302E372D302E336C2D312E - 342D312E34632D302E322D302E322D302E342D302E332D302E372D302E334833 - 34632D302E362C302D312D302E342D312D31762D362063302D302E362C302E34 - 2D312C312D3168352E3563302E332C302C302E362C302E312C302E382C302E34 - 6C342E352C352E3463302E312C302E322C302E322C302E342C302E322C302E36 - 5632354334352C32352E362C34342E362C32362C34342C32367A222F3E0D0A3C - 2F7376673E0D0A0400000069006E0066006F001B0100003C7376672076657273 - 696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F7267 - 2F323030302F737667222076696577426F783D22302030203438203438222065 - 6E61626C652D6261636B67726F756E643D226E65772030203020343820343822 - 3E0D0A202020203C636972636C652066696C6C3D222332313936463322206378 - 3D223234222063793D2232342220723D223231222F3E0D0A202020203C726563 - 7420783D2232322220793D223232222066696C6C3D2223666666222077696474 - 683D223422206865696768743D223131222F3E0D0A202020203C636972636C65 - 2066696C6C3D2223666666222063783D223234222063793D2231362E35222072 - 3D22322E35222F3E0D0A3C2F7376673E0D0A0A00000069006E00730070006500 - 6300740069006F006E00EF0200003C7376672076657273696F6E3D2231222078 - 6D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F737667 - 222076696577426F783D223020302034382034382220656E61626C652D626163 - 6B67726F756E643D226E657720302030203438203438223E0D0A202020203C70 - 6174682066696C6C3D22233435354136342220643D224D33362C344832366330 - 2C312E312D302E392C322D322C32732D322D302E392D322D3248313243392E38 - 2C342C382C352E382C382C3876333263302C322E322C312E382C342C342C3468 - 323463322E322C302C342D312E382C342D345638204334302C352E382C33382E - 322C342C33362C347A222F3E0D0A202020203C706174682066696C6C3D222366 - 66662220643D224D33362C3431483132632D302E362C302D312D302E342D312D - 31563863302D302E362C302E342D312C312D3168323463302E362C302C312C30 - 2E342C312C317633324333372C34302E362C33362E362C34312C33362C34317A - 222F3E0D0A202020203C672066696C6C3D2223393041344145223E0D0A202020 - 20202020203C7061746820643D224D32362C3463302C312E312D302E392C322D - 322C32732D322D302E392D322D32682D37763463302C312E312C302E392C322C - 322C3268313463312E312C302C322D302E392C322D3256344832367A222F3E0D - 0A20202020202020203C7061746820643D224D32342C30632D322E322C302D34 - 2C312E382D342C3473312E382C342C342C3473342D312E382C342D345332362E - 322C302C32342C307A204D32342C36632D312E312C302D322D302E392D322D32 - 73302E392D322C322D3273322C302E392C322C32205332352E312C362C32342C - 367A222F3E0D0A202020203C2F673E0D0A202020203C706F6C79676F6E206669 - 6C6C3D22233443414635302220706F696E74733D2233302E362C31382E362032 - 312E362C32372E362031372E342C32332E332031342E392C32352E382032312E - 372C33322E352033332E312C32312E31222F3E0D0A3C2F7376673E0D0A110000 - 0069006E00740065006700720061007400650064005F00770065006200630061 - 006D003A0200003C7376672076657273696F6E3D22312220786D6C6E733D2268 - 7474703A2F2F7777772E77332E6F72672F323030302F73766722207669657742 - 6F783D223020302034382034382220656E61626C652D6261636B67726F756E64 - 3D226E657720302030203438203438223E0D0A202020203C706174682066696C - 6C3D22233630374438422220643D224D33382C3432483130632D322E322C302D - 342D312E382D342D3456313063302D322E322C312E382D342C342D3468323863 - 322E322C302C342C312E382C342C347632384334322C34302E322C34302E322C - 34322C33382C34327A222F3E0D0A202020203C636972636C652066696C6C3D22 - 23343535413634222063783D223234222063793D2232342220723D223132222F - 3E0D0A202020203C636972636C652066696C6C3D222334324135463522206378 - 3D223234222063793D2232342220723D2239222F3E0D0A202020203C70617468 - 2066696C6C3D22233930434146392220643D224D32382E382C3231632D312E32 - 2D312E342D332D322E322D342E382D322E32732D332E362C302E382D342E382C - 322E32632D302E352C302E352D302E342C312E332C302E312C312E3863302E35 - 2C302E352C312E332C302E342C312E382D302E312063312E352D312E372C342E - 332D312E372C352E382C3063302E332C302E332C302E362C302E342C312C302E - 3463302E332C302C302E362D302E312C302E392D302E334332392E322C32322E - 342C32392E332C32312E352C32382E382C32317A222F3E0D0A3C2F7376673E0D - 0A0800000069006E007400650072006E0061006C00300100003C737667207665 - 7273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F - 72672F323030302F737667222076696577426F783D2230203020343820343822 - 20656E61626C652D6261636B67726F756E643D226E6577203020302034382034 - 38223E0D0A202020203C636972636C652066696C6C3D22234233453546432220 - 63783D223234222063793D2233302220723D223135222F3E0D0A202020203C67 - 2066696C6C3D2223313536354330223E0D0A20202020202020203C706F6C7967 - 6F6E20706F696E74733D2232342C33382E372031352C32382033332C3238222F - 3E0D0A20202020202020203C7265637420783D2232312220793D223522207769 - 6474683D223622206865696768743D223236222F3E0D0A202020203C2F673E0D - 0A3C2F7376673E0D0A0600000069006E0076006900740065003A0200003C7376 - 672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E - 77332E6F72672F323030302F737667222076696577426F783D22302030203438 - 2034382220656E61626C652D6261636B67726F756E643D226E65772030203020 - 3438203438223E0D0A202020203C706174682066696C6C3D2223373839303943 - 2220643D224D34302C34314838632D322E322C302D342D312E382D342D346C30 - 2D32302E3963302D312E332C302E362D322E352C312E372D332E334C32342C30 - 6C31382E332C31322E3863312E312C302E372C312E372C322C312E372C332E33 - 563337204334342C33392E322C34322E322C34312C34302C34317A222F3E0D0A - 202020203C7265637420783D2231322220793D223131222066696C6C3D222366 - 6666222077696474683D22323422206865696768743D223232222F3E0D0A2020 - 20203C706174682066696C6C3D22234346443844432220643D224D34302C3431 - 4838632D322E322C302D342D312E382D342D346C302D32306C32302C31336C32 - 302D31337632304334342C33392E322C34322E322C34312C34302C34317A222F - 3E0D0A202020203C672066696C6C3D2223344341463530223E0D0A2020202020 - 2020203C7265637420783D2232322220793D223134222077696474683D223422 - 206865696768743D223132222F3E0D0A20202020202020203C7265637420783D - 2231382220793D223138222077696474683D22313222206865696768743D2234 - 222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A040000006900700061 - 006400950100003C7376672076657273696F6E3D22312220786D6C6E733D2268 - 7474703A2F2F7777772E77332E6F72672F323030302F73766722207669657742 - 6F783D223020302034382034382220656E61626C652D6261636B67726F756E64 - 3D226E657720302030203438203438223E0D0A202020203C706174682066696C - 6C3D22234533383933392220643D224D382C3431563763302D322E322C312E38 - 2D342C342D3468323463322E322C302C342C312E382C342C3476333463302C32 - 2E322D312E382C342D342C3448313243392E382C34352C382C34332E322C382C - 34317A222F3E0D0A202020203C706174682066696C6C3D222346464633453022 - 20643D224D33362C36483132632D302E362C302D312C302E342D312C31763331 - 63302C302E362C302E342C312C312C3168323463302E362C302C312D302E342C - 312D3156374333372C362E342C33362E362C362C33362C367A222F3E0D0A2020 - 20203C636972636C652066696C6C3D2223413636343241222063783D22323422 - 2063793D2234322220723D22312E35222F3E0D0A3C2F7376673E0D0A06000000 - 6900700068006F006E006500990100003C7376672076657273696F6E3D223122 - 20786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73 - 7667222076696577426F783D223020302034382034382220656E61626C652D62 - 61636B67726F756E643D226E657720302030203438203438223E0D0A20202020 - 3C706174682066696C6C3D22234533383933392220643D224D31322C34305638 - 63302D322E322C312E382D342C342D3468313663322E322C302C342C312E382C - 342C3476333263302C322E322D312E382C342D342C344831364331332E382C34 - 342C31322C34322E322C31322C34307A222F3E0D0A202020203C706174682066 - 696C6C3D22234646463345302220643D224D33322C37483136632D302E362C30 - 2D312C302E342D312C3176323963302C302E362C302E342C312C312C31683136 - 63302E362C302C312D302E342C312D3156384333332C372E342C33322E362C37 - 2C33322C377A222F3E0D0A202020203C636972636C652066696C6C3D22234136 - 36343241222063783D223234222063793D2234312220723D22312E35222F3E0D - 0A3C2F7376673E0D0A030000006B0065007900AB0200003C7376672076657273 - 696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F7267 - 2F323030302F737667222076696577426F783D22302030203438203438222065 - 6E61626C652D6261636B67726F756E643D226E65772030203020343820343822 - 3E0D0A202020203C672066696C6C3D2223464641303030223E0D0A2020202020 - 2020203C706F6C79676F6E20706F696E74733D2233302C34312032362C343520 - 32322C34352031382C34312031382C32312033302C32312033302C3239203238 - 2C33312033302C33332033302C33352032382C33372033302C3339222F3E0D0A - 20202020202020203C7061746820643D224D33382C372E384333372E352C362C - 33362C342E372C33342E332C342E324333312E392C332E372C32382E322C332C - 32342C33732D372E392C302E372D31302E332C312E324331322C342E372C3130 - 2E352C362C31302C372E3820632D302E352C312E372D312C342E312D312C362E - 3763302C322E362C302E352C352C312C362E3763302E352C312E382C312E392C - 332E312C332E372C332E354331362E312C32352E332C31392E382C32362C3234 - 2C323673372E392D302E372C31302E332D312E322063312E382D302E342C332E - 322D312E382C332E372D332E3563302E352D312E372C312D342E312C312D362E - 374333392C31312E392C33382E352C392E352C33382C372E387A204D32392C31 - 33483139632D312E312C302D322D302E392D322D32563963302D302E362C332E - 312D312C372D3173372C302E342C372C317632204333312C31322E312C33302E - 312C31332C32392C31337A222F3E0D0A202020203C2F673E0D0A202020203C72 - 65637420783D2232332220793D223236222066696C6C3D222344363836303022 - 2077696474683D223222206865696768743D223139222F3E0D0A3C2F7376673E - 0D0A060000006B0069006E0064006C006500C60200003C737667207665727369 - 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F - 323030302F737667222076696577426F783D223020302034382034382220656E - 61626C652D6261636B67726F756E643D226E657720302030203438203438223E - 0D0A202020203C706174682066696C6C3D22233337343734462220643D224D38 - 2C3431563763302D322E322C312E382D342C342D3468323463322E322C302C34 - 2C312E382C342C3476333463302C322E322D312E382C342D342C344831324339 - 2E382C34352C382C34332E322C382C34317A222F3E0D0A202020203C70617468 - 2066696C6C3D22236565652220643D224D33352C36483133632D302E362C302D - 312C302E342D312C3176323963302C302E362C302E342C312C312C3168323263 - 302E362C302C312D302E342C312D3156374333362C362E342C33352E362C362C - 33352C367A222F3E0D0A202020203C7265637420783D2232302220793D223430 - 222066696C6C3D2223353436453741222077696474683D223822206865696768 - 743D2232222F3E0D0A202020203C672066696C6C3D2223413141314131223E0D - 0A20202020202020203C7265637420783D2231362220793D2231312220776964 - 74683D22313622206865696768743D2233222F3E0D0A20202020202020203C72 - 65637420783D2231362220793D223138222077696474683D2231362220686569 - 6768743D2232222F3E0D0A20202020202020203C7265637420783D2231362220 - 793D223232222077696474683D22313222206865696768743D2232222F3E0D0A - 20202020202020203C7265637420783D2231362220793D223236222077696474 - 683D22313622206865696768743D2232222F3E0D0A20202020202020203C7265 - 637420783D2231362220793D223330222077696474683D223132222068656967 - 68743D2232222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A09000000 - 6C0061006E00640073006300610070006500EB0100003C737667207665727369 - 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F - 323030302F737667222076696577426F783D223020302034382034382220656E - 61626C652D6261636B67726F756E643D226E657720302030203438203438223E - 0D0A202020203C672066696C6C3D2223464639383030223E0D0A202020202020 - 20203C7265637420783D2233362E312220793D22382E3122207472616E73666F - 726D3D226D6174726978282E373037202E373037202D2E373037202E37303720 - 32312E323031202D32352E31383429222077696474683D22392E392220686569 - 6768743D22392E39222F3E0D0A20202020202020203C7265637420783D223336 - 2220793D2238222077696474683D22313022206865696768743D223130222F3E - 0D0A202020203C2F673E0D0A202020203C636972636C652066696C6C3D222346 - 4645423342222063783D223431222063793D2231332220723D2233222F3E0D0A - 202020203C706F6C79676F6E2066696C6C3D22233245374433322220706F696E - 74733D2231362E352C313820302C34322033332C3432222F3E0D0A202020203C - 706F6C79676F6E2066696C6C3D22233443414635302220706F696E74733D2233 - 332E362C32342031392E322C34322034382C3432222F3E0D0A3C2F7376673E0D - 0A050000006C006500610076006500180400003C7376672076657273696F6E3D - 22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030 - 302F737667222076696577426F783D223020302034382034382220656E61626C - 652D6261636B67726F756E643D226E657720302030203438203438223E0D0A20 - 2020203C706174682066696C6C3D22234646434444322220643D224D352C3338 - 56313468333876323463302C322E322D312E382C342D342C34483943362E382C - 34322C352C34302E322C352C33387A222F3E0D0A202020203C70617468206669 - 6C6C3D22234634343333362220643D224D34332C313076364835762D3663302D - 322E322C312E382D342C342D346833304334312E322C362C34332C372E382C34 - 332C31307A222F3E0D0A202020203C672066696C6C3D2223423731433143223E - 0D0A20202020202020203C636972636C652063783D223333222063793D223130 - 2220723D2233222F3E0D0A20202020202020203C636972636C652063783D2231 - 35222063793D2231302220723D2233222F3E0D0A202020203C2F673E0D0A2020 - 20203C672066696C6C3D2223424442444244223E0D0A20202020202020203C70 - 61746820643D224D33332C33632D312E312C302D322C302E392D322C32763563 - 302C312E312C302E392C322C322C3273322D302E392C322D3256354333352C33 - 2E392C33342E312C332C33332C337A222F3E0D0A20202020202020203C706174 - 6820643D224D31352C33632D312E312C302D322C302E392D322C32763563302C - 312E312C302E392C322C322C3273322D302E392C322D3256354331372C332E39 - 2C31362E312C332C31352C337A222F3E0D0A202020203C2F673E0D0A20202020 - 3C706174682066696C6C3D22234634343333362220643D224D32322E322C3335 - 2E3363302D302E322C302D302E352C302E312D302E3763302E312D302E322C30 - 2E322D302E342C302E342D302E3573302E332D302E332C302E352D302E336330 - 2E322D302E312C302E352D302E312C302E372D302E312073302E352C302C302E - 372C302E3163302E322C302E312C302E342C302E322C302E362C302E3373302E - 332C302E332C302E342C302E3563302E312C302E322C302E312C302E342C302E - 312C302E3763302C302E322C302C302E352D302E312C302E37632D302E312C30 - 2E322D302E322C302E342D302E342C302E3520632D302E322C302E312D302E33 - 2C302E332D302E362C302E335332342E332C33372C32342C3337732D302E352C - 302D302E372D302E31632D302E322D302E312D302E342D302E322D302E352D30 - 2E33632D302E322D302E312D302E332D302E332D302E342D302E35204332322E - 332C33352E382C32322E322C33352E362C32322E322C33352E337A204D32352E - 332C3331682D322E366C2D302E342D313168332E334C32352E332C33317A222F - 3E0D0A3C2F7376673E0D0A040000006C00650066007400FD0000003C73766720 - 76657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E7733 - 2E6F72672F323030302F737667222076696577426F783D223020302034382034 - 382220656E61626C652D6261636B67726F756E643D226E657720302030203438 - 203438223E0D0A202020203C672066696C6C3D2223334635314235223E0D0A20 - 202020202020203C706F6C79676F6E20706F696E74733D22342C32342031382C - 31322E332031382C33352E37222F3E0D0A20202020202020203C726563742078 - 3D2231352220793D223230222077696474683D22323722206865696768743D22 - 38222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0A0000006C006500 - 660074005F0064006F0077006E0032000E0100003C7376672076657273696F6E - 3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F3230 - 30302F737667222076696577426F783D223020302034382034382220656E6162 - 6C652D6261636B67726F756E643D226E657720302030203438203438223E0D0A - 202020203C706F6C79676F6E2066696C6C3D22233346353142352220706F696E - 74733D2231392C34342033302E372C333020372E332C3330222F3E0D0A202020 - 203C706174682066696C6C3D22233346353142352220643D224D32372C366831 - 337638483237632D322E322C302D342C312E382D342C34763137682D38563138 - 4331352C31312E342C32302E342C362C32372C367A222F3E0D0A3C2F7376673E - 0D0A080000006C006500660074005F00750070003200110100003C7376672076 - 657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E - 6F72672F323030302F737667222076696577426F783D22302030203438203438 - 2220656E61626C652D6261636B67726F756E643D226E65772030203020343820 - 3438223E0D0A202020203C706F6C79676F6E2066696C6C3D2223334635314235 - 2220706F696E74733D2231392C342033302E372C313820372E332C3138222F3E - 0D0A202020203C706174682066696C6C3D22233346353142352220643D224D32 - 372C3432683133762D38483237632D322E322C302D342D312E382D342D345631 - 33682D387631374331352C33362E362C32302E342C34322C32372C34327A222F - 3E0D0A3C2F7376673E0D0A070000006C00690062007200610072007900290400 - 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F - 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 - 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 - 302030203438203438223E0D0A202020203C672066696C6C3D22234646393830 - 30223E0D0A20202020202020203C7265637420783D22312220793D2233382220 - 77696474683D22343622206865696768743D2232222F3E0D0A20202020202020 - 203C7265637420783D2232352220793D223138222077696474683D2234222068 - 65696768743D223136222F3E0D0A20202020202020203C7265637420783D2233 - 312220793D223138222077696474683D223422206865696768743D223136222F - 3E0D0A20202020202020203C7265637420783D2233372220793D223138222077 - 696474683D223422206865696768743D223136222F3E0D0A2020202020202020 - 3C7265637420783D2231392220793D223138222077696474683D223422206865 - 696768743D223136222F3E0D0A20202020202020203C7265637420783D223133 - 2220793D223138222077696474683D223422206865696768743D223136222F3E - 0D0A20202020202020203C7265637420783D22372220793D2231382220776964 - 74683D223422206865696768743D223136222F3E0D0A20202020202020203C70 - 6F6C79676F6E20706F696E74733D2234332C313620352C313620352C31332032 - 342C342034332C3133222F3E0D0A20202020202020203C7265637420783D2235 - 2220793D223334222077696474683D22333822206865696768743D2232222F3E - 0D0A202020203C2F673E0D0A202020203C672066696C6C3D2223454636433030 - 223E0D0A20202020202020203C7265637420783D2232352220793D2231362220 - 77696474683D223422206865696768743D2232222F3E0D0A2020202020202020 - 3C7265637420783D2233312220793D223136222077696474683D223422206865 - 696768743D2232222F3E0D0A20202020202020203C7265637420783D22333722 - 20793D223136222077696474683D223422206865696768743D2232222F3E0D0A - 20202020202020203C7265637420783D2231392220793D223136222077696474 - 683D223422206865696768743D2232222F3E0D0A20202020202020203C726563 - 7420783D2231332220793D223136222077696474683D22342220686569676874 - 3D2232222F3E0D0A20202020202020203C7265637420783D22372220793D2231 - 36222077696474683D223422206865696768743D2232222F3E0D0A2020202020 - 2020203C7265637420783D22332220793D223336222077696474683D22343222 - 206865696768743D2232222F3E0D0A20202020202020203C636972636C652063 - 783D223234222063793D2231312220723D2232222F3E0D0A202020203C2F673E - 0D0A3C2F7376673E0D0A1A0000006C0069006700680074005F00610074005F00 - 7400680065005F0065006E0064005F006F0066005F00740075006E006E006500 - 6C004C0200003C7376672076657273696F6E3D22312220786D6C6E733D226874 - 74703A2F2F7777772E77332E6F72672F323030302F737667222076696577426F - 783D223020302034382034382220656E61626C652D6261636B67726F756E643D - 226E657720302030203438203438223E0D0A202020203C706174682066696C6C - 3D22233346353142352220643D224D362C313076323863302C322E322C312E38 - 2C342C342C3468323863322E322C302C342D312E382C342D3456313063302D32 - 2E322D312E382D342D342D3448313043372E382C362C362C372E382C362C3130 - 7A222F3E0D0A202020203C706174682066696C6C3D2223434346324636222064 - 3D224D32372E392C32382E39682D352E386C2D382E342C372E326C362D372E32 - 762D322E346C2D332C302E386C332D312E39762D312E3563302D302E382C302E - 312D312E372C302E362D322E346C2D372E352D382E336C382E372C372E322063 - 302E372D302E372C312E352D312E312C322E352D312E326C302E362D372E336C - 312E312C372E3363302E332C302C302E362C302E312C302E382C302E316C312E - 322D312E326C2D302E332C312E3763302E332C302E312C302E342C302E332C30 - 2E372C302E366C342E342D322E386C2D332E362C332E392063302E332C302E34 - 2C302E362C312C302E372C312E376C322E322C302E316C2D322E322C302E3863 - 302C302E332C302C312E352C302C312E356C322E362C312E346C2D322E362D30 - 2E3363302C302C302C312E382C302C322E326C362E322C372E314C32372E392C - 32382E397A222F3E0D0A3C2F7376673E0D0A040000006C0069006B0065000D01 - 00003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F - 2F7777772E77332E6F72672F323030302F737667222076696577426F783D2230 - 20302034382034382220656E61626C652D6261636B67726F756E643D226E6577 - 20302030203438203438223E0D0A202020203C706174682066696C6C3D222346 - 34343333362220643D224D33342C39632D342E322C302D372E392C322E312D31 - 302C352E344332312E392C31312E312C31382E322C392C31342C3943372E342C - 392C322C31342E342C322C323163302C31312E392C32322C32342C32322C3234 - 7332322D31322C32322D3234204334362C31342E342C34302E362C392C33342C - 397A222F3E0D0A3C2F7376673E0D0A100000006C0069006B0065005F0070006C - 0061006300650068006F006C006400650072000D0100003C7376672076657273 - 696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F7267 - 2F323030302F737667222076696577426F783D22302030203438203438222065 - 6E61626C652D6261636B67726F756E643D226E65772030203020343820343822 - 3E0D0A202020203C706174682066696C6C3D22234646434444322220643D224D - 33342C39632D342E322C302D372E392C322E312D31302C352E344332312E392C - 31312E312C31382E322C392C31342C3943372E342C392C322C31342E342C322C - 323163302C31312E392C32322C32342C32322C32347332322D31322C32322D32 - 34204334362C31342E342C34302E362C392C33342C397A222F3E0D0A3C2F7376 - 673E0D0A0A0000006C0069006E0065005F006300680061007200740094030000 - 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 - 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 - 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 - 2030203438203438223E0D0A202020203C672066696C6C3D2223334635314235 - 223E0D0A20202020202020203C636972636C652063783D2238222063793D2233 - 382220723D2233222F3E0D0A20202020202020203C636972636C652063783D22 - 3136222063793D2234302220723D2233222F3E0D0A20202020202020203C6369 - 72636C652063783D223234222063793D2233332220723D2233222F3E0D0A2020 - 2020202020203C636972636C652063783D223332222063793D2233352220723D - 2233222F3E0D0A20202020202020203C636972636C652063783D223430222063 - 793D2233312220723D2233222F3E0D0A20202020202020203C706F6C79676F6E - 20706F696E74733D2233392E312C32392E322033312E382C33322E392032332E - 352C33302E382031352E352C33372E3820382E352C33362E3120372E352C3339 - 2E392031362E352C34322E322032342E352C33352E322033322E322C33372E31 - 2034302E392C33322E38222F3E0D0A202020203C2F673E0D0A202020203C6720 - 66696C6C3D2223303042434434223E0D0A20202020202020203C636972636C65 - 2063783D2238222063793D2232302220723D2233222F3E0D0A20202020202020 - 203C636972636C652063783D223136222063793D2232322220723D2233222F3E - 0D0A20202020202020203C636972636C652063783D223234222063793D223135 - 2220723D2233222F3E0D0A20202020202020203C636972636C652063783D2233 - 32222063793D2232302220723D2233222F3E0D0A20202020202020203C636972 - 636C652063783D223430222063793D22382220723D2233222F3E0D0A20202020 - 202020203C7061746820643D224D33382E332C362E39632D322E312C332E322D - 352E332C382D362E392C31302E34632D312E322D302E372D332E312D322D362E - 342D346C2D312E332D302E386C2D382E332C372E336C2D372D312E376C2D312C - 332E396C392C322E336C372E372D362E372063322E362C312E362C352E382C33 - 2E362C362E352C342E316C302E352C302E356C302E392D302E3163312E312D30 - 2E312C312E312D302E312C392E352D31322E394C33382E332C362E397A222F3E - 0D0A202020203C2F673E0D0A3C2F7376673E0D0A040000006C0069006E006B00 - 520200003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 - 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D - 223020302034382034382220656E61626C652D6261636B67726F756E643D226E - 657720302030203438203438223E0D0A202020203C672066696C6C3D22233139 - 37364432223E0D0A20202020202020203C7061746820643D224D33382C313368 - 2D33632D352E352C302D31302C342E352D31302C313073342E352C31302C3130 - 2C3130683363352E352C302C31302D342E352C31302D31305334332E352C3133 - 2C33382C31337A204D33382C3239682D3320632D332E332C302D362D322E372D - 362D3673322E372D362C362D36683363332E332C302C362C322E372C362C3653 - 34312E332C32392C33382C32397A222F3E0D0A20202020202020203C70617468 - 20643D224D31332C3133682D3343342E352C31332C302C31372E352C302C3233 - 73342E352C31302C31302C3130683363352E352C302C31302D342E352C31302D - 31305331382E352C31332C31332C31337A204D31332C3239682D3320632D332E - 332C302D362D322E372D362D3673322E372D362C362D36683363332E332C302C - 362C322E372C362C365331362E332C32392C31332C32397A222F3E0D0A202020 - 203C2F673E0D0A202020203C706174682066696C6C3D22233432413546352220 - 643D224D33332C3231483135632D312E312C302D322C302E392D322C3273302E - 392C322C322C3268313863312E312C302C322D302E392C322D325333342E312C - 32312C33332C32317A222F3E0D0A3C2F7376673E0D0A050000006C0069006E00 - 750078006F0F00003C3F786D6C2076657273696F6E3D22312E302220656E636F - 64696E673D227574662D38223F3E0D0A3C212D2D2047656E657261746F723A20 - 41646F626520496C6C7573747261746F722031392E312E312C20535647204578 - 706F727420506C75672D496E202E205356472056657273696F6E3A20362E3030 - 204275696C6420302920202D2D3E0D0A3C7376672076657273696F6E3D22312E - 31222020786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030 - 302F7376672220786D6C6E733A786C696E6B3D22687474703A2F2F7777772E77 - 332E6F72672F313939392F786C696E6B2220783D223070782220793D22307078 - 220D0A092076696577426F783D223020322034382034382220656E61626C652D - 6261636B67726F756E643D226E6577203020322034382034382220786D6C3A73 - 706163653D227072657365727665223E0D0A3C706F6C79676F6E2066696C6C3D - 22234543454646312220706F696E74733D2232302E312C31382E322032302E32 - 2C32302E352031382E362C32332E352031362E312C32382E342031352E362C33 - 322E352031372E342C33382E332032312E352C34302E362032372E372C34302E - 362033332E352C33362E32200D0A0933362E312C32392E332033302E312C3232 - 2032382E342C31372E3920222F3E0D0A3C706174682066696C6C3D2223323633 - 3233382220643D224D33342E332C32332E39632D312E362D322E332D322E392D - 332E372D332E362D362E36632D302E372D322E392C302E322D322E312D302E34 - 2D342E36632D302E332D312E332D302E382D322E322D312E332D322E390D0A09 - 632D302E362D302E372D312E332D312E312D312E372D312E32632D302E392D30 - 2E352D332D312E332D352E362C302E31632D322E372C312E342D322E342C342E - 342D312E392C31302E3563302C302E342D302E312C302E392D302E332C312E33 - 632D302E342C302E392D312E312C312E372D312E372C322E340D0A09632D302E - 372C312D312E342C322D312E392C332E31632D312E322C322E332D322E332C35 - 2E322D322C362E3363302E352D302E312C362E382C392E352C362E382C392E37 - 63302E342D302E312C322E312D302E312C332E362D302E3163322E312D302E31 - 2C332E332D302E322C352C302E320D0A0963302D302E332D302E312D302E362D - 302E312D302E3963302D302E362C302E312D312E312C302E322D312E3863302E - 312D302E352C302E322D312C302E332D312E36632D312C302E392D322E382C31 - 2E392D342E352C322E32632D312E352C302E332D342D302E322D352E322D312E - 370D0A0963302E312C302C302E332C302C302E342D302E3163302E332D302E31 - 2C302E362D302E322C302E372D302E3463302E332D302E352C302E312D312D30 - 2E312D312E33632D302E322D302E332D312E372D312E342D322E342D32632D30 - 2E372D302E362D312E312D302E392D312E352D312E330D0A0963302C302D302E - 362D302E362D302E382D302E38632D302E322D302E322D302E332D302E342D30 - 2E342D302E35632D302E322D302E352D302E332D312E312D302E322D312E3963 - 302E312D312E312C302E352D322C312D3363302E322D302E342C302E372D312E - 322C302E372D312E320D0A09732D312E372C342E322D302E382C352E3563302C - 302C302E312D312E332C302E352D322E3663302E332D302E392C302E382D322E - 322C312E342D322E3973322E312D332E332C322E322D342E3963302D302E372C - 302E312D312E342C302E312D312E39632D302E342D302E342C362E362D312E34 - 2C372D302E330D0A0963302E312C302E342C312E352C342C322E332C352E3963 - 302E342C302E392C302E392C312E372C312E322C322E3763302E332C312E312C - 302E352C322E362C302E352C342E3163302C302E332C302C302E382D302E312C - 312E3363302E322C302C342E312D342E322D302E352D372E370D0A0963302C30 - 2C322E382C312E332C322E392C332E3963302E312C322E312D302E382C332E38 - 2D312C342E3163302E312C302C322E312C302E392C322E322C302E3963302E34 - 2C302C312E322D302E332C312E322D302E3363302E312D302E332C302E342D31 - 2E312C302E342D312E340D0A094333372E362C32392E392C33352E392C32362E - 322C33342E332C32332E397A222F3E0D0A3C673E0D0A093C656C6C6970736520 - 66696C6C3D2223454345464631222063783D2232312E36222063793D2231352E - 33222072783D22312E33222072793D2232222F3E0D0A093C656C6C6970736520 - 66696C6C3D2223454345464631222063783D2232362E31222063793D2231352E - 32222072783D22312E37222072793D22322E33222F3E0D0A3C2F673E0D0A3C67 - 3E0D0A090D0A09093C656C6C69707365207472616E73666F726D3D226D617472 - 6978282D302E31323534202D302E3939323120302E39393231202D302E313235 - 3420382E393735342033382E3939363929222066696C6C3D2223323132313231 - 222063783D2232312E37222063793D2231352E35222072783D22312E32222072 - 793D22302E37222F3E0D0A093C656C6C697073652066696C6C3D222332313231 - 3231222063783D223236222063793D2231352E36222072783D2231222072793D - 22312E33222F3E0D0A3C2F673E0D0A3C673E0D0A093C706174682066696C6C3D - 22234646433130372220643D224D33392E332C33372E36632D302E342D302E32 - 2D312E312D302E352D312E372D312E34632D302E332D302E352D302E322D312E - 392D302E372D322E35632D302E332D302E342D302E372D302E322D302E382D30 - 2E320D0A0909632D302E392C302E322D332C312E362D342E342C30632D302E32 - 2D302E322D302E352D302E352D312D302E35632D302E352C302D302E372C302E - 322D302E392C302E36732D302E322C302E372D302E322C312E3763302C302E38 - 2C302C312E372D302E312C322E340D0A0909632D302E322C312E372D302E352C - 322E372D302E352C332E3763302C312E312C302E332C312E382C302E372C322E - 3163302E332C302E332C302E382C302E352C312E392C302E3563312E312C302C - 312E382D302E342C322E352D312E3163302E352D302E352C302E392D302E372C - 322E332D312E370D0A090963312E312D302E372C322E382D312E362C332E312D - 312E3963302E322D302E322C302E352D302E332C302E352D302E394334302C33 - 372E392C33392E362C33372E372C33392E332C33372E367A222F3E0D0A093C70 - 6174682066696C6C3D22234646433130372220643D224D31392E322C33372E39 - 632D312D312E362D312E312D312E392D312E382D322E39632D302E362D312D31 - 2E392D322E392D322E372D322E39632D302E362C302D302E392C302E332D312E - 332C302E370D0A0909632D302E342C302E342D302E382C312E332D312E352C31 - 2E38632D302E362C302E352D322E332C302E342D322E372C31632D302E342C30 - 2E362C302E342C312E352C302E342C3363302C302E362D302E352C312D302E36 - 2C312E34632D302E312C302E352D302E322C302E382C302C312E320D0A090963 - 302E342C302E362C302E392C302E382C342E332C312E3563312E382C302E342C - 332E352C312E342C342E362C312E3563312E312C302E312C332C302C332D322E - 374332312C33392E392C32302E312C33392E352C31392E322C33372E397A222F - 3E0D0A093C706174682066696C6C3D22234646433130372220643D224D32312E - 312C31392E384332302E352C31392E342C32302C31392C32302C31382E346330 - 2D302E362C302E342D302E382C312D312E3363302E312D302E312C312E322D31 - 2E312C322E332D312E3173322E342C302E372C322E392C302E390D0A09096330 - 2E392C302E322C312E382C302E342C312E372C312E31632D302E312C312D302E - 322C312E322D312E322C312E37632D302E372C302E322D322C312E332D322E39 - 2C312E33632D302E342C302D312C302D312E342D302E314332322E312C32302E - 382C32312E362C32302E332C32312E312C31392E387A222F3E0D0A3C2F673E0D - 0A3C673E0D0A093C706174682066696C6C3D22233633343730332220643D224D - 32302E392C313963302E322C302E322C302E352C302E342C302E382C302E3563 - 302E322C302E312C302E352C302E322C302E352C302E3263302E342C302C302E - 372C302C302E392C3063302E352C302C312E322D302E322C312E392D302E360D - 0A090963302E372D302E332C302E382D302E352C312E332D302E3763302E352D - 302E332C312D302E362C302E382D302E37632D302E322D302E312D302E342C30 - 2D312E312C302E34632D302E362C302E342D312E312C302E362D312E372C302E - 39632D302E332C302E312D302E372C302E332D312C302E330D0A0909632D302E - 332C302D302E362C302D302E392C30632D302E332C302D302E352D302E312D30 - 2E382D302E32632D302E322D302E312D302E332D302E322D302E342D302E3263 - 2D302E322D302E312D302E362D302E352D302E382D302E3663302C302D302E32 - 2C302D302E312C302E310D0A09094332302E362C31382E372C32302E372C3138 - 2E382C32302E392C31397A222F3E0D0A093C706174682066696C6C3D22233633 - 343730332220643D224D32332E392C31362E3863302E312C302E322C302E332C - 302E322C302E342C302E3363302E312C302E312C302E322C302E312C302E322C - 302E3163302E312D302E312C302D302E332D302E312D302E330D0A0909433234 - 2E342C31362E372C32332E392C31362E372C32332E392C31362E387A222F3E0D - 0A093C706174682066696C6C3D22233633343730332220643D224D32322E332C - 313763302C302E312C302E322C302E322C302E322C302E3163302E312D302E31 - 2C302E322D302E322C302E332D302E3263302E322D302E312C302E312D302E32 - 2D302E322D302E320D0A09094332322E342C31362E382C32322E342C31362E39 - 2C32322E332C31377A222F3E0D0A3C2F673E0D0A3C706174682066696C6C3D22 - 233435354136342220643D224D33322C33342E3763302C302E312C302C302E32 - 2C302C302E3363302E322C302E342C302E372C302E352C312E312C302E356330 - 2E362C302C312E322D302E342C312E352D302E3863302D302E312C302E312D30 - 2E322C302E322D302E330D0A0963302E322D302E332C302E332D302E352C302E - 342D302E3663302C302D302E312D302E312D302E312D302E32632D302E312D30 - 2E322D302E342D302E342D302E382D302E35632D302E332D302E312D302E382D - 302E322D312D302E32632D302E392D302E312D312E342C302E322D312E372C30 - 2E350D0A0963302C302C302E312C302C302E312C302E3163302E322C302E322C - 302E332C302E342C302E332C302E374333322E312C33342E342C33322C33342E - 352C33322C33342E377A222F3E0D0A3C2F7376673E0D0A040000006C00690073 - 007400BE0200003C7376672076657273696F6E3D22312220786D6C6E733D2268 - 7474703A2F2F7777772E77332E6F72672F323030302F73766722207669657742 - 6F783D223020302034382034382220656E61626C652D6261636B67726F756E64 - 3D226E657720302030203438203438223E0D0A202020203C672066696C6C3D22 - 23323139364633223E0D0A20202020202020203C7265637420783D2236222079 - 3D223232222077696474683D223422206865696768743D2234222F3E0D0A2020 - 2020202020203C7265637420783D22362220793D223134222077696474683D22 - 3422206865696768743D2234222F3E0D0A20202020202020203C726563742078 - 3D22362220793D223330222077696474683D223422206865696768743D223422 - 2F3E0D0A20202020202020203C7265637420783D22362220793D223622207769 - 6474683D223422206865696768743D2234222F3E0D0A20202020202020203C72 - 65637420783D22362220793D223338222077696474683D223422206865696768 - 743D2234222F3E0D0A202020203C2F673E0D0A202020203C672066696C6C3D22 - 23323139364633223E0D0A20202020202020203C7265637420783D2231342220 - 793D223232222077696474683D22323822206865696768743D2234222F3E0D0A - 20202020202020203C7265637420783D2231342220793D223134222077696474 - 683D22323822206865696768743D2234222F3E0D0A20202020202020203C7265 - 637420783D2231342220793D223330222077696474683D223238222068656967 - 68743D2234222F3E0D0A20202020202020203C7265637420783D223134222079 - 3D2236222077696474683D22323822206865696768743D2234222F3E0D0A2020 - 2020202020203C7265637420783D2231342220793D223338222077696474683D - 22323822206865696768743D2234222F3E0D0A202020203C2F673E0D0A3C2F73 - 76673E0D0A040000006C006F0063006B00990100003C7376672076657273696F - 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 - 3030302F737667222076696577426F783D223020302034382034382220656E61 - 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D - 0A202020203C706174682066696C6C3D22233432343234322220643D224D3234 - 2C34632D352E352C302D31302C342E352D31302C313076346834762D3463302D - 332E332C322E372D362C362D3673362C322E372C362C3676346834762D344333 - 342C382E352C32392E352C342C32342C347A222F3E0D0A202020203C70617468 - 2066696C6C3D22234642384330302220643D224D33362C3434483132632D322E - 322C302D342D312E382D342D3456323263302D322E322C312E382D342C342D34 - 68323463322E322C302C342C312E382C342C347631384334302C34322E322C33 - 382E322C34342C33362C34347A222F3E0D0A202020203C636972636C65206669 - 6C6C3D2223433736453030222063783D223234222063793D2233312220723D22 - 33222F3E0D0A3C2F7376673E0D0A0E0000006C006F0063006B005F006C006100 - 6E00640073006300610070006500610200003C7376672076657273696F6E3D22 - 312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32303030 - 2F737667222076696577426F783D223020302034382034382220656E61626C65 - 2D6261636B67726F756E643D226E657720302030203438203438223E0D0A2020 - 20203C706174682066696C6C3D22233337343734462220643D224D372C313068 - 333463322E322C302C342C312E382C342C3476323063302C322E322D312E382C - 342D342C344837632D322E322C302D342D312E382D342D3456313443332C3131 - 2E382C342E382C31302C372C31307A222F3E0D0A202020203C70617468206669 - 6C6C3D22234242444546422220643D224D34322C333456313463302D302E362D - 302E342D312D312D314837632D302E362C302D312C302E342D312C3176323063 - 302C302E362C302E342C312C312C316833344334312E362C33352C34322C3334 - 2E362C34322C33347A222F3E0D0A202020203C672066696C6C3D222333463531 - 4235223E0D0A20202020202020203C7061746820643D224D32392C3331483139 - 632D302E362C302D312D302E342D312D31762D3663302D302E362C302E342D31 - 2C312D3168313063302E362C302C312C302E342C312C3176364333302C33302E - 362C32392E362C33312C32392C33317A222F3E0D0A20202020202020203C7061 - 746820643D224D32342C3137632D322E322C302D342C312E382D342C34763368 - 32762D3363302D312E312C302E392D322C322D3273322C302E392C322C327633 - 6832762D334332382C31382E382C32362E322C31372C32342C31377A222F3E0D - 0A202020203C2F673E0D0A3C2F7376673E0D0A0D0000006C006F0063006B005F - 0070006F00720074007200610069007400600200003C7376672076657273696F - 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 - 3030302F737667222076696577426F783D223020302034382034382220656E61 - 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D - 0A202020203C706174682066696C6C3D22233337343734462220643D224D3130 - 2C3431563763302D322E322C312E382D342C342D3468323063322E322C302C34 - 2C312E382C342C3476333463302C322E322D312E382C342D342C344831344331 - 312E382C34352C31302C34332E322C31302C34317A222F3E0D0A202020203C70 - 6174682066696C6C3D22234242444546422220643D224D33342C36483134632D - 302E362C302D312C302E342D312C3176333463302C302E362C302E342C312C31 - 2C3168323063302E362C302C312D302E342C312D3156374333352C362E342C33 - 342E362C362C33342C367A222F3E0D0A202020203C672066696C6C3D22233346 - 35314235223E0D0A20202020202020203C7061746820643D224D32392C333048 - 3139632D302E362C302D312D302E342D312D31762D3663302D302E362C302E34 - 2D312C312D3168313063302E362C302C312C302E342C312C3176364333302C32 - 392E362C32392E362C33302C32392C33307A222F3E0D0A20202020202020203C - 7061746820643D224D32342C3136632D322E322C302D342C312E382D342C3476 - 336832762D3363302D312E312C302E392D322C322D3273322C302E392C322C32 - 76336832762D334332382C31372E382C32362E322C31362C32342C31367A222F - 3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0B0000006C006F0077005F - 006200610074007400650072007900CC0100003C7376672076657273696F6E3D - 22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030 - 302F737667222076696577426F783D223020302034382034382220656E61626C - 652D6261636B67726F756E643D226E657720302030203438203438223E0D0A20 - 2020203C672066696C6C3D2223434644384443223E0D0A20202020202020203C - 7061746820643D224D33342C3434483134632D312E312C302D322D302E392D32 - 2D32563863302D312E312C302E392D322C322D3268323063312E312C302C322C - 302E392C322C327633344333362C34332E312C33352E312C34342C33342C3434 - 7A222F3E0D0A20202020202020203C7061746820643D224D32382C3133682D38 - 632D302E362C302D312D302E342D312D31563563302D302E362C302E342D312C - 312D31683863302E362C302C312C302E342C312C3176374332392C31322E362C - 32382E362C31332C32382C31337A222F3E0D0A202020203C2F673E0D0A202020 - 203C706174682066696C6C3D22233842433334412220643D224D33342C343448 - 3134632D312E312C302D322D302E392D322D32762D3968323476394333362C34 - 332E312C33352E312C34342C33342C34347A222F3E0D0A3C2F7376673E0D0A0C - 0000006C006F0077005F007000720069006F007200690074007900A80100003C - 7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777 - 772E77332E6F72672F323030302F737667222076696577426F783D2230203020 - 34382034382220656E61626C652D6261636B67726F756E643D226E6577203020 - 30203438203438223E0D0A202020203C706174682066696C6C3D222334434146 - 35302220643D224D32312E322C34342E386C2D31382D3138632D312E362D312E - 362D312E362D342E312C302D352E376C31382D313863312E362D312E362C342E - 312D312E362C352E372C306C31382C313863312E362C312E362C312E362C342E - 312C302C352E376C2D31382C3138204332352E332C34362E342C32322E372C34 - 362E342C32312E322C34342E387A222F3E0D0A202020203C672066696C6C3D22 - 23464645423342223E0D0A20202020202020203C706F6C79676F6E20706F696E - 74733D2232342C33332E342031372C32352033312C3235222F3E0D0A20202020 - 202020203C7265637420783D2232322220793D2231342E38222077696474683D - 223422206865696768743D2231322E33222F3E0D0A202020203C2F673E0D0A3C - 2F7376673E0D0A0D0000006D0061006B0065005F006400650063006900730069 - 006F006E00020300003C7376672076657273696F6E3D22312220786D6C6E733D - 22687474703A2F2F7777772E77332E6F72672F323030302F7376672220766965 - 77426F783D223020302034382034382220656E61626C652D6261636B67726F75 - 6E643D226E657720302030203438203438223E0D0A202020203C672066696C6C - 3D2223464643433830223E0D0A20202020202020203C636972636C652063783D - 223338222063793D2232362220723D2234222F3E0D0A20202020202020203C63 - 6972636C652063783D223130222063793D2232362220723D2234222F3E0D0A20 - 202020202020203C7061746820643D224D33392C313963302D31322E372D3330 - 2D382E332D33302C3063302C312E382C302C382E322C302C313063302C382E33 - 2C362E372C31352C31352C31357331352D362E372C31352D31354333392C3237 - 2E322C33392C32302E382C33392C31397A222F3E0D0A20202020202020203C70 - 61746820643D224D32342C344331352E322C342C382C31312E322C382C323063 - 302C312E322C302C332E352C302C332E356C322E312C302E365631396C31392E - 352D362E336C382E322C362E3376352E316C322E312D302E3663302C302C302D - 322E332C302D332E35204334302C31322E352C33342E362C342C32342C347A22 - 2F3E0D0A202020203C2F673E0D0A202020203C706F6C79676F6E2066696C6C3D - 22234646353732322220706F696E74733D2232342C32332E352032342C31322E - 352033302E362C3138222F3E0D0A202020203C706174682066696C6C3D222346 - 46353732322220643D224D32382E392C32342E3463302C302E322C302E312C30 - 2E342C302E312C302E3663302C322E382D322E322C352D352C35732D352D322E - 322D352D3573322E322D352C352D3563302E372C302C312E342C302E322C322C - 302E34762D342E3220632D302E362D302E312D312E332D302E322D322D302E32 - 632D352C302D392C342D392C3973342C392C392C3973392D342C392D3963302D - 312E322D302E322D322E342D302E372D332E344C32382E392C32342E347A222F - 3E0D0A3C2F7376673E0D0A070000006D0061006E0061006700650072004E0300 - 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F - 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 - 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 - 302030203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D22 - 234646393830302220706F696E74733D2232342C33372031392C33312031392C - 32352032392C32352032392C3331222F3E0D0A202020203C672066696C6C3D22 - 23464641373236223E0D0A20202020202020203C636972636C652063783D2233 - 33222063793D2231392220723D2232222F3E0D0A20202020202020203C636972 - 636C652063783D223135222063793D2231392220723D2232222F3E0D0A202020 - 203C2F673E0D0A202020203C706174682066696C6C3D22234646423734442220 - 643D224D33332C313363302D372E362D31382D352D31382C3063302C312E312C - 302C352E392C302C3763302C352C342C392C392C3973392D342C392D39433333 - 2C31382E392C33332C31342E312C33332C31337A222F3E0D0A202020203C7061 - 74682066696C6C3D22234646353732322220643D224D32342C34632D362E312C - 302D31302C342E392D31302C313163302C302E382C302C322E332C302C322E33 - 6C322C312E37762D356C31322D346C342C3476356C322D312E3763302C302C30 - 2D312E352C302D322E3363302D342D312D382D362D396C2D312D32204832347A - 222F3E0D0A202020203C672066696C6C3D2223373834373139223E0D0A202020 - 20202020203C636972636C652063783D223238222063793D2231392220723D22 - 31222F3E0D0A20202020202020203C636972636C652063783D22323022206379 - 3D2231392220723D2231222F3E0D0A202020203C2F673E0D0A202020203C7061 - 74682066696C6C3D22234346443844432220643D224D32392C33314C32392C33 - 316C2D352C316C2D352D3163302C302D31312C322D31312C3133683332433430 - 2C33332C32392C33312C32392C33317A222F3E0D0A202020203C706F6C79676F - 6E2066696C6C3D22233346353142352220706F696E74733D2232332C33352032 - 322C34342032362C34342032352C33352032362C33342032342C33322032322C - 3334222F3E0D0A3C2F7376673E0D0A0F0000006D0065006400690075006D005F - 007000720069006F007200690074007900B90100003C7376672076657273696F - 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 - 3030302F737667222076696577426F783D223020302034382034382220656E61 - 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D - 0A202020203C706174682066696C6C3D22234646433130372220643D224D3231 - 2E322C34342E386C2D31382D3138632D312E362D312E362D312E362D342E312C - 302D352E376C31382D313863312E362D312E362C342E312D312E362C352E372C - 306C31382C313863312E362C312E362C312E362C342E312C302C352E376C2D31 - 382C3138204332352E332C34362E342C32322E372C34362E342C32312E322C34 - 342E387A222F3E0D0A202020203C672066696C6C3D2223333734373446223E0D - 0A20202020202020203C636972636C652063783D223234222063793D22323422 - 20723D2232222F3E0D0A20202020202020203C636972636C652063783D223332 - 222063793D2232342220723D2232222F3E0D0A20202020202020203C63697263 - 6C652063783D223136222063793D2232342220723D2232222F3E0D0A20202020 - 3C2F673E0D0A3C2F7376673E0D0A040000006D0065006E007500320100003C73 - 76672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F777777 - 2E77332E6F72672F323030302F737667222076696577426F783D223020302034 - 382034382220656E61626C652D6261636B67726F756E643D226E657720302030 - 203438203438223E0D0A202020203C672066696C6C3D2223363037443842223E - 0D0A20202020202020203C7265637420783D22362220793D2232322220776964 - 74683D22333622206865696768743D2234222F3E0D0A20202020202020203C72 - 65637420783D22362220793D223130222077696474683D223336222068656967 - 68743D2234222F3E0D0A20202020202020203C7265637420783D22362220793D - 223334222077696474683D22333622206865696768743D2234222F3E0D0A2020 - 20203C2F673E0D0A3C2F7376673E0D0A0E0000006D006900640064006C006500 - 5F006200610074007400650072007900CD0100003C7376672076657273696F6E - 3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F3230 - 30302F737667222076696577426F783D223020302034382034382220656E6162 - 6C652D6261636B67726F756E643D226E657720302030203438203438223E0D0A - 202020203C672066696C6C3D2223434644384443223E0D0A2020202020202020 - 3C7061746820643D224D33342C3434483134632D312E312C302D322D302E392D - 322D32563863302D312E312C302E392D322C322D3268323063312E312C302C32 - 2C302E392C322C327633344333362C34332E312C33352E312C34342C33342C34 - 347A222F3E0D0A20202020202020203C7061746820643D224D32382C3133682D - 38632D302E362C302D312D302E342D312D31563563302D302E362C302E342D31 - 2C312D31683863302E362C302C312C302E342C312C3176374332392C31322E36 - 2C32382E362C31332C32382C31337A222F3E0D0A202020203C2F673E0D0A2020 - 20203C706174682066696C6C3D22233842433334412220643D224D33342C3434 - 483134632D312E312C302D322D302E392D322D32563233683234763139433336 - 2C34332E312C33352E312C34342C33342C34347A222F3E0D0A3C2F7376673E0D - 0A080000006D0069006E0064005F006D00610070003E0200003C737667207665 - 7273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F - 72672F323030302F737667222076696577426F783D2230203020343820343822 - 20656E61626C652D6261636B67726F756E643D226E6577203020302034382034 - 38223E0D0A202020203C706F6C79676F6E2066696C6C3D222343464438444322 - 20706F696E74733D2233392E342C32332033382E362C31392032362C32312E36 - 2032362C382032322C382032322C32302E3320382E312C31312E3320352E392C - 31342E372032312E312C32342E3520392E342C33392E382031322E362C34322E - 322032332E392C32372E342033322E332C34302E312033352E372C33372E3920 - 32372E332C32352E34222F3E0D0A202020203C636972636C652066696C6C3D22 - 23334635314235222063783D223234222063793D2232342220723D2237222F3E - 0D0A202020203C672066696C6C3D2223303042434434223E0D0A202020202020 - 20203C636972636C652063783D223234222063793D22382220723D2235222F3E - 0D0A20202020202020203C636972636C652063783D223339222063793D223231 - 2220723D2235222F3E0D0A20202020202020203C636972636C652063783D2237 - 222063793D2231332220723D2235222F3E0D0A20202020202020203C63697263 - 6C652063783D223131222063793D2234312220723D2235222F3E0D0A20202020 - 202020203C636972636C652063783D223334222063793D2233392220723D2235 - 222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0B0000006D00690073 - 007300650064005F00630061006C006C001D0200003C7376672076657273696F - 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 - 3030302F737667222076696577426F783D223020302034382034382220656E61 - 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D - 0A202020203C672066696C6C3D2223463434333336223E0D0A20202020202020 - 203C706F6C79676F6E20706F696E74733D2233302E332C31322E392032342C31 - 392E322031352E372C31302E392031322E392C31332E372032342C32342E3820 - 33332E312C31352E37222F3E0D0A20202020202020203C706F6C79676F6E2070 - 6F696E74733D2233362C31392032372C31302033362C3130222F3E0D0A202020 - 203C2F673E0D0A202020203C706174682066696C6C3D22233030393638382220 - 643D224D34342E352C33302E386C2D322E342D322E34632D382E352D382E332D - 32382E392D372E312D33362E322C306C2D322E342C322E34632D302E372C302E - 372D302E372C312E372C302C322E346C342E382C342E372063302E372C302E37 - 2C312E372C302E372C322E342C306C352E332D352E316C2D302E342D352E3663 - 312E372D312E372C31352E312D312E372C31362E382C304C33322E312C33336C - 352E312C342E3963302E372C302E372C312E372C302E372C322E342C306C342E - 382D342E37204334352E322C33322E352C34352E322C33312E342C34342E352C - 33302E387A222F3E0D0A3C2F7376673E0D0A030000006D006D00730099010000 - 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 - 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 - 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 - 2030203438203438223E0D0A202020203C706174682066696C6C3D2223453931 - 4536332220643D224D33372C33394831316C2D362C3656313163302D332E332C - 322E372D362C362D3668323663332E332C302C362C322E372C362C3676323243 - 34332C33362E332C34302E332C33392C33372C33397A222F3E0D0A202020203C - 706F6C79676F6E2066696C6C3D22234634384642312220706F696E74733D2232 - 302C31362E352031302C33312033302C3331222F3E0D0A202020203C67206669 - 6C6C3D2223463842424430223E0D0A20202020202020203C636972636C652063 - 783D223334222063793D2231352220723D2233222F3E0D0A2020202020202020 - 3C706F6C79676F6E20706F696E74733D2233302C32312032322C33312033382C - 3331222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0E0000006D006F - 006E00650079005F007400720061006E007300660065007200050300003C7376 - 672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E - 77332E6F72672F323030302F737667222076696577426F783D22302030203438 - 2034382220656E61626C652D6261636B67726F756E643D226E65772030203020 - 3438203438223E0D0A202020203C706174682066696C6C3D2223373839303943 - 2220643D224D34302C34314838632D322E322C302D342D312E382D342D346C30 - 2D32302E3963302D312E332C302E362D322E352C312E372D332E334C32342C30 - 6C31382E332C31322E3863312E312C302E372C312E372C322C312E372C332E33 - 563337204334342C33392E322C34322E322C34312C34302C34317A222F3E0D0A - 202020203C7265637420783D2231342220793D2231222066696C6C3D22234145 - 44353831222077696474683D22323022206865696768743D223331222F3E0D0A - 202020203C672066696C6C3D2223353538423246223E0D0A2020202020202020 - 3C7061746820643D224D31332C3076333368323256304831337A204D33332C33 - 3148313556326831385633317A222F3E0D0A20202020202020203C7061746820 - 643D224D33342C3363302C312E372D302E332C332D322C33632D312E372C302D - 332D312E332D332D3373312E332D322C332D324333332E372C312C33342C312E - 332C33342C337A222F3E0D0A20202020202020203C7061746820643D224D3136 - 2C3163312E372C302C332C302E332C332C32732D312E332C332D332C33732D32 - 2D312E332D322D335331342E332C312C31362C317A222F3E0D0A202020202020 - 20203C636972636C652063783D223234222063793D22382220723D2232222F3E - 0D0A20202020202020203C636972636C652063783D223234222063793D223230 - 2220723D2236222F3E0D0A202020203C2F673E0D0A202020203C706174682066 - 696C6C3D22234346443844432220643D224D34302C34314838632D322E322C30 - 2D342D312E382D342D346C302D32306C32302C31336C32302D31337632304334 - 342C33392E322C34322E322C34312C34302C34317A222F3E0D0A3C2F7376673E - 0D0A100000006D0075006C007400690070006C0065005F00630061006D006500 - 720061007300F40200003C7376672076657273696F6E3D22312220786D6C6E73 - 3D22687474703A2F2F7777772E77332E6F72672F323030302F73766722207669 - 6577426F783D223020302034382034382220656E61626C652D6261636B67726F - 756E643D226E657720302030203438203438223E0D0A202020203C7061746820 - 66696C6C3D22233435354136342220643D224D34322C3431483132632D322E32 - 2C302D342D312E382D342D3456313763302D322E322C312E382D342C342D3468 - 333063322E322C302C342C312E382C342C347632304334362C33392E322C3434 - 2E322C34312C34322C34317A222F3E0D0A202020203C706174682066696C6C3D - 22233738393039432220643D224D33362C33364836632D322E322C302D342D31 - 2E382D342D3456313263302D322E322C312E382D342C342D3468333063322E32 - 2C302C342C312E382C342C347632304334302C33342E322C33382E322C33362C - 33362C33367A222F3E0D0A202020203C636972636C652066696C6C3D22233435 - 35413634222063783D223236222063793D2232322220723D223130222F3E0D0A - 202020203C636972636C652066696C6C3D2223343241354635222063783D2232 - 36222063793D2232322220723D2237222F3E0D0A202020203C70617468206669 - 6C6C3D22233930434146392220643D224D32392E372C31392E37632D312D312E - 312D322E332D312E372D332E372D312E37732D322E382C302E362D332E372C31 - 2E37632D302E342C302E342D302E332C312C302E312C312E3463302E342C302E - 342C312C302E332C312E342D302E312063312E322D312E332C332E332D312E33 - 2C342E352C3063302E322C302E322C302E352C302E332C302E372C302E336330 - 2E322C302C302E352D302E312C302E372D302E334333302E312C32302E372C33 - 302E312C32302E312C32392E372C31392E377A222F3E0D0A202020203C726563 - 7420783D22362220793D223132222066696C6C3D222341444438464222207769 - 6474683D223622206865696768743D2233222F3E0D0A3C2F7376673E0D0A1000 - 00006D0075006C007400690070006C0065005F00640065007600690063006500 - 7300E10200003C7376672076657273696F6E3D22312220786D6C6E733D226874 - 74703A2F2F7777772E77332E6F72672F323030302F737667222076696577426F - 783D223020302034382034382220656E61626C652D6261636B67726F756E643D - 226E657720302030203438203438223E0D0A202020203C706174682066696C6C - 3D22233534364537412220643D224D342C3238563863302D322E322C312E382D - 342C342D3468323863322E322C302C342C312E382C342C3476323063302C322E - 322D312E382C342D342C34483843352E382C33322C342C33302E322C342C3238 - 7A222F3E0D0A202020203C706174682066696C6C3D2223424244454642222064 - 3D224D33362C37483843372E342C372C372C372E342C372C3876323063302C30 - 2E362C302E342C312C312C3168323863302E362C302C312D302E342C312D3156 - 384333372C372E342C33362E362C372C33362C377A222F3E0D0A202020203C70 - 6174682066696C6C3D22233337343734462220643D224D33382C33334836632D - 322E322C302D342D312E382D342D34763068343076304334322C33312E322C34 - 302E322C33332C33382C33337A222F3E0D0A202020203C706174682066696C6C - 3D22234533383933392220643D224D32342C343056313663302D322E322C312E - 382D342C342D3468313263322E322C302C342C312E382C342C3476323463302C - 322E322D312E382C342D342C344832384332352E382C34342C32342C34322E32 - 2C32342C34307A222F3E0D0A202020203C706174682066696C6C3D2223464646 - 3345302220643D224D34302C3135483238632D302E362C302D312C302E342D31 - 2C3176323263302C302E362C302E342C312C312C3168313263302E362C302C31 - 2D302E342C312D315631364334312C31352E342C34302E362C31352C34302C31 - 357A222F3E0D0A202020203C636972636C652066696C6C3D2223413636343241 - 222063783D223334222063793D2234312E352220723D22312E35222F3E0D0A3C - 2F7376673E0D0A0F0000006D0075006C007400690070006C0065005F0069006E - 007000750074007300C00200003C7376672076657273696F6E3D22312220786D - 6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73766722 - 2076696577426F783D223020302034382034382220656E61626C652D6261636B - 67726F756E643D226E657720302030203438203438223E0D0A202020203C7061 - 74682066696C6C3D22233930413441452220643D224D34302C33357635483876 - 2D354834763563302C322E322C312E382C342C342C3468333263322E322C302C - 342D312E382C342D34762D354834307A222F3E0D0A202020203C672066696C6C - 3D2223313536354330223E0D0A20202020202020203C706F6C79676F6E20706F - 696E74733D2232342C32332E342031372C31352033312C3135222F3E0D0A2020 - 2020202020203C7265637420783D2232322220793D2234222077696474683D22 - 3422206865696768743D223134222F3E0D0A20202020202020203C7061746820 - 643D224D33312E352C32362E394C33302E382C32386C332E352C312E396C302E - 362D312E3263312E362D332C322E362D342E372C332E352D352E324333392E33 - 2C32332C34312C32332C34342C3233762D34204333362E332C31392C33352E36 - 2C31392E342C33312E352C32362E397A222F3E0D0A20202020202020203C706F - 6C79676F6E20706F696E74733D2233382E342C33312032392E342C3335203238 - 2C3235222F3E0D0A20202020202020203C7061746820643D224D31362E352C32 - 362E396C302E362C312E324C31332E362C33304C31332C32382E38632D312E36 - 2D332D322E362D342E372D332E352D352E3243382E372C32332C372C32332C34 - 2C3233762D34204331312E372C31392C31322E342C31392E342C31362E352C32 - 362E397A222F3E0D0A20202020202020203C706F6C79676F6E20706F696E7473 - 3D2232302C32352031382E362C333520392E362C3331222F3E0D0A202020203C - 2F673E0D0A3C2F7376673E0D0A140000006D0075006C007400690070006C0065 - 005F0073006D00610072007400700068006F006E0065007300EE0300003C7376 - 672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E - 77332E6F72672F323030302F737667222076696577426F783D22302030203438 - 2034382220656E61626C652D6261636B67726F756E643D226E65772030203020 - 3438203438223E0D0A202020203C706174682066696C6C3D2223343535413634 - 2220643D224D342C3331563863302D322E322C312E382D342C342D3468313263 - 322E322C302C342C312E382C342C3476323363302C322E322D312E382C342D34 - 2C34483843352E382C33352C342C33332E322C342C33317A222F3E0D0A202020 - 203C706174682066696C6C3D22234242444546422220643D224D32302C374838 - 43372E342C372C372C372E342C372C3876323163302C302E362C302E342C312C - 312C3168313263302E362C302C312D302E342C312D3156384332312C372E342C - 32302E362C372C32302C377A222F3E0D0A202020203C636972636C652066696C - 6C3D2223333734373446222063783D223134222063793D2233322E352220723D - 22312E35222F3E0D0A202020203C706174682066696C6C3D2223353436453741 - 2220643D224D31342C333656313363302D322E322C312E382D342C342D346831 - 3263322E322C302C342C312E382C342C3476323363302C322E322D312E382C34 - 2D342C344831384331352E382C34302C31342C33382E322C31342C33367A222F - 3E0D0A202020203C706174682066696C6C3D22234242444546422220643D224D - 33302C3132483138632D302E362C302D312C302E342D312C3176323163302C30 - 2E362C302E342C312C312C3168313263302E362C302C312D302E342C312D3156 - 31334333312C31322E342C33302E362C31322C33302C31327A222F3E0D0A2020 - 20203C636972636C652066696C6C3D2223333734373446222063783D22323422 - 2063793D2233372E352220723D22312E35222F3E0D0A202020203C7061746820 - 66696C6C3D22234533383933392220643D224D32342C343056313863302D322E - 322C312E382D342C342D3468313263322E322C302C342C312E382C342C347632 - 3263302C322E322D312E382C342D342C344832384332352E382C34342C32342C - 34322E322C32342C34307A222F3E0D0A202020203C706174682066696C6C3D22 - 234646463345302220643D224D34302C3137483238632D302E362C302D312C30 - 2E342D312C3176323063302C302E362C302E342C312C312C3168313263302E36 - 2C302C312D302E342C312D315631384334312C31372E342C34302E362C31372C - 34302C31377A222F3E0D0A202020203C636972636C652066696C6C3D22234136 - 36343241222063783D223334222063793D2234312E352220723D22312E35222F - 3E0D0A3C2F7376673E0D0A050000006D007500730069006300FF0000003C7376 - 672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E - 77332E6F72672F323030302F737667222076696577426F783D22302030203438 - 2034382220656E61626C652D6261636B67726F756E643D226E65772030203020 - 3438203438223E0D0A202020203C672066696C6C3D2223453931453633223E0D - 0A20202020202020203C636972636C652063783D223139222063793D22333322 - 20723D2239222F3E0D0A20202020202020203C706F6C79676F6E20706F696E74 - 733D2232342C362032342C33332032382C33332032382C31342033392C313720 - 33392C3130222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A10000000 - 6E00650075007400720061006C005F006400650063006900730069006F006E00 - 8A0200003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 - 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D - 223020302034382034382220656E61626C652D6261636B67726F756E643D226E - 657720302030203438203438223E0D0A202020203C672066696C6C3D22234646 - 43433830223E0D0A20202020202020203C636972636C652063783D2233382220 - 63793D2232362220723D2234222F3E0D0A20202020202020203C636972636C65 - 2063783D223130222063793D2232362220723D2234222F3E0D0A202020202020 - 20203C7061746820643D224D33392C313963302D31322E372D33302D382E332D - 33302C3063302C312E382C302C382E322C302C313063302C382E332C362E372C - 31352C31352C31357331352D362E372C31352D31354333392C32372E322C3339 - 2C32302E382C33392C31397A222F3E0D0A20202020202020203C706174682064 - 3D224D32342C344331352E322C342C382C31312E322C382C323063302C312E32 - 2C302C332E352C302C332E356C322E312C302E365631396C31392E352D362E33 - 6C382E322C362E3376352E316C322E312D302E3663302C302C302D322E332C30 - 2D332E35204334302C31322E352C33342E362C342C32342C347A222F3E0D0A20 - 2020203C2F673E0D0A202020203C672066696C6C3D2223333734373446223E0D - 0A20202020202020203C636972636C652063783D223234222063793D22323522 - 20723D2232222F3E0D0A20202020202020203C636972636C652063783D223332 - 222063793D2232352220723D2232222F3E0D0A20202020202020203C63697263 - 6C652063783D223136222063793D2232352220723D2232222F3E0D0A20202020 - 3C2F673E0D0A3C2F7376673E0D0A0F0000006E00650075007400720061006C00 - 5F00740072006100640069006E0067008E0200003C7376672076657273696F6E - 3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F3230 - 30302F737667222076696577426F783D223020302034382034382220656E6162 - 6C652D6261636B67726F756E643D226E657720302030203438203438223E0D0A - 202020203C672066696C6C3D2223313536354330223E0D0A2020202020202020 - 3C706F6C79676F6E20706F696E74733D2234332E342C31332033352C32302033 - 352C36222F3E0D0A20202020202020203C7265637420783D22342220793D2231 - 31222077696474683D22333422206865696768743D2234222F3E0D0A20202020 - 3C2F673E0D0A202020203C672066696C6C3D2223323139364633223E0D0A2020 - 2020202020203C7265637420783D2234302220793D223233222077696474683D - 223422206865696768743D223139222F3E0D0A20202020202020203C72656374 - 20783D2233342220793D223233222077696474683D223422206865696768743D - 223139222F3E0D0A20202020202020203C7265637420783D2232382220793D22 - 3233222077696474683D223422206865696768743D223139222F3E0D0A202020 - 20202020203C7265637420783D2232322220793D223233222077696474683D22 - 3422206865696768743D223139222F3E0D0A20202020202020203C7265637420 - 783D2231362220793D223233222077696474683D223422206865696768743D22 - 3139222F3E0D0A20202020202020203C7265637420783D2231302220793D2232 - 33222077696474683D223422206865696768743D223139222F3E0D0A20202020 - 202020203C7265637420783D22342220793D223233222077696474683D223422 - 206865696768743D223139222F3E0D0A202020203C2F673E0D0A3C2F7376673E - 0D0A040000006E00650077007300D20300003C7376672076657273696F6E3D22 - 312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32303030 - 2F737667222076696577426F783D223020302034382034382220656E61626C65 - 2D6261636B67726F756E643D226E657720302030203438203438223E0D0A2020 - 20203C706174682066696C6C3D22234646353732322220643D224D33322C3135 - 763238483130632D322E322C302D342D312E382D342D345631354833327A222F - 3E0D0A202020203C706174682066696C6C3D22234646434342432220643D224D - 31342C3576333463302C322E322D312E382C342D342C3468323963322E322C30 - 2C342D312E382C342D3456354831347A222F3E0D0A202020203C672066696C6C - 3D2223464635373232223E0D0A20202020202020203C7265637420783D223230 - 2220793D223130222077696474683D22313822206865696768743D2234222F3E - 0D0A20202020202020203C7265637420783D2232302220793D22313722207769 - 6474683D223822206865696768743D2232222F3E0D0A20202020202020203C72 - 65637420783D2233302220793D223137222077696474683D2238222068656967 - 68743D2232222F3E0D0A20202020202020203C7265637420783D223230222079 - 3D223231222077696474683D223822206865696768743D2232222F3E0D0A2020 - 2020202020203C7265637420783D2233302220793D223231222077696474683D - 223822206865696768743D2232222F3E0D0A20202020202020203C7265637420 - 783D2232302220793D223235222077696474683D223822206865696768743D22 - 32222F3E0D0A20202020202020203C7265637420783D2233302220793D223235 - 222077696474683D223822206865696768743D2232222F3E0D0A202020202020 - 20203C7265637420783D2232302220793D223239222077696474683D22382220 - 6865696768743D2232222F3E0D0A20202020202020203C7265637420783D2233 - 302220793D223239222077696474683D223822206865696768743D2232222F3E - 0D0A20202020202020203C7265637420783D2232302220793D22333322207769 - 6474683D223822206865696768743D2232222F3E0D0A20202020202020203C72 - 65637420783D2233302220793D223333222077696474683D2238222068656967 - 68743D2232222F3E0D0A20202020202020203C7265637420783D223230222079 - 3D223337222077696474683D223822206865696768743D2232222F3E0D0A2020 - 2020202020203C7265637420783D2233302220793D223337222077696474683D - 223822206865696768743D2232222F3E0D0A202020203C2F673E0D0A3C2F7376 - 673E0D0A040000006E00650078007400C80000003C7376672076657273696F6E - 3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F3230 - 30302F737667222076696577426F783D223020302034382034382220656E6162 - 6C652D6261636B67726F756E643D226E657720302030203438203438223E0D0A - 202020203C706F6C79676F6E2066696C6C3D22233231393646332220706F696E - 74733D2231372E312C352031342C382E312032392E392C32342031342C33392E - 392031372E312C34332033362C3234222F3E0D0A3C2F7376673E0D0A08000000 - 6E00660063005F007300690067006E00B10400003C3F786D6C2076657273696F - 6E3D22312E302220656E636F64696E673D227574662D38223F3E0D0A3C212D2D - 2047656E657261746F723A2041646F626520496C6C7573747261746F72203139 - 2E312E312C20535647204578706F727420506C75672D496E202E205356472056 - 657273696F6E3A20362E3030204275696C6420302920202D2D3E0D0A3C737667 - 2076657273696F6E3D22312E31222020786D6C6E733D22687474703A2F2F7777 - 772E77332E6F72672F323030302F7376672220786D6C6E733A786C696E6B3D22 - 687474703A2F2F7777772E77332E6F72672F313939392F786C696E6B2220783D - 223070782220793D22307078220D0A092076696577426F783D22302030203438 - 2034382220656E61626C652D6261636B67726F756E643D226E65772030203020 - 34382034382220786D6C3A73706163653D227072657365727665223E0D0A3C70 - 6174682066696C6C3D22233231393646332220643D224D33372C3432632D302E - 332C302D302E372D302E312D312D302E33632D312D302E352D312E332D312E38 - 2D302E382D322E3763302D302E312C332E372D362E382C332E372D3135533335 - 2E332C392C33352E332C390D0A09632D302E352D312D302E322D322E322C302E - 382D322E3763312D302E352C322E322D302E322C322E372C302E3863302E322C - 302E332C342E332C372E362C342E332C3137732D342E312C31362E372D342E33 - 2C31374333382E342C34312E362C33372E372C34322C33372C34327A204D3332 - 2E382C33352E380D0A0963302E312D302E322C322E322D352C322E322D31312E - 3863302D362E382D322E312D31312E362D322E322D31312E38632D302E342D31 - 2D312E362D312E352D322E362D31632D312C302E342D312E352C312E362D312C - 322E3663302C302C312E382C342E332C312E382C31302E320D0A0963302C352E - 392D312E382C31302E322D312E382C31302E32632D302E342C312C302C322E32 - 2C312C322E3663302E332C302E312C302E352C302E322C302E382C302E324333 - 312E382C33372C33322E352C33362E362C33322E382C33352E387A204D32332E - 332C333363302E362D302E312C312E312D302E352C312E342D310D0A0963302E - 312D302E322C322E332D332E392C322E332D3863302D342E312D322E322D372E - 392D322E332D38632D302E362D312D312E382D312E332D322E372D302E37632D - 312C302E362D312E332C312E382D302E372C322E3763302C302C312E372C332C - 312E372C3663302C312E332D302E332C322E372D302E372C332E370D0A096C2D - 31332D31312E32632D302E352D302E342D312E322D302E362D312E382D302E34 - 632D302E362C302E322D312E322C302E362D312E342C312E3343362E312C3137 - 2E352C352C32302E352C352C323463302C332E352C312E312C362E352C312E31 - 2C362E3763302E342C312C312E352C312E362C322E362C312E320D0A0963312D - 302E342C312E362D312E352C312E322D322E3663302C302D302E392D322E362D - 302E392D352E3363302D302E382C302E312D312E362C302E322D322E336C3132 - 2E352C31302E3863302E342C302E332C302E382C302E352C312E332C302E3543 - 32332E312C33332C32332E322C33332C32332E332C33337A222F3E0D0A3C2F73 - 76673E0D0A0F0000006E0069006700680074005F006C0061006E006400730063 - 00610070006500950100003C7376672076657273696F6E3D22312220786D6C6E - 733D22687474703A2F2F7777772E77332E6F72672F323030302F737667222076 - 696577426F783D223020302034382034382220656E61626C652D6261636B6772 - 6F756E643D226E657720302030203438203438223E0D0A202020203C706F6C79 - 676F6E2066696C6C3D22233637334142372220706F696E74733D2231362E352C - 313820302C34322033332C3432222F3E0D0A202020203C706F6C79676F6E2066 - 696C6C3D22233935373543442220706F696E74733D2233332E362C3234203139 - 2E322C34322034382C3432222F3E0D0A202020203C706174682066696C6C3D22 - 233430433446462220643D224D34322E392C362E334334332E362C372E342C34 - 342C382E362C34342C313063302C332E392D332E312C372D372C37632D302E37 - 2C302D312E332D302E312D312E392D302E3363312E322C322C332E342C332E33 - 2C352E392C332E332063332E392C302C372D332E312C372D374334382C392E38 - 2C34352E392C372E312C34322E392C362E337A222F3E0D0A3C2F7376673E0D0A - 0E0000006E0069006700680074005F0070006F00720074007200610069007400 - 890300003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 - 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D - 223020302034382034382220656E61626C652D6261636B67726F756E643D226E - 657720302030203438203438223E0D0A202020203C706174682066696C6C3D22 - 233430433446462220643D224D34322E392C362E334334332E362C372E342C34 - 342C382E362C34342C313063302C332E392D332E312C372D372C37632D302E37 - 2C302D312E332D302E312D312E392D302E3363312E322C322C332E342C332E33 - 2C352E392C332E332063332E392C302C372D332E312C372D374334382C392E38 - 2C34352E392C372E312C34322E392C362E337A222F3E0D0A202020203C672066 - 696C6C3D2223423339444442223E0D0A20202020202020203C636972636C6520 - 63783D223331222063793D2231392220723D2232222F3E0D0A20202020202020 - 203C636972636C652063783D223133222063793D2231392220723D2232222F3E - 0D0A20202020202020203C706F6C79676F6E20706F696E74733D2232322C3337 - 2031372C33312031372C32352032372C32352032372C3331222F3E0D0A202020 - 203C2F673E0D0A202020203C706174682066696C6C3D22234431433445392220 - 643D224D33312C313363302D372E362D31382D352D31382C3063302C312E312C - 302C352E392C302C3763302C352C342C392C392C3973392D342C392D39433331 - 2C31382E392C33312C31342E312C33312C31337A222F3E0D0A202020203C6720 - 66696C6C3D2223363733414237223E0D0A20202020202020203C636972636C65 - 2063783D223236222063793D2231392220723D2231222F3E0D0A202020202020 - 20203C636972636C652063783D223138222063793D2231392220723D2231222F - 3E0D0A20202020202020203C7061746820643D224D32322C34632D362E312C30 - 2D31302C342E392D31302C313163302C302E382C302C322E332C302C322E336C - 322C312E37762D356C31322D346C342C3476356C322D312E3763302C302C302D - 312E352C302D322E3363302D342D312D382D362D396C2D312D32204832327A22 - 2F3E0D0A20202020202020203C7061746820643D224D32372C33314C32372C33 - 3163302C302D322C312D352C31732D352D312D352D3153362C33332C362C3434 - 6833324333382C33332C32372C33312C32372C33317A222F3E0D0A202020203C - 2F673E0D0A3C2F7376673E0D0A070000006E006F005F00690064006500610058 - 0400003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A - 2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D22 - 3020302034382034382220656E61626C652D6261636B67726F756E643D226E65 - 7720302030203438203438223E0D0A202020203C706174682066696C6C3D2223 - 4642433032442220643D224D33372C323263302D372E372D362E362D31332E38 - 2D31342E352D31322E39632D362C302E372D31302E382C352E352D31312E342C - 31312E35632D302E352C342E362C312E342C382E372C342E362C31312E332063 - 312E342C312E322C322E332C322E392C322E332C342E38563337683132762D30 - 2E3163302D312E382C302E382D332E362C322E322D342E384333352E312C3239 - 2E372C33372C32362E312C33372C32327A222F3E0D0A202020203C7061746820 - 66696C6C3D22234646463539442220643D224D33302E362C32302E326C2D332D - 32632D302E332D302E322D302E382D302E322D312E312C304C32342C31392E38 - 6C2D322E342D312E36632D302E332D302E322D302E382D302E322D312E312C30 - 6C2D332C3220632D302E322C302E322D302E342C302E342D302E342C302E3773 - 302C302E362C302E322C302E386C332E382C342E37563337683256323663302D - 302E322D302E312D302E342D302E322D302E366C2D332E332D342E316C312E35 - 2D316C322E342C312E3663302E332C302E322C302E382C302E322C312E312C30 - 206C322E342D312E366C312E352C316C2D332E332C342E314332352E312C3235 - 2E362C32352C32352E382C32352C323676313168325632362E346C332E382D34 - 2E3763302E322D302E322C302E332D302E352C302E322D302E385333302E382C - 32302E332C33302E362C32302E327A222F3E0D0A202020203C636972636C6520 - 66696C6C3D2223354336424330222063783D223234222063793D223434222072 - 3D2233222F3E0D0A202020203C706174682066696C6C3D222339464138444122 - 20643D224D32362C3435682D34632D322E322C302D342D312E382D342D34762D - 3568313276354333302C34332E322C32382E322C34352C32362C34357A222F3E - 0D0A202020203C672066696C6C3D2223354336424330223E0D0A202020202020 - 20203C7061746820643D224D33302C34316C2D31312E362C312E3663302E332C - 302E372C302E392C312E342C312E362C312E386C392E342D312E334332392E38 - 2C34322E352C33302C34312E382C33302C34317A222F3E0D0A20202020202020 - 203C706F6C79676F6E20706F696E74733D2231382C33382E372031382C34302E - 372033302C33392033302C3337222F3E0D0A202020203C2F673E0D0A20202020 - 3C7265637420783D2232322220793D222D322E3922207472616E73666F726D3D - 226D6174726978282E373037202D2E373037202E373037202E373037202D392E - 39343120323429222066696C6C3D2223333734373446222077696474683D2234 - 22206865696768743D2235332E37222F3E0D0A3C2F7376673E0D0A080000006E - 006F005F0076006900640065006F00B20100003C7376672076657273696F6E3D - 22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030 - 302F737667222076696577426F783D223020302034382034382220656E61626C - 652D6261636B67726F756E643D226E657720302030203438203438223E0D0A20 - 2020203C706174682066696C6C3D22233443414635302220643D224D382C3132 - 68323263322E322C302C342C312E382C342C3476313663302C322E322D312E38 - 2C342D342C344838632D322E322C302D342D312E382D342D3456313643342C31 - 332E382C352E382C31322C382C31327A222F3E0D0A202020203C706F6C79676F - 6E2066696C6C3D22233338384533432220706F696E74733D2234342C33352033 - 342C32392033342C31392034342C3133222F3E0D0A202020203C6C696E652066 - 696C6C3D226E6F6E6522207374726F6B653D222332313231323122207374726F - 6B652D77696474683D223422207374726F6B652D6C696E656A6F696E3D22726F - 756E6422207374726F6B652D6D697465726C696D69743D223130222078313D22 - 35222079313D2235222078323D223433222079323D223433222F3E0D0A3C2F73 - 76673E0D0A040000006E006F006F006B000C0300003C7376672076657273696F - 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 - 3030302F737667222076696577426F783D223020302034382034382220656E61 - 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D - 0A202020203C706174682066696C6C3D22233930413441452220643D224D382C - 3339563963302D332E332C322E372D362C362D3668323063332E332C302C362C - 322E372C362C3676333063302C332E332D322E372C362D362C36483134433130 - 2E372C34352C382C34322E332C382C33397A222F3E0D0A202020203C70617468 - 2066696C6C3D22234543454646312220643D224D33342C37483134632D312E31 - 2C302D322C302E392D322C3276323663302C312E312C302E392C322C322C3268 - 323063312E312C302C322D302E392C322D3256394333362C372E392C33352E31 - 2C372C33342C377A222F3E0D0A202020203C672066696C6C3D22234230424543 - 35223E0D0A20202020202020203C7265637420783D2231362220793D22313222 - 2077696474683D22313622206865696768743D2233222F3E0D0A202020202020 - 20203C7265637420783D2231362220793D223139222077696474683D22313622 - 206865696768743D2232222F3E0D0A20202020202020203C7265637420783D22 - 31362220793D223233222077696474683D22313222206865696768743D223222 - 2F3E0D0A20202020202020203C7265637420783D2231362220793D2232372220 - 77696474683D22313622206865696768743D2232222F3E0D0A20202020202020 - 203C7265637420783D2231362220793D223331222077696474683D2231322220 - 6865696768743D2232222F3E0D0A202020203C2F673E0D0A202020203C706174 - 682066696C6C3D226E6F6E6522207374726F6B653D222365656522207374726F - 6B652D77696474683D223222207374726F6B652D6D697465726C696D69743D22 - 31302220643D224D32322C3433762D3163302D312E312C302E392D322C322D32 - 683063312E312C302C322C302E392C322C327631222F3E0D0A3C2F7376673E0D - 0A140000006E0075006D00650072006900630061006C005F0073006F00720074 - 0069006E0067005F0031003200430300003C7376672076657273696F6E3D2231 - 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F - 737667222076696577426F783D223020302034382034382220656E61626C652D - 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 - 203C706F6C79676F6E2066696C6C3D22233534364537412220706F696E74733D - 2233382C33332033382C352033342C352033342C33332032382C33332033362C - 34332034342C3333222F3E0D0A202020203C672066696C6C3D22233231393646 - 33223E0D0A20202020202020203C7061746820643D224D31362E342C3230682D - 3356382E364C392E392C392E3756372E334C31362C352E3168302E335632307A - 222F3E0D0A20202020202020203C7061746820643D224D31392E342C34334839 - 2E32762D326C342E382D352E3163302E342D302E342C302E372D302E382C302E - 392D312E3163302E322D302E332C302E352D302E362C302E362D302E3963302E - 322D302E332C302E332D302E352C302E332D302E382063302E312D302E322C30 - 2E312D302E352C302E312D302E3763302D302E372D302E322D312E322D302E35 - 2D312E36632D302E332D302E342D302E382D302E362D312E342D302E36632D30 - 2E332C302D302E372C302E312D302E392C302E32632D302E332C302E312D302E - 352C302E332D302E372C302E3520632D302E322C302E322D302E332C302E352D - 302E342C302E38732D302E312C302E362D302E312C31682D3363302D302E372C - 302E312D312E332C302E342D312E3963302E322D302E362C302E362D312E312C - 312D312E3663302E352D302E342C312D302E382C312E362D312E312063302E36 - 2D302E332C312E342D302E342C322E322D302E3463302E382C302C312E352C30 - 2E312C322E312C302E3363302E362C302E322C312E312C302E352C312E352C30 - 2E3873302E372C302E382C302E392C312E3373302E332C312E312C302E332C31 - 2E3863302C302E352D302E312C312D302E322C312E34205331382E332C33342E - 352C31382C3335732D302E362C302E392D312C312E34632D302E342C302E352D - 302E392C312D312E342C312E354C31332C34302E3668362E345634337A222F3E - 0D0A202020203C2F673E0D0A3C2F7376673E0D0A140000006E0075006D006500 - 72006900630061006C005F0073006F007200740069006E0067005F0032003100 - 4F0300003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 - 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D - 223020302034382034382220656E61626C652D6261636B67726F756E643D226E - 657720302030203438203438223E0D0A202020203C706F6C79676F6E2066696C - 6C3D22233534364537412220706F696E74733D2233382C33332033382C352033 - 342C352033342C33332032382C33332033362C34332034342C3333222F3E0D0A - 202020203C672066696C6C3D2223323139364633223E0D0A2020202020202020 - 3C7061746820643D224D31392E322C32304839762D326C342E382D352E316330 - 2E342D302E342C302E372D302E382C302E392D312E3163302E322D302E332C30 - 2E352D302E362C302E362D302E3963302E322D302E332C302E332D302E352C30 - 2E332D302E382063302E312D302E322C302E312D302E352C302E312D302E3763 - 302D302E372D302E322D312E322D302E352D312E36632D302E332D302E342D30 - 2E382D302E362D312E342D302E36632D302E332C302D302E372C302E312D302E - 392C302E32632D302E332C302E312D302E352C302E332D302E372C302E352063 - 2D302E322C302E322D302E332C302E352D302E342C302E38732D302E312C302E - 362D302E312C31682D3363302D302E372C302E312D312E332C302E342D312E39 - 63302E322D302E362C302E362D312E312C312D312E3663302E352D302E342C31 - 2D302E382C312E362D312E312063302E362D302E332C312E342D302E342C322E - 322D302E3463302E382C302C312E352C302E312C322E312C302E3363302E362C - 302E322C312E312C302E352C312E352C302E3873302E372C302E382C302E392C - 312E3363302E322C302E352C302E332C312E312C302E332C312E382063302C30 - 2E352D302E312C312D302E322C312E34732D302E342C302E392D302E372C312E - 34732D302E362C302E392D312C312E34632D302E342C302E352D302E392C312D - 312E342C312E356C2D322E362C322E3868362E345632307A222F3E0D0A202020 - 20202020203C7061746820643D224D31362E322C3433682D335633312E366C2D - 332E352C312E31762D322E346C362E322D322E3268302E335634337A222F3E0D - 0A202020203C2F673E0D0A3C2F7376673E0D0A020000006F006B00090100003C - 7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777 - 772E77332E6F72672F323030302F737667222076696577426F783D2230203020 - 34382034382220656E61626C652D6261636B67726F756E643D226E6577203020 - 30203438203438223E0D0A202020203C636972636C652066696C6C3D22233443 - 41463530222063783D223234222063793D2232342220723D223231222F3E0D0A - 202020203C706F6C79676F6E2066696C6C3D22234343464639302220706F696E - 74733D2233342E362C31342E362032312C32382E322031352E342C32322E3620 - 31322E362C32352E342032312C33332E382033372E342C31372E34222F3E0D0A - 3C2F7376673E0D0A0F0000006F006C0064005F00740069006D0065005F006300 - 61006D006500720061001B0400003C7376672076657273696F6E3D2231222078 - 6D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F737667 - 222076696577426F783D223020302034382034382220656E61626C652D626163 - 6B67726F756E643D226E657720302030203438203438223E0D0A202020203C70 - 6174682066696C6C3D22233534364537412220643D224D31342C31334838762D - 312E3843382C31302E352C382E352C31302C392E322C313068332E3663302E37 - 2C302C312E322C302E352C312E322C312E325631337A222F3E0D0A202020203C - 706174682066696C6C3D22233545333542312220643D224D34302C3430483863 - 2D322E322C302D342D312E382D342D345632326834307631344334342C33382E - 322C34322E322C34302C34302C34307A222F3E0D0A202020203C706174682066 - 696C6C3D22233432323537412220643D224D31322E372C3232632D302E342C31 - 2E332D302E372C322E362D302E372C3463302C362E362C352E342C31322C3132 - 2C31327331322D352E342C31322D313263302D312E342D302E332D322E372D30 - 2E372D344831322E377A222F3E0D0A202020203C706174682066696C6C3D2223 - 3738393039432220643D224D382C313268333263322E322C302C342C312E382C - 342C3476364834762D3643342C31332E382C352E382C31322C382C31327A222F - 3E0D0A202020203C706174682066696C6C3D22233738393039432220643D224D - 33332E392C31332E314831342E324C31372E362C3863302E342D302E362C312D - 302E392C312E372D302E3968392E3663302E372C302C312E332C302E332C312E - 372C302E394C33332E392C31332E317A222F3E0D0A202020203C706174682066 - 696C6C3D22233435354136342220643D224D33352E332C3232632D312E362D34 - 2E372D362E312D382D31312E332D38732D392E372C332E332D31312E332C3848 - 33352E337A222F3E0D0A202020203C636972636C652066696C6C3D2223423338 - 384646222063783D223234222063793D2232362220723D2239222F3E0D0A2020 - 20203C706174682066696C6C3D22234337413746462220643D224D32392C3233 - 632D312E322D312E342D332D322E322D342E382D322E32632D312E382C302D33 - 2E362C302E382D342E382C322E32632D302E352C302E352D302E342C312E332C - 302E312C312E3863302E352C302E352C312E332C302E342C312E382D302E3120 - 63312E352D312E372C342E332D312E372C352E382C3063302E332C302E332C30 - 2E362C302E342C312C302E3463302E332C302C302E362D302E312C302E392D30 - 2E334332392E342C32342E342C32392E352C32332E352C32392C32337A222F3E - 0D0A202020203C7265637420783D2233362220793D223135222066696C6C3D22 - 23444245324535222077696474683D223522206865696768743D2234222F3E0D - 0A3C2F7376673E0D0A0E0000006F006E006C0069006E0065005F007300750070 - 0070006F00720074004C0400003C7376672076657273696F6E3D22312220786D - 6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73766722 - 2076696577426F783D223020302034382034382220656E61626C652D6261636B - 67726F756E643D226E657720302030203438203438223E0D0A202020203C7265 - 637420783D2231332220793D223330222066696C6C3D22234246333630432220 - 77696474683D22323222206865696768743D223132222F3E0D0A202020203C67 - 2066696C6C3D2223464641373236223E0D0A20202020202020203C636972636C - 652063783D223130222063793D2232362220723D2234222F3E0D0A2020202020 - 2020203C636972636C652063783D223338222063793D2232362220723D223422 - 2F3E0D0A202020203C2F673E0D0A202020203C706174682066696C6C3D222346 - 46423734442220643D224D33392C313963302D31322E372D33302D382E332D33 - 302C3063302C312E382C302C382E322C302C313063302C382E332C362E372C31 - 352C31352C31357331352D362E372C31352D31354333392C32372E322C33392C - 32302E382C33392C31397A222F3E0D0A202020203C672066696C6C3D22233738 - 34373139223E0D0A20202020202020203C636972636C652063783D2233302220 - 63793D2232362220723D2232222F3E0D0A20202020202020203C636972636C65 - 2063783D223138222063793D2232362220723D2232222F3E0D0A202020203C2F - 673E0D0A202020203C706174682066696C6C3D22234646353732322220643D22 - 4D32342C324331352E352C322C332C372E382C332C33352E364C31332C343256 - 32346C31362E382D392E384C33352C32317632316C31302D382E3263302D352E - 362D302E392D32392D31352E342D32394C32382E322C324832347A222F3E0D0A - 202020203C706174682066696C6C3D22233735373537352220643D224D34352C - 3234632D302E362C302D312C302E342D312C31762D3763302D382E382D372E32 - 2D31362D31362D3136682D39632D302E362C302D312C302E342D312C3173302E - 342C312C312C31683963372E372C302C31342C362E332C31342C313476313020 - 63302C302E362C302E342C312C312C3173312D302E342C312D31763263302C33 - 2E392D332E312C372D372C37483234632D302E362C302D312C302E342D312C31 - 73302E342C312C312C3168313363352C302C392D342C392D39762D354334362C - 32342E342C34352E362C32342C34352C32347A222F3E0D0A202020203C672066 - 696C6C3D2223333734373446223E0D0A20202020202020203C7061746820643D - 224D34352C3232682D31632D312E312C302D322C302E392D322C32763463302C - 312E312C302E392C322C322C32683163312E312C302C322D302E392C322D3276 - 2D344334372C32322E392C34362E312C32322C34352C32327A222F3E0D0A2020 - 2020202020203C636972636C652063783D223234222063793D2233382220723D - 2232222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0D0000006F0070 - 0065006E00650064005F0066006F006C006400650072007D0100003C73766720 - 76657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E7733 - 2E6F72672F323030302F737667222076696577426F783D223020302034382034 - 382220656E61626C652D6261636B67726F756E643D226E657720302030203438 - 203438223E0D0A202020203C706174682066696C6C3D22234646413030302220 - 643D224D33382C31324832326C2D342D344838632D322E322C302D342C312E38 - 2D342C3476323463302C322E322C312E382C342C342C3468333163312E372C30 - 2C332D312E332C332D335631364334322C31332E382C34302E322C31322C3338 - 2C31327A222F3E0D0A202020203C706174682066696C6C3D2223464643413238 - 2220643D224D34322E322C31384831352E33632D312E392C302D332E362C312E - 342D332E392C332E334C382C34306833312E3763312E392C302C332E362D312E - 342C332E392D332E336C322E352D31344334362E362C32302E332C34342E372C - 31382C34322E322C31387A222F3E0D0A3C2F7376673E0D0A080000006F007200 - 67005F0075006E0069007400BD0100003C7376672076657273696F6E3D223122 - 20786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73 - 7667222076696577426F783D223020302034382034382220656E61626C652D62 - 61636B67726F756E643D226E657720302030203438203438223E0D0A20202020 - 3C706174682066696C6C3D22233930434146392220643D224D31302C31307632 - 386832385631304831307A204D33342C33344831345631346832305633347A22 - 2F3E0D0A202020203C7265637420783D22362220793D2236222066696C6C3D22 - 23443831423630222077696474683D22313222206865696768743D223132222F - 3E0D0A202020203C672066696C6C3D2223323139364633223E0D0A2020202020 - 2020203C7265637420783D2233302220793D2236222077696474683D22313222 - 206865696768743D223132222F3E0D0A20202020202020203C7265637420783D - 22362220793D223330222077696474683D22313222206865696768743D223132 - 222F3E0D0A20202020202020203C7265637420783D2233302220793D22333022 - 2077696474683D22313222206865696768743D223132222F3E0D0A202020203C - 2F673E0D0A3C2F7376673E0D0A0C0000006F007200670061006E0069007A0061 - 00740069006F006E00980300003C7376672076657273696F6E3D22312220786D - 6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73766722 - 2076696577426F783D223020302034382034382220656E61626C652D6261636B - 67726F756E643D226E657720302030203438203438223E0D0A202020203C7061 - 74682066696C6C3D22233930434146392220643D224D34322C34324836563130 - 63302D322E322C312E382D342C342D3468323863322E322C302C342C312E382C - 342C345634327A222F3E0D0A202020203C7265637420783D22362220793D2234 - 32222066696C6C3D2223363442354636222077696474683D2233362220686569 - 6768743D2232222F3E0D0A202020203C672066696C6C3D222331353635433022 - 3E0D0A20202020202020203C7265637420783D2233312220793D223237222077 - 696474683D223622206865696768743D2235222F3E0D0A20202020202020203C - 7265637420783D2232312220793D223237222077696474683D22362220686569 - 6768743D2235222F3E0D0A20202020202020203C7265637420783D2231312220 - 793D223237222077696474683D223622206865696768743D2235222F3E0D0A20 - 202020202020203C7265637420783D2233312220793D22333522207769647468 - 3D223622206865696768743D2235222F3E0D0A20202020202020203C72656374 - 20783D2231312220793D223335222077696474683D223622206865696768743D - 2235222F3E0D0A20202020202020203C7265637420783D2233312220793D2231 - 39222077696474683D223622206865696768743D2235222F3E0D0A2020202020 - 2020203C7265637420783D2232312220793D223139222077696474683D223622 - 206865696768743D2235222F3E0D0A20202020202020203C7265637420783D22 - 31312220793D223139222077696474683D223622206865696768743D2235222F - 3E0D0A20202020202020203C7265637420783D2233312220793D223131222077 - 696474683D223622206865696768743D2235222F3E0D0A20202020202020203C - 7265637420783D2232312220793D223131222077696474683D22362220686569 - 6768743D2235222F3E0D0A20202020202020203C7265637420783D2231312220 - 793D223131222077696474683D223622206865696768743D2235222F3E0D0A20 - 202020202020203C7265637420783D2232312220793D22333522207769647468 - 3D223622206865696768743D2239222F3E0D0A202020203C2F673E0D0A3C2F73 - 76673E0D0A070000007000610063006B00610067006500800100003C73766720 - 76657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E7733 - 2E6F72672F323030302F737667222076696577426F783D223020302034382034 - 382220656E61626C652D6261636B67726F756E643D226E657720302030203438 - 203438223E0D0A202020203C706174682066696C6C3D22234646393830302220 - 643D224D33382C3432483130632D322E322C302D342D312E382D342D34563130 - 63302D322E322C312E382D342C342D3468323863322E322C302C342C312E382C - 342C347632384334322C34302E322C34302E322C34322C33382C34327A222F3E - 0D0A202020203C706174682066696C6C3D22233841353130302220643D224D32 - 392E352C3136682D3131632D302E382C302D312E352D302E372D312E352D312E - 35763063302D302E382C302E372D312E352C312E352D312E3568313163302E38 - 2C302C312E352C302E372C312E352C312E357630204333312C31352E332C3330 - 2E332C31362C32392E352C31367A222F3E0D0A3C2F7376673E0D0A0400000070 - 00610069006400010300003C7376672076657273696F6E3D22312220786D6C6E - 733D22687474703A2F2F7777772E77332E6F72672F323030302F737667222076 - 696577426F783D223020302034382034382220656E61626C652D6261636B6772 - 6F756E643D226E657720302030203438203438223E0D0A202020203C70617468 - 2066696C6C3D22233245374433322220643D224D32352E342C352E36632D302E - 382D302E382D322D302E382D322E382C306C2D31322C3132632D302E382C302E - 382D302E382C322C302C322E384331312C32302E382C31312E352C32312C3132 - 2C323173312D302E322C312E342D302E366C31322D3132204332362E322C372E - 362C32362E322C362E342C32352E342C352E367A222F3E0D0A202020203C7061 - 74682066696C6C3D22233142354532302220643D224D33372E342C31372E366C - 2D31322D3132632D302E382D302E382D322D302E382D322E382C30632D302E38 - 2C302E382D302E382C322C302C322E386C31322C31324333352C32302E382C33 - 352E352C32312C33362C323173312D302E322C312E342D302E36204333382E32 - 2C31392E362C33382E322C31382E342C33372E342C31372E367A222F3E0D0A20 - 2020203C706174682066696C6C3D22233338384533432220643D224D33372E34 - 2C34314831302E36632D312C302D312E382D302E372D322D312E364C352C3231 - 6833386C2D332E372C31382E344333392E312C34302E332C33382E332C34312C - 33372E342C34317A222F3E0D0A202020203C706174682066696C6C3D22233443 - 414635302220643D224D34332C32334835632D312E312C302D322D302E392D32 - 2D32762D3263302D312E312C302E392D322C322D3268333863312E312C302C32 - 2C302E392C322C3276324334352C32322E312C34342E312C32332C34332C3233 - 7A222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223444345444338 - 2220706F696E74733D2233302E382C32342E382032322E392C33322E37203139 - 2E322C32382E392031372C33312E312032322E392C33372033332C32362E3922 - 2F3E0D0A3C2F7376673E0D0A08000000700061006E006F00720061006D006100 - 2C0200003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 - 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D - 223020302034382034382220656E61626C652D6261636B67726F756E643D226E - 657720302030203438203438223E0D0A202020203C706174682066696C6C3D22 - 234635374330302220643D224D342C3976333263302C302C382E342D332C3230 - 2D337332302C332C32302C33563963302C302D362E372C332D32302C3353342C - 392C342C397A222F3E0D0A202020203C706174682066696C6C3D222339343241 - 30392220643D224D32342C333463302E312C302C302E332C302C302E342C304C - 31352C31394C362E392C33362E324331302E332C33352E332C31362E352C3334 - 2C32342C33347A222F3E0D0A202020203C706174682066696C6C3D2223424633 - 3630432220643D224D32342C333463332E332C302C362E332C302E322C392C30 - 2E366C2D382D31312E386C2D372E382C31312E354331392E332C33342E312C32 - 312E362C33342C32342C33347A222F3E0D0A202020203C706174682066696C6C - 3D22234536353130302220643D224D34302E372C33364C33352C32362E356C2D - 352C372E384333342E352C33342E372C33382E322C33352E342C34302E372C33 - 367A222F3E0D0A202020203C656C6C697073652066696C6C3D22234646463943 - 34222063783D223336222063793D2231392E35222072783D2232222072793D22 - 322E35222F3E0D0A3C2F7376673E0D0A0E00000070006100720061006C006C00 - 65006C005F007400610073006B007300FC0100003C7376672076657273696F6E - 3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F3230 - 30302F737667222076696577426F783D223020302034382034382220656E6162 - 6C652D6261636B67726F756E643D226E657720302030203438203438223E0D0A - 202020203C706F6C79676F6E2066696C6C3D22233930434146392220706F696E - 74733D2233362C31332033362C392032322C392032322C32322031332C323220 - 31332C32362032322C32362032322C33392033362C33392033362C3335203236 - 2C33352032362C32362033362C32362033362C32322032362C32322032362C31 - 33222F3E0D0A202020203C7265637420783D22362220793D223137222066696C - 6C3D2223443831423630222077696474683D22313022206865696768743D2231 - 34222F3E0D0A202020203C7265637420783D2233322220793D2236222066696C - 6C3D2223323139364633222077696474683D22313022206865696768743D2231 - 30222F3E0D0A202020203C7265637420783D2233322220793D22333222206669 - 6C6C3D2223323139364633222077696474683D22313022206865696768743D22 - 3130222F3E0D0A202020203C7265637420783D2233322220793D223139222066 - 696C6C3D2223323139364633222077696474683D22313022206865696768743D - 223130222F3E0D0A3C2F7376673E0D0A05000000700068006F006E0065005D01 - 00003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F - 2F7777772E77332E6F72672F323030302F737667222076696577426F783D2230 - 20302034382034382220656E61626C652D6261636B67726F756E643D226E6577 - 20302030203438203438223E0D0A202020203C706174682066696C6C3D222330 - 30393638382220643D224D33392E312C376C2D332E372C304332322E322C372E - 322C372E312C32342E312C372C33352E346C302C332E3763302C312C302E382C - 312E392C312E392C312E396C372E352D302E3163312C302C312E392D302E392C - 312E392D312E396C302E322D382E32206C2D342E372D3463302D322E362C3130 - 2E352D31332E312C31332E322D31332E326C342E332C342E376C372E392D302E - 3263312C302C312E392D302E392C312E392D312E394C34312C382E394334312C - 372E382C34302E322C372C33392E312C377A222F3E0D0A3C2F7376673E0D0A0D - 000000700068006F006E0065005F0061006E00640072006F0069006400A20100 - 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F - 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 - 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 - 302030203438203438223E0D0A202020203C706174682066696C6C3D22233337 - 343734462220643D224D31322C3430563863302D322E322C312E382D342C342D - 3468313663322E322C302C342C312E382C342C3476333263302C322E322D312E - 382C342D342C344831364331332E382C34342C31322C34322E322C31322C3430 - 7A222F3E0D0A202020203C706174682066696C6C3D2223424244454642222064 - 3D224D33322C37483136632D302E362C302D312C302E342D312C317632396330 - 2C302E362C302E342C312C312C3168313663302E362C302C312D302E342C312D - 3156384333332C372E342C33322E362C372C33322C377A222F3E0D0A20202020 - 3C7265637420783D2232312220793D223430222066696C6C3D22233738393039 - 43222077696474683D223622206865696768743D2232222F3E0D0A3C2F737667 - 3E0D0A0A000000700068006F0074006F005F007200650065006C006D0200003C - 7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777 - 772E77332E6F72672F323030302F737667222076696577426F783D2230203020 - 34382034382220656E61626C652D6261636B67726F756E643D226E6577203020 - 30203438203438223E0D0A202020203C706174682066696C6C3D222336373341 - 42372220643D224D31302C39632D322E322C302D342C312E382D342C34763236 - 63302C322E322C312E382C342C342C3468313663322E322C302C342D312E382C - 342D3456313363302D322E322D312E382D342D342D34222F3E0D0A202020203C - 672066696C6C3D2223333131423932223E0D0A20202020202020203C72656374 - 20783D2231342220793D223133222077696474683D223222206865696768743D - 223236222F3E0D0A20202020202020203C7061746820643D224D32342C395637 - 63302D312E322D302E382D322D322D32682D38632D312E322C302D322C302E38 - 2D322C3276324832347A222F3E0D0A202020203C2F673E0D0A202020203C7061 - 74682066696C6C3D22234438343331352220643D224D33302C31334831367632 - 366831345631337A204D32312C3337682D33762D3468335633377A204D32312C - 3139682D33762D3468335631397A204D32372C3337682D33762D346833563337 - 7A204D32342C3139762D34683376344832347A222F3E0D0A202020203C706174 - 682066696C6C3D22234646353732322220643D224D33302C3133763268337634 - 682D3376313468337634682D3376326831325631334833307A204D33392C3337 - 682D33762D3468335633377A204D33392C3139682D33762D3468335631397A22 - 2F3E0D0A3C2F7376673E0D0A0700000070006900630074007500720065009501 - 00003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F - 2F7777772E77332E6F72672F323030302F737667222076696577426F783D2230 - 20302034382034382220656E61626C652D6261636B67726F756E643D226E6577 - 20302030203438203438223E0D0A202020203C706174682066696C6C3D222346 - 35374330302220643D224D34302C34314838632D322E322C302D342D312E382D - 342D3456313163302D322E322C312E382D342C342D3468333263322E322C302C - 342C312E382C342C347632364334342C33392E322C34322E322C34312C34302C - 34317A222F3E0D0A202020203C636972636C652066696C6C3D22234646463943 - 34222063783D223335222063793D2231362220723D2233222F3E0D0A20202020 - 3C706F6C79676F6E2066696C6C3D22233934324130392220706F696E74733D22 - 32302C313620392C33322033312C3332222F3E0D0A202020203C706F6C79676F - 6E2066696C6C3D22234246333630432220706F696E74733D2233312C32322032 - 332C33322033392C3332222F3E0D0A3C2F7376673E0D0A090000007000690065 - 005F0063006800610072007400670100003C7376672076657273696F6E3D2231 - 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F - 737667222076696577426F783D223020302034382034382220656E61626C652D - 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 - 203C706174682066696C6C3D22233030424344342220643D224D32342C364331 - 342E312C362C362C31342E312C362C323473382E312C31382C31382C31386335 - 2E322C302C392E392D322E322C31332E312D352E374C32342C323456367A222F - 3E0D0A202020203C706174682066696C6C3D22233434384146462220643D224D - 34322C323463302D392E392D382E312D31382D31382D31387631384834327A22 - 2F3E0D0A202020203C706174682066696C6C3D22233346353142352220643D22 - 4D32342C32346C31332E312C31322E3363332D332E322C342E392D372E352C34 - 2E392D31322E334832347A222F3E0D0A3C2F7376673E0D0A0700000070006C00 - 61006E006E0065007200D60300003C7376672076657273696F6E3D2231222078 - 6D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F737667 - 222076696577426F783D223020302034382034382220656E61626C652D626163 - 6B67726F756E643D226E657720302030203438203438223E0D0A202020203C70 - 6174682066696C6C3D22234346443844432220643D224D352C33385631346833 - 3876323463302C322E322D312E382C342D342C34483943362E382C34322C352C - 34302E322C352C33387A222F3E0D0A202020203C706174682066696C6C3D2223 - 4634343333362220643D224D34332C313076364835762D3663302D322E322C31 - 2E382D342C342D346833304334312E322C362C34332C372E382C34332C31307A - 222F3E0D0A202020203C672066696C6C3D2223423731433143223E0D0A202020 - 20202020203C636972636C652063783D223333222063793D2231302220723D22 - 33222F3E0D0A20202020202020203C636972636C652063783D22313522206379 - 3D2231302220723D2233222F3E0D0A202020203C2F673E0D0A202020203C6720 - 66696C6C3D2223423042454335223E0D0A20202020202020203C706174682064 - 3D224D33332C33632D312E312C302D322C302E392D322C32763563302C312E31 - 2C302E392C322C322C3273322D302E392C322D3256354333352C332E392C3334 - 2E312C332C33332C337A222F3E0D0A20202020202020203C7061746820643D22 - 4D31352C33632D312E312C302D322C302E392D322C32763563302C312E312C30 - 2E392C322C322C3273322D302E392C322D3256354331372C332E392C31362E31 - 2C332C31352C337A222F3E0D0A202020203C2F673E0D0A202020203C67206669 - 6C6C3D2223423042454335223E0D0A20202020202020203C7265637420783D22 - 31332220793D223231222077696474683D223622206865696768743D2236222F - 3E0D0A20202020202020203C7265637420783D2232312220793D223231222077 - 696474683D223622206865696768743D2236222F3E0D0A20202020202020203C - 7265637420783D2232392220793D223231222077696474683D22362220686569 - 6768743D2236222F3E0D0A20202020202020203C7265637420783D2231332220 - 793D223239222077696474683D223622206865696768743D2236222F3E0D0A20 - 202020202020203C7265637420783D2232312220793D22323922207769647468 - 3D223622206865696768743D2236222F3E0D0A202020203C2F673E0D0A202020 - 203C7265637420783D2232392220793D223239222066696C6C3D222346343433 - 3336222077696474683D223622206865696768743D2236222F3E0D0A3C2F7376 - 673E0D0A0400000070006C0075007300320100003C7376672076657273696F6E - 3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F3230 - 30302F737667222076696577426F783D223020302034382034382220656E6162 - 6C652D6261636B67726F756E643D226E657720302030203438203438223E0D0A - 202020203C636972636C652066696C6C3D2223344341463530222063783D2232 - 34222063793D2232342220723D223231222F3E0D0A202020203C672066696C6C - 3D2223666666223E0D0A20202020202020203C7265637420783D223231222079 - 3D223134222077696474683D223622206865696768743D223230222F3E0D0A20 - 202020202020203C7265637420783D2231342220793D22323122207769647468 - 3D22323022206865696768743D2236222F3E0D0A202020203C2F673E0D0A3C2F - 7376673E0D0A1400000070006F006400690075006D005F007700690074006800 - 5F00610075006400690065006E00630065000C0200003C737667207665727369 - 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F - 323030302F737667222076696577426F783D223020302034382034382220656E - 61626C652D6261636B67726F756E643D226E657720302030203438203438223E - 0D0A202020203C706F6C79676F6E2066696C6C3D22234230424543352220706F - 696E74733D2234312C313220372C313220362C31362031312C313920392C3136 - 2033392C31362033372C31392034322C3136222F3E0D0A202020203C706F6C79 - 676F6E2066696C6C3D22233738393039432220706F696E74733D22392C313620 - 33392C31362033352C32382031332C3238222F3E0D0A202020203C636972636C - 652066696C6C3D2223464642373444222063783D223234222063793D22323822 - 20723D2234222F3E0D0A202020203C636972636C652066696C6C3D2223464642 - 373444222063783D223336222063793D2232382220723D2234222F3E0D0A2020 - 20203C636972636C652066696C6C3D2223464642373444222063783D22313222 - 2063793D2232382220723D2234222F3E0D0A202020203C636972636C65206669 - 6C6C3D2223464642373444222063783D223138222063793D2233372220723D22 - 35222F3E0D0A202020203C636972636C652066696C6C3D222346464237344422 - 2063783D223330222063793D2233372220723D2235222F3E0D0A3C2F7376673E - 0D0A1300000070006F006400690075006D005F0077006900740068005F007300 - 7000650061006B0065007200930100003C7376672076657273696F6E3D223122 - 20786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73 - 7667222076696577426F783D223020302034382034382220656E61626C652D62 - 61636B67726F756E643D226E657720302030203438203438223E0D0A20202020 - 3C636972636C652066696C6C3D2223464642373444222063783D223234222063 - 793D2231312220723D2236222F3E0D0A202020203C706174682066696C6C3D22 - 233630374438422220643D224D33362C32362E3163302C302D332E332D372E31 - 2D31322D372E31732D31322C372E312D31322C372E315633306832345632362E - 317A222F3E0D0A202020203C706F6C79676F6E2066696C6C3D22234230424543 - 352220706F696E74733D2234312C323520372C323520362C32392031312C3332 - 20392C32392033392C32392033372C33322034322C3239222F3E0D0A20202020 - 3C706F6C79676F6E2066696C6C3D22233738393039432220706F696E74733D22 - 392C32392033392C32392033352C34312031332C3431222F3E0D0A3C2F737667 - 3E0D0A1600000070006F006400690075006D005F0077006900740068006F0075 - 0074005F0073007000650061006B0065007200070100003C7376672076657273 - 696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F7267 - 2F323030302F737667222076696577426F783D22302030203438203438222065 - 6E61626C652D6261636B67726F756E643D226E65772030203020343820343822 - 3E0D0A202020203C706F6C79676F6E2066696C6C3D2223423042454335222070 - 6F696E74733D2234332C313620352C313620342C323020392C323320372C3230 - 2034312C32302033392C32332034342C3230222F3E0D0A202020203C706F6C79 - 676F6E2066696C6C3D22233738393039432220706F696E74733D22372C323020 - 34312C32302033372C33362031312C3336222F3E0D0A3C2F7376673E0D0A0D00 - 000070006F007200740072006100690074005F006D006F00640065000E040000 - 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 - 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 - 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 - 2030203438203438223E0D0A202020203C706174682066696C6C3D2223464639 - 3830302220643D224D32322C3338632D342E382C302D352D372D352D37762D36 - 68313076364332372C33312C32362E382C33382C32322C33387A222F3E0D0A20 - 2020203C672066696C6C3D2223464641373236223E0D0A20202020202020203C - 636972636C652063783D223331222063793D2231392220723D2232222F3E0D0A - 20202020202020203C636972636C652063783D223133222063793D2231392220 - 723D2232222F3E0D0A202020203C2F673E0D0A202020203C706174682066696C - 6C3D22234646423734442220643D224D33312C313363302D372E362D31382D35 - 2D31382C3063302C312E312C302C352E392C302C3763302C352C342C392C392C - 3973392D342C392D394333312C31382E392C33312C31342E312C33312C31337A - 222F3E0D0A202020203C706174682066696C6C3D22233432343234322220643D - 224D32322C34632D362E312C302D31302C342E392D31302C313163302C302E38 - 2C302C322E332C302C322E336C322C312E37762D356C31322D346C342C347635 - 6C322D312E3763302C302C302D312E352C302D322E3363302D342D312D382D36 - 2D396C2D312D32204832327A222F3E0D0A202020203C672066696C6C3D222337 - 3834373139223E0D0A20202020202020203C636972636C652063783D22323622 - 2063793D2231392220723D2231222F3E0D0A20202020202020203C636972636C - 652063783D223138222063793D2231392220723D2231222F3E0D0A202020203C - 2F673E0D0A202020203C706174682066696C6C3D22233030393638382220643D - 224D32372C33314C32372C333163302C302D312E382C322D352C32732D352D32 - 2D352D3253362C33332C362C34346833324333382C33332C32372C33312C3237 - 2C33317A222F3E0D0A202020203C672066696C6C3D2223464639383030223E0D - 0A20202020202020203C7265637420783D2233362E312220793D22362E312220 - 7472616E73666F726D3D226D6174726978282E373037202E373037202D2E3730 - 37202E3730372031392E373837202D32352E373729222077696474683D22392E - 3922206865696768743D22392E39222F3E0D0A20202020202020203C72656374 - 20783D2233362220793D2236222077696474683D22313022206865696768743D - 223130222F3E0D0A202020203C2F673E0D0A202020203C636972636C65206669 - 6C6C3D2223464645423342222063783D223431222063793D2231312220723D22 - 33222F3E0D0A3C2F7376673E0D0A08000000700072006500760069006F007500 - 7300C80000003C7376672076657273696F6E3D22312220786D6C6E733D226874 - 74703A2F2F7777772E77332E6F72672F323030302F737667222076696577426F - 783D223020302034382034382220656E61626C652D6261636B67726F756E643D - 226E657720302030203438203438223E0D0A202020203C706F6C79676F6E2066 - 696C6C3D22233231393646332220706F696E74733D2233302E392C3433203334 - 2C33392E392031382E312C32342033342C382E312033302E392C352031322C32 - 34222F3E0D0A3C2F7376673E0D0A050000007000720069006E0074006A030000 - 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 - 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 - 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 - 2030203438203438223E0D0A202020203C7265637420783D22392220793D2231 - 31222066696C6C3D2223343234323432222077696474683D2233302220686569 - 6768743D2233222F3E0D0A202020203C706174682066696C6C3D222336313631 - 36312220643D224D342C3235683430762D3763302D322E322D312E382D342D34 - 2D344838632D322E322C302D342C312E382D342C345632357A222F3E0D0A2020 - 20203C706174682066696C6C3D22233432343234322220643D224D382C333668 - 333263322E322C302C342D312E382C342D34762D384834763843342C33342E32 - 2C352E382C33362C382C33367A222F3E0D0A202020203C636972636C65206669 - 6C6C3D2223303045363736222063783D223430222063793D2231382220723D22 - 31222F3E0D0A202020203C7265637420783D2231312220793D2234222066696C - 6C3D2223393043414639222077696474683D22323622206865696768743D2231 - 30222F3E0D0A202020203C706174682066696C6C3D2223323432343234222064 - 3D224D33372E352C3331682D323743392E372C33312C392C33302E332C392C32 - 392E35763063302D302E382C302E372D312E352C312E352D312E356832376330 - 2E382C302C312E352C302E372C312E352C312E357630204333392C33302E332C - 33382E332C33312C33372E352C33317A222F3E0D0A202020203C726563742078 - 3D2231312220793D223331222066696C6C3D2223393043414639222077696474 - 683D22323622206865696768743D223131222F3E0D0A202020203C7265637420 - 783D2231312220793D223239222066696C6C3D22233432413546352220776964 - 74683D22323622206865696768743D2232222F3E0D0A202020203C672066696C - 6C3D2223313937364432223E0D0A20202020202020203C7265637420783D2231 - 362220793D223333222077696474683D22313722206865696768743D2232222F - 3E0D0A20202020202020203C7265637420783D2231362220793D223337222077 - 696474683D22313322206865696768743D2232222F3E0D0A202020203C2F673E - 0D0A3C2F7376673E0D0A070000007000720069007600610063007900FE010000 - 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 - 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 - 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 - 2030203438203438223E0D0A202020203C706174682066696C6C3D2223343234 - 3234322220643D224D32342C34632D352E352C302D31302C342E352D31302C31 - 3076346834762D3463302D332E332C322E372D362C362D3673362C322E372C36 - 2C3676346834762D344333342C382E352C32392E352C342C32342C347A222F3E - 0D0A202020203C706174682066696C6C3D22234642384330302220643D224D33 - 362C3434483132632D322E322C302D342D312E382D342D3456323263302D322E - 322C312E382D342C342D3468323463322E322C302C342C312E382C342C347631 - 384334302C34322E322C33382E322C34342C33362C34347A222F3E0D0A202020 - 203C636972636C652066696C6C3D2223454645424539222063783D2232342220 - 63793D2233312220723D2236222F3E0D0A202020203C636972636C652066696C - 6C3D2223314538384535222063783D223234222063793D2233312220723D2233 - 222F3E0D0A202020203C636972636C652066696C6C3D2223666666222063783D - 223236222063793D2232392220723D2231222F3E0D0A3C2F7376673E0D0A0700 - 0000700072006F006300650073007300A00300003C7376672076657273696F6E - 3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F3230 - 30302F737667222076696577426F783D223020302034382034382220656E6162 - 6C652D6261636B67726F756E643D226E657720302030203438203438223E0D0A - 202020203C672066696C6C3D2223394332374230223E0D0A2020202020202020 - 3C706F6C79676F6E20706F696E74733D2233312C382034322E392C392E362033 - 332E312C31392E34222F3E0D0A20202020202020203C706F6C79676F6E20706F - 696E74733D2231372C343020352E312C33382E342031342E392C32382E36222F - 3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D22382C3137 - 20392E362C352E312031392E342C31342E39222F3E0D0A20202020202020203C - 7061746820643D224D392E332C32312E324C352E312C323243352C32322E372C - 352C32332E332C352C323463302C342E362C312E362C392C342E362C31322E34 - 6C332D322E364331302E332C33312E312C392C32372E362C392C32342043392C - 32332E312C392E312C32322E312C392E332C32312E327A222F3E0D0A20202020 - 202020203C7061746820643D224D32342C35632D352E342C302D31302E322C32 - 2E332D31332E372C352E396C322E382C322E384331352E392C31302E382C3139 - 2E372C392C32342C3963302E392C302C312E392C302E312C322E382C302E336C - 302E372D332E39204332362E342C352E312C32352E322C352C32342C357A222F - 3E0D0A20202020202020203C7061746820643D224D33382E372C32362E386C34 - 2E322D302E3863302E312D302E372C302E312D312E332C302E312D3263302D34 - 2E342D312E352D382E372D342E332D31322E316C2D332E312C322E3563322E32 - 2C322E372C332E342C362E312C332E342C392E35204333392C32342E392C3338 - 2E392C32352E392C33382E372C32362E387A222F3E0D0A20202020202020203C - 7061746820643D224D33342E392C33342E334333322E312C33372E322C32382E - 332C33392C32342C3339632D302E392C302D312E392D302E312D322E382D302E - 336C2D302E372C332E3963312E322C302E322C322E342C302E332C332E352C30 - 2E332063352E342C302C31302E322D322E332C31332E372D352E394C33342E39 - 2C33342E337A222F3E0D0A20202020202020203C706F6C79676F6E20706F696E - 74733D2234302C33312033382E342C34322E392032382E362C33332E31222F3E - 0D0A202020203C2F673E0D0A3C2F7376673E0D0A06000000700075007A007A00 - 6C006500F30100003C7376672076657273696F6E3D22312220786D6C6E733D22 - 687474703A2F2F7777772E77332E6F72672F323030302F737667222076696577 - 426F783D223020302034382034382220656E61626C652D6261636B67726F756E - 643D226E657720302030203438203438223E0D0A202020203C70617468206669 - 6C6C3D22233842433334412220643D224D33392C313563302D322E322D312E38 - 2D342D342D34682D36632D302E372C302D312E312D302E382D302E372D312E34 - 63302E362D312C302E392D322E322C302E362D332E35632D302E342D322D312E - 392D332E362D332E382D34204332312E382C312E342C31392C332E392C31392C - 3763302C312C302E332C312E382C302E372C322E3663302E342C302E362C302C - 312E342D302E382C312E34682D36632D322E322C302D342C312E382D342C3476 - 3763302C302E372C302E382C312E312C312E342C302E372063312D302E362C32 - 2E322D302E392C332E352D302E3663322C302E342C332E362C312E392C342C33 - 2E3863302E372C332E322D312E382C362E312D342E392C362E31632D312C302D - 312E382D302E332D322E362D302E3743392E382C33302E392C392C33312E332C - 392C3332763663302C322E322C312E382C342C342C342068323263322E322C30 - 2C342D312E382C342D345631357A222F3E0D0A3C2F7376673E0D0A0900000071 - 00750065007300740069006F006E007300560200003C7376672076657273696F - 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 - 3030302F737667222076696577426F783D223020302034382034382220656E61 - 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D - 0A202020203C706F6C79676F6E2066696C6C3D22233432413546352220706F69 - 6E74733D2233362C343420382C343420382C382032382C382033362C3136222F - 3E0D0A202020203C706F6C79676F6E2066696C6C3D2223393043414639222070 - 6F696E74733D2234302C34302031322C34302031322C342033322C342034302C - 3132222F3E0D0A202020203C706F6C79676F6E2066696C6C3D22234531463546 - 452220706F696E74733D2233382E352C31332033312C31332033312C352E3522 - 2F3E0D0A202020203C706174682066696C6C3D22233139373644322220643D22 - 4D32342E352C32382E3363302D342E372C332E362D342E342C332E362D372E32 - 63302D302E372D302E322D322E312D322D322E31632D322C302D322E312C312E - 362D322E312C32682D322E3763302D302E372C302E332D342E322C342E382D34 - 2E322063342E362C302C342E372C332E362C342E372C342E3363302C332E352D - 332E382C342D332E382C372E334832342E357A204D32342E332C33312E386330 - 2D302E322C302D312E352C312E352D312E3563312E342C302C312E352C312E33 - 2C312E352C312E3563302C302E342D302E322C312E342D312E352C312E342043 - 32342E352C33332E322C32342E332C33322E322C32342E332C33312E387A222F - 3E0D0A3C2F7376673E0D0A0A000000720061006400610072005F0070006C006F - 007400600200003C7376672076657273696F6E3D22312220786D6C6E733D2268 - 7474703A2F2F7777772E77332E6F72672F323030302F73766722207669657742 - 6F783D223020302034382034382220656E61626C652D6261636B67726F756E64 - 3D226E657720302030203438203438223E0D0A202020203C706174682066696C - 6C3D22234346443844432220643D224D33382E342C31334C32342E312C362E34 - 4C342E362C31322E316C382E382C31332E326C2D322E322C31352E316832322E - 376C362E362D31332E334C33382E342C31337A204D33322E312C33372E354831 - 342E376C312E382D31322E394C392E342C31332E39206C31342E352D342E334C - 33352E362C31356C312E382C31312E374C33322E312C33372E357A222F3E0D0A - 202020203C672066696C6C3D2223303042434434223E0D0A2020202020202020 - 3C636972636C652063783D223234222063793D22382220723D2234222F3E0D0A - 20202020202020203C636972636C652063783D223337222063793D2231342220 - 723D2234222F3E0D0A20202020202020203C636972636C652063783D22333922 - 2063793D2232372220723D2234222F3E0D0A20202020202020203C636972636C - 652063783D2237222063793D2231332220723D2234222F3E0D0A202020202020 - 20203C636972636C652063783D223133222063793D2233392220723D2234222F - 3E0D0A20202020202020203C636972636C652063783D223135222063793D2232 - 352220723D2234222F3E0D0A20202020202020203C636972636C652063783D22 - 3333222063793D2233392220723D2234222F3E0D0A202020203C2F673E0D0A3C - 2F7376673E0D0A0600000072006100740069006E0067002B0100003C73766720 - 76657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E7733 - 2E6F72672F323030302F737667222076696577426F783D223020302034382034 - 382220656E61626C652D6261636B67726F756E643D226E657720302030203438 - 203438223E0D0A202020203C636972636C652066696C6C3D2223463434333336 - 222063783D223234222063793D2232342220723D223231222F3E0D0A20202020 - 3C706F6C79676F6E2066696C6C3D22234646434132382220706F696E74733D22 - 32342C31312032372E392C31382E392033362E362C32302E322033302E332C32 - 362E332033312E382C33352032342C33302E392031362E322C33352031372E37 - 2C32362E332031312E342C32302E322032302E312C31382E39222F3E0D0A3C2F - 7376673E0D0A0700000072006100740069006E0067007300B90100003C737667 - 2076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77 - 332E6F72672F323030302F737667222076696577426F783D2230203020343820 - 34382220656E61626C652D6261636B67726F756E643D226E6577203020302034 - 38203438223E0D0A202020203C706F6C79676F6E2066696C6C3D222334324135 - 46352220706F696E74733D2233362C343420382C343420382C382032382C3820 - 33362C3136222F3E0D0A202020203C706F6C79676F6E2066696C6C3D22233930 - 434146392220706F696E74733D2234302C34302031322C34302031322C342033 - 322C342034302C3132222F3E0D0A202020203C706F6C79676F6E2066696C6C3D - 22234531463546452220706F696E74733D2233382E352C31332033312C313320 - 33312C352E35222F3E0D0A202020203C706F6C79676F6E2066696C6C3D222331 - 39373644322220706F696E74733D2233342C32302032372C32302032392E342C - 32322E342032372C32342E392032332C32302E392031362E392C32362E392031 - 392E312C32392E312032332C32352E312032372C32392E312033312E362C3234 - 2E362033342C3237222F3E0D0A3C2F7376673E0D0A0700000072006500610064 - 0069006E006700310200003C7376672076657273696F6E3D22312220786D6C6E - 733D22687474703A2F2F7777772E77332E6F72672F323030302F737667222076 - 696577426F783D223020302034382034382220656E61626C652D6261636B6772 - 6F756E643D226E657720302030203438203438223E0D0A202020203C70617468 - 2066696C6C3D22233543364243302220643D224D34302C3430632D362E392C30 - 2D31362C342D31362C3456323263302C302C392D342C31382D344C34302C3430 - 7A222F3E0D0A202020203C706174682066696C6C3D2223373938364342222064 - 3D224D382C343063362E392C302C31362C342C31362C3456323263302C302D39 - 2D342D31382D344C382C34307A222F3E0D0A202020203C672066696C6C3D2223 - 464642373444223E0D0A20202020202020203C636972636C652063783D223234 - 222063793D2231322220723D2238222F3E0D0A20202020202020203C70617468 - 20643D224D34312C3332683163302E362C302C312D302E342C312D31762D3463 - 302D302E362D302E342D312D312D31682D31632D312E372C302D332C312E332D - 332C3376304333382C33302E372C33392E332C33322C34312C33327A222F3E0D - 0A20202020202020203C7061746820643D224D372C32364836632D302E362C30 - 2D312C302E342D312C31763463302C302E362C302E342C312C312C3168316331 - 2E372C302C332D312E332C332D3376304331302C32372E332C382E372C32362C - 372C32367A222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0D000000 - 720065006100640069006E0067005F00650062006F006F006B00220300003C73 - 76672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F777777 - 2E77332E6F72672F323030302F737667222076696577426F783D223020302034 - 382034382220656E61626C652D6261636B67726F756E643D226E657720302030 - 203438203438223E0D0A202020203C706174682066696C6C3D22233231393646 - 332220643D224D33332E352C3237632D322E322D332D352E322D352D392E352D - 35732D372E332C322D392E352C354833332E357A222F3E0D0A202020203C7061 - 74682066696C6C3D22233534364537412220643D224D33342E312C3433483133 - 2E39632D312E312C302D312E392D302E382D322D312E396C2D302E382D313343 - 31312E312C32372C31322C32362C31332E312C32366832312E3863312E322C30 - 2C322E312C312C322C322E316C2D302E382C3133204333362C34322E322C3335 - 2E322C34332C33342E312C34337A222F3E0D0A202020203C636972636C652066 - 696C6C3D2223423042454335222063783D223334222063793D2232392220723D - 2231222F3E0D0A202020203C672066696C6C3D2223464642373444223E0D0A20 - 202020202020203C636972636C652063783D223234222063793D223132222072 - 3D2238222F3E0D0A20202020202020203C7061746820643D224D31362E312C34 - 322E344C31352C34332E35632D302E362C302E362D312E362C302E362D322E32 - 2C306C2D332E332D332E33632D302E362D302E362D302E362D312E362C302D32 - 2E326C312E312D312E3163312E332D312E332C332E312D312E332C342E342C30 - 206C312E312C312E314331372E332C33392E332C31372E332C34312E322C3136 - 2E312C34322E347A222F3E0D0A20202020202020203C7061746820643D224D33 - 312E392C33386C312E312D312E3163312E332D312E332C332E312D312E332C34 - 2E342C306C312E312C312E3163302E362C302E362C302E362C312E362C302C32 - 2E326C2D332E332C332E33632D302E362C302E362D312E362C302E362D322E32 - 2C30206C2D312E312D312E314333302E372C34312E322C33302E372C33392E33 - 2C33312E392C33387A222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A - 06000000720065006400640069007400200B00003C3F786D6C2076657273696F - 6E3D22312E302220656E636F64696E673D227574662D38223F3E0D0A3C212D2D - 2047656E657261746F723A2041646F626520496C6C7573747261746F72203135 - 2E302E302C20535647204578706F727420506C75672D496E202E205356472056 - 657273696F6E3A20362E3030204275696C6420302920202D2D3E0D0A3C21444F - 435459504520737667205055424C494320222D2F2F5733432F2F445444205356 - 4720312E312F2F454E222022687474703A2F2F7777772E77332E6F72672F4772 - 6170686963732F5356472F312E312F4454442F73766731312E647464223E0D0A - 3C7376672076657273696F6E3D22312E31222020786D6C6E733D22687474703A - 2F2F7777772E77332E6F72672F323030302F7376672220786D6C6E733A786C69 - 6E6B3D22687474703A2F2F7777772E77332E6F72672F313939392F786C696E6B - 2220783D223070782220793D22307078220D0A092077696474683D2234387078 - 22206865696768743D2234387078222076696577426F783D2230203020343820 - 34382220656E61626C652D6261636B67726F756E643D226E6577203020302034 - 382034382220786D6C3A73706163653D227072657365727665223E0D0A3C673E - 0D0A093C706174682066696C6C3D22234646464646462220643D224D31322E31 - 39332C31392E353535632D312E39342D312E3734312D342E37392D312E373237 - 2D362E3336352C302E303239632D312E3537362C312E3735362D312E3330312C - 352E3032332C302E3932362C362E3633324C31322E3139332C31392E3535357A - 220D0A09092F3E0D0A093C706174682066696C6C3D2223464646464646222064 - 3D224D33352E3830372C31392E35353563312E3933392D312E3734312C342E37 - 38392D312E3732372C362E3336352C302E30323963312E3537352C312E373536 - 2C312E3330322C352E3032332D302E3932372C362E3633324C33352E3830372C - 31392E3535357A220D0A09092F3E0D0A093C673E0D0A09093C636972636C6520 - 66696C6C3D2223464646464646222063783D2233382E3332222063793D223130 - 2E3437352220723D22332E35222F3E0D0A093C2F673E0D0A093C673E0D0A0909 - 3C656C6C697073652066696C6C3D2223464646464646222063783D2232342E30 - 3835222063793D2232382E363131222072783D2231382E303835222072793D22 - 31322E393436222F3E0D0A093C2F673E0D0A3C2F673E0D0A3C673E0D0A093C63 - 6972636C652066696C6C3D2223443834333135222063783D2233302E33363522 - 2063793D2232362E33392220723D22322E383834222F3E0D0A093C636972636C - 652066696C6C3D2223443834333135222063783D2231372E363335222063793D - 2232362E33392220723D22322E383834222F3E0D0A3C2F673E0D0A3C673E0D0A - 093C706174682066696C6C3D22233337343734462220643D224D32342E303032 - 2C33342E393032632D332E3235322C302D362E31342D302E3734352D382E3030 - 322D312E39303263312E3032342C322E3034342C342E3139362C342C382E3030 - 322C3463332E3830322C302C362E3937362D312E3935362C372E3939382D340D - 0A09094333302E3134332C33342E3135372C32372E3235342C33342E3930322C - 32342E3030322C33342E3930327A222F3E0D0A093C706174682066696C6C3D22 - 233337343734462220643D224D34312E38332C32372E3032366C2D312E31372D - 312E36323163302E3833312D302E362C312E3337332D312E3535362C312E3438 - 382D322E36323363302E3130352D302E39382D302E3135372D312E3930332D30 - 2E3732312D322E3533310D0A0909632D302E3537312D302E3633372D312E3339 - 312D302E39392D322E3330372D302E393934632D302E3932372C302E3031332D - 312E3839342C302E3336352D322E3634362C312E3034316C2D312E3333362D31 - 2E34383863312E3132332D312E3030382C322E3534352D312E3532332C332E39 - 39312D312E3535330D0A090963312E3438382C302E3030372C322E3833332C30 - 2E3539362C332E3738362C312E36353863302E3934322C312E30352C312E3338 - 372C322E3533372C312E3232312C342E3038314334332E3936312C32342E3632 - 362C34332E3132312C32362E3039362C34312E38332C32372E3032367A222F3E - 0D0A093C706174682066696C6C3D22233337343734462220643D224D362E3136 - 392C32372E303236632D312E32392D302E3933322D322E3133312D322E343031 - 2D322E3330362D342E303331632D302E3136362D312E3534332C302E3237392D - 332E30332C312E3232312D342E3037390D0A090963302E3935332D312E303632 - 2C322E3239372D312E3635312C332E3738352D312E36353863302E3030392C30 - 2C302E3031382C302C302E3032372C3063312E3434312C302C322E3834392C30 - 2E3535312C332E3936352C312E3535336C2D312E3333362C312E3438380D0A09 - 09632D302E3735332D302E3637362D312E3638392D312E3030352D322E363436 - 2D312E303431632D302E3931362C302E3030342D312E3733352C302E3335372D - 322E3330362C302E393934632D302E3536332C302E3632382D302E3832362C31 - 2E35352D302E3732312C322E35330D0A090963302E3131352C312E3036372C30 - 2E3635372C322E3032332C312E3438382C322E3632344C362E3136392C32372E - 3032367A222F3E0D0A093C706174682066696C6C3D2223333734373446222064 - 3D224D32352C31362E3834682D3263302D322E3838352C302D31302E3534382C - 342E3937392D31302E35343863322E3135342C302C332E3139332C312E323131 - 2C332E3935322C322E3039360D0A090963302E3632392C302E3733342C302E39 - 36312C312E3038362C312E3631362C312E30383668312E33377632682D312E33 - 37632D312E3630342C302D322E3435332D302E39392D332E3133352D312E3738 - 35632D302E36372D302E3738312D312E3139382D312E3339382D322E3433342D - 312E3339380D0A09094332352E3937352C382E3239322C32352C31312E303838 - 2C32352C31362E38347A222F3E0D0A093C706174682066696C6C3D2223333734 - 3734462220643D224D32342E3038352C31362E393563392E3432312C302C3137 - 2E3038352C352E3233312C31372E3038352C31312E36363163302C362E343331 - 2D372E3636342C31312E3636322D31372E3038352C31312E36363253372C3335 - 2E3034322C372C32382E3631310D0A090943372C32322E3138312C31342E3636 - 342C31362E39352C32342E3038352C31362E3935204D32342E3038352C31342E - 39354331332E3534342C31342E39352C352C32312E3036362C352C32382E3631 - 3163302C372E3534362C382E3534352C31332E3636322C31392E3038352C3133 - 2E3636320D0A09096331302E35342C302C31392E3038352D362E3131362C3139 - 2E3038352D31332E3636324334332E31372C32312E3036362C33342E3632352C - 31342E39352C32342E3038352C31342E39354C32342E3038352C31342E39357A - 222F3E0D0A093C706174682066696C6C3D22233337343734462220643D224D33 - 382E33322C372E39373563312E3337392C302C322E352C312E3132322C322E35 - 2C322E35732D312E3132312C322E352D322E352C322E35732D322E352D312E31 - 32322D322E352D322E355333362E3934312C372E3937352C33382E33322C372E - 3937350D0A0909204D33382E33322C352E393735632D322E3438342C302D342E - 352C322E3031352D342E352C342E3573322E3031362C342E352C342E352C342E - 3563322E3438362C302C342E352D322E3031352C342E352D342E355334302E38 - 30372C352E3937352C33382E33322C352E3937354C33382E33322C352E393735 - 7A222F3E0D0A3C2F673E0D0A3C2F7376673E0D0A040000007200650064006F00 - 310100003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 - 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D - 223020302034382034382220656E61626C652D6261636B67726F756E643D226E - 657720302030203438203438223E0D0A202020203C672066696C6C3D22233030 - 42434434223E0D0A20202020202020203C706F6C79676F6E20706F696E74733D - 2234332C31382032392C362E332032392C32392E37222F3E0D0A202020202020 - 20203C7061746820643D224D32302C31346831327638483230632D322E382C30 - 2D352C322E322D352C3573322E322C352C352C3568337638682D33632D372E32 - 2C302D31332D352E382D31332D31335331322E382C31342C32302C31347A222F - 3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0700000072006500660072 - 006500730068000A0200003C7376672076657273696F6E3D22312220786D6C6E - 733D22687474703A2F2F7777772E77332E6F72672F323030302F737667222076 - 696577426F783D223020302034382034382220656E61626C652D6261636B6772 - 6F756E643D226E657720302030203438203438223E0D0A202020203C67206669 - 6C6C3D2223313536354330223E0D0A20202020202020203C7061746820643D22 - 4D31332C313363302D332E332C322E372D362C362D3668313063332E332C302C - 362C322E372C362C36683463302D352E352D342E352D31302D31302D31304831 - 394331332E352C332C392C372E352C392C31337631312E3268345631337A222F - 3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D22342E362C - 32322031312C33302E342031372E342C3232222F3E0D0A202020203C2F673E0D - 0A202020203C672066696C6C3D2223313536354330223E0D0A20202020202020 - 203C7061746820643D224D33352C333563302C332E332D322E372C362D362C36 - 483139632D332E332C302D362D322E372D362D36483963302C352E352C342E35 - 2C31302C31302C313068313063352E352C302C31302D342E352C31302D313056 - 3233682D345633357A222F3E0D0A20202020202020203C706F6C79676F6E2070 - 6F696E74733D2233302E362C32362033372C31372E362034332E342C3236222F - 3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A1400000072006500670069 - 007300740065007200650064005F00740072006100640065006D00610072006B - 00540200003C7376672076657273696F6E3D22312220786D6C6E733D22687474 - 703A2F2F7777772E77332E6F72672F323030302F737667222076696577426F78 - 3D223020302034382034382220656E61626C652D6261636B67726F756E643D22 - 6E657720302030203438203438223E0D0A202020203C636972636C652066696C - 6C3D2223394332374230222063783D223234222063793D2232342220723D2232 - 31222F3E0D0A202020203C706174682066696C6C3D2223453142454537222064 - 3D224D32352C32362E38682D342E357639682D345631322E3568382E3263312E - 332C302C322E352C302E322C332E362C302E3563312C302E332C312E392C302E - 382C322E362C312E3363302E372C302E362C312E332C312E332C312E362C322E - 322073302E362C312E392C302E362C3363302C312E362D302E342C322E392D31 - 2E312C332E39632D302E382C312D312E382C312E392D332E312C322E346C352E - 322C392E3776302E32682D342E334C32352C32362E387A204D32302E352C3233 - 2E3668342E3263302E372C302C312E342D302E312C312E392D302E332063302E - 352D302E322C312D302E352C312E342D302E3863302E342D302E332C302E362D - 302E372C302E382D312E3263302E322D302E352C302E332D312C302E332D312E - 3663302D302E362D302E312D312E312D302E332D312E36632D302E322D302E35 - 2D302E342D302E392D302E382D312E3220632D302E342D302E332D302E382D30 - 2E362D312E342D302E38632D302E352D302E322D312E322D302E332D322D302E - 33682D342E315632332E367A222F3E0D0A3C2F7376673E0D0A0C000000720065 - 006D006F00760065005F0069006D00610067006500BF0200003C737667207665 - 7273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F - 72672F323030302F737667222076696577426F783D2230203020343820343822 - 20656E61626C652D6261636B67726F756E643D226E6577203020302034382034 - 38223E0D0A202020203C706174682066696C6C3D22233843424344362220643D - 224D34302C34314838632D322E322C302D342D312E382D342D3456313163302D - 322E322C312E382D342C342D3468333263322E322C302C342C312E382C342C34 - 7632364334342C33392E322C34322E322C34312C34302C34317A222F3E0D0A20 - 2020203C636972636C652066696C6C3D2223423344444635222063783D223335 - 222063793D2231362220723D2233222F3E0D0A202020203C706F6C79676F6E20 - 66696C6C3D22233941433945332220706F696E74733D2232302C313620392C33 - 322033312C3332222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223 - 4233444446352220706F696E74733D2233312C32322032332C33322033392C33 - 32222F3E0D0A202020203C636972636C652066696C6C3D222346343433333622 - 2063783D223338222063793D2233382220723D223130222F3E0D0A202020203C - 672066696C6C3D2223666666223E0D0A20202020202020203C7265637420783D - 2233362E352220793D22333222207472616E73666F726D3D226D617472697828 - 2D2E373037202E373037202D2E373037202D2E3730372039312E373420333829 - 222077696474683D223322206865696768743D223132222F3E0D0A2020202020 - 2020203C7265637420783D2233362E352220793D22333222207472616E73666F - 726D3D226D6174726978282D2E373037202D2E373037202E373037202D2E3730 - 372033382039312E373429222077696474683D223322206865696768743D2231 - 32222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0500000072006500 - 750073006500010300003C7376672076657273696F6E3D22312220786D6C6E73 - 3D22687474703A2F2F7777772E77332E6F72672F323030302F73766722207669 - 6577426F783D223020302034382034382220656E61626C652D6261636B67726F - 756E643D226E657720302030203438203438223E0D0A202020203C706F6C7967 - 6F6E2066696C6C3D22233435354136342220706F696E74733D2231322E312C34 - 322031372E322C34322031362E352C31382E322031302E392C32302E32222F3E - 0D0A202020203C636972636C652066696C6C3D2223464642373444222063783D - 2233362E35222063793D2231302220723D2235222F3E0D0A202020203C706F6C - 79676F6E2066696C6C3D22233630374438422220706F696E74733D2231312C34 - 3220362C343220372E382C31382E362031342E322C32302E39222F3E0D0A2020 - 20203C706174682066696C6C3D22233630374438422220643D224D33312E372C - 31352E39632D302E362D322D312E332D342D322E352D352E38632D312E332D31 - 2E362D332E322D332E312D362E312D32632D332E312C312E332D392E322C332E - 362D31312E322C342E3520632D322E332C312E312D342E312C322E372D342E31 - 2C352E3963302C332E342C342E332C352E332C342E332C352E336C31342E372D - 362E316C312E372C342E356C352E332C302E314333332E382C32322E342C3332 - 2E332C31372E392C33312E372C31352E397A222F3E0D0A202020203C70617468 - 2066696C6C3D22234233394444422220643D224D33372E392C3432682D372E39 - 632D312C302D312E382D302E372D322D312E376C2D322E362D31372E31683137 - 6C2D322E362C31372E314333392E382C34312E332C33382E392C34322C33372E - 392C34327A222F3E0D0A202020203C706174682066696C6C3D22233745353743 - 322220643D224D34322C3234483236632D302E362C302D312D302E342D312D31 - 763063302D302E362C302E342D312C312D3168313663302E362C302C312C302E - 342C312C3176304334332C32332E362C34322E362C32342C34322C32347A222F - 3E0D0A3C2F7376673E0D0A0500000072006900670068007400FD0000003C7376 - 672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E - 77332E6F72672F323030302F737667222076696577426F783D22302030203438 - 2034382220656E61626C652D6261636B67726F756E643D226E65772030203020 - 3438203438223E0D0A202020203C672066696C6C3D2223334635314235223E0D - 0A20202020202020203C706F6C79676F6E20706F696E74733D2234342C323420 - 33302C33352E372033302C31322E33222F3E0D0A20202020202020203C726563 - 7420783D22362220793D223230222077696474683D2232372220686569676874 - 3D2238222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0B0000007200 - 69006700680074005F0064006F0077006E0032000C0100003C73766720766572 - 73696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72 - 672F323030302F737667222076696577426F783D223020302034382034382220 - 656E61626C652D6261636B67726F756E643D226E657720302030203438203438 - 223E0D0A202020203C706F6C79676F6E2066696C6C3D22233346353142352220 - 706F696E74733D2232392C34342031372E332C33302034302E372C3330222F3E - 0D0A202020203C706174682066696C6C3D22233346353142352220643D224D32 - 312C364838763868313363322E322C302C342C312E382C342C34763137683856 - 31384333332C31312E342C32372E362C362C32312C367A222F3E0D0A3C2F7376 - 673E0D0A09000000720069006700680074005F007500700032000F0100003C73 - 76672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F777777 - 2E77332E6F72672F323030302F737667222076696577426F783D223020302034 - 382034382220656E61626C652D6261636B67726F756E643D226E657720302030 - 203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D22233346 - 353142352220706F696E74733D2232392C342031372E332C31382034302E372C - 3138222F3E0D0A202020203C706174682066696C6C3D22233346353142352220 - 643D224D32312C34324838762D3868313363322E322C302C342D312E382C342D - 3456313368387631374333332C33362E362C32372E362C34322C32312C34327A - 222F3E0D0A3C2F7376673E0D0A0D00000072006F0074006100740065005F0063 - 0061006D00650072006100540200003C7376672076657273696F6E3D22312220 - 786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376 - 67222076696577426F783D223020302034382034382220656E61626C652D6261 - 636B67726F756E643D226E657720302030203438203438223E0D0A202020203C - 672066696C6C3D2223354533354231223E0D0A20202020202020203C70617468 - 20643D224D33332E392C31322E314831342E324C31372E362C3763302E342D30 - 2E362C312D302E392C312E372D302E3968392E3663302E372C302C312E332C30 - 2E332C312E372C302E394C33332E392C31322E317A222F3E0D0A202020202020 - 20203C7061746820643D224D31342C3131483856392E3243382C382E352C382E - 352C382C392E322C3868332E364331332E352C382C31342C382E352C31342C39 - 2E325631317A222F3E0D0A20202020202020203C7061746820643D224D34302C - 34324838632D322E322C302D342D312E382D342D3456313463302D322E322C31 - 2E382D342C342D3468333263322E322C302C342C312E382C342C347632344334 - 342C34302E322C34322E322C34322C34302C34327A222F3E0D0A202020203C2F - 673E0D0A202020203C706174682066696C6C3D22234538454146362220643D22 - 4D33342C323563302D352E352D342E352D31302D31302D3130732D31302C342E - 352D31302C313073342E352C31302C31302C3130762D32632D342E342C302D38 - 2D332E362D382D3873332E362D382C382D3873382C332E362C382C38682D332E - 35206C342E352C352E366C342E352D352E364833347A222F3E0D0A3C2F737667 - 3E0D0A1300000072006F0074006100740065005F0074006F005F006C0061006E - 00640073006300610070006500180200003C7376672076657273696F6E3D2231 - 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F - 737667222076696577426F783D223020302034382034382220656E61626C652D - 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 - 203C706174682066696C6C3D22233337343734462220643D224D31302C343156 - 3763302D322E322C312E382D342C342D3468323063322E322C302C342C312E38 - 2C342C3476333463302C322E322D312E382C342D342C344831344331312E382C - 34352C31302C34332E322C31302C34317A222F3E0D0A202020203C7061746820 - 66696C6C3D22234633453546352220643D224D33342C36483134632D302E362C - 302D312C302E342D312C3176333463302C302E362C302E342C312C312C316832 - 3063302E362C302C312D302E342C312D3156374333352C362E342C33342E362C - 362C33342C367A222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223 - 3943323742302220706F696E74733D2232322C33342032372E392C3237203136 - 2E312C3237222F3E0D0A202020203C706174682066696C6C3D22233943323742 - 302220643D224D32362C3136632D332E332C302D362C322E372D362C36763668 - 34762D3663302D312E312C302E392D322C322D3273322C302E392C322C327632 - 6834762D324333322C31382E372C32392E332C31362C32362C31367A222F3E0D - 0A3C2F7376673E0D0A1200000072006F0074006100740065005F0074006F005F - 0070006F007200740072006100690074000E0200003C7376672076657273696F - 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 - 3030302F737667222076696577426F783D223020302034382034382220656E61 - 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D - 0A202020203C706174682066696C6C3D22233337343734462220643D224D3431 - 2C33384837632D322E322C302D342D312E382D342D3456313463302D322E322C - 312E382D342C342D3468333463322E322C302C342C312E382C342C3476323043 - 34352C33362E322C34332E322C33382C34312C33387A222F3E0D0A202020203C - 706174682066696C6C3D22234633453546352220643D224D362C313476323063 - 302C302E362C302E342C312C312C3168333463302E362C302C312D302E342C31 - 2D3156313463302D302E362D302E342D312D312D31483743362E342C31332C36 - 2C31332E342C362C31347A222F3E0D0A202020203C706F6C79676F6E2066696C - 6C3D22233943323742302220706F696E74733D2232362C31352032302E312C32 - 322033312E392C3232222F3E0D0A202020203C706174682066696C6C3D222339 - 43323742302220643D224D32342C3231763663302C312E312D302E392C322D32 - 2C32732D322D302E392D322D32762D32682D34763263302C332E332C322E372C - 362C362C3673362D322E372C362D36762D364832347A222F3E0D0A3C2F737667 - 3E0D0A05000000720075006C0065007300530300003C7376672076657273696F - 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 - 3030302F737667222076696577426F783D223020302034382034382220656E61 - 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D - 0A202020203C706174682066696C6C3D22233432413546352220643D224D3339 - 2C3435483963302C302D332D302E312D332D386833364334322C34342E392C33 - 392C34352C33392C34357A222F3E0D0A202020203C7265637420783D22382220 - 793D2233222066696C6C3D2223393043414639222077696474683D2233322220 - 6865696768743D223334222F3E0D0A202020203C672066696C6C3D2223313937 - 364432223E0D0A20202020202020203C7265637420783D2231382220793D2231 - 35222077696474683D22313622206865696768743D2232222F3E0D0A20202020 - 202020203C7265637420783D2231382220793D223139222077696474683D2231 - 3622206865696768743D2232222F3E0D0A20202020202020203C726563742078 - 3D2231382220793D223233222077696474683D22313622206865696768743D22 - 32222F3E0D0A20202020202020203C7265637420783D2231382220793D223237 - 222077696474683D22313622206865696768743D2232222F3E0D0A2020202020 - 2020203C7265637420783D2231382220793D223331222077696474683D223136 - 22206865696768743D2232222F3E0D0A202020203C2F673E0D0A202020203C67 - 2066696C6C3D2223313937364432223E0D0A20202020202020203C7265637420 - 783D2231342220793D223135222077696474683D223222206865696768743D22 - 32222F3E0D0A20202020202020203C7265637420783D2231342220793D223139 - 222077696474683D223222206865696768743D2232222F3E0D0A202020202020 - 20203C7265637420783D2231342220793D223233222077696474683D22322220 - 6865696768743D2232222F3E0D0A20202020202020203C7265637420783D2231 - 342220793D223237222077696474683D223222206865696768743D2232222F3E - 0D0A20202020202020203C7265637420783D2231342220793D22333122207769 - 6474683D223222206865696768743D2232222F3E0D0A202020203C2F673E0D0A - 3C2F7376673E0D0A040000007300610066006500340700003C73766720766572 - 73696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72 - 672F323030302F737667222076696577426F783D223020302034382034382220 - 656E61626C652D6261636B67726F756E643D226E657720302030203438203438 - 223E0D0A202020203C7265637420783D22382220793D223339222066696C6C3D - 2223343535413634222077696474683D223622206865696768743D2233222F3E - 0D0A202020203C7265637420783D2233342220793D223339222066696C6C3D22 - 23343535413634222077696474683D223622206865696768743D2233222F3E0D - 0A202020203C706174682066696C6C3D22233738393039432220643D224D3430 - 2C34314838632D322E322C302D342D312E382D342D3456313163302D322E322C - 312E382D342C342D3468333263322E322C302C342C312E382C342C3476323643 - 34342C33392E322C34322E322C34312C34302C34317A222F3E0D0A202020203C - 706174682066696C6C3D22233930413441452220643D224D34302C3338483863 - 2D302E362C302D312D302E342D312D3156313163302D302E362C302E342D312C - 312D3168333263302E362C302C312C302E342C312C317632364334312C33372E - 362C34302E362C33382C34302C33387A222F3E0D0A202020203C706174682066 - 696C6C3D22233337343734462220643D224D32392C3134632D352E352C302D31 - 302C342E352D31302C313063302C352E352C342E352C31302C31302C31307331 - 302D342E352C31302D31304333392C31382E352C33342E352C31342C32392C31 - 347A204D32392C333120632D332E392C302D372D332E312D372D3763302D332E - 392C332E312D372C372D3773372C332E312C372C374333362C32372E392C3332 - 2E392C33312C32392C33317A222F3E0D0A202020203C672066696C6C3D222342 - 3042454335223E0D0A20202020202020203C7061746820643D224D33352E332C - 31392E316C302E342D302E3463302E342D302E342C302E342D312C302D312E34 - 732D312D302E342D312E342C306C2D302E342C302E344333342E342C31382E31 - 2C33342E392C31382E362C33352E332C31392E317A222F3E0D0A202020202020 - 20203C7061746820643D224D32322E372C31392E3163302E342D302E352C302E - 392D312C312E342D312E346C2D302E342D302E34632D302E342D302E342D312D - 302E342D312E342C30732D302E342C312C302C312E344C32322E372C31392E31 - 7A222F3E0D0A20202020202020203C7061746820643D224D32312C323463302D - 302E332C302D302E372C302E312D31682D302E36632D302E362C302D312C302E - 342D312C3173302E342C312C312C3168302E364332312C32342E372C32312C32 - 342E332C32312C32347A222F3E0D0A20202020202020203C7061746820643D22 - 4D32392C313663302E332C302C302E372C302C312C302E31762D302E3663302D - 302E362D302E342D312D312D31732D312C302E342D312C3176302E364332382E - 332C31362C32382E372C31362C32392C31367A222F3E0D0A2020202020202020 - 3C7061746820643D224D33352E332C32382E39632D302E342C302E352D302E39 - 2C312D312E342C312E346C302E342C302E3463302E322C302E322C302E352C30 - 2E332C302E372C302E3373302E352D302E312C302E372D302E3363302E342D30 - 2E342C302E342D312C302D312E34204C33352E332C32382E397A222F3E0D0A20 - 202020202020203C7061746820643D224D32322E372C32382E396C2D302E342C - 302E34632D302E342C302E342D302E342C312C302C312E3463302E322C302E32 - 2C302E352C302E332C302E372C302E3373302E352D302E312C302E372D302E33 - 6C302E342D302E34204332332E362C32392E392C32332E312C32392E342C3232 - 2E372C32382E397A222F3E0D0A20202020202020203C7061746820643D224D33 - 372E352C3233682D302E3663302C302E332C302E312C302E372C302E312C3173 - 302C302E372D302E312C3168302E3663302E362C302C312D302E342C312D3153 - 33382E312C32332C33372E352C32337A222F3E0D0A20202020202020203C7061 - 746820643D224D32392C3332632D302E332C302D302E372C302D312D302E3176 - 302E3663302C302E362C302E342C312C312C3173312D302E342C312D31762D30 - 2E364332392E372C33322C32392E332C33322C32392C33327A222F3E0D0A2020 - 20203C2F673E0D0A202020203C706174682066696C6C3D222334353541363422 - 20643D224D31322C3230632D312E312C302D322C302E392D322C32763863302C - 312E312C302E392C322C322C3273322D302E392C322D32762D384331342C3230 - 2E392C31332E312C32302C31322C32307A222F3E0D0A202020203C7061746820 - 66696C6C3D22234346443844432220643D224D31322C3138632D312E312C302D - 322C302E392D322C32763863302C312E312C302E392C322C322C3273322D302E - 392C322D32762D384331342C31382E392C31332E312C31382C31322C31387A22 - 2F3E0D0A3C2F7376673E0D0A11000000730061006C00650073005F0070006500 - 720066006F0072006D0061006E0063006500041C00003C737667207665727369 - 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F - 323030302F737667222076696577426F783D223020302034382034382220656E - 61626C652D6261636B67726F756E643D226E657720302030203438203438223E - 0D0A202020203C672066696C6C3D2223464641303030223E0D0A202020202020 - 20203C7061746820643D224D33382C3133632D332E332C302D362D302E392D36 - 2D3263302C302E342C302C312E362C302C3263302C312E312C322E372C322C36 - 2C3273362D302E392C362D3263302D302E342C302D312E362C302D324334342C - 31322E312C34312E332C31332C33382C3133207A222F3E0D0A20202020202020 - 203C7061746820643D224D33382C3130632D332E332C302D362D302E392D362D - 3263302C302E342C302C312E362C302C3263302C312E312C322E372C322C362C - 3273362D302E392C362D3263302D302E342C302D312E362C302D324334342C39 - 2E312C34312E332C31302C33382C31307A222F3E0D0A20202020202020203C70 - 61746820643D224D33382C3136632D332E332C302D362D302E392D362D326330 - 2C302E342C302C312E362C302C3263302C312E312C322E372C322C362C327336 - 2D302E392C362D3263302D302E342C302D312E362C302D324334342C31352E31 - 2C34312E332C31362C33382C3136207A222F3E0D0A20202020202020203C7061 - 746820643D224D33382C3139632D332E332C302D362D302E392D362D3263302C - 302E342C302C312E362C302C3263302C312E312C322E372C322C362C3273362D - 302E392C362D3263302D302E342C302D312E362C302D324334342C31382E312C - 34312E332C31392C33382C3139207A222F3E0D0A20202020202020203C706174 - 6820643D224D33382C3232632D332E332C302D362D302E392D362D3263302C30 - 2E342C302C312E362C302C3263302C312E312C322E372C322C362C3273362D30 - 2E392C362D3263302D302E342C302D312E362C302D324334342C32312E312C34 - 312E332C32322C33382C3232207A222F3E0D0A20202020202020203C70617468 - 20643D224D33382C3235632D332E332C302D362D302E392D362D3263302C302E - 342C302C312E362C302C3263302C312E312C322E372C322C362C3273362D302E - 392C362D3263302D302E342C302D312E362C302D324334342C32342E312C3431 - 2E332C32352C33382C3235207A222F3E0D0A20202020202020203C7061746820 - 643D224D33382C3238632D332E332C302D362D302E392D362D3263302C302E34 - 2C302C312E362C302C3263302C312E312C322E372C322C362C3273362D302E39 - 2C362D3263302D302E342C302D312E362C302D324334342C32372E312C34312E - 332C32382C33382C3238207A222F3E0D0A20202020202020203C706174682064 - 3D224D33382C3331632D332E332C302D362D302E392D362D3263302C302E342C - 302C312E362C302C3263302C312E312C322E372C322C362C3273362D302E392C - 362D3263302D302E342C302D312E362C302D324334342C33302E312C34312E33 - 2C33312C33382C3331207A222F3E0D0A20202020202020203C7061746820643D - 224D33382C3334632D332E332C302D362D302E392D362D3263302C302E342C30 - 2C312E362C302C3263302C312E312C322E372C322C362C3273362D302E392C36 - 2D3263302D302E342C302D312E362C302D324334342C33332E312C34312E332C - 33342C33382C3334207A222F3E0D0A20202020202020203C7061746820643D22 - 4D33382C3337632D332E332C302D362D302E392D362D3263302C302E342C302C - 312E362C302C3263302C312E312C322E372C322C362C3273362D302E392C362D - 3263302D302E342C302D312E362C302D324334342C33362E312C34312E332C33 - 372C33382C3337207A222F3E0D0A20202020202020203C7061746820643D224D - 33382C3430632D332E332C302D362D302E392D362D3263302C302E342C302C31 - 2E362C302C3263302C312E312C322E372C322C362C3273362D302E392C362D32 - 63302D302E342C302D312E362C302D324334342C33392E312C34312E332C3430 - 2C33382C3430207A222F3E0D0A202020203C2F673E0D0A202020203C67206669 - 6C6C3D2223464643313037223E0D0A20202020202020203C656C6C6970736520 - 63783D223338222063793D2238222072783D2236222072793D2232222F3E0D0A - 20202020202020203C7061746820643D224D33382C3132632D322E382C302D35 - 2E312D302E362D352E382D312E354333322E312C31302E372C33322C31302E38 - 2C33322C313163302C312E312C322E372C322C362C3273362D302E392C362D32 - 63302D302E322D302E312D302E332D302E322D302E35204334332E312C31312E - 342C34302E382C31322C33382C31327A222F3E0D0A20202020202020203C7061 - 746820643D224D33382C3135632D322E382C302D352E312D302E362D352E382D - 312E354333322E312C31332E372C33322C31332E382C33322C313463302C312E - 312C322E372C322C362C3273362D302E392C362D3263302D302E322D302E312D - 302E332D302E322D302E35204334332E312C31342E342C34302E382C31352C33 - 382C31357A222F3E0D0A20202020202020203C7061746820643D224D33382C31 - 38632D322E382C302D352E312D302E362D352E382D312E354333322E312C3136 - 2E372C33322C31362E382C33322C313763302C312E312C322E372C322C362C32 - 73362D302E392C362D3263302D302E322D302E312D302E332D302E322D302E35 - 204334332E312C31372E342C34302E382C31382C33382C31387A222F3E0D0A20 - 202020202020203C7061746820643D224D33382C3231632D322E382C302D352E - 312D302E362D352E382D312E354333322E312C31392E372C33322C31392E382C - 33322C323063302C312E312C322E372C322C362C3273362D302E392C362D3263 - 302D302E322D302E312D302E332D302E322D302E35204334332E312C32302E34 - 2C34302E382C32312C33382C32317A222F3E0D0A20202020202020203C706174 - 6820643D224D33382C3234632D322E382C302D352E312D302E362D352E382D31 - 2E354333322E312C32322E372C33322C32322E382C33322C323363302C312E31 - 2C322E372C322C362C3273362D302E392C362D3263302D302E322D302E312D30 - 2E332D302E322D302E35204334332E312C32332E342C34302E382C32342C3338 - 2C32347A222F3E0D0A20202020202020203C7061746820643D224D33382C3237 - 632D322E382C302D352E312D302E362D352E382D312E354333322E312C32352E - 372C33322C32352E382C33322C323663302C312E312C322E372C322C362C3273 - 362D302E392C362D3263302D302E322D302E312D302E332D302E322D302E3520 - 4334332E312C32362E342C34302E382C32372C33382C32377A222F3E0D0A2020 - 2020202020203C7061746820643D224D33382C3330632D322E382C302D352E31 - 2D302E362D352E382D312E354333322E312C32382E372C33322C32382E382C33 - 322C323963302C312E312C322E372C322C362C3273362D302E392C362D326330 - 2D302E322D302E312D302E332D302E322D302E35204334332E312C32392E342C - 34302E382C33302C33382C33307A222F3E0D0A20202020202020203C70617468 - 20643D224D33382C3333632D322E382C302D352E312D302E362D352E382D312E - 354333322E312C33312E372C33322C33312E382C33322C333263302C312E312C - 322E372C322C362C3273362D302E392C362D3263302D302E322D302E312D302E - 332D302E322D302E35204334332E312C33322E342C34302E382C33332C33382C - 33337A222F3E0D0A20202020202020203C7061746820643D224D33382C333663 - 2D322E382C302D352E312D302E362D352E382D312E354333322E312C33342E37 - 2C33322C33342E382C33322C333563302C312E312C322E372C322C362C327336 - 2D302E392C362D3263302D302E322D302E312D302E332D302E322D302E352043 - 34332E312C33352E342C34302E382C33362C33382C33367A222F3E0D0A202020 - 20202020203C7061746820643D224D33382C3339632D322E382C302D352E312D - 302E362D352E382D312E354333322E312C33372E372C33322C33372E382C3332 - 2C333863302C312E312C322E372C322C362C3273362D302E392C362D3263302D - 302E322D302E312D302E332D302E322D302E35204334332E312C33382E342C34 - 302E382C33392C33382C33397A222F3E0D0A202020203C2F673E0D0A20202020 - 3C672066696C6C3D2223464641303030223E0D0A20202020202020203C706174 - 6820643D224D31302C3139632D332E332C302D362D302E392D362D3263302C30 - 2E342C302C312E362C302C3263302C312E312C322E372C322C362C3273362D30 - 2E392C362D3263302D302E342C302D312E362C302D324331362C31382E312C31 - 332E332C31392C31302C3139207A222F3E0D0A20202020202020203C70617468 - 20643D224D31302C3136632D332E332C302D362D302E392D362D3263302C302E - 342C302C312E362C302C3263302C312E312C322E372C322C362C3273362D302E - 392C362D3263302D302E342C302D312E362C302D324331362C31352E312C3133 - 2E332C31362C31302C3136207A222F3E0D0A20202020202020203C7061746820 - 643D224D31302C3232632D332E332C302D362D302E392D362D3263302C302E34 - 2C302C312E362C302C3263302C312E312C322E372C322C362C3273362D302E39 - 2C362D3263302D302E342C302D312E362C302D324331362C32312E312C31332E - 332C32322C31302C3232207A222F3E0D0A20202020202020203C706174682064 - 3D224D31302C3235632D332E332C302D362D302E392D362D3263302C302E342C - 302C312E362C302C3263302C312E312C322E372C322C362C3273362D302E392C - 362D3263302D302E342C302D312E362C302D324331362C32342E312C31332E33 - 2C32352C31302C3235207A222F3E0D0A20202020202020203C7061746820643D - 224D31302C3238632D332E332C302D362D302E392D362D3263302C302E342C30 - 2C312E362C302C3263302C312E312C322E372C322C362C3273362D302E392C36 - 2D3263302D302E342C302D312E362C302D324331362C32372E312C31332E332C - 32382C31302C3238207A222F3E0D0A20202020202020203C7061746820643D22 - 4D31302C3331632D332E332C302D362D302E392D362D3263302C302E342C302C - 312E362C302C3263302C312E312C322E372C322C362C3273362D302E392C362D - 3263302D302E342C302D312E362C302D324331362C33302E312C31332E332C33 - 312C31302C3331207A222F3E0D0A20202020202020203C7061746820643D224D - 31302C3334632D332E332C302D362D302E392D362D3263302C302E342C302C31 - 2E362C302C3263302C312E312C322E372C322C362C3273362D302E392C362D32 - 63302D302E342C302D312E362C302D324331362C33332E312C31332E332C3334 - 2C31302C3334207A222F3E0D0A20202020202020203C7061746820643D224D31 - 302C3337632D332E332C302D362D302E392D362D3263302C302E342C302C312E - 362C302C3263302C312E312C322E372C322C362C3273362D302E392C362D3263 - 302D302E342C302D312E362C302D324331362C33362E312C31332E332C33372C - 31302C3337207A222F3E0D0A20202020202020203C7061746820643D224D3130 - 2C3430632D332E332C302D362D302E392D362D3263302C302E342C302C312E36 - 2C302C3263302C312E312C322E372C322C362C3273362D302E392C362D326330 - 2D302E342C302D312E362C302D324331362C33392E312C31332E332C34302C31 - 302C3430207A222F3E0D0A202020203C2F673E0D0A202020203C672066696C6C - 3D2223464643313037223E0D0A20202020202020203C656C6C69707365206378 - 3D223130222063793D223134222072783D2236222072793D2232222F3E0D0A20 - 202020202020203C7061746820643D224D31302C3138632D322E382C302D352E - 312D302E362D352E382D312E3543342E312C31362E372C342C31362E382C342C - 313763302C312E312C322E372C322C362C3273362D302E392C362D3263302D30 - 2E322D302E312D302E332D302E322D302E35204331352E312C31372E342C3132 - 2E382C31382C31302C31387A222F3E0D0A20202020202020203C706174682064 - 3D224D31302C3231632D322E382C302D352E312D302E362D352E382D312E3543 - 342E312C31392E372C342C31392E382C342C323063302C312E312C322E372C32 - 2C362C3273362D302E392C362D3263302D302E322D302E312D302E332D302E32 - 2D302E35204331352E312C32302E342C31322E382C32312C31302C32317A222F - 3E0D0A20202020202020203C7061746820643D224D31302C3234632D322E382C - 302D352E312D302E362D352E382D312E3543342E312C32322E372C342C32322E - 382C342C323363302C312E312C322E372C322C362C3273362D302E392C362D32 - 63302D302E322D302E312D302E332D302E322D302E35204331352E312C32332E - 342C31322E382C32342C31302C32347A222F3E0D0A20202020202020203C7061 - 746820643D224D31302C3237632D322E382C302D352E312D302E362D352E382D - 312E3543342E312C32352E372C342C32352E382C342C323663302C312E312C32 - 2E372C322C362C3273362D302E392C362D3263302D302E322D302E312D302E33 - 2D302E322D302E35204331352E312C32362E342C31322E382C32372C31302C32 - 377A222F3E0D0A20202020202020203C7061746820643D224D31302C3330632D - 322E382C302D352E312D302E362D352E382D312E3543342E312C32382E372C34 - 2C32382E382C342C323963302C312E312C322E372C322C362C3273362D302E39 - 2C362D3263302D302E322D302E312D302E332D302E322D302E35204331352E31 - 2C32392E342C31322E382C33302C31302C33307A222F3E0D0A20202020202020 - 203C7061746820643D224D31302C3333632D322E382C302D352E312D302E362D - 352E382D312E3543342E312C33312E372C342C33312E382C342C333263302C31 - 2E312C322E372C322C362C3273362D302E392C362D3263302D302E322D302E31 - 2D302E332D302E322D302E35204331352E312C33322E342C31322E382C33332C - 31302C33337A222F3E0D0A20202020202020203C7061746820643D224D31302C - 3336632D322E382C302D352E312D302E362D352E382D312E3543342E312C3334 - 2E372C342C33342E382C342C333563302C312E312C322E372C322C362C327336 - 2D302E392C362D3263302D302E322D302E312D302E332D302E322D302E352043 - 31352E312C33352E342C31322E382C33362C31302C33367A222F3E0D0A202020 - 20202020203C7061746820643D224D31302C3339632D322E382C302D352E312D - 302E362D352E382D312E3543342E312C33372E372C342C33372E382C342C3338 - 63302C312E312C322E372C322C362C3273362D302E392C362D3263302D302E32 - 2D302E312D302E332D302E322D302E35204331352E312C33382E342C31322E38 - 2C33392C31302C33397A222F3E0D0A202020203C2F673E0D0A202020203C6720 - 66696C6C3D2223464641303030223E0D0A20202020202020203C706174682064 - 3D224D32342C3238632D332E332C302D362D302E392D362D3263302C302E342C - 302C312E362C302C3263302C312E312C322E372C322C362C3273362D302E392C - 362D3263302D302E342C302D312E362C302D324333302C32372E312C32372E33 - 2C32382C32342C3238207A222F3E0D0A20202020202020203C7061746820643D - 224D32342C3235632D332E332C302D362D302E392D362D3263302C302E342C30 - 2C312E362C302C3263302C312E312C322E372C322C362C3273362D302E392C36 - 2D3263302D302E342C302D312E362C302D324333302C32342E312C32372E332C - 32352C32342C3235207A222F3E0D0A20202020202020203C7061746820643D22 - 4D32342C3331632D332E332C302D362D302E392D362D3263302C302E342C302C - 312E362C302C3263302C312E312C322E372C322C362C3273362D302E392C362D - 3263302D302E342C302D312E362C302D324333302C33302E312C32372E332C33 - 312C32342C3331207A222F3E0D0A20202020202020203C7061746820643D224D - 32342C3334632D332E332C302D362D302E392D362D3263302C302E342C302C31 - 2E362C302C3263302C312E312C322E372C322C362C3273362D302E392C362D32 - 63302D302E342C302D312E362C302D324333302C33332E312C32372E332C3334 - 2C32342C3334207A222F3E0D0A20202020202020203C7061746820643D224D32 - 342C3337632D332E332C302D362D302E392D362D3263302C302E342C302C312E - 362C302C3263302C312E312C322E372C322C362C3273362D302E392C362D3263 - 302D302E342C302D312E362C302D324333302C33362E312C32372E332C33372C - 32342C3337207A222F3E0D0A20202020202020203C7061746820643D224D3234 - 2C3430632D332E332C302D362D302E392D362D3263302C302E342C302C312E36 - 2C302C3263302C312E312C322E372C322C362C3273362D302E392C362D326330 - 2D302E342C302D312E362C302D324333302C33392E312C32372E332C34302C32 - 342C3430207A222F3E0D0A202020203C2F673E0D0A202020203C672066696C6C - 3D2223464643313037223E0D0A20202020202020203C656C6C69707365206378 - 3D223234222063793D223233222072783D2236222072793D2232222F3E0D0A20 - 202020202020203C7061746820643D224D32342C3237632D322E382C302D352E - 312D302E362D352E382D312E354331382E312C32352E372C31382C32352E382C - 31382C323663302C312E312C322E372C322C362C3273362D302E392C362D3263 - 302D302E322D302E312D302E332D302E322D302E35204332392E312C32362E34 - 2C32362E382C32372C32342C32377A222F3E0D0A20202020202020203C706174 - 6820643D224D32342C3330632D322E382C302D352E312D302E362D352E382D31 - 2E354331382E312C32382E372C31382C32382E382C31382C323963302C312E31 - 2C322E372C322C362C3273362D302E392C362D3263302D302E322D302E312D30 - 2E332D302E322D302E35204332392E312C32392E342C32362E382C33302C3234 - 2C33307A222F3E0D0A20202020202020203C7061746820643D224D32342C3333 - 632D322E382C302D352E312D302E362D352E382D312E354331382E312C33312E - 372C31382C33312E382C31382C333263302C312E312C322E372C322C362C3273 - 362D302E392C362D3263302D302E322D302E312D302E332D302E322D302E3520 - 4332392E312C33322E342C32362E382C33332C32342C33337A222F3E0D0A2020 - 2020202020203C7061746820643D224D32342C3336632D322E382C302D352E31 - 2D302E362D352E382D312E354331382E312C33342E372C31382C33342E382C31 - 382C333563302C312E312C322E372C322C362C3273362D302E392C362D326330 - 2D302E322D302E312D302E332D302E322D302E35204332392E312C33352E342C - 32362E382C33362C32342C33367A222F3E0D0A20202020202020203C70617468 - 20643D224D32342C3339632D322E382C302D352E312D302E362D352E382D312E - 354331382E312C33372E372C31382C33372E382C31382C333863302C312E312C - 322E372C322C362C3273362D302E392C362D3263302D302E322D302E312D302E - 332D302E322D302E35204332392E312C33382E342C32362E382C33392C32342C - 33397A222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0C0000007300 - 6300610074007400650072005F0070006C006F0074004D0200003C7376672076 - 657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E - 6F72672F323030302F737667222076696577426F783D22302030203438203438 - 2220656E61626C652D6261636B67726F756E643D226E65772030203020343820 - 3438223E0D0A202020203C706F6C79676F6E2066696C6C3D2223434644384443 - 2220706F696E74733D22392C333920392C3620372C3620372C34312034322C34 - 312034322C3339222F3E0D0A202020203C672066696C6C3D2223303042434434 - 223E0D0A20202020202020203C636972636C652063783D223339222063793D22 - 31312220723D2233222F3E0D0A20202020202020203C636972636C652063783D - 223331222063793D2231332220723D2233222F3E0D0A20202020202020203C63 - 6972636C652063783D223337222063793D2231392220723D2233222F3E0D0A20 - 202020202020203C636972636C652063783D223334222063793D223236222072 - 3D2233222F3E0D0A20202020202020203C636972636C652063783D2232382220 - 63793D2232302220723D2233222F3E0D0A20202020202020203C636972636C65 - 2063783D223236222063793D2232382220723D2233222F3E0D0A202020202020 - 20203C636972636C652063783D223230222063793D2232332220723D2233222F - 3E0D0A20202020202020203C636972636C652063783D223231222063793D2233 - 332220723D2233222F3E0D0A20202020202020203C636972636C652063783D22 - 3134222063793D2233302220723D2233222F3E0D0A202020203C2F673E0D0A3C - 2F7376673E0D0A06000000730065006100720063006800DA0200003C73766720 - 76657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E7733 - 2E6F72672F323030302F737667222076696577426F783D223020302034382034 - 382220656E61626C652D6261636B67726F756E643D226E657720302030203438 - 203438223E0D0A202020203C672066696C6C3D2223363136313631223E0D0A20 - 202020202020203C7265637420783D2233342E362220793D2232382E31222074 - 72616E73666F726D3D226D6174726978282E373037202D2E373037202E373037 - 202E373037202D31352E3135342033362E35383629222077696474683D223422 - 206865696768743D223137222F3E0D0A20202020202020203C636972636C6520 - 63783D223230222063793D2232302220723D223136222F3E0D0A202020203C2F - 673E0D0A202020203C7265637420783D2233362E322220793D2233322E312220 - 7472616E73666F726D3D226D6174726978282E373037202D2E373037202E3730 - 37202E373037202D31352E3833392033382E32333929222066696C6C3D222333 - 3734373446222077696474683D223422206865696768743D2231322E33222F3E - 0D0A202020203C636972636C652066696C6C3D2223363442354636222063783D - 223230222063793D2232302220723D223133222F3E0D0A202020203C70617468 - 2066696C6C3D22234242444546422220643D224D32362E392C31342E32632D31 - 2E372D322D342E322D332E322D362E392D332E32732D352E322C312E322D362E - 392C332E32632D302E342C302E342D302E332C312E312C302E312C312E346330 - 2E342C302E342C312E312C302E332C312E342D302E31204331362C31332E392C - 31372E392C31332C32302C313373342C302E392C352E342C322E3563302E322C - 302E322C302E352C302E342C302E382C302E3463302E322C302C302E352D302E - 312C302E362D302E324332372E322C31352E332C32372E322C31342E362C3236 - 2E392C31342E327A222F3E0D0A3C2F7376673E0D0A12000000730065006C0066 - 005F0073006500720076006900630065005F006B0069006F0073006B00600200 - 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F - 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 - 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 - 302030203438203438223E0D0A202020203C706174682066696C6C3D22233534 - 364537412220643D224D34342C3330483456313163302D322E322C312E382D34 - 2C342D3468333263322E322C302C342C312E382C342C345633307A222F3E0D0A - 202020203C706174682066696C6C3D22233634423546362220643D224D34302C - 32374838632D302E362C302D312D302E342D312D3156313163302D302E362C30 - 2E342D312C312D3168333263302E362C302C312C302E342C312C317631354334 - 312C32362E362C34302E362C32372C34302C32377A222F3E0D0A202020203C70 - 6174682066696C6C3D22233738393039432220643D224D34302C34314838632D - 322E322C302D342D312E382D342D34762D3768343076374334342C33392E322C - 34322E322C34312C34302C34317A222F3E0D0A202020203C672066696C6C3D22 - 23333734373446223E0D0A20202020202020203C7265637420783D2232372220 - 793D223334222077696474683D22313222206865696768743D2232222F3E0D0A - 20202020202020203C7265637420783D22392220793D22333422207769647468 - 3D22313222206865696768743D2232222F3E0D0A20202020202020203C706174 - 6820643D224D31382C333563302C312E312D312E332C322D332C32732D332D30 - 2E392D332D324831387A222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D - 0A06000000730065006C00660069006500E90400003C7376672076657273696F - 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 - 3030302F737667222076696577426F783D223020302034382034382220656E61 - 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D - 0A202020203C706174682066696C6C3D22234646423734442220643D224D3332 - 2E392C323263302D302E332C302E312D302E372C302E312D3163302D312E312C - 302D352E392C302D3763302D372E362D31382D352D31382C3063302C312E312C - 302C352E392C302C3763302C302E332C302C302E372C302E312C314833322E39 - 7A222F3E0D0A202020203C706174682066696C6C3D2223333734373446222064 - 3D224D34302C34344838632D322E322C302D342D312E382D342D345632366330 - 2D322E322C312E382D342C342D3468333263322E322C302C342C312E382C342C - 347631344334342C34322E322C34322E322C34342C34302C34347A222F3E0D0A - 202020203C706174682066696C6C3D22234242444546422220643D224D372C32 - 3676313463302C302E362C302E342C312C312C3168323963302E362C302C312D - 302E342C312D3156323663302D302E362D302E342D312D312D31483843372E34 - 2C32352C372C32352E342C372C32367A222F3E0D0A202020203C726563742078 - 3D2234302220793D223330222066696C6C3D2223373839303943222077696474 - 683D223222206865696768743D2236222F3E0D0A202020203C7265637420783D - 2231392220793D223332222066696C6C3D222342463336304322207769647468 - 3D223822206865696768743D2239222F3E0D0A202020203C7265637420783D22 - 32302E352220793D2233372E35222066696C6C3D222346463938303022207769 - 6474683D223522206865696768743D22332E35222F3E0D0A202020203C706174 - 682066696C6C3D22234646423734442220643D224D32372E352C333263302D33 - 2E382D392D322E352D392C3063302C302E352C302C332C302C332E3563302C32 - 2E352C322C342E352C342E352C342E3573342E352D322C342E352D342E354332 - 372E352C33352C32372E352C33322E352C32372E352C33327A222F3E0D0A2020 - 20203C672066696C6C3D2223373834373139223E0D0A20202020202020203C63 - 6972636C652063783D223238222063793D2232312220723D2231222F3E0D0A20 - 202020202020203C636972636C652063783D223230222063793D223231222072 - 3D2231222F3E0D0A20202020202020203C636972636C652063783D2232352220 - 63793D2233352E352220723D222E35222F3E0D0A20202020202020203C636972 - 636C652063783D223231222063793D2233352E352220723D222E35222F3E0D0A - 202020203C2F673E0D0A202020203C672066696C6C3D2223464635373232223E - 0D0A20202020202020203C7061746820643D224D32332C3237632D332C302D38 - 2C312E332D382C31316C342C33762D362E356C362D332E356C322C322E355634 - 316C342D3363302D322D302E382D31302D362D31306C2D302E352D314832337A - 222F3E0D0A20202020202020203C7061746820643D224D31362C3232762D336C - 31322D376C342C35763568362E384333382E332C31352E382C33362E312C362C - 32382C366C2D312D32682D334331382E352C342C31302E372C362E382C392E32 - 2C32324831367A222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0C00 - 0000730065007200690061006C005F007400610073006B007300F40100003C73 - 76672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F777777 - 2E77332E6F72672F323030302F737667222076696577426F783D223020302034 - 382034382220656E61626C652D6261636B67726F756E643D226E657720302030 - 203438203438223E0D0A202020203C706174682066696C6C3D22233930434146 - 392220643D224D33332C39483131763468323263312E312C302C322C302E392C - 322C3276323048323376346831365631354333392C31312E372C33362E332C39 - 2C33332C397A222F3E0D0A202020203C7265637420783D22362220793D223622 - 2066696C6C3D2223443831423630222077696474683D22313022206865696768 - 743D223130222F3E0D0A202020203C672066696C6C3D2223323139364633223E - 0D0A20202020202020203C7265637420783D2233322220793D22313722207769 - 6474683D22313022206865696768743D223130222F3E0D0A2020202020202020 - 3C7265637420783D2231362220793D223332222077696474683D223130222068 - 65696768743D223130222F3E0D0A20202020202020203C636972636C65206378 - 3D223236222063793D2231312220723D2235222F3E0D0A20202020202020203C - 636972636C652063783D223337222063793D2233372220723D2235222F3E0D0A - 202020203C2F673E0D0A3C2F7376673E0D0A0C00000073006500720076006900 - 630065005F006D00610072006B00520200003C7376672076657273696F6E3D22 - 312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32303030 - 2F737667222076696577426F783D223020302034382034382220656E61626C65 - 2D6261636B67726F756E643D226E657720302030203438203438223E0D0A2020 - 20203C636972636C652066696C6C3D2223394332374230222063783D22323422 - 2063793D2232342220723D223231222F3E0D0A202020203C672066696C6C3D22 - 23453142454537223E0D0A20202020202020203C7061746820643D224D31362E - 372C32382E3263302D332E382D372E332D322E322D372E332D382E3163302D30 - 2E372C302E342D342E382C352E352D342E3863352E312C302C352E342C342E35 - 2C352E342C352E33682D332E3563302D302E342C302D322E352D322D322E3520 - 632D312E382C302D312E392C312E372D312E392C3263302C332C372E342C322C - 372E342C382E3163302C322D312E312C342E382D352E332C342E384331302E33 - 2C33332C392C32392E362C392C32372E3368332E3563302C302E352D302E322C - 322E382C322E352C322E38204331362E382C33302E322C31362E372C32382E35 - 2C31362E372C32382E327A222F3E0D0A20202020202020203C7061746820643D - 224D32372E312C31352E364C33302E332C32386C332E322D31322E3468342E35 - 7631372E32682D332E35762D342E366C302E332D372E326C2D332E342C31312E - 38682D322E346C2D332E342D31312E386C302E332C372E3276342E36682D332E - 355631352E36204832372E317A222F3E0D0A202020203C2F673E0D0A3C2F7376 - 673E0D0A0800000073006500720076006900630065007300160600003C737667 - 2076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77 - 332E6F72672F323030302F737667222076696577426F783D2230203020343820 - 34382220656E61626C652D6261636B67726F756E643D226E6577203020302034 - 38203438223E0D0A202020203C706174682066696C6C3D222345363531303022 - 20643D224D32352E362C33342E3463302E312D302E342C302E312D302E392C30 - 2E312D312E3473302D302E392D302E312D312E346C322E382D3263302E332D30 - 2E322C302E342D302E362C302E322D302E396C2D322E372D342E3620632D302E - 322D302E332D302E352D302E342D302E382D302E334C32322C32352E33632D30 - 2E372D302E362D312E352D312D322E342D312E346C2D302E332D332E3463302D - 302E332D302E332D302E362D302E362D302E36682D352E33632D302E332C302D - 302E362C302E332D302E362C302E364C31322E342C323420632D302E392C302E - 332D312E362C302E382D322E342C312E346C2D332E312D312E34632D302E332D - 302E312D302E372C302D302E382C302E336C2D322E372C342E36632D302E322C - 302E332D302E312C302E372C302E322C302E396C322E382C32632D302E312C30 - 2E342D302E312C302E392D302E312C312E342073302C302E392C302E312C312E - 346C2D322E382C32632D302E332C302E322D302E342C302E362D302E322C302E - 396C322E372C342E3663302E322C302E332C302E352C302E342C302E382C302E - 336C332E312D312E3463302E372C302E362C312E352C312C322E342C312E346C - 302E332C332E342063302C302E332C302E332C302E362C302E362C302E366835 - 2E3363302E332C302C302E362D302E332C302E362D302E366C302E332D332E34 - 63302E392D302E332C312E362D302E382C322E342D312E346C332E312C312E34 - 63302E332C302E312C302E372C302C302E382D302E336C322E372D342E362063 - 302E322D302E332C302E312D302E372D302E322D302E394C32352E362C33342E - 347A204D31362C3338632D322E382C302D352D322E322D352D3563302D322E38 - 2C322E322D352C352D3563322E382C302C352C322E322C352C354332312C3335 - 2E382C31382E382C33382C31362C33387A222F3E0D0A202020203C7061746820 - 66696C6C3D22234646413030302220643D224D34312E392C31352E334334322C - 31342E382C34322C31342E342C34322C313473302D302E382D302E312D312E33 - 6C322E352D312E3863302E332D302E322C302E332D302E352C302E322D302E38 - 6C2D322E352D342E3320632D302E322D302E332D302E352D302E342D302E382D - 302E326C2D322E392C312E33632D302E372D302E352D312E342D302E392D322E - 322D312E336C2D302E332D332E314333362C322E322C33352E382C322C33352E - 352C32682D342E39632D302E332C302D302E362C302E322D302E362C302E356C - 2D302E332C332E3120632D302E382C302E332D312E352C302E372D322E322C31 - 2E336C2D322E392D312E33632D302E332D302E312D302E362C302D302E382C30 - 2E326C2D322E352C342E33632D302E322C302E332D302E312C302E362C302E32 - 2C302E386C322E352C312E384332342C31332E322C32342C31332E362C32342C - 31342073302C302E382C302E312C312E336C2D322E352C312E38632D302E332C - 302E322D302E332C302E352D302E322C302E386C322E352C342E3363302E322C - 302E332C302E352C302E342C302E382C302E326C322E392D312E3363302E372C - 302E352C312E342C302E392C322E322C312E336C302E332C332E312063302C30 - 2E332C302E332C302E352C302E362C302E3568342E3963302E332C302C302E36 - 2D302E322C302E362D302E356C302E332D332E3163302E382D302E332C312E35 - 2D302E372C322E322D312E336C322E392C312E3363302E332C302E312C302E36 - 2C302C302E382D302E326C322E352D342E332063302E322D302E332C302E312D - 302E362D302E322D302E384C34312E392C31352E337A204D33332C3139632D32 - 2E382C302D352D322E322D352D3563302D322E382C322E322D352C352D356332 - 2E382C302C352C322E322C352C354333382C31362E382C33352E382C31392C33 - 332C31397A222F3E0D0A3C2F7376673E0D0A0800000073006500740074006900 - 6E0067007300050400003C7376672076657273696F6E3D22312220786D6C6E73 - 3D22687474703A2F2F7777772E77332E6F72672F323030302F73766722207669 - 6577426F783D223020302034382034382220656E61626C652D6261636B67726F - 756E643D226E657720302030203438203438223E0D0A202020203C7061746820 - 66696C6C3D22233630374438422220643D224D33392E362C32372E3263302E31 - 2D302E372C302E322D312E342C302E322D322E32732D302E312D312E352D302E - 322D322E326C342E352D332E3263302E342D302E332C302E362D302E392C302E - 332D312E344C34302C31302E3820632D302E332D302E352D302E382D302E372D - 312E332D302E346C2D352C322E33632D312E322D302E392D322E342D312E362D - 332E382D322E326C2D302E352D352E35632D302E312D302E352D302E352D302E - 392D312D302E39682D382E36632D302E352C302D312C302E342D312C302E396C - 2D302E352C352E3520632D312E342C302E362D322E372C312E332D332E382C32 - 2E326C2D352D322E33632D302E352D302E322D312E312C302D312E332C302E34 - 6C2D342E332C372E34632D302E332C302E352D302E312C312E312C302E332C31 - 2E346C342E352C332E32632D302E312C302E372D302E322C312E342D302E322C - 322E322073302E312C312E352C302E322C322E324C342C33302E34632D302E34 - 2C302E332D302E362C302E392D302E332C312E344C382C33392E3263302E332C - 302E352C302E382C302E372C312E332C302E346C352D322E3363312E322C302E - 392C322E342C312E362C332E382C322E326C302E352C352E352063302E312C30 - 2E352C302E352C302E392C312C302E3968382E3663302E352C302C312D302E34 - 2C312D302E396C302E352D352E3563312E342D302E362C322E372D312E332C33 - 2E382D322E326C352C322E3363302E352C302E322C312E312C302C312E332D30 - 2E346C342E332D372E342063302E332D302E352C302E312D312E312D302E332D - 312E344C33392E362C32372E327A204D32342C3335632D352E352C302D31302D - 342E352D31302D313063302D352E352C342E352D31302C31302D313063352E35 - 2C302C31302C342E352C31302C31304333342C33302E352C32392E352C33352C - 32342C33357A222F3E0D0A202020203C706174682066696C6C3D222334353541 - 36342220643D224D32342C3133632D362E362C302D31322C352E342D31322C31 - 3263302C362E362C352E342C31322C31322C31327331322D352E342C31322D31 - 324333362C31382E342C33302E362C31332C32342C31337A204D32342C333020 - 632D322E382C302D352D322E322D352D3563302D322E382C322E322D352C352D - 3573352C322E322C352C354332392C32372E382C32362E382C33302C32342C33 - 307A222F3E0D0A3C2F7376673E0D0A0500000073006800610072006500FE0100 - 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F - 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 - 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 - 302030203438203438223E0D0A202020203C706174682066696C6C3D22233139 - 373644322220643D224D33382E312C33312E324C31392E342C32346C31382E37 - 2D372E3263312E352D302E362C322E332D322E332C312E372D332E39632D302E - 362D312E352D322E332D322E332D332E392D312E376C2D32362C313043382E38 - 2C32312E362C382C32322E382C382C32342073302E382C322E342C312E392C32 - 2E386C32362C313063302E342C302E312C302E372C302E322C312E312C302E32 - 63312E322C302C322E332D302E372C322E382D312E394334302E342C33332E35 - 2C33392E362C33312E382C33382E312C33312E327A222F3E0D0A202020203C67 - 2066696C6C3D2223314538384535223E0D0A20202020202020203C636972636C - 652063783D223131222063793D2232342220723D2237222F3E0D0A2020202020 - 2020203C636972636C652063783D223337222063793D2231342220723D223722 - 2F3E0D0A20202020202020203C636972636C652063783D223337222063793D22 - 33342220723D2237222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A07 - 0000007300680069007000700065006400240300003C7376672076657273696F - 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 - 3030302F737667222076696577426F783D223020302034382034382220656E61 - 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D - 0A202020203C706174682066696C6C3D22233842433334412220643D224D3433 - 2C33364832395631346831302E3663302E392C302C312E362C302E362C312E39 - 2C312E344C34352C323676384334352C33352E312C34342E312C33362C34332C - 33367A222F3E0D0A202020203C706174682066696C6C3D222333383845334322 - 20643D224D32392C33364835632D312E312C302D322D302E392D322D32563963 - 302D312E312C302E392D322C322D3268323263312E312C302C322C302E392C32 - 2C325633367A222F3E0D0A202020203C672066696C6C3D222333373437344622 - 3E0D0A20202020202020203C636972636C652063783D223337222063793D2233 - 362220723D2235222F3E0D0A20202020202020203C636972636C652063783D22 - 3133222063793D2233362220723D2235222F3E0D0A202020203C2F673E0D0A20 - 2020203C672066696C6C3D2223373839303943223E0D0A20202020202020203C - 636972636C652063783D223337222063793D2233362220723D2232222F3E0D0A - 20202020202020203C636972636C652063783D223133222063793D2233362220 - 723D2232222F3E0D0A202020203C2F673E0D0A202020203C706174682066696C - 6C3D22233337343734462220643D224D34312C3235682D37632D302E362C302D - 312D302E342D312D31762D3763302D302E362C302E342D312C312D3168352E33 - 63302E342C302C302E382C302E332C302E392C302E376C312E372C352E326330 - 2C302E312C302E312C302E322C302E312C302E33563234204334322C32342E36 - 2C34312E362C32352C34312C32357A222F3E0D0A202020203C706F6C79676F6E - 2066696C6C3D22234443454443382220706F696E74733D2232312E382C31332E - 382031332E392C32312E372031302E322C31372E3920382C32302E312031332E - 392C32362032342C31352E39222F3E0D0A3C2F7376673E0D0A04000000730068 - 006F007000DF0500003C7376672076657273696F6E3D22312220786D6C6E733D - 22687474703A2F2F7777772E77332E6F72672F323030302F7376672220766965 - 77426F783D223020302034382034382220656E61626C652D6261636B67726F75 - 6E643D226E657720302030203438203438223E0D0A202020203C726563742078 - 3D22352220793D223139222066696C6C3D222343464438444322207769647468 - 3D22333822206865696768743D223139222F3E0D0A202020203C726563742078 - 3D22352220793D223338222066696C6C3D222342304245433522207769647468 - 3D22333822206865696768743D2234222F3E0D0A202020203C7265637420783D - 2232372220793D223234222066696C6C3D222334353541363422207769647468 - 3D22313222206865696768743D223138222F3E0D0A202020203C726563742078 - 3D22392220793D223234222066696C6C3D222345334632464422207769647468 - 3D22313422206865696768743D223131222F3E0D0A202020203C726563742078 - 3D2231302220793D223235222066696C6C3D2223314538384535222077696474 - 683D22313222206865696768743D2239222F3E0D0A202020203C706174682066 - 696C6C3D22233930413441452220643D224D33362E352C33332E35632D302E33 - 2C302D302E352C302E322D302E352C302E35763263302C302E332C302E322C30 - 2E352C302E352C302E355333372C33362E332C33372C3336762D324333372C33 - 332E372C33362E382C33332E352C33362E352C33332E357A222F3E0D0A202020 - 203C672066696C6C3D2223353538423246223E0D0A20202020202020203C6369 - 72636C652063783D223234222063793D2231392220723D2233222F3E0D0A2020 - 2020202020203C636972636C652063783D223336222063793D2231392220723D - 2233222F3E0D0A20202020202020203C636972636C652063783D223132222063 - 793D2231392220723D2233222F3E0D0A202020203C2F673E0D0A202020203C70 - 6174682066696C6C3D22233743423334322220643D224D34302C36483843362E - 392C362C362C362E392C362C38763368333656384334322C362E392C34312E31 - 2C362C34302C367A222F3E0D0A202020203C7265637420783D2232312220793D - 223131222066696C6C3D2223374342333432222077696474683D223622206865 - 696768743D2238222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223 - 3743423334322220706F696E74733D2233372C31312033322C31312033332C31 - 392033392C3139222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223 - 3743423334322220706F696E74733D2231312C31312031362C31312031352C31 - 3920392C3139222F3E0D0A202020203C672066696C6C3D222346464130303022 - 3E0D0A20202020202020203C636972636C652063783D223330222063793D2231 - 392220723D2233222F3E0D0A20202020202020203C7061746820643D224D3435 - 2C313963302C312E372D312E332C332D332C33732D332D312E332D332D337331 - 2E332D332C332D334C34352C31397A222F3E0D0A20202020202020203C636972 - 636C652063783D223138222063793D2231392220723D2233222F3E0D0A202020 - 20202020203C7061746820643D224D332C313963302C312E372C312E332C332C - 332C3373332D312E332C332D33732D312E332D332D332D334C332C31397A222F - 3E0D0A202020203C2F673E0D0A202020203C672066696C6C3D22234646433130 - 37223E0D0A20202020202020203C706F6C79676F6E20706F696E74733D223332 - 2C31312032372C31312032372C31392033332C3139222F3E0D0A202020202020 - 20203C706F6C79676F6E20706F696E74733D2234322C31312033372C31312033 - 392C31392034352C3139222F3E0D0A20202020202020203C706F6C79676F6E20 - 706F696E74733D2231362C31312032312C31312032312C31392031352C313922 - 2F3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D22362C31 - 312031312C313120392C313920332C3139222F3E0D0A202020203C2F673E0D0A - 3C2F7376673E0D0A08000000730069006D005F006300610072006400F5010000 - 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 - 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 - 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 - 2030203438203438223E0D0A202020203C706174682066696C6C3D2223303039 - 3638382220643D224D33362C3435483132632D322E322C302D342D312E382D34 - 2D34563763302D322E322C312E382D342C342D346831362E3363312E312C302C - 322E312C302E342C322E382C312E326C372E372C372E3763302E382C302E382C - 312E322C312E382C312E322C322E38205634314334302C34332E322C33382E32 - 2C34352C33362C34357A222F3E0D0A202020203C706174682066696C6C3D2223 - 4646393830302220643D224D33322C3338483136632D312E312C302D322D302E - 392D322D3256323463302D312E312C302E392D322C322D3268313663312E312C - 302C322C302E392C322C327631324333342C33372E312C33332E312C33382C33 - 322C33387A222F3E0D0A202020203C706174682066696C6C3D22234646443534 - 462220643D224D32392C3330763368357632682D357633682D32563232683276 - 36683576324832397A204D31342C3239763268357632682D3576326835763368 - 32762D394831347A222F3E0D0A3C2F7376673E0D0A0D000000730069006D005F - 0063006100720064005F006300680069007000730200003C7376672076657273 - 696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F7267 - 2F323030302F737667222076696577426F783D22302030203438203438222065 - 6E61626C652D6261636B67726F756E643D226E65772030203020343820343822 - 3E0D0A202020203C706174682066696C6C3D22234646393830302220643D224D - 352C333556313363302D322E322C312E382D342C342D3468333063322E322C30 - 2C342C312E382C342C3476323263302C322E322D312E382C342D342C34483943 - 362E382C33392C352C33372E322C352C33357A222F3E0D0A202020203C672066 - 696C6C3D2223464644353446223E0D0A20202020202020203C7061746820643D - 224D34332C3231762D32483331632D312E312C302D322D302E392D322D327330 - 2E392D322C322D326831762D32682D31632D322E322C302D342C312E382D342C - 3473312E382C342C342C3468337636682D33632D322E382C302D352C322E322D - 352C352073322E322C352C352C356832762D32682D32632D312E372C302D332D - 312E332D332D3373312E332D332C332D33683132762D32682D37762D36483433 - 7A222F3E0D0A20202020202020203C7061746820643D224D31372C3237682D33 - 762D36683363322E322C302C342D312E382C342D34732D312E382D342D342D34 - 682D337632683363312E312C302C322C302E392C322C32732D302E392C322D32 - 2C324835763268377636483576326831322063312E372C302C332C312E332C33 - 2C33732D312E332C332D332C33682D327632683263322E382C302C352D322E32 - 2C352D355331392E382C32372C31372C32377A222F3E0D0A202020203C2F673E - 0D0A3C2F7376673E0D0A0D00000073006C0072005F006200610063006B005F00 - 73006900640065004E0300003C7376672076657273696F6E3D22312220786D6C - 6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376672220 - 76696577426F783D223020302034382034382220656E61626C652D6261636B67 - 726F756E643D226E657720302030203438203438223E0D0A202020203C706174 - 682066696C6C3D22233545333542312220643D224D34302C3130682D372E366C - 2D322D33632D302E342D302E362D312D302E392D312E372D302E39682D392E36 - 632D302E372C302D312E332C302E332D312E372C302E396C2D322C334838632D - 322E322C302D342C312E382D342C347632342063302C322E322C312E382C342C - 342C3468333263322E322C302C342D312E382C342D345631344334342C31312E - 382C34322E322C31302C34302C31307A222F3E0D0A202020203C706174682066 - 696C6C3D22234635374330302220643D224D31312C313668323063302E362C30 - 2C312C302E342C312C3176313663302C302E362D302E342C312D312C31483131 - 632D302E362C302D312D302E342D312D315631374331302C31362E342C31302E - 342C31362C31312C31367A222F3E0D0A202020203C706F6C79676F6E2066696C - 6C3D22233934324130392220706F696E74733D2231382E392C32322031322C33 - 322032352E382C3332222F3E0D0A202020203C636972636C652066696C6C3D22 - 23464646394334222063783D223237222063793D2232312220723D2232222F3E - 0D0A202020203C706F6C79676F6E2066696C6C3D22234246333630432220706F - 696E74733D2232352E322C32362032302E342C33322033302C3332222F3E0D0A - 202020203C672066696C6C3D2223383636374334223E0D0A2020202020202020 - 3C7061746820643D224D33342C3130683656392E324334302C382E352C33392E - 352C382C33382E382C38682D332E364333342E352C382C33342C382E352C3334 - 2C392E325631307A222F3E0D0A20202020202020203C636972636C652063783D - 223338222063793D2231382220723D2232222F3E0D0A20202020202020203C63 - 6972636C652063783D223338222063793D2232342220723D2232222F3E0D0A20 - 202020202020203C636972636C652063783D223338222063793D223330222072 - 3D2232222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A110000007300 - 6D00610072007400700068006F006E0065005F007400610062006C0065007400 - C80200003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 - 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D - 223020302034382034382220656E61626C652D6261636B67726F756E643D226E - 657720302030203438203438223E0D0A202020203C706174682066696C6C3D22 - 233337343734462220643D224D342C3339563763302D322E322C312E382D342C - 342D3468323263322E322C302C342C312E382C342C3476333263302C322E322D - 312E382C342D342C34483843352E382C34332C342C34312E322C342C33397A22 - 2F3E0D0A202020203C706174682066696C6C3D22234242444546422220643D22 - 4D33302C36483843372E342C362C372C362E342C372C3776323963302C302E36 - 2C302E342C312C312C3168323263302E362C302C312D302E342C312D31563743 - 33312C362E342C33302E362C362C33302C367A222F3E0D0A202020203C726563 - 7420783D2231352220793D223339222066696C6C3D2223373839303943222077 - 696474683D223622206865696768743D2232222F3E0D0A202020203C70617468 - 2066696C6C3D22234533383933392220643D224D32342C343156313763302D32 - 2E322C312E382D342C342D3468313263322E322C302C342C312E382C342C3476 - 323463302C322E322D312E382C342D342C344832384332352E382C34352C3234 - 2C34332E322C32342C34317A222F3E0D0A202020203C706174682066696C6C3D - 22234646463345302220643D224D34302C3136483238632D302E362C302D312C - 302E342D312C3176323263302C302E362C302E342C312C312C3168313263302E - 362C302C312D302E342C312D315631374334312C31362E342C34302E362C3136 - 2C34302C31367A222F3E0D0A202020203C636972636C652066696C6C3D222341 - 3636343241222063783D223334222063793D2234322E352220723D22312E3522 - 2F3E0D0A3C2F7376673E0D0A0300000073006D0073007D0100003C7376672076 - 657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E - 6F72672F323030302F737667222076696577426F783D22302030203438203438 - 2220656E61626C652D6261636B67726F756E643D226E65772030203020343820 - 3438223E0D0A202020203C706174682066696C6C3D2223303039363838222064 - 3D224D33372C33394831316C2D362C3656313163302D332E332C322E372D362C - 362D3668323663332E332C302C362C322E372C362C367632324334332C33362E - 332C34302E332C33392C33372C33397A222F3E0D0A202020203C672066696C6C - 3D2223666666223E0D0A20202020202020203C636972636C652063783D223234 - 222063793D2232322220723D2233222F3E0D0A20202020202020203C63697263 - 6C652063783D223334222063793D2232322220723D2233222F3E0D0A20202020 - 202020203C636972636C652063783D223134222063793D2232322220723D2233 - 222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A1900000073006F0075 - 006E0064005F007200650063006F007200640069006E0067005F0063006F0070 - 00790072006900670068007400720200003C7376672076657273696F6E3D2231 - 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F - 737667222076696577426F783D223020302034382034382220656E61626C652D - 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 - 203C636972636C652066696C6C3D2223394332374230222063783D2232342220 - 63793D2232342220723D223231222F3E0D0A202020203C706174682066696C6C - 3D22234531424545372220643D224D32302E372C32372E3276382E34682D332E - 395631322E3968382E3763312E332C302C322E352C302E322C332E352C302E35 - 63312C302E342C312E392C302E392C322E362C312E3563302E372C302E362C31 - 2E322C312E342C312E362C322E332063302E342C302E392C302E362C312E382C - 302E362C322E3963302C312E312D302E322C322E312D302E362C33632D302E34 - 2C302E392D302E392C312E362D312E362C322E32632D302E372C302E362D312E - 362C312E312D322E362C312E34632D312C302E332D322E322C302E352D332E35 - 2C302E354832302E377A204D32302E372C323468342E3763302E382C302C312E - 342D302E312C322D302E3363302E352D302E322C312D302E352C312E342D302E - 3863302E342D302E332C302E362D302E382C302E382D312E3263302E322D302E - 352C302E322D312C302E322D312E3663302D302E352D302E312D312D302E322D - 312E3520632D302E322D302E352D302E342D302E392D302E382D312E33632D30 - 2E342D302E342D302E382D302E372D312E342D302E39632D302E352D302E322D - 312E322D302E332D322D302E33682D342E375632347A222F3E0D0A3C2F737667 - 3E0D0A0700000073007000650061006B0065007200700200003C737667207665 - 7273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F - 72672F323030302F737667222076696577426F783D2230203020343820343822 - 20656E61626C652D6261636B67726F756E643D226E6577203020302034382034 - 38223E0D0A202020203C706174682066696C6C3D22233831443446412220643D - 224D32382C372E31763263372E332C312C31332C372E332C31332C31342E3973 - 2D352E372C31332E392D31332C31342E39763263382E342D312C31352D382E32 - 2C31352D31362E395333362E342C382E312C32382C372E317A222F3E0D0A2020 - 20203C706174682066696C6C3D22233534364537412220643D224D31342C3332 - 4837632D312E312C302D322D302E392D322D3256313863302D312E312C302E39 - 2D322C322D3268375633327A222F3E0D0A202020203C706F6C79676F6E206669 - 6C6C3D22233738393039432220706F696E74733D2232362C34322031342C3332 - 2031342C31362032362C36222F3E0D0A202020203C706174682066696C6C3D22 - 233033413946342220643D224D32382C31372E3376322E3163312E382C302E38 - 2C332C322E352C332C342E36732D312E322C332E382D332C342E3676322E3163 - 322E392D302E392C352D332E352C352D362E375333302E392C31382E322C3238 - 2C31372E337A222F3E0D0A202020203C706174682066696C6C3D222334464333 - 46372220643D224D32382C31322E32763263342E362C302E392C382C352C382C - 392E38732D332E342C382E392D382C392E38763263352E372D312C31302D352E - 392C31302D31312E385333332E372C31332E312C32382C31322E327A222F3E0D - 0A3C2F7376673E0D0A0B000000730070006F007200740073005F006D006F0064 - 006500F90300003C7376672076657273696F6E3D22312220786D6C6E733D2268 - 7474703A2F2F7777772E77332E6F72672F323030302F73766722207669657742 - 6F783D223020302034382034382220656E61626C652D6261636B67726F756E64 - 3D226E657720302030203438203438223E0D0A202020203C636972636C652066 - 696C6C3D2223464639383030222063783D223238222063793D22392220723D22 - 35222F3E0D0A202020203C706174682066696C6C3D2223303037393642222064 - 3D224D32392C32372E336C2D392E322D342E31632D312D302E352D312E352C31 - 2D322C32632D302E352C312D342E312C372E322D332E382C382E3363302E332C - 302E392C312E312C312E342C312E392C312E3463302E322C302C302E342C302C - 302E362D302E31204C32382E382C333163302E382D302E322C312E342D312C31 - 2E342D312E384333302E322C32382E342C32392E372C32372E362C32392C3237 - 2E337A222F3E0D0A202020203C706174682066696C6C3D222330303936383822 - 20643D224D32362E382C31352E326C2D322E322D31632D312E332D302E362D32 - 2E392C302D332E352C312E334C392E322C34312E31632D302E352C312C302C32 - 2E322C312C322E3763302E332C302E312C302E362C302E322C302E392C302E32 - 2063302E382C302C312E352D302E342C312E382D312E3163302C302C392E362D - 31332E332C31302E342D31342E3973342E392D392E332C342E392D392E334332 - 382E372C31372E342C32382E322C31352E382C32362E382C31352E327A222F3E - 0D0A202020203C706174682066696C6C3D22234646393830302220643D224D34 - 302E352C31352E37632D302E372D302E382D322D312D322E382D302E336C2D35 - 2C342E326C2D362E342D332E35632D312E312D302E362D322E362D302E342D33 - 2E332C302E39632D302E382C312E332D302E342C322E392C302E382C332E3420 - 6C382E332C332E3463302E332C302E312C302E362C302E322C302E392C302E32 - 63302E352C302C302E392D302E322C312E332D302E356C362D354334312E312C - 31372E382C34312E322C31362E362C34302E352C31352E377A222F3E0D0A2020 - 20203C706174682066696C6C3D22234646393830302220643D224D31312E372C - 32332E316C332E342D352E316C342E362C302E366C312E352D332E3163302E34 - 2D302E392C312E322D312E342C322E312D312E35632D302E312C302D302E322C - 302D302E322C30682D39632D302E372C302D312E332C302E332D312E372C302E - 39206C2D342C36632D302E362C302E392D302E342C322E322C302E362C322E38 - 43392E322C32332E392C392E362C32342C31302C32344331302E362C32342C31 - 312E332C32332E372C31312E372C32332E317A222F3E0D0A3C2F7376673E0D0A - 0F00000073007400610063006B005F006F0066005F00700068006F0074006F00 - 7300B90500003C7376672076657273696F6E3D22312220786D6C6E733D226874 - 74703A2F2F7777772E77332E6F72672F323030302F737667222076696577426F - 783D223020302034382034382220656E61626C652D6261636B67726F756E643D - 226E657720302030203438203438223E0D0A202020203C7265637420783D2231 - 322E332220793D2231322E3322207472616E73666F726D3D226D617472697828 - 2E393438202E333138202D2E333138202E39343820392E373235202D362E3939 - 3429222066696C6C3D2223363442354636222077696474683D22323822206865 - 696768743D223238222F3E0D0A202020203C7265637420783D2231352E362220 - 793D2231352E3422207472616E73666F726D3D226D6174726978282E39353120 - 2E3331202D2E3331202E39353120392E313736202D362E39373729222066696C - 6C3D2223314538384535222077696474683D22323222206865696768743D2232 - 30222F3E0D0A202020203C7265637420783D22382E312220793D22382E312220 - 7472616E73666F726D3D226D6174726978282E393833202E313831202D2E3138 - 31202E39383320342E333835202D332E363529222066696C6C3D222339304341 - 4639222077696474683D22323822206865696768743D223238222F3E0D0A2020 - 20203C7265637420783D2231312E332220793D2231312E3222207472616E7366 - 6F726D3D226D6174726978282E393835202E313735202D2E313735202E393835 - 20342E303438202D332E35363629222066696C6C3D2223343241354635222077 - 696474683D22323222206865696768743D223230222F3E0D0A202020203C7265 - 637420783D22342220793D2234222066696C6C3D222342424445464222207769 - 6474683D22323822206865696768743D223238222F3E0D0A202020203C726563 - 7420783D22372220793D2237222066696C6C3D22233443414635302220776964 - 74683D22323222206865696768743D223230222F3E0D0A202020203C70617468 - 2066696C6C3D22236666662220643D224D31362C313363302D312E312C302E39 - 2D322C322D3273322C302E392C322C32732D322C342D322C345331362C31342E - 312C31362C31337A222F3E0D0A202020203C706174682066696C6C3D22236666 - 662220643D224D32302C323163302C312E312D302E392C322D322C32732D322D - 302E392D322D3273322D342C322D345332302C31392E392C32302C32317A222F - 3E0D0A202020203C706174682066696C6C3D22236666662220643D224D31332E - 352C31362E37632D312D302E362D312E332D312E382D302E372D322E3763302E - 362D312C312E382D312E332C322E372D302E3763312C302E362C322E352C332E - 372C322E352C332E375331342E352C31372E332C31332E352C31362E377A222F - 3E0D0A202020203C706174682066696C6C3D22236666662220643D224D32322E - 352C31372E3363312C302E362C312E332C312E382C302E372C322E37632D302E - 362C312D312E382C312E332D322E372C302E374331392E352C32302E322C3138 - 2C31372C31382C31375332312E352C31362E372C32322E352C31372E337A222F - 3E0D0A202020203C706174682066696C6C3D22236666662220643D224D32322E - 352C31362E3763312D302E362C312E332D312E382C302E372D322E37632D302E - 362D312D312E382D312E332D322E372D302E374331392E352C31332E382C3138 - 2C31372C31382C31375332312E352C31372E332C32322E352C31362E377A222F - 3E0D0A202020203C706174682066696C6C3D22236666662220643D224D31332E - 352C31372E33632D312C302E362D312E332C312E382D302E372C322E3763302E - 362C312C312E382C312E332C322E372C302E3763312D302E362C322E352D332E - 372C322E352D332E375331342E352C31362E372C31332E352C31372E337A222F - 3E0D0A202020203C636972636C652066696C6C3D222346464331303722206378 - 3D223138222063793D2231372220723D2232222F3E0D0A3C2F7376673E0D0A05 - 00000073007400610072007400260100003C7376672076657273696F6E3D2231 - 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F - 737667222076696577426F783D223020302034382034382220656E61626C652D - 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 - 203C706174682066696C6C3D22234634343333362220643D224D33382C343248 - 3130632D322E322C302D342D312E382D342D3456313063302D322E322C312E38 - 2D342C342D3468323863322E322C302C342C312E382C342C347632384334322C - 34302E322C34302E322C34322C33382C34327A222F3E0D0A202020203C706F6C - 79676F6E2066696C6C3D22236666662220706F696E74733D2233312C32342032 - 302C31362032302C3332222F3E0D0A3C2F7376673E0D0A050000007300740065 - 0061006D00770700003C3F786D6C2076657273696F6E3D22312E302220656E63 - 6F64696E673D227574662D38223F3E0D0A3C212D2D2047656E657261746F723A - 2041646F626520496C6C7573747261746F722031352E302E302C205356472045 - 78706F727420506C75672D496E202E205356472056657273696F6E3A20362E30 - 30204275696C6420302920202D2D3E0D0A3C21444F4354595045207376672050 - 55424C494320222D2F2F5733432F2F4454442053564720312E312F2F454E2220 - 22687474703A2F2F7777772E77332E6F72672F47726170686963732F5356472F - 312E312F4454442F73766731312E647464223E0D0A3C7376672076657273696F - 6E3D22312E31222020786D6C6E733D22687474703A2F2F7777772E77332E6F72 - 672F323030302F7376672220786D6C6E733A786C696E6B3D22687474703A2F2F - 7777772E77332E6F72672F313939392F786C696E6B2220783D22307078222079 - 3D22307078220D0A092077696474683D223438707822206865696768743D2234 - 387078222076696577426F783D223020302034382034382220656E61626C652D - 6261636B67726F756E643D226E6577203020302034382034382220786D6C3A73 - 706163653D227072657365727665223E0D0A3C706174682066696C6C3D222346 - 46464646462220643D224D34322C333863302C322E3230392D312E3739312C34 - 2D342C34483130632D322E3230392C302D342D312E3739312D342D3456313063 - 302D322E3230392C312E3739312D342C342D3468323863322E3230392C302C34 - 2C312E3739312C342C345633387A222F3E0D0A3C673E0D0A093C706174682066 - 696C6C3D22233435354136342220643D224D31382E3435392C33332E36343563 - 2D302E3238382C302D302E35362D302E3035372D302E3832322D302E3134316C - 2D302E3030352C302E30326C2D332E36372D312E3036320D0A090963302E3634 - 342C312E3837382C322E3430362C332E3233372C342E352C332E32333763322E - 3634312C302C342E3737362D322E3133362C342E3737362D342E373736732D32 - 2E3133352D342E3737372D342E3737362D342E373737632D312E3134312C302D - 322E3137352C302E3431382D322E3939382C312E3038370D0A09094C31392C32 - 382E32353563302E3032392C302E3030372C302E3035352C302E3031382C302E - 3038342C302E3032346C302E3034392C302E30313676302E30303263312E3137 - 372C302E3330312C322E3034392C312E3335392C322E3034392C322E3632360D - 0A09094332312E3138342C33322E3432342C31392E3936342C33332E3634352C - 31382E3435392C33332E3634357A222F3E0D0A093C706174682066696C6C3D22 - 233435354136342220643D224D33302E3932332C32342E32393963332E323232 - 2C302C352E3833372D322E3631352C352E3833372D352E38333863302D332E32 - 32322D322E3631352D352E3833372D352E3833372D352E3833370D0A0909632D - 332E3232312C302D352E3833372C322E3631352D352E3833372C352E38333743 - 32352E3038362C32312E3638342C32372E3730322C32342E3239392C33302E39 - 32332C32342E3239397A204D33302E39322C31342E34303963322E32342C302C - 342E3035362C312E3831332C342E3035362C342E3035320D0A090963302C322E - 3234312D312E3831352C342E3035332D342E3035362C342E303533632D322E32 - 33362C302D342E3034392D312E3831322D342E3034392D342E3035334332362E - 3837312C31362E3232332C32382E3638342C31342E3430392C33302E39322C31 - 342E3430397A222F3E0D0A093C706174682066696C6C3D222334353541363422 - 20643D224D33382C36682D322E3735682D32322E35483130632D322E3230392C - 302D342C312E3739312D342C3476322E373576342E32333676372E3530396C37 - 2E3032372C322E3033330D0A090963312E3238372D312E35392C332E3232392D - 322E3632362C352E3433342D322E36323663302E30372C302C302E3133352C30 - 2E30322C302E3230342C302E3032316C332E3837362D352E33353563302D302E - 3033352D302E3030352D302E3037322D302E3030352D302E3130350D0A090963 - 302D342E36332C332E3735352D382E3338382C382E3338372D382E3338386334 - 2E3633332C302C382E3338362C332E3735372C382E3338362C382E3338366330 - 2C342E3633332D332E3735332C382E3338372D382E3338362C382E3338370D0A - 0909632D302E3034342C302D302E3038372D302E3030362D302E3133322D302E - 3030376C2D352E33332C332E38373163302E3030322C302E30372C302E303231 - 2C302E31342C302E3032312C302E32313163302C332E3837382D332E3134322C - 372E3032312D372E3032312C372E3032310D0A0909632D332E3539332C302D36 - 2E35322D322E3730372D362E3933372D362E3138384C362C33302E3135387632 - 2E35383376322E35303956333863302C322E3230392C312E3739312C342C342C - 3468322E37356832322E3548333863322E3230392C302C342D312E3739312C34 - 2D34762D322E3735762D32322E355631300D0A09094334322C372E3739312C34 - 302E3230392C362C33382C367A222F3E0D0A3C2F673E0D0A3C2F7376673E0D0A - 0B0000007300740075006D0062006C006500750070006F006E00B60400003C3F - 786D6C2076657273696F6E3D22312E302220656E636F64696E673D227574662D - 38223F3E0D0A3C212D2D2047656E657261746F723A2041646F626520496C6C75 - 73747261746F722031352E302E302C20535647204578706F727420506C75672D - 496E202E205356472056657273696F6E3A20362E3030204275696C6420302920 - 202D2D3E0D0A3C21444F435459504520737667205055424C494320222D2F2F57 - 33432F2F4454442053564720312E312F2F454E222022687474703A2F2F777777 - 2E77332E6F72672F47726170686963732F5356472F312E312F4454442F737667 - 31312E647464223E0D0A3C7376672076657273696F6E3D22312E31222020786D - 6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73766722 - 20786D6C6E733A786C696E6B3D22687474703A2F2F7777772E77332E6F72672F - 313939392F786C696E6B2220783D223070782220793D22307078220D0A092077 - 696474683D223438707822206865696768743D2234387078222076696577426F - 783D223020302034382034382220656E61626C652D6261636B67726F756E643D - 226E6577203020302034382034382220786D6C3A73706163653D227072657365 - 727665223E0D0A3C706174682066696C6C3D22234536344131392220643D224D - 32342E3030312C35632D31302E3439342C302D31392C382E3530362D31392C31 - 3963302C31302E3439332C382E3530362C31392C31392C31396331302E343933 - 2C302C31392D382E3530372C31392D31390D0A094334332E3030312C31332E35 - 30362C33342E3439342C352C32342E3030312C357A222F3E0D0A3C673E0D0A09 - 3C706174682066696C6C3D22234646464646462220643D224D32342E3030312C - 31394332332E3939382C31392C32342E3030342C31392C32342E3030312C3139 - 632D302E3036322D302E3030342D312C302D312C3176372E3837364332322E39 - 31362C32392E3838382C32312E3530342C33332C31372E3935392C33330D0A09 - 09632D332E3630372C302D342E3935382D332E3036352D342E3935382D342E39 - 35385632346834763463302E3033382C302E3730392C302E3632392C312C312C - 3163302E3636352C302C302E3937322D302E3336312C312D31762D382E313234 - 63302D322E30312C312E3333322D352C352D350D0A090963302E3034352C302C - 302E3038362C302E3030362C302E3133312C302E30303763302C302C342E3836 - 392D302E3030392C342E3836392C352E31313763302C312E3130342D302E3839 - 362C312E3837362D322C312E383736732D322D302E3737312D322D312E383736 - 0D0A09094332352E3030312C31392E3132342C32342E3034312C31392E303033 - 2C32342E3030312C31397A204D33352E3030312C32372E38373663302C322E30 - 312D312E3333312C352E3132342D352C352E313234732D352D332E3131342D35 - 2D352E313234762D332E3433390D0A090963302E3631342C302E3237322C312E - 3238352C302E3433392C322C302E34333963302E3731322C302C312E3338362D - 302E3135342C322D302E34323456323863302E3033382C312C302E3636332C31 - 2C312C3163302E3234372C302C312C302C312D31762D3468345632372E383736 - 7A222F3E0D0A3C2F673E0D0A3C2F7376673E0D0A070000007300750070007000 - 6F0072007400060200003C7376672076657273696F6E3D22312220786D6C6E73 - 3D22687474703A2F2F7777772E77332E6F72672F323030302F73766722207669 - 6577426F783D223020302034382034382220656E61626C652D6261636B67726F - 756E643D226E657720302030203438203438223E0D0A202020203C7061746820 - 66696C6C3D22233630374438422220643D224D34342E372C31314C33362C3139 - 2E3663302C302D322E362C302D352E322D322E36732D322E362D352E322D322E - 362D352E326C382E372D382E37632D342E392D312E322D31302E382C302E342D - 31342E342C3420632D352E342C352E342D302E362C31322E332D322C31332E37 - 4331322E392C32382E372C352E312C33342E372C342E392C3335632D322E332C - 322E332D322E342C362D302E322C382E3263322E322C322E322C352E392C322E - 312C382E322D302E3263302E332D302E332C362E372D382E342C31342E322D31 - 352E392063312E342D312E342C382C332E372C31332E362D312E384334342E32 - 2C32312E372C34352E392C31352E392C34342E372C31317A204D392E342C3431 - 2E31632D312E342C302D322E352D312E312D322E352D322E3543362E392C3337 - 2E312C382C33362C392E342C33362063312E342C302C322E352C312E312C322E - 352C322E354331312E392C33392E392C31302E382C34312E312C392E342C3431 - 2E317A222F3E0D0A3C2F7376673E0D0A06000000730075007200760065007900 - A10300003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 - 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D - 223020302034382034382220656E61626C652D6261636B67726F756E643D226E - 657720302030203438203438223E0D0A202020203C706174682066696C6C3D22 - 233435354136342220643D224D33362C3448323663302C312E312D302E392C32 - 2D322C32732D322D302E392D322D3248313243392E382C342C382C352E382C38 - 2C3876333263302C322E322C312E382C342C342C3468323463322E322C302C34 - 2D312E382C342D345638204334302C352E382C33382E322C342C33362C347A22 - 2F3E0D0A202020203C706174682066696C6C3D22236666662220643D224D3336 - 2C3431483132632D302E362C302D312D302E342D312D31563863302D302E362C - 302E342D312C312D3168323463302E362C302C312C302E342C312C3176333243 - 33372C34302E362C33362E362C34312C33362C34317A222F3E0D0A202020203C - 672066696C6C3D2223393041344145223E0D0A20202020202020203C70617468 - 20643D224D32362C3463302C312E312D302E392C322D322C32732D322D302E39 - 2D322D32682D37763463302C312E312C302E392C322C322C3268313463312E31 - 2C302C322D302E392C322D3256344832367A222F3E0D0A20202020202020203C - 7061746820643D224D32342C30632D322E322C302D342C312E382D342C347331 - 2E382C342C342C3473342D312E382C342D345332362E322C302C32342C307A20 - 4D32342C36632D312E312C302D322D302E392D322D3273302E392D322C322D32 - 73322C302E392C322C32205332352E312C362C32342C367A222F3E0D0A202020 - 203C2F673E0D0A202020203C672066696C6C3D2223434644384443223E0D0A20 - 202020202020203C7265637420783D2232312220793D22323022207769647468 - 3D22313222206865696768743D2232222F3E0D0A20202020202020203C726563 - 7420783D2231352220793D223139222077696474683D22342220686569676874 - 3D2234222F3E0D0A202020203C2F673E0D0A202020203C672066696C6C3D2223 - 303341394634223E0D0A20202020202020203C7265637420783D223231222079 - 3D223239222077696474683D22313222206865696768743D2232222F3E0D0A20 - 202020202020203C7265637420783D2231352220793D22323822207769647468 - 3D223422206865696768743D2234222F3E0D0A202020203C2F673E0D0A3C2F73 - 76673E0D0A0D0000007300770069007400630068005F00630061006D00650072 - 006100F80200003C7376672076657273696F6E3D22312220786D6C6E733D2268 - 7474703A2F2F7777772E77332E6F72672F323030302F73766722207669657742 - 6F783D223020302034382034382220656E61626C652D6261636B67726F756E64 - 3D226E657720302030203438203438223E0D0A202020203C672066696C6C3D22 - 23354533354231223E0D0A20202020202020203C7061746820643D224D33332E - 392C31322E314831342E324C31372E362C3763302E342D302E362C312D302E39 - 2C312E372D302E3968392E3663302E372C302C312E332C302E332C312E372C30 - 2E394C33332E392C31322E317A222F3E0D0A20202020202020203C7061746820 - 643D224D31342C3131483856392E3243382C382E352C382E352C382C392E322C - 3868332E364331332E352C382C31342C382E352C31342C392E325631317A222F - 3E0D0A20202020202020203C7061746820643D224D34302C34324838632D322E - 322C302D342D312E382D342D3456313463302D322E322C312E382D342C342D34 - 68333263322E322C302C342C312E382C342C347632344334342C34302E322C34 - 322E322C34322C34302C34327A222F3E0D0A202020203C2F673E0D0A20202020 - 3C706174682066696C6C3D22234538454146362220643D224D33342C32356330 - 2D352E352D342E352D31302D31302D3130632D322E342C302D342E362C302E38 - 2D362E332C322E326C312E322C312E3663312E342D312E312C332E312D312E38 - 2C352E312D312E3863342E342C302C382C332E362C382C38682D332E35206C34 - 2E352C352E366C342E352D352E364833347A222F3E0D0A202020203C70617468 - 2066696C6C3D22234538454146362220643D224D32392E312C33312E32433237 - 2E372C33322E332C32352E392C33332C32342C3333632D342E342C302D382D33 - 2E362D382D3868332E354C31352C31392E344C31302E352C323548313463302C - 352E352C342E352C31302C31302C31302063322E342C302C342E362D302E382C - 362E332D322E324C32392E312C33312E327A222F3E0D0A3C2F7376673E0D0A0B - 000000730079006E006300680072006F006E0069007A006500700200003C7376 - 672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E - 77332E6F72672F323030302F737667222076696577426F783D22302030203438 - 2034382220656E61626C652D6261636B67726F756E643D226E65772030203020 - 3438203438223E0D0A202020203C706174682066696C6C3D2223464636463030 - 2220643D224D33382E372C31312E396C2D332E312C322E3563322E322C322E37 - 2C332E342C362E312C332E342C392E3563302C382E332D362E372C31352D3135 - 2C3135632D302E392C302D312E392D302E312D322E382D302E336C2D302E372C - 332E392063312E322C302E322C322E342C302E332C332E352C302E336331302E - 352C302C31392D382E352C31392D31394334332C31392E362C34312E352C3135 - 2E332C33382E372C31312E397A222F3E0D0A202020203C706F6C79676F6E2066 - 696C6C3D22234646364630322220706F696E74733D2233312C382034322E392C - 392E362033332E312C31392E34222F3E0D0A202020203C706174682066696C6C - 3D22234646364630302220643D224D32342C354331332E352C352C352C31332E - 352C352C323463302C342E362C312E362C392C342E362C31322E346C332D322E - 364331302E332C33312E312C392C32372E362C392C323463302D382E332C362E - 372D31352C31352D31352063302E392C302C312E392C302E312C322E382C302E - 336C302E372D332E394332362E342C352E312C32352E322C352C32342C357A22 - 2F3E0D0A202020203C706F6C79676F6E2066696C6C3D22234646364630322220 - 706F696E74733D2231372C343020352E312C33382E342031342E392C32382E36 - 222F3E0D0A3C2F7376673E0D0A0E0000007400610062006C00650074005F0061 - 006E00640072006F00690064009E0100003C7376672076657273696F6E3D2231 - 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F - 737667222076696577426F783D223020302034382034382220656E61626C652D - 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 - 203C706174682066696C6C3D22233337343734462220643D224D382C34315637 - 63302D322E322C312E382D342C342D3468323463322E322C302C342C312E382C - 342C3476333463302C322E322D312E382C342D342C3448313243392E382C3435 - 2C382C34332E322C382C34317A222F3E0D0A202020203C706174682066696C6C - 3D22234242444546422220643D224D33362C36483132632D302E362C302D312C - 302E342D312C3176333163302C302E362C302E342C312C312C3168323463302E - 362C302C312D302E342C312D3156374333372C362E342C33362E362C362C3336 - 2C367A222F3E0D0A202020203C7265637420783D2232312220793D2234312220 - 66696C6C3D2223373839303943222077696474683D223622206865696768743D - 2232222F3E0D0A3C2F7376673E0D0A08000000740065006D0070006C00610074 - 0065007F0100003C7376672076657273696F6E3D22312220786D6C6E733D2268 - 7474703A2F2F7777772E77332E6F72672F323030302F73766722207669657742 - 6F783D223020302034382034382220656E61626C652D6261636B67726F756E64 - 3D226E657720302030203438203438223E0D0A202020203C7265637420783D22 - 342220793D2237222066696C6C3D2223424244454642222077696474683D2234 - 3022206865696768743D223334222F3E0D0A202020203C7265637420783D2239 - 2220793D223132222066696C6C3D2223334635314235222077696474683D2233 - 3022206865696768743D2235222F3E0D0A202020203C672066696C6C3D222332 - 3139364633223E0D0A20202020202020203C7265637420783D22392220793D22 - 3231222077696474683D22313322206865696768743D223136222F3E0D0A2020 - 2020202020203C7265637420783D2232362220793D223231222077696474683D - 22313322206865696768743D223136222F3E0D0A202020203C2F673E0D0A3C2F - 7376673E0D0A08000000740069006D0065006C0069006E006500520300003C73 - 76672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F777777 - 2E77332E6F72672F323030302F737667222076696577426F783D223020302034 - 382034382220656E61626C652D6261636B67726F756E643D226E657720302030 - 203438203438223E0D0A202020203C706174682066696C6C3D22233346353142 - 352220643D224D34322C32394832302E38632D302E352C302D312D302E322D31 - 2E342D302E366C2D332E372D332E37632D302E342D302E342D302E342D312C30 - 2D312E346C332E372D332E3763302E342D302E342C302E392D302E362C312E34 - 2D302E364834322063302E362C302C312C302E342C312C3176384334332C3238 - 2E362C34322E362C32392C34322C32397A222F3E0D0A202020203C7265637420 - 783D22392220793D2236222066696C6C3D222343464438444322207769647468 - 3D223222206865696768743D223336222F3E0D0A202020203C672066696C6C3D - 2223393041344145223E0D0A20202020202020203C636972636C652063783D22 - 3130222063793D2231302220723D2233222F3E0D0A20202020202020203C6369 - 72636C652063783D223130222063793D2232342220723D2233222F3E0D0A2020 - 2020202020203C636972636C652063783D223130222063793D2233382220723D - 2233222F3E0D0A202020203C2F673E0D0A202020203C706174682066696C6C3D - 22233434384146462220643D224D33342C34334832302E38632D302E352C302D - 312D302E322D312E342D302E366C2D332E372D332E37632D302E342D302E342D - 302E342D312C302D312E346C332E372D332E3763302E342D302E342C302E392D - 302E362C312E342D302E364833342063302E362C302C312C302E342C312C3176 - 384333352C34322E362C33342E362C34332C33342C34337A222F3E0D0A202020 - 203C706174682066696C6C3D22233030424344342220643D224D33352C313548 - 32302E38632D302E352C302D312D302E322D312E342D302E366C2D332E372D33 - 2E37632D302E342D302E342D302E342D312C302D312E346C332E372D332E3743 - 31392E382C352E322C32302E332C352C32302E382C354833352063302E362C30 - 2C312C302E342C312C3176384333362C31342E362C33352E362C31352C33352C - 31357A222F3E0D0A3C2F7376673E0D0A0900000074006F0064006F005F006C00 - 6900730074004C0200003C7376672076657273696F6E3D22312220786D6C6E73 - 3D22687474703A2F2F7777772E77332E6F72672F323030302F73766722207669 - 6577426F783D223020302034382034382220656E61626C652D6261636B67726F - 756E643D226E657720302030203438203438223E0D0A202020203C672066696C - 6C3D2223334635314235223E0D0A20202020202020203C706F6C79676F6E2070 - 6F696E74733D2231372E382C31382E312031302E342C32352E3420362E322C32 - 312E3320342C32332E352031302E342C32392E392032302C32302E33222F3E0D - 0A20202020202020203C706F6C79676F6E20706F696E74733D2231372E382C35 - 2E312031302E342C31322E3420362E322C382E3320342C31302E352031302E34 - 2C31362E392032302C372E33222F3E0D0A20202020202020203C706F6C79676F - 6E20706F696E74733D2231372E382C33312E312031302E342C33382E3420362E - 322C33342E3320342C33362E352031302E342C34322E392032302C33332E3322 - 2F3E0D0A202020203C2F673E0D0A202020203C672066696C6C3D222339304341 - 4639223E0D0A20202020202020203C7265637420783D2232342220793D223232 - 222077696474683D22323022206865696768743D2234222F3E0D0A2020202020 - 2020203C7265637420783D2232342220793D2239222077696474683D22323022 - 206865696768743D2234222F3E0D0A20202020202020203C7265637420783D22 - 32342220793D223335222077696474683D22323022206865696768743D223422 - 2F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A1600000074006F007500 - 63006800730063007200650065006E005F0073006D0061007200740070006800 - 6F006E006500920200003C7376672076657273696F6E3D22312220786D6C6E73 - 3D22687474703A2F2F7777772E77332E6F72672F323030302F73766722207669 - 6577426F783D223020302034382034382220656E61626C652D6261636B67726F - 756E643D226E657720302030203438203438223E0D0A202020203C7061746820 - 66696C6C3D22234533383933392220643D224D31322C3430563863302D322E32 - 2C312E382D342C342D3468313663322E322C302C342C312E382C342C34763332 - 63302C322E322D312E382C342D342C344831364331332E382C34342C31322C34 - 322E322C31322C34307A222F3E0D0A202020203C706174682066696C6C3D2223 - 4646463345302220643D224D33322C37483136632D302E362C302D312C302E34 - 2D312C3176323963302C302E362C302E342C312C312C3168313663302E362C30 - 2C312D302E342C312D3156384333332C372E342C33322E362C372C33322C377A - 222F3E0D0A202020203C636972636C652066696C6C3D22234136363432412220 - 63783D223234222063793D2234312220723D22312E35222F3E0D0A202020203C - 636972636C652066696C6C3D2223453931453633222063783D22323422206379 - 3D2232332220723D2232222F3E0D0A202020203C636972636C652066696C6C3D - 226E6F6E6522207374726F6B653D222346343846423122207374726F6B652D77 - 696474683D223222207374726F6B652D6D697465726C696D69743D2231302220 - 63783D223234222063793D2232332220723D2234222F3E0D0A202020203C6369 - 72636C652066696C6C3D226E6F6E6522207374726F6B653D2223463842424430 - 22207374726F6B652D6D697465726C696D69743D223130222063783D22323422 - 2063793D2232332220723D22362E35222F3E0D0A3C2F7376673E0D0A09000000 - 740072006100640065006D00610072006B00930100003C737667207665727369 - 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F - 323030302F737667222076696577426F783D223020302034382034382220656E - 61626C652D6261636B67726F756E643D226E657720302030203438203438223E - 0D0A202020203C636972636C652066696C6C3D2223394332374230222063783D - 223234222063793D2232342220723D223231222F3E0D0A202020203C67206669 - 6C6C3D2223453142454537223E0D0A20202020202020203C7061746820643D22 - 4D32302E362C31382E35682D342E327631342E32682D332E355631382E354838 - 2E37762D322E396831312E395631382E357A222F3E0D0A20202020202020203C - 7061746820643D224D32372E312C31352E364C33302E332C32386C332E322D31 - 322E3468342E357631372E31682D332E35762D342E366C302E332D372E316C2D - 332E342C31312E38682D322E344C32352E372C32316C302E332C372E3176342E - 36682D332E355631352E36204832372E317A222F3E0D0A202020203C2F673E0D - 0A3C2F7376673E0D0A0E00000074007200650065005F00730074007200750063 - 007400750072006500A00100003C7376672076657273696F6E3D22312220786D - 6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73766722 - 2076696577426F783D223020302034382034382220656E61626C652D6261636B - 67726F756E643D226E657720302030203438203438223E0D0A202020203C706F - 6C79676F6E2066696C6C3D22233930434146392220706F696E74733D2233362E - 392C31332E382033352E312C31302E3220372E352C32342033352E312C33372E - 382033362E392C33342E322031362E352C3234222F3E0D0A202020203C726563 - 7420783D22362220793D223138222066696C6C3D222344383142363022207769 - 6474683D22313222206865696768743D223132222F3E0D0A202020203C672066 - 696C6C3D2223323139364633223E0D0A20202020202020203C7265637420783D - 2233302220793D2236222077696474683D22313222206865696768743D223132 - 222F3E0D0A20202020202020203C7265637420783D2233302220793D22333022 - 2077696474683D22313222206865696768743D223132222F3E0D0A202020203C - 2F673E0D0A3C2F7376673E0D0A0F000000740077006F005F0073006D00610072 - 007400700068006F006E0065007300C80200003C7376672076657273696F6E3D - 22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030 - 302F737667222076696577426F783D223020302034382034382220656E61626C - 652D6261636B67726F756E643D226E657720302030203438203438223E0D0A20 - 2020203C706174682066696C6C3D22233337343734462220643D224D362C3336 - 563863302D322E322C312E382D342C342D3468313463322E322C302C342C312E - 382C342C3476323863302C322E322D312E382C342D342C3448313043372E382C - 34302C362C33382E322C362C33367A222F3E0D0A202020203C70617468206669 - 6C6C3D22234242444546422220643D224D32342C3748313043392E342C372C39 - 2C372E342C392C3876323563302C302E362C302E342C312C312C316831346330 - 2E362C302C312D302E342C312D3156384332352C372E342C32342E362C372C32 - 342C377A222F3E0D0A202020203C7265637420783D2231342220793D22333622 - 2066696C6C3D2223373839303943222077696474683D22362220686569676874 - 3D2232222F3E0D0A202020203C706174682066696C6C3D222345333839333922 - 20643D224D32302C343056313263302D322E322C312E382D342C342D34683134 - 63322E322C302C342C312E382C342C3476323863302C322E322D312E382C342D - 342C344832344332312E382C34342C32302C34322E322C32302C34307A222F3E - 0D0A202020203C706174682066696C6C3D22234646463345302220643D224D33 - 382C3131483234632D302E362C302D312C302E342D312C3176323563302C302E - 362C302E342C312C312C3168313463302E362C302C312D302E342C312D315631 - 324333392C31312E342C33382E362C31312C33382C31317A222F3E0D0A202020 - 203C636972636C652066696C6C3D2223413636343241222063783D2233312220 - 63793D2234312220723D22312E35222F3E0D0A3C2F7376673E0D0A0400000075 - 006E0064006F002F0100003C7376672076657273696F6E3D22312220786D6C6E - 733D22687474703A2F2F7777772E77332E6F72672F323030302F737667222076 - 696577426F783D223020302034382034382220656E61626C652D6261636B6772 - 6F756E643D226E657720302030203438203438223E0D0A202020203C67206669 - 6C6C3D2223303042434434223E0D0A20202020202020203C706F6C79676F6E20 - 706F696E74733D22352C31382031392C362E332031392C32392E37222F3E0D0A - 20202020202020203C7061746820643D224D32382C3134483136763868313263 - 322E382C302C352C322E322C352C35732D322E322C352D352C35682D33763868 - 3363372E322C302C31332D352E382C31332D31335333352E322C31342C32382C - 31347A222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A060000007500 - 6E006C006F0063006B00940100003C7376672076657273696F6E3D2231222078 - 6D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F737667 - 222076696577426F783D223020302034382034382220656E61626C652D626163 - 6B67726F756E643D226E657720302030203438203438223E0D0A202020203C70 - 6174682066696C6C3D22233432343234322220643D224D32342C34632D352E35 - 2C302D31302C342E352D31302C313076346834762D3463302D332E332C322E37 - 2D362C362D3673362C322E372C362C3668344333342C382E352C32392E352C34 - 2C32342C347A222F3E0D0A202020203C706174682066696C6C3D222346423843 - 30302220643D224D33362C3434483132632D322E322C302D342D312E382D342D - 3456323263302D322E322C312E382D342C342D3468323463322E322C302C342C - 312E382C342C347631384334302C34322E322C33382E322C34342C33362C3434 - 7A222F3E0D0A202020203C636972636C652066696C6C3D222343373645303022 - 2063783D223234222063793D2233312220723D2233222F3E0D0A3C2F7376673E - 0D0A0200000075007000FD0000003C7376672076657273696F6E3D2231222078 - 6D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F737667 - 222076696577426F783D223020302034382034382220656E61626C652D626163 - 6B67726F756E643D226E657720302030203438203438223E0D0A202020203C67 - 2066696C6C3D2223334635314235223E0D0A20202020202020203C706F6C7967 - 6F6E20706F696E74733D2232342C342033352E372C31382031322E332C313822 - 2F3E0D0A20202020202020203C7265637420783D2232302220793D2231352220 - 77696474683D223822206865696768743D223237222F3E0D0A202020203C2F67 - 3E0D0A3C2F7376673E0D0A07000000750070005F006C00650066007400100100 - 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F - 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 - 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 - 302030203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D22 - 233346353142352220706F696E74733D22342C31392031382C33302E37203138 - 2C372E33222F3E0D0A202020203C706174682066696C6C3D2223334635314235 - 2220643D224D34322C3237763133682D3856323763302D322E322D312E382D34 - 2D342D34483133762D386831374333362E362C31352C34322C32302E342C3432 - 2C32377A222F3E0D0A3C2F7376673E0D0A08000000750070005F007200690067 - 0068007400A60100003C7376672076657273696F6E3D22312220786D6C6E733D - 22687474703A2F2F7777772E77332E6F72672F323030302F7376672220766965 - 77426F783D223020302034382034382220656E61626C652D6261636B67726F75 - 6E643D226E657720302030203438203438223E0D0A202020203C706F6C79676F - 6E2066696C6C3D22233346353142352220706F696E74733D2234342C31392033 - 302C33302E372033302C372E33222F3E0D0A202020203C706174682066696C6C - 3D22233346353142352220643D224D362C3237763133683856323763302D322E - 322C312E382D342C342D34683137762D384831384331312E342C31352C362C32 - 302E342C362C32377A222F3E0D0A202020203C706F6C79676F6E2066696C6C3D - 22233346353142352220706F696E74733D2234342C31392033302C33302E3720 - 33302C372E33222F3E0D0A202020203C706174682066696C6C3D222333463531 - 42352220643D224D362C3237763133683856323763302D322E322C312E382D34 - 2C342D34683137762D384831384331312E342C31352C362C32302E342C362C32 - 377A222F3E0D0A3C2F7376673E0D0A06000000750070006C006F006100640097 - 0100003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A - 2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D22 - 3020302034382034382220656E61626C652D6261636B67726F756E643D226E65 - 7720302030203438203438223E0D0A202020203C672066696C6C3D2223303039 - 363838223E0D0A20202020202020203C706F6C79676F6E20706F696E74733D22 - 32342C31302E392033352C32342031332C3234222F3E0D0A2020202020202020 - 3C7265637420783D2232302220793D223430222077696474683D223822206865 - 696768743D2234222F3E0D0A20202020202020203C7265637420783D22323022 - 20793D223334222077696474683D223822206865696768743D2234222F3E0D0A - 20202020202020203C7265637420783D2232302220793D223231222077696474 - 683D223822206865696768743D223131222F3E0D0A20202020202020203C7265 - 637420783D22362220793D2234222077696474683D2233362220686569676874 - 3D2234222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A030000007500 - 73006200970800003C3F786D6C2076657273696F6E3D22312E302220656E636F - 64696E673D227574662D38223F3E0D0A3C212D2D2047656E657261746F723A20 - 41646F626520496C6C7573747261746F722031352E302E302C20535647204578 - 706F727420506C75672D496E202E205356472056657273696F6E3A20362E3030 - 204275696C6420302920202D2D3E0D0A3C21444F435459504520737667205055 - 424C494320222D2F2F5733432F2F4454442053564720312E312F2F454E222022 - 687474703A2F2F7777772E77332E6F72672F47726170686963732F5356472F31 - 2E312F4454442F73766731312E647464223E0D0A3C7376672076657273696F6E - 3D22312E31222020786D6C6E733D22687474703A2F2F7777772E77332E6F7267 - 2F323030302F7376672220786D6C6E733A786C696E6B3D22687474703A2F2F77 - 77772E77332E6F72672F313939392F786C696E6B2220783D223070782220793D - 22307078220D0A092077696474683D223438707822206865696768743D223438 - 7078222076696577426F783D223020302034382034382220656E61626C652D62 - 61636B67726F756E643D226E6577203020302034382034382220786D6C3A7370 - 6163653D227072657365727665223E0D0A3C706174682066696C6C3D22233135 - 363543302220643D224D33382E3730312C32342E333535682D322E3138396C2D - 302E3436372C322E32363563302C302C322E3237372C302C322E35312C306330 - 2E3233332C302C312E3534352D302E3136372C312E3534352D312E3236370D0A - 094334302E312C32342E3236362C33382E3730312C32342E3335352C33382E37 - 30312C32342E3335357A204D33392E3532312C32302E333339682D322E31356C - 2D302E3337342C312E37393663302C302C322E3136312C302C322E3333372C30 - 63302E3138382C302C312E3131332D302E3134362C312E3131332D312E303036 - 0D0A094334302E3434372C32302E3237312C33392E3532312C32302E3333392C - 33392E3532312C32302E3333397A204D34342E3036342C32332E31303963302C - 302C312E3433362D302E3734332C312E3433362D332E30393363302D332E3731 - 352D342E3337372D332E3531362D342E3337372D332E353136682D322E383635 - 0D0A096C302E3637342D3363302C302D31322E342C302D32302E3937312C3063 - 2D392E3334342C302D31322E3135382C362E3737342D31322E3135382C362E37 - 37344C352E3733362C32302E3548322E3534376C2D312E3034372C3668332E33 - 376C302E3030312C302E3134330D0A0963302C302D302E3238352C362E383537 - 2C31302E3436332C362E3835376331302E3734372C302C31392E3034322C302C - 31392E3034322C306C302E3637392D3363302E38342C302C322E322C302C342E - 3338392C3063342E3732392C302C352E3539312D332E3335342C352E3539312D - 342E390D0A094334352E3033322C32332E3833382C34342E3036342C32332E31 - 30392C34342E3036342C32332E3130397A222F3E0D0A3C706174682066696C6C - 3D22234646464646462220643D224D33382E3730312C32342E333535682D322E - 3138396C2D302E3436372C322E32363563302C302C322E3237372C302C322E35 - 312C3063302E3233332C302C312E3534352D302E3136372C312E3534352D312E - 3236370D0A094334302E312C32342E3236362C33382E3730312C32342E333535 - 2C33382E3730312C32342E3335357A204D33392E3532312C32302E333339682D - 322E31356C2D302E3337342C312E37393663302C302C322E3136312C302C322E - 3333372C3063302E3138382C302C312E3131332D302E3134362C312E3131332D - 312E3030360D0A094334302E3434372C32302E3237312C33392E3532312C3230 - 2E3333392C33392E3532312C32302E3333397A204D31342E3032322C32392E35 - 632D352E3330362C302D352E3330362D332E3632342D352E3233382D332E3938 - 3663302E3036392D302E3336332C312E3738392D382E3031342C312E3738392D - 382E3031340D0A0968332E38346C2D312E3335382C362E33353463302C302D30 - 2E3937312C322E3732382C312E3235312C322E37323863322E3038312C302C32 - 2E3333362D322E3533352C322E3333362D322E3533356C312E3436352D362E35 - 343368332E3833396C2D312E3538322C362E3937390D0A094332302E3336352C - 32342E34382C32302E3235382C32392E352C31342E3032322C32392E357A204D - 32362E3039382C32392E353231632D322E3637342C302D342E3935382D312E32 - 36322D342E3835362D342E313468332E34333863302C302E3537362C302E3038 - 362C312E3632372C312E3633332C312E3632370D0A0963302E3632372C302C31 - 2E3638382D302E3236362C312E3638382D312E31333363302D312E3633312D35 - 2E3539372D302E3738352D352E3539372D342E353763302D322E3036332C312E - 3839392D332E3738352C342E3938392D332E37383563342E3937362C302C342E - 3631332C332E3734392C342E3631332C332E3734390D0A09682D332E33363963 - 302D312E3034342D302E3636342D312E3230342D312E3436332D312E32303463 - 2D302E382C302D312E3337322C302E3334332D312E3337322C302E3934346330 - 2C312E3437312C352E3633342C302E3435362C352E3633342C342E3533310D0A - 094333312E3433362C32372E3330352C33302E3031322C32392E3532312C3236 - 2E3039382C32392E3532317A204D33392E3336362C32392E35632D302E343139 - 2C302D372E3531352C302D372E3531352C306C322E3630312D313263302C302C - 352E3434342C302C362E3535362C300D0A0963312E3131332C302C332E34332C - 302E3233342C332E34332C322E35343263302C322E3630322D322E3232372C33 - 2E3031332D322E3232372C332E30313373312E3736342C302E3430372C312E37 - 36342C322E3437334334332E3937352C32392E3435372C33392E3737352C3239 - 2E352C33392E3336362C32392E357A220D0A092F3E0D0A3C2F7376673E0D0A0A - 00000076006900640065006F005F00630061006C006C002A0100003C73766720 - 76657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E7733 - 2E6F72672F323030302F737667222076696577426F783D223020302034382034 - 382220656E61626C652D6261636B67726F756E643D226E657720302030203438 - 203438223E0D0A202020203C706174682066696C6C3D22233443414635302220 - 643D224D382C313268323263322E322C302C342C312E382C342C347631366330 - 2C322E322D312E382C342D342C344838632D322E322C302D342D312E382D342D - 3456313643342C31332E382C352E382C31322C382C31327A222F3E0D0A202020 - 203C706F6C79676F6E2066696C6C3D22233338384533432220706F696E74733D - 2234342C33352033342C32392033342C31392034342C3133222F3E0D0A3C2F73 - 76673E0D0A0A00000076006900640065006F005F00660069006C0065002D0100 - 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F - 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 - 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 - 302030203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D22 - 233930434146392220706F696E74733D2234302C343520382C343520382C3320 - 33302C332034302C3133222F3E0D0A202020203C706F6C79676F6E2066696C6C - 3D22234531463546452220706F696E74733D2233382E352C31342032392C3134 - 2032392C342E35222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223 - 3139373644322220706F696E74733D2233302C32382032302C32322032302C33 - 34222F3E0D0A3C2F7376673E0D0A0F00000076006900640065006F005F007000 - 72006F006A006500630074006F007200E80500003C7376672076657273696F6E - 3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F3230 - 30302F737667222076696577426F783D223020302034382034382220656E6162 - 6C652D6261636B67726F756E643D226E657720302030203438203438223E0D0A - 202020203C672066696C6C3D2223353436453741223E0D0A2020202020202020 - 3C7265637420783D22352220793D223334222077696474683D22362220686569 - 6768743D2233222F3E0D0A20202020202020203C7265637420783D2233372220 - 793D223334222077696474683D223622206865696768743D2233222F3E0D0A20 - 2020203C2F673E0D0A202020203C706174682066696C6C3D2223373839303943 - 2220643D224D34342C33354834632D322E322C302D342D312E382D342D345631 - 3763302D322E322C312E382D342C342D3468343063322E322C302C342C312E38 - 2C342C347631344334382C33332E322C34362E322C33352C34342C33357A222F - 3E0D0A202020203C672066696C6C3D2223333734373446223E0D0A2020202020 - 2020203C7265637420783D22352220793D223139222077696474683D22322220 - 6865696768743D2232222F3E0D0A20202020202020203C7265637420783D2235 - 2220793D223233222077696474683D223222206865696768743D2232222F3E0D - 0A20202020202020203C7265637420783D22352220793D223237222077696474 - 683D223222206865696768743D2232222F3E0D0A20202020202020203C726563 - 7420783D22392220793D223139222077696474683D223222206865696768743D - 2232222F3E0D0A20202020202020203C7265637420783D22392220793D223233 - 222077696474683D223222206865696768743D2232222F3E0D0A202020202020 - 20203C7265637420783D22392220793D223237222077696474683D2232222068 - 65696768743D2232222F3E0D0A20202020202020203C7265637420783D223133 - 2220793D223139222077696474683D223222206865696768743D2232222F3E0D - 0A20202020202020203C7265637420783D2231332220793D2232332220776964 - 74683D223222206865696768743D2232222F3E0D0A20202020202020203C7265 - 637420783D2231332220793D223237222077696474683D223222206865696768 - 743D2232222F3E0D0A20202020202020203C7265637420783D2231372220793D - 223139222077696474683D223222206865696768743D2232222F3E0D0A202020 - 20202020203C7265637420783D2231372220793D223233222077696474683D22 - 3222206865696768743D2232222F3E0D0A20202020202020203C726563742078 - 3D2231372220793D223237222077696474683D223222206865696768743D2232 - 222F3E0D0A20202020202020203C7265637420783D2232312220793D22313922 - 2077696474683D223222206865696768743D2232222F3E0D0A20202020202020 - 203C7265637420783D2232312220793D223233222077696474683D2232222068 - 65696768743D2232222F3E0D0A20202020202020203C7265637420783D223231 - 2220793D223237222077696474683D223222206865696768743D2232222F3E0D - 0A202020203C2F673E0D0A202020203C636972636C652066696C6C3D22233337 - 34373446222063783D223337222063793D2232342220723D2238222F3E0D0A20 - 2020203C636972636C652066696C6C3D2223613066222063783D223337222063 - 793D2232342220723D2236222F3E0D0A202020203C706174682066696C6C3D22 - 234541383046432220643D224D34302E372C32312E37632D312D312E312D322E - 332D312E372D332E372D312E37732D322E382C302E362D332E372C312E37632D - 302E342C302E342D302E332C312C302E312C312E3463302E342C302E342C312C - 302E332C312E342D302E312063312E322D312E332C332E332D312E332C342E35 - 2C3063302E322C302E322C302E352C302E332C302E372C302E3363302E322C30 - 2C302E352D302E312C302E372D302E334334312E312C32322E372C34312E312C - 32322E312C34302E372C32312E377A222F3E0D0A3C2F7376673E0D0A0C000000 - 76006900650077005F00640065007400610069006C007300790200003C737667 - 2076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77 - 332E6F72672F323030302F737667222076696577426F783D2230203020343820 - 34382220656E61626C652D6261636B67726F756E643D226E6577203020302034 - 38203438223E0D0A202020203C7265637420783D22372220793D223422206669 - 6C6C3D2223424244454642222077696474683D22333422206865696768743D22 - 3430222F3E0D0A202020203C672066696C6C3D2223323139364633223E0D0A20 - 202020202020203C7265637420783D2231332220793D22323622207769647468 - 3D223422206865696768743D2234222F3E0D0A20202020202020203C72656374 - 20783D2231332220793D223138222077696474683D223422206865696768743D - 2234222F3E0D0A20202020202020203C7265637420783D2231332220793D2233 - 34222077696474683D223422206865696768743D2234222F3E0D0A2020202020 - 2020203C7265637420783D2231332220793D223130222077696474683D223422 - 206865696768743D2234222F3E0D0A20202020202020203C7265637420783D22 - 32312220793D223236222077696474683D22313422206865696768743D223422 - 2F3E0D0A20202020202020203C7265637420783D2232312220793D2231382220 - 77696474683D22313422206865696768743D2234222F3E0D0A20202020202020 - 203C7265637420783D2232312220793D223334222077696474683D2231342220 - 6865696768743D2234222F3E0D0A20202020202020203C7265637420783D2232 - 312220793D223130222077696474683D22313422206865696768743D2234222F - 3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A030000007600690070003A - 0200003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A - 2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D22 - 3020302034382034382220656E61626C652D6261636B67726F756E643D226E65 - 7720302030203438203438223E0D0A202020203C706174682066696C6C3D2223 - 3838304534462220643D224D33382C3433483130632D322E322C302D342D312E - 382D342D3456313163302D322E322C312E382D342C342D3468323863322E322C - 302C342C312E382C342C347632384334322C34312E322C34302E322C34332C33 - 382C34337A222F3E0D0A202020203C672066696C6C3D2223464644353446223E - 0D0A20202020202020203C7061746820643D224D31352E392C32386C322E312D - 392E3168322E386C2D332E362C31322E36682D322E364C31312C31382E396832 - 2E384C31352E392C32387A222F3E0D0A20202020202020203C7061746820643D - 224D32352E362C33312E35682D322E355631382E3968322E355633312E357A22 - 2F3E0D0A20202020202020203C7061746820643D224D33312E322C32372E3176 - 342E34682D322E355631382E3968342E3363332E372C302C342E312C332E342C - 342E312C342E3263302C312E322D302E352C342D342E312C344833312E327A20 - 4D33312E322C32342E3968312E372063312E332C302C312E352D312E312C312E - 352D312E3963302D312E362D302E392D322E312D312E352D322E31682D312E37 - 5632342E397A222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A030000 - 0076006C006300C80600003C3F786D6C2076657273696F6E3D22312E30222065 - 6E636F64696E673D227574662D38223F3E0D0A3C212D2D2047656E657261746F - 723A2041646F626520496C6C7573747261746F722031352E302E302C20535647 - 204578706F727420506C75672D496E202E205356472056657273696F6E3A2036 - 2E3030204275696C6420302920202D2D3E0D0A3C21444F435459504520737667 - 205055424C494320222D2F2F5733432F2F4454442053564720312E312F2F454E - 222022687474703A2F2F7777772E77332E6F72672F47726170686963732F5356 - 472F312E312F4454442F73766731312E647464223E0D0A3C7376672076657273 - 696F6E3D22312E31222020786D6C6E733D22687474703A2F2F7777772E77332E - 6F72672F323030302F7376672220786D6C6E733A786C696E6B3D22687474703A - 2F2F7777772E77332E6F72672F313939392F786C696E6B2220783D2230707822 - 20793D22307078220D0A092077696474683D223438707822206865696768743D - 2234387078222076696577426F783D223020302034382034382220656E61626C - 652D6261636B67726F756E643D226E6577203020302034382034382220786D6C - 3A73706163653D227072657365727665223E0D0A3C706174682066696C6C3D22 - 234635374330302220643D224D33362E3235382C32382E38333763302C302D30 - 2E31312D302E3833372D312E3235372D302E383337632D302E3231362C302D32 - 2E3339322C302D332E3731392C3063302E3739382C322E3637312C312E343937 - 2C352E3133352C312E3439372C352E3237390D0A0963302C322E3338372D332E - 3430312C332E3339332D382E3931372C332E333933632D352E3531352C302D38 - 2E3635312D302E39342D382E3635312D332E33323663302D302E3136372C302E - 3939382D322E3639322C312E3739312D352E333436632D312E3539312C302D33 - 2E3836332C302D342E3036332C300D0A09632D302E3830362C302D302E393337 - 2C302E3734392D302E3933372C302E3734394C382E3135392C34302E3938364C - 382E3831352C34326833302E3635326C302E3337362D312E3031344C33362E32 - 35382C32382E3833377A222F3E0D0A3C706174682066696C6C3D222345304530 - 45302220643D224D32342E3030312C36632D312E3032392C302D312E3836342C - 302E3137392D312E3836342C302E333938632D302E3439322C312E3438332D38 - 2E3132322C32362E3134332D382E3132322C32362E3737340D0A0963302C322E - 3338382C342E3437312C332E3832372C392E3938352C332E38323773392E3938 - 362D312E3433392C392E3938362D332E38323763302D302E3534392D372E3631 - 342D32352E3236382D382E3132322D32362E3737344332352E3836352C362E31 - 37392C32352E3033312C362C32342E3030312C360D0A094C32342E3030312C36 - 7A222F3E0D0A3C673E0D0A093C706174682066696C6C3D222346463938303022 - 20643D224D33332E3139362C33302E3434374333322E3033322C33322E323332 - 2C32382E3334312C33342C32342E3034362C3334632D342E33342C302D382E31 - 35362D312E3639362D392E3238312D332E35310D0A0909632D302E3439392C31 - 2E3438332D302E3839322C322E3634372D302E3839322C332E323863302C322E - 3338362C342E3533332C342E3232392C31302E3132382C342E32323963352E35 - 39352C302C31302E3133312D312E3834342C31302E3133312D342E3232390D0A - 09094333342E3133322C33332E3232322C33332E3731332C33312E3935352C33 - 332E3139362C33302E3434377A222F3E0D0A093C706174682066696C6C3D2223 - 4646393830302220643D224D33312E3338372C32342E3331346C2D322E303734 - 2D362E37393463302C302D312E3835372C312E3437392D352E3331312C312E34 - 3739632D332E3435332C302D352E3331362D312E3437392D352E3331362D312E - 3437396C2D322E3038312C362E3830360D0A090963302C302C322E3036382C32 - 2E3637342C372E3339372C322E3637344332392E3337352C32372C33312E3338 - 372C32342E3331342C33312E3338372C32342E3331347A222F3E0D0A093C7061 - 74682066696C6C3D22234646393830302220643D224D32372E3234312C31302E - 3830396C2D312E3337362D342E343163302C302D302E3038332D302E3339382D - 312E3836342D302E333938632D312E3834342C302D312E3836342C302E333938 - 2D312E3836342C302E3339386C2D312E3337362C342E3430370D0A090963302C - 302C302E3838352C312E3139342C332E3233392C312E3139344332362E333535 - 2C31322C32372E3234312C31302E3830392C32372E3234312C31302E3830397A - 222F3E0D0A3C2F673E0D0A3C2F7376673E0D0A1200000076006F006900630065 - 005F00700072006500730065006E0074006100740069006F006E006B0100003C - 7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777 - 772E77332E6F72672F323030302F737667222076696577426F783D2230203020 - 34382034382220656E61626C652D6261636B67726F756E643D226E6577203020 - 30203438203438223E0D0A202020203C706174682066696C6C3D222332313936 - 46332220643D224D34302C3232682D386C2D342C3456313263302D322E322C31 - 2E382D342C342D34683863322E322C302C342C312E382C342C3476364334342C - 32302E322C34322E322C32322C34302C32327A222F3E0D0A202020203C636972 - 636C652066696C6C3D2223464641373236222063783D223137222063793D2231 - 392220723D2238222F3E0D0A202020203C706174682066696C6C3D2223363037 - 4438422220643D224D33302C33362E3763302C302D332E362D362E372D31332D - 362E3753342C33362E372C342C33362E375634306832365633362E377A222F3E - 0D0A3C2F7376673E0D0A0900000076006F006900630065006D00610069006C00 - B10100003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 - 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D - 223020302034382034382220656E61626C652D6261636B67726F756E643D226E - 657720302030203438203438223E0D0A202020203C706174682066696C6C3D22 - 233443414635302220643D224D34382C323463302D362E312D342E392D31312D - 31312D3131732D31312C342E392D31312C313163302C322E372C302E392C352E - 312C322E352C37682D3963312E362D312E392C322E352D342E332C322E352D37 - 63302D362E312D342E392D31312D31312D31312053302C31372E392C302C3234 - 73342E392C31312C31312C3131683237762D302E314334332E362C33342E342C - 34382C32392E372C34382C32347A204D342C323463302D332E392C332E312D37 - 2C372D3773372C332E312C372C37732D332E312C372D372C3753342C32372E39 - 2C342C32347A204D33372C333120632D332E392C302D372D332E312D372D3773 - 332E312D372C372D3763332E392C302C372C332E312C372C375334302E392C33 - 312C33372C33317A222F3E0D0A3C2F7376673E0D0A0600000077006500620063 - 0061006D00A20200003C7376672076657273696F6E3D22312220786D6C6E733D - 22687474703A2F2F7777772E77332E6F72672F323030302F7376672220766965 - 77426F783D223020302034382034382220656E61626C652D6261636B67726F75 - 6E643D226E657720302030203438203438223E0D0A202020203C706174682066 - 696C6C3D22233435354136342220643D224D33362E352C34344831312E35632D - 312E312C302D312E382D312E322D312E332D322E324C31332C33376832326C32 - 2E372C342E384333382E332C34322E382C33372E362C34342C33362E352C3434 - 7A222F3E0D0A202020203C636972636C652066696C6C3D222337383930394322 - 2063783D223234222063793D2232332220723D223138222F3E0D0A202020203C - 706174682066696C6C3D22233435354136342220643D224D32342C3335632D36 - 2E362C302D31322D352E342D31322D313263302D362E362C352E342D31322C31 - 322D31327331322C352E342C31322C31324333362C32392E362C33302E362C33 - 352C32342C33357A222F3E0D0A202020203C636972636C652066696C6C3D2223 - 343241354635222063783D223234222063793D2232332220723D2239222F3E0D - 0A202020203C706174682066696C6C3D22233930434146392220643D224D3238 - 2E382C3230632D312E322D312E342D332D322E322D342E382D322E32732D332E - 362C302E382D342E382C322E32632D302E352C302E352D302E342C312E332C30 - 2E312C312E3863302E352C302E352C312E332C302E342C312E382D302E312063 - 312E352D312E372C342E332D312E372C352E382C3063302E332C302E332C302E - 362C302E342C312C302E3463302E332C302C302E362D302E312C302E392D302E - 334332392E322C32312E342C32392E332C32302E352C32382E382C32307A222F - 3E0D0A3C2F7376673E0D0A0A000000770069002D00660069005F006C006F0067 - 006F00170600003C3F786D6C2076657273696F6E3D22312E302220656E636F64 - 696E673D227574662D38223F3E0D0A3C212D2D2047656E657261746F723A2041 - 646F626520496C6C7573747261746F722031352E302E302C2053564720457870 - 6F727420506C75672D496E202E205356472056657273696F6E3A20362E303020 - 4275696C6420302920202D2D3E0D0A3C21444F43545950452073766720505542 - 4C494320222D2F2F5733432F2F4454442053564720312E312F2F454E22202268 - 7474703A2F2F7777772E77332E6F72672F47726170686963732F5356472F312E - 312F4454442F73766731312E647464223E0D0A3C7376672076657273696F6E3D - 22312E31222020786D6C6E733D22687474703A2F2F7777772E77332E6F72672F - 323030302F7376672220786D6C6E733A786C696E6B3D22687474703A2F2F7777 - 772E77332E6F72672F313939392F786C696E6B2220783D223070782220793D22 - 307078220D0A092077696474683D223438707822206865696768743D22343870 - 78222076696577426F783D223020302034382034382220656E61626C652D6261 - 636B67726F756E643D226E6577203020302034382034382220786D6C3A737061 - 63653D227072657365727665223E0D0A3C673E0D0A093C706174682066696C6C - 3D22233346353142352220643D224D34362C32362E343863302C342E3532372D - 332E3236382C372E35322D372E332C372E353248392E32393943352E3236392C - 33342C322C33302E3633342C322C32362E34385632312E353243322C31372E33 - 36362C352E3236392C31342C392E3239392C31340D0A09094833382E3763342E - 3033322C302C372E332C332E3336362C372E332C372E35325632362E34387A22 - 2F3E0D0A093C656C6C697073652066696C6C3D2223334635314235222063783D - 223234222063793D223234222072783D2231342E393032222072793D22313522 - 2F3E0D0A3C2F673E0D0A3C673E0D0A093C706F6C79676F6E2066696C6C3D2223 - 4646464646462220706F696E74733D2231372C31392031342E3236342C313920 - 31332E3432372C32342E3835392031322E3338382C31392E30323820392E3933 - 2C31392E30323820382E3836342C32342E38353920382E3035342C31392E3032 - 3820352E3236362C31392E303238200D0A0909372E3539372C32392031302E30 - 35362C32392031312E31322C32322E3835342031322E3230392C32392031342E - 3639332C32392009222F3E0D0A093C7265637420783D2231392220793D223232 - 222066696C6C3D2223464646464646222077696474683D22322E353038222068 - 65696768743D2237222F3E0D0A093C706174682066696C6C3D22234646464646 - 462220643D224D32312E352C31392E3734374332312E352C32302E34342C3230 - 2E39342C32312C32302E32352C32315331392C32302E34342C31392C31392E37 - 343763302D302E3639362C302E35362D312E3235382C312E32352D312E323538 - 0D0A09095332312E352C31392E3035312C32312E352C31392E3734377A222F3E - 0D0A093C706174682066696C6C3D22234646464646462220643D224D33382E35 - 36312C3136632D342E3831382C302D372E3937392C302D372E3937392C305332 - 352C31362E3139332C32352C32312E39313476342E33333663302C302C302E31 - 30312C322E3934312D332C352E37356831362E3738350D0A090963302C302C35 - 2E3231352C302C352E3231352D352E35353363302D342E3837392C302D342E38 - 37392C302D342E3837395334332E3737322C31362C33382E3536312C31367A20 - 4D33372E3333392C32312E333639682D352E36353176322E32333668352E3039 - 3476322E333434682D352E3039345632394832395631390D0A090968382E3333 - 395632312E3336397A204D34302E32352C31382E34383963302E3638392C302C - 312E32352C302E3536322C312E32352C312E3235384334312E352C32302E3434 - 2C34302E3933392C32312C34302E32352C32315333392C32302E34342C33392C - 31392E3734370D0A09094333392C31392E3035312C33392E3536312C31382E34 - 38392C34302E32352C31382E3438397A204D34312E3530382C3239483339762D - 3768322E3530385632397A222F3E0D0A3C2F673E0D0A3C2F7376673E0D0A0900 - 0000770069006B006900700065006400690061002E0600003C3F786D6C207665 - 7273696F6E3D22312E302220656E636F64696E673D227574662D38223F3E0D0A - 3C212D2D2047656E657261746F723A2041646F626520496C6C7573747261746F - 722031352E302E302C20535647204578706F727420506C75672D496E202E2053 - 56472056657273696F6E3A20362E3030204275696C6420302920202D2D3E0D0A - 3C21444F435459504520737667205055424C494320222D2F2F5733432F2F4454 - 442053564720312E312F2F454E222022687474703A2F2F7777772E77332E6F72 - 672F47726170686963732F5356472F312E312F4454442F73766731312E647464 - 223E0D0A3C7376672076657273696F6E3D22312E31222020786D6C6E733D2268 - 7474703A2F2F7777772E77332E6F72672F323030302F7376672220786D6C6E73 - 3A786C696E6B3D22687474703A2F2F7777772E77332E6F72672F313939392F78 - 6C696E6B2220783D223070782220793D22307078220D0A092077696474683D22 - 3438707822206865696768743D2234387078222076696577426F783D22302030 - 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 - 20302034382034382220786D6C3A73706163653D227072657365727665223E0D - 0A3C706174682066696C6C3D22234346443844432220643D224D362C31306330 - 2D322E3230392C312E3739312D342C342D3468323863322E3230392C302C342C - 312E3739312C342C3476323863302C322E3230392D312E3739312C342D342C34 - 483130632D322E3230392C302D342D312E3739312D342D345631307A222F3E0D - 0A3C706174682066696C6C3D22233337343734462220643D224D33392C31372E - 32373163302C302E3139312D302E3134382C302E3334392D302E3333342C302E - 333439682D312E3739396C2D382E3136342C31382E313739632D302E3035322C - 302E31322D302E31372C302E322D302E3239372C302E323032682D302E303034 - 0D0A09632D302E3132372C302D302E3234322D302E3037342D302E3239382D30 - 2E3139336C2D332E3837342D382E3033396C2D342E31382C382E303439632D30 - 2E30362C302E3131362D302E3136372C302E3138312D302E3330332C302E3138 - 340D0A09632D302E3132352D302E3030342D302E3233392D302E3038322D302E - 3239322D302E3139396C2D382E3235322D31382E313832682D312E383743392E - 3134392C31372E3631392C392C31372E3436322C392C31372E3237315631362E - 333543392C31362E3135352C392E3134392C31362C392E3333332C313668362E - 3635370D0A0963302E3138342C302C302E3333332C302E3135352C302E333333 - 2C302E333576302E39323163302C302E3139312D302E3134392C302E3334392D - 302E3333332C302E333439682D312E3433336C352E3639362C31332E3734386C - 322E3936342D352E3739336C2D332E3735372D372E393533682D302E3930340D - 0A09632D302E3138342C302D302E3333332D302E3135372D302E3333332D302E - 33355631362E333563302D302E3139312C302E3134392D302E3334382C302E33 - 33332D302E33343868342E39323463302E3138342C302C302E3333332C302E31 - 35362C302E3333332C302E33343876302E3932320D0A0963302C302E3139322D - 302E3134392C302E33352D302E3333332C302E3335682D302E3836376C322E31 - 36322C342E3934386C322E3537322D342E3934384832352E3737632D302E3138 - 372C302D302E3333342D302E3135372D302E3333342D302E33355631362E3335 - 0D0A0963302D302E3139312C302E3134372D302E3334382C302E3333342D302E - 33343868342E37383463302E3138372C302C302E3333332C302E3135362C302E - 3333332C302E33343876302E39323263302C302E3139322D302E3134362C302E - 33352D302E3333332C302E3335682D312E30356C2D332E3735372C372E313431 - 0D0A096C332E3036332C362E3538346C352E3930352D31332E373235682D312E - 383732632D302E3138342C302D302E3333342D302E3135372D302E3333342D30 - 2E33355631362E333563302D302E3139312C302E31352D302E3334382C302E33 - 33342D302E33343868352E3832320D0A0963302E3138362C302C302E3333342C - 302E3135362C302E3333342C302E3334385631372E3237317A222F3E0D0A3C2F - 7376673E0D0A0800000077006F0072006B0066006C006F007700540300003C73 - 76672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F777777 - 2E77332E6F72672F323030302F737667222076696577426F783D223020302034 - 382034382220656E61626C652D6261636B67726F756E643D226E657720302030 - 203438203438223E0D0A202020203C7265637420783D22372220793D22333122 - 2066696C6C3D2223303042434434222077696474683D22313022206865696768 - 743D223130222F3E0D0A202020203C706174682066696C6C3D22233030424344 - 342220643D224D33352E332C31392E336C2D352E362D352E36632D302E342D30 - 2E342D302E342D312C302D312E346C352E362D352E3663302E342D302E342C31 - 2D302E342C312E342C306C352E362C352E3663302E342C302E342C302E342C31 - 2C302C312E34206C2D352E362C352E364333362E332C31392E372C33352E372C - 31392E372C33352E332C31392E337A222F3E0D0A202020203C636972636C6520 - 66696C6C3D2223334635314235222063783D223132222063793D223133222072 - 3D2236222F3E0D0A202020203C636972636C652066696C6C3D22233434384146 - 46222063783D223336222063793D2233362220723D2236222F3E0D0A20202020 - 3C672066696C6C3D2223393041344145223E0D0A20202020202020203C726563 - 7420783D2231312220793D223234222077696474683D22322220686569676874 - 3D2235222F3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D - 2231322C323120392C32352031352C3235222F3E0D0A202020203C2F673E0D0A - 202020203C672066696C6C3D2223393041344145223E0D0A2020202020202020 - 3C7265637420783D2232302220793D223132222077696474683D223522206865 - 696768743D2232222F3E0D0A20202020202020203C706F6C79676F6E20706F69 - 6E74733D2232382C31332032342C31302032342C3136222F3E0D0A202020203C - 2F673E0D0A202020203C672066696C6C3D2223393041344145223E0D0A202020 - 20202020203C7265637420783D2233352220793D223231222077696474683D22 - 3222206865696768743D2235222F3E0D0A20202020202020203C706F6C79676F - 6E20706F696E74733D2233362C32392033392C32352033332C3235222F3E0D0A - 202020203C2F673E0D0A3C2F7376673E0D0A} - end -end +object ImageDataModule: TImageDataModule + OldCreateOrder = False + Height = 150 + Width = 215 + object SVGIconImageCollection: TSVGIconImageCollection + Left = 87 + Top = 30 + Images = { + 1B0100000B00000062007500730069006E006500730073006D0061006E009D03 + 00003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F + 2F7777772E77332E6F72672F323030302F737667222076696577426F783D2230 + 20302034382034382220656E61626C652D6261636B67726F756E643D226E6577 + 20302030203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D + 22234646393830302220706F696E74733D2232342C33372031392C3331203139 + 2C32352032392C32352032392C3331222F3E0D0A202020203C672066696C6C3D + 2223464641373236223E0D0A20202020202020203C636972636C652063783D22 + 3333222063793D2231392220723D2232222F3E0D0A20202020202020203C6369 + 72636C652063783D223135222063793D2231392220723D2232222F3E0D0A2020 + 20203C2F673E0D0A202020203C706174682066696C6C3D222346464237344422 + 20643D224D33332C313363302D372E362D31382D352D31382C3063302C312E31 + 2C302C352E392C302C3763302C352C342C392C392C3973392D342C392D394333 + 332C31382E392C33332C31342E312C33332C31337A222F3E0D0A202020203C70 + 6174682066696C6C3D22233432343234322220643D224D32342C34632D362E31 + 2C302D31302C342E392D31302C313163302C302E382C302C322E332C302C322E + 336C322C312E37762D356C31322D346C342C3476356C322D312E3763302C302C + 302D312E352C302D322E3363302D342D312D382D362D396C2D312D3220483234 + 7A222F3E0D0A202020203C672066696C6C3D2223373834373139223E0D0A2020 + 2020202020203C636972636C652063783D223238222063793D2231392220723D + 2231222F3E0D0A20202020202020203C636972636C652063783D223230222063 + 793D2231392220723D2231222F3E0D0A202020203C2F673E0D0A202020203C70 + 6F6C79676F6E2066696C6C3D22236666662220706F696E74733D2232342C3433 + 2031392C33312032342C33322032392C3331222F3E0D0A202020203C706F6C79 + 676F6E2066696C6C3D22234433324632462220706F696E74733D2232332C3335 + 2032322E332C33392E352032342C34332E352032352E372C33392E352032352C + 33352032362C33342032342C33322032322C3334222F3E0D0A202020203C7061 + 74682066696C6C3D22233534364537412220643D224D32392C33314C32392C33 + 316C2D352C31326C2D352D313263302C302D31312C322D31312C313368333243 + 34302C33332C32392C33312C32392C33317A222F3E0D0A3C2F7376673E0D0A0D + 00000062007500730069006E0065007300730077006F006D0061006E00F60200 + 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F + 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 + 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 + 302030203438203438223E0D0A202020203C7265637420783D2231362220793D + 223135222066696C6C3D2223424633363043222077696474683D223136222068 + 65696768743D223138222F3E0D0A202020203C706174682066696C6C3D222337 + 38393039432220643D224D34302C3434483863302D31312C31312D31332C3131 + 2D31336831304332392C33312C34302C33332C34302C34347A222F3E0D0A2020 + 20203C706174682066696C6C3D22234646393830302220643D224D32342C3337 + 632D322E322C302D352D362D352D36762D3668313076364332392C33312C3236 + 2E322C33372C32342C33377A222F3E0D0A202020203C706174682066696C6C3D + 22234646423734442220643D224D33332C313463302D372E362D31382D352D31 + 382C3063302C312E312C302C352E392C302C3763302C352C342C392C392C3973 + 392D342C392D394333332C31392E392C33332C31352E312C33332C31347A222F + 3E0D0A202020203C706174682066696C6C3D22234646353732322220643D224D + 32342C344331372E392C342C392C372E342C392C32372E336C372C342E375631 + 396C31322D376C342C357631356C372D3663302D342D302E372D32302D31312D + 32306C2D312D324832347A222F3E0D0A202020203C706174682066696C6C3D22 + 234646423734442220643D224D32342C3338632D342E342C302D352D372D352D + 3773322E352C342C352C3473352D342C352D345332382E342C33382C32342C33 + 387A222F3E0D0A202020203C636972636C652066696C6C3D2223373834373139 + 222063783D223238222063793D2232312220723D2231222F3E0D0A202020203C + 636972636C652066696C6C3D2223373834373139222063783D22323022206379 + 3D2232312220723D2231222F3E0D0A3C2F7376673E0D0A08000000630061006C + 0065006E00640061007200030500003C7376672076657273696F6E3D22312220 + 786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376 + 67222076696577426F783D223020302034382034382220656E61626C652D6261 + 636B67726F756E643D226E657720302030203438203438223E0D0A202020203C + 706174682066696C6C3D22234346443844432220643D224D352C333856313468 + 333876323463302C322E322D312E382C342D342C34483943362E382C34322C35 + 2C34302E322C352C33387A222F3E0D0A202020203C706174682066696C6C3D22 + 234634343333362220643D224D34332C313076364835762D3663302D322E322C + 312E382D342C342D346833304334312E322C362C34332C372E382C34332C3130 + 7A222F3E0D0A202020203C672066696C6C3D2223423731433143223E0D0A2020 + 2020202020203C636972636C652063783D223333222063793D2231302220723D + 2233222F3E0D0A20202020202020203C636972636C652063783D223135222063 + 793D2231302220723D2233222F3E0D0A202020203C2F673E0D0A202020203C67 + 2066696C6C3D2223423042454335223E0D0A20202020202020203C7061746820 + 643D224D33332C33632D312E312C302D322C302E392D322C32763563302C312E + 312C302E392C322C322C3273322D302E392C322D3256354333352C332E392C33 + 342E312C332C33332C337A222F3E0D0A20202020202020203C7061746820643D + 224D31352C33632D312E312C302D322C302E392D322C32763563302C312E312C + 302E392C322C322C3273322D302E392C322D3256354331372C332E392C31362E + 312C332C31352C337A222F3E0D0A202020203C2F673E0D0A202020203C672066 + 696C6C3D2223393041344145223E0D0A20202020202020203C7265637420783D + 2231332220793D223230222077696474683D223422206865696768743D223422 + 2F3E0D0A20202020202020203C7265637420783D2231392220793D2232302220 + 77696474683D223422206865696768743D2234222F3E0D0A2020202020202020 + 3C7265637420783D2232352220793D223230222077696474683D223422206865 + 696768743D2234222F3E0D0A20202020202020203C7265637420783D22333122 + 20793D223230222077696474683D223422206865696768743D2234222F3E0D0A + 20202020202020203C7265637420783D2231332220793D223236222077696474 + 683D223422206865696768743D2234222F3E0D0A20202020202020203C726563 + 7420783D2231392220793D223236222077696474683D22342220686569676874 + 3D2234222F3E0D0A20202020202020203C7265637420783D2232352220793D22 + 3236222077696474683D223422206865696768743D2234222F3E0D0A20202020 + 202020203C7265637420783D2233312220793D223236222077696474683D2234 + 22206865696768743D2234222F3E0D0A20202020202020203C7265637420783D + 2231332220793D223332222077696474683D223422206865696768743D223422 + 2F3E0D0A20202020202020203C7265637420783D2231392220793D2233322220 + 77696474683D223422206865696768743D2234222F3E0D0A2020202020202020 + 3C7265637420783D2232352220793D223332222077696474683D223422206865 + 696768743D2234222F3E0D0A20202020202020203C7265637420783D22333122 + 20793D223332222077696474683D223422206865696768743D2234222F3E0D0A + 202020203C2F673E0D0A3C2F7376673E0D0A05000000610062006F0075007400 + 600100003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 + 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D + 223020302034382034382220656E61626C652D6261636B67726F756E643D226E + 657720302030203438203438223E0D0A202020203C706174682066696C6C3D22 + 233231393646332220643D224D33372C34304831316C2D362C3656313263302D + 332E332C322E372D362C362D3668323663332E332C302C362C322E372C362C36 + 7632324334332C33372E332C34302E332C34302C33372C34307A222F3E0D0A20 + 2020203C672066696C6C3D2223666666223E0D0A20202020202020203C726563 + 7420783D2232322220793D223230222077696474683D22342220686569676874 + 3D223131222F3E0D0A20202020202020203C636972636C652063783D22323422 + 2063793D2231352220723D2232222F3E0D0A202020203C2F673E0D0A3C2F7376 + 673E0D0A0A000000630061006C00630075006C00610074006F0072004D090000 + 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 + 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 + 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 + 2030203438203438223E0D0A202020203C706174682066696C6C3D2223363136 + 3136312220643D224D34302C3136483876323463302C322E322C312E382C342C + 342C3468323463322E322C302C342D312E382C342D345631367A222F3E0D0A20 + 2020203C706174682066696C6C3D22233432343234322220643D224D33362C34 + 48313243392E382C342C382C352E382C382C38763968333256384334302C352E + 382C33382E322C342C33362C347A222F3E0D0A202020203C706174682066696C + 6C3D22233943434336352220643D224D33362C3134483132632D302E362C302D + 312D302E342D312D31563863302D302E362C302E342D312C312D316832346330 + 2E362C302C312C302E342C312C3176354333372C31332E362C33362E362C3134 + 2C33362C31347A222F3E0D0A202020203C672066696C6C3D2223333336393145 + 223E0D0A20202020202020203C7265637420783D2233332220793D2231302220 + 77696474683D223222206865696768743D2232222F3E0D0A2020202020202020 + 3C7265637420783D2232392220793D223130222077696474683D223222206865 + 696768743D2232222F3E0D0A202020203C2F673E0D0A202020203C7061746820 + 66696C6C3D22234646353235322220643D224D33362C3233682D33632D302E36 + 2C302D312D302E342D312D31762D3263302D302E362C302E342D312C312D3168 + 3363302E362C302C312C302E342C312C3176324333372C32322E362C33362E36 + 2C32332C33362C32337A222F3E0D0A202020203C672066696C6C3D2223453045 + 304530223E0D0A20202020202020203C7061746820643D224D31352C3233682D + 33632D302E362C302D312D302E342D312D31762D3263302D302E362C302E342D + 312C312D31683363302E362C302C312C302E342C312C3176324331362C32322E + 362C31352E362C32332C31352C32337A222F3E0D0A20202020202020203C7061 + 746820643D224D32322C3233682D33632D302E362C302D312D302E342D312D31 + 762D3263302D302E362C302E342D312C312D31683363302E362C302C312C302E + 342C312C3176324332332C32322E362C32322E362C32332C32322C32337A222F + 3E0D0A20202020202020203C7061746820643D224D32392C3233682D33632D30 + 2E362C302D312D302E342D312D31762D3263302D302E362C302E342D312C312D + 31683363302E362C302C312C302E342C312C3176324333302C32322E362C3239 + 2E362C32332C32392C32337A222F3E0D0A20202020202020203C706174682064 + 3D224D31352C3239682D33632D302E362C302D312D302E342D312D31762D3263 + 302D302E362C302E342D312C312D31683363302E362C302C312C302E342C312C + 3176324331362C32382E362C31352E362C32392C31352C32397A222F3E0D0A20 + 202020202020203C7061746820643D224D32322C3239682D33632D302E362C30 + 2D312D302E342D312D31762D3263302D302E362C302E342D312C312D31683363 + 302E362C302C312C302E342C312C3176324332332C32382E362C32322E362C32 + 392C32322C32397A222F3E0D0A20202020202020203C7061746820643D224D32 + 392C3239682D33632D302E362C302D312D302E342D312D31762D3263302D302E + 362C302E342D312C312D31683363302E362C302C312C302E342C312C31763243 + 33302C32382E362C32392E362C32392C32392C32397A222F3E0D0A2020202020 + 2020203C7061746820643D224D31352C3335682D33632D302E362C302D312D30 + 2E342D312D31762D3263302D302E362C302E342D312C312D31683363302E362C + 302C312C302E342C312C3176324331362C33342E362C31352E362C33352C3135 + 2C33357A222F3E0D0A20202020202020203C7061746820643D224D32322C3335 + 682D33632D302E362C302D312D302E342D312D31762D3263302D302E362C302E + 342D312C312D31683363302E362C302C312C302E342C312C3176324332332C33 + 342E362C32322E362C33352C32322C33357A222F3E0D0A20202020202020203C + 7061746820643D224D32392C3335682D33632D302E362C302D312D302E342D31 + 2D31762D3263302D302E362C302E342D312C312D31683363302E362C302C312C + 302E342C312C3176324333302C33342E362C32392E362C33352C32392C33357A + 222F3E0D0A20202020202020203C7061746820643D224D31352C3431682D3363 + 2D302E362C302D312D302E342D312D31762D3263302D302E362C302E342D312C + 312D31683363302E362C302C312C302E342C312C3176324331362C34302E362C + 31352E362C34312C31352C34317A222F3E0D0A20202020202020203C70617468 + 20643D224D32322C3431682D33632D302E362C302D312D302E342D312D31762D + 3263302D302E362C302E342D312C312D31683363302E362C302C312C302E342C + 312C3176324332332C34302E362C32322E362C34312C32322C34317A222F3E0D + 0A20202020202020203C7061746820643D224D32392C3431682D33632D302E36 + 2C302D312D302E342D312D31762D3263302D302E362C302E342D312C312D3168 + 3363302E362C302C312C302E342C312C3176324333302C34302E362C32392E36 + 2C34312C32392C34317A222F3E0D0A202020203C2F673E0D0A202020203C6720 + 66696C6C3D2223424442444244223E0D0A20202020202020203C706174682064 + 3D224D33362C3239682D33632D302E362C302D312D302E342D312D31762D3263 + 302D302E362C302E342D312C312D31683363302E362C302C312C302E342C312C + 3176324333372C32382E362C33362E362C32392C33362C32397A222F3E0D0A20 + 202020202020203C7061746820643D224D33362C3335682D33632D302E362C30 + 2D312D302E342D312D31762D3263302D302E362C302E342D312C312D31683363 + 302E362C302C312C302E342C312C3176324333372C33342E362C33362E362C33 + 352C33362C33357A222F3E0D0A20202020202020203C7061746820643D224D33 + 362C3431682D33632D302E362C302D312D302E342D312D31762D3263302D302E + 362C302E342D312C312D31683363302E362C302C312C302E342C312C31763243 + 33372C34302E362C33362E362C34312C33362C34317A222F3E0D0A202020203C + 2F673E0D0A3C2F7376673E0D0A0A000000630065006C006C005F00700068006F + 006E006500EB0500003C7376672076657273696F6E3D22312220786D6C6E733D + 22687474703A2F2F7777772E77332E6F72672F323030302F7376672220766965 + 77426F783D223020302034382034382220656E61626C652D6261636B67726F75 + 6E643D226E657720302030203438203438223E0D0A202020203C706174682066 + 696C6C3D22233534364537412220643D224D31322C343056313068323063322E + 322C302C342C312E382C342C3476323663302C322E322D312E382C342D342C34 + 4831364331332E382C34342C31322C34322E322C31322C34307A222F3E0D0A20 + 2020203C706174682066696C6C3D22233446433346372220643D224D33322C31 + 33483136632D302E362C302D312C302E342D312C31763863302C302E362C302E + 342C312C312C3168313663302E362C302C312D302E342C312D31762D38433333 + 2C31332E342C33322E362C31332C33322C31337A222F3E0D0A202020203C7061 + 74682066696C6C3D22234233453546432220643D224D31392C3330682D32632D + 302E362C302D312D302E342D312D31762D3163302D302E362C302E342D312C31 + 2D31683263302E362C302C312C302E342C312C3176314332302C32392E362C31 + 392E362C33302C31392C33307A222F3E0D0A202020203C706174682066696C6C + 3D22234233453546432220643D224D32352C3330682D32632D302E362C302D31 + 2D302E342D312D31762D3163302D302E362C302E342D312C312D31683263302E + 362C302C312C302E342C312C3176314332362C32392E362C32352E362C33302C + 32352C33307A222F3E0D0A202020203C706174682066696C6C3D222342334535 + 46432220643D224D33312C3330682D32632D302E362C302D312D302E342D312D + 31762D3163302D302E362C302E342D312C312D31683263302E362C302C312C30 + 2E342C312C3176314333322C32392E362C33312E362C33302C33312C33307A22 + 2F3E0D0A202020203C706174682066696C6C3D22234233453546432220643D22 + 4D31392C3335682D32632D302E362C302D312D302E342D312D31762D3163302D + 302E362C302E342D312C312D31683263302E362C302C312C302E342C312C3176 + 314332302C33342E362C31392E362C33352C31392C33357A222F3E0D0A202020 + 203C706174682066696C6C3D22234233453546432220643D224D32352C333568 + 2D32632D302E362C302D312D302E342D312D31762D3163302D302E362C302E34 + 2D312C312D31683263302E362C302C312C302E342C312C3176314332362C3334 + 2E362C32352E362C33352C32352C33357A222F3E0D0A202020203C7061746820 + 66696C6C3D22234233453546432220643D224D33312C3335682D32632D302E36 + 2C302D312D302E342D312D31762D3163302D302E362C302E342D312C312D3168 + 3263302E362C302C312C302E342C312C3176314333322C33342E362C33312E36 + 2C33352C33312C33357A222F3E0D0A202020203C706174682066696C6C3D2223 + 4233453546432220643D224D31392C3430682D32632D302E362C302D312D302E + 342D312D31762D3163302D302E362C302E342D312C312D31683263302E362C30 + 2C312C302E342C312C3176314332302C33392E362C31392E362C34302C31392C + 34307A222F3E0D0A202020203C706174682066696C6C3D222342334535464322 + 20643D224D32352C3430682D32632D302E362C302D312D302E342D312D31762D + 3163302D302E362C302E342D312C312D31683263302E362C302C312C302E342C + 312C3176314332362C33392E362C32352E362C34302C32352C34307A222F3E0D + 0A202020203C706174682066696C6C3D22234233453546432220643D224D3331 + 2C3430682D32632D302E362C302D312D302E342D312D31762D3163302D302E36 + 2C302E342D312C312D31683263302E362C302C312C302E342C312C3176314333 + 322C33392E362C33312E362C34302C33312C34307A222F3E0D0A202020203C70 + 6174682066696C6C3D22233337343734462220643D224D31362C3130682D3456 + 3463302D312E312C302E392D322C322D32683063312E312C302C322C302E392C + 322C325631307A222F3E0D0A3C2F7376673E0D0A0800000063006F006E007400 + 6100630074007300AD0100003C7376672076657273696F6E3D22312220786D6C + 6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376672220 + 76696577426F783D223020302034382034382220656E61626C652D6261636B67 + 726F756E643D226E657720302030203438203438223E0D0A202020203C706174 + 682066696C6C3D22234646373034332220643D224D33382C3434483132563468 + 323663322E322C302C342C312E382C342C347633324334322C34322E322C3430 + 2E322C34342C33382C34347A222F3E0D0A202020203C706174682066696C6C3D + 22234246333630432220643D224D31302C346832763430682D32632D322E322C + 302D342D312E382D342D34563843362C352E382C372E382C342C31302C347A22 + 2F3E0D0A202020203C672066696C6C3D2223414233303042223E0D0A20202020 + 202020203C636972636C652063783D223236222063793D2232302220723D2234 + 222F3E0D0A20202020202020203C7061746820643D224D33332C333063302C30 + 2D312E392D342D372D34632D352E312C302D372C342D372C3476326831345633 + 307A222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0B000000610064 + 0076006500720074006900730069006E006700350300003C7376672076657273 + 696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F7267 + 2F323030302F737667222076696577426F783D22302030203438203438222065 + 6E61626C652D6261636B67726F756E643D226E65772030203020343820343822 + 3E0D0A202020203C672066696C6C3D2223393043414639223E0D0A2020202020 + 2020203C7061746820643D224D31372E342C3333483135762D3468346C302E34 + 2C312E354331392E372C33312E382C31382E372C33332C31372E342C33337A22 + 2F3E0D0A20202020202020203C7061746820643D224D33372C333663302C302D + 31312E382D372D31382D3756313563352E382C302C31382D372C31382D375633 + 367A222F3E0D0A202020203C2F673E0D0A202020203C672066696C6C3D222332 + 3833353933223E0D0A20202020202020203C636972636C652063783D22392220 + 63793D2232322220723D2235222F3E0D0A20202020202020203C706174682064 + 3D224D34302C3139682D337636683363312E372C302C332D312E332C332D3353 + 34312E372C31392C34302C31397A222F3E0D0A20202020202020203C70617468 + 20643D224D31382E362C34312E32632D302E392C302E362D322E352C312E322D + 342E362C312E34632D302E362C302E312D312E322D302E332D312E342D314C38 + 2E322C32372E3963302C302C382E382D362E322C382E382C312E312063302C35 + 2E352C312E352C382E342C322E322C392E3563302E352C302E372C302E352C31 + 2E362C302C322E334331392C34312C31382E382C34312E312C31382E362C3431 + 2E327A222F3E0D0A202020203C2F673E0D0A202020203C706174682066696C6C + 3D22233346353142352220643D224D392C32396831305631354839632D312E31 + 2C302D322C302E392D322C3276313043372C32382E312C372E392C32392C392C + 32397A222F3E0D0A202020203C706174682066696C6C3D222334324135463522 + 20643D224D33382C33384C33382C3338632D312E312C302D322D302E392D322D + 32563863302D312E312C302E392D322C322D32683063312E312C302C322C302E + 392C322C327632384334302C33372E312C33392E312C33382C33382C33387A22 + 2F3E0D0A3C2F7376673E0D0A1700000061006C00700068006100620065007400 + 6900630061006C005F0073006F007200740069006E0067005F0061007A00B001 + 00003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F + 2F7777772E77332E6F72672F323030302F737667222076696577426F783D2230 + 20302034382034382220656E61626C652D6261636B67726F756E643D226E6577 + 20302030203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D + 22233534364537412220706F696E74733D2233382C33332033382C352033342C + 352033342C33332032382C33332033362C34332034342C3333222F3E0D0A2020 + 20203C672066696C6C3D2223323139364633223E0D0A20202020202020203C70 + 61746820643D224D31362E382C31372E32682D352E336C2D312E312C3348362E + 394C31322E362C3568322E396C352E372C31352E32682D332E324C31362E382C + 31372E327A204D31322E322C31342E354831366C2D312E392D352E374C31322E + 322C31342E357A222F3E0D0A20202020202020203C7061746820643D224D3132 + 2E342C34302E3548323056343348382E34762D312E394C31362C33302E334838 + 2E34762D322E356831312E3476312E374C31322E342C34302E357A222F3E0D0A + 202020203C2F673E0D0A3C2F7376673E0D0A1700000061006C00700068006100 + 6200650074006900630061006C005F0073006F007200740069006E0067005F00 + 7A006100AA0100003C7376672076657273696F6E3D22312220786D6C6E733D22 + 687474703A2F2F7777772E77332E6F72672F323030302F737667222076696577 + 426F783D223020302034382034382220656E61626C652D6261636B67726F756E + 643D226E657720302030203438203438223E0D0A202020203C672066696C6C3D + 2223323139364633223E0D0A20202020202020203C7061746820643D224D3136 + 2E382C3430682D352E336C2D312E312C3348362E396C352E372D31352E326832 + 2E394C32312E312C3433682D332E324C31362E382C34307A204D31322E322C33 + 372E334831366C2D312E392D352E374C31322E322C33372E337A222F3E0D0A20 + 202020202020203C7061746820643D224D31322E342C31372E3748323076322E + 3548382E34762D312E394C31362C372E3548382E3456356831312E3476312E37 + 4C31322E342C31372E377A222F3E0D0A202020203C2F673E0D0A202020203C70 + 6F6C79676F6E2066696C6C3D22233534364537412220706F696E74733D223338 + 2C33332033382C352033342C352033342C33332032382C33332033362C343320 + 34342C3333222F3E0D0A3C2F7376673E0D0A0A00000061006E00640072006F00 + 690064005F006F007300520600003C3F786D6C2076657273696F6E3D22312E30 + 2220656E636F64696E673D227574662D38223F3E0D0A3C212D2D2047656E6572 + 61746F723A2041646F626520496C6C7573747261746F722031352E302E302C20 + 535647204578706F727420506C75672D496E202E205356472056657273696F6E + 3A20362E3030204275696C6420302920202D2D3E0D0A3C21444F435459504520 + 737667205055424C494320222D2F2F5733432F2F4454442053564720312E312F + 2F454E222022687474703A2F2F7777772E77332E6F72672F4772617068696373 + 2F5356472F312E312F4454442F73766731312E647464223E0D0A3C7376672076 + 657273696F6E3D22312E31222020786D6C6E733D22687474703A2F2F7777772E + 77332E6F72672F323030302F7376672220786D6C6E733A786C696E6B3D226874 + 74703A2F2F7777772E77332E6F72672F313939392F786C696E6B2220783D2230 + 70782220793D22307078220D0A092077696474683D2234387078222068656967 + 68743D2234387078222076696577426F783D223020302034382034382220656E + 61626C652D6261636B67726F756E643D226E6577203020302034382034382220 + 786D6C3A73706163653D227072657365727665223E0D0A3C673E0D0A093C7061 + 74682066696C6C3D22233743423334322220643D224D31322C32392E30303163 + 302C312E3130342D302E3839362C322D322C326C302C30632D312E3130342C30 + 2D322D302E3839362D322D32762D3963302D312E3130342C302E3839362D322C + 322D326C302C3063312E3130342C302C322C302E3839362C322C320D0A090956 + 32392E3030317A222F3E0D0A093C706174682066696C6C3D2223374342333432 + 2220643D224D34302C32392E30303163302C312E3130342D302E3839362C322D + 322C326C302C30632D312E3130342C302D322D302E3839362D322D32762D3963 + 302D312E3130342C302E3839362D322C322D326C302C3063312E3130342C302C + 322C302E3839362C322C320D0A09095632392E3030317A222F3E0D0A093C7061 + 74682066696C6C3D22233743423334322220643D224D32322C343063302C312E + 3130342D302E3839362C322D322C326C302C30632D312E3130342C302D322D30 + 2E3839362D322D32762D3963302D312E3130342C302E3839362D322C322D326C + 302C3063312E3130342C302C322C302E3839362C322C325634307A220D0A0909 + 2F3E0D0A093C706174682066696C6C3D22233743423334322220643D224D3330 + 2C343063302C312E3130342D302E3839362C322D322C326C302C30632D312E31 + 30342C302D322D302E3839362D322D32762D3963302D312E3130342C302E3839 + 362D322C322D326C302C3063312E3130342C302C322C302E3839362C322C3256 + 34307A220D0A09092F3E0D0A093C706174682066696C6C3D2223374342333432 + 2220643D224D31342C31382E30303156333363302C312E3130342C302E383936 + 2C322C322C3268313663312E3130342C302C322D302E3839362C322D32563138 + 2E3030314831347A222F3E0D0A093C706174682066696C6C3D22233743423334 + 322220643D224D32342C38632D362C302D392E3635352C332E3634352D31302C + 386832304333332E3635342C31312E3634352C33302C382C32342C387A204D32 + 302C31332E353938632D302E3535322C302D312D302E3434382D312D3173302E + 3434382D312C312D310D0A090973312C302E3434382C312C315332302E353532 + 2C31332E3539382C32302C31332E3539387A204D32382C31332E353938632D30 + 2E3535332C302D312D302E3434382D312D3173302E3434372D312C312D317331 + 2C302E3434382C312C315332382E3535332C31332E3539382C32382C31332E35 + 39387A222F3E0D0A093C6C696E652066696C6C3D226E6F6E6522207374726F6B + 653D222337434233343222207374726F6B652D77696474683D22322220737472 + 6F6B652D6C696E656361703D22726F756E64222078313D223330222079313D22 + 37222078323D2232382E333334222079323D22392E343939222F3E0D0A093C6C + 696E652066696C6C3D226E6F6E6522207374726F6B653D222337434233343222 + 207374726F6B652D77696474683D223222207374726F6B652D6C696E65636170 + 3D22726F756E64222078313D223138222079313D2237222078323D2231392E33 + 3333222079323D22392E303832222F3E0D0A3C2F673E0D0A3C2F7376673E0D0A + 0700000061006E0073007700650072007300920200003C737667207665727369 + 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F + 323030302F737667222076696577426F783D223020302034382034382220656E + 61626C652D6261636B67726F756E643D226E657720302030203438203438223E + 0D0A202020203C706F6C79676F6E2066696C6C3D22233432413546352220706F + 696E74733D2233362C343420382C343420382C382032382C382033362C313622 + 2F3E0D0A202020203C706F6C79676F6E2066696C6C3D22233930434146392220 + 706F696E74733D2234302C34302031322C34302031322C342033322C34203430 + 2C3132222F3E0D0A202020203C706F6C79676F6E2066696C6C3D222345314635 + 46452220706F696E74733D2233382E352C31332033312C31332033312C352E35 + 222F3E0D0A202020203C706174682066696C6C3D22233139373644322220643D + 224D32332E342C32392E3963302D302E322C302D302E342C302E312D302E3673 + 302E322D302E332C302E332D302E3573302E332D302E322C302E352D302E3373 + 302E342D302E312C302E362D302E3173302E352C302C302E372C302E31207330 + 2E342C302E322C302E352C302E3373302E322C302E332C302E332C302E357330 + 2E312C302E342C302E312C302E3673302C302E342D302E312C302E36732D302E + 322C302E332D302E332C302E35732D302E332C302E322D302E352C302E33732D + 302E342C302E312D302E372C302E3120732D302E352C302D302E362D302E3173 + 2D302E342D302E322D302E352D302E33732D302E322D302E332D302E332D302E + 355332332E342C33302E312C32332E342C32392E397A204D32362E312C32362E + 38682D322E334C32332E342C313768334C32362E312C32362E387A222F3E0D0A + 3C2F7376673E0D0A0800000061007000700072006F00760061006C00D2010000 + 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 + 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 + 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 + 2030203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D2223 + 3842433334412220706F696E74733D2232342C332032382E372C362E36203334 + 2E352C352E382033362E372C31312E332034322E322C31332E352034312E342C + 31392E332034352C32342034312E342C32382E372034322E322C33342E352033 + 362E372C33362E372033342E352C34322E322032382E372C34312E342032342C + 34352031392E332C34312E342031332E352C34322E322031312E332C33362E37 + 20352E382C33342E3520362E362C32382E3720332C323420362E362C31392E33 + 20352E382C31332E352031312E332C31312E332031332E352C352E382031392E + 332C362E36222F3E0D0A202020203C706F6C79676F6E2066696C6C3D22234343 + 464639302220706F696E74733D2233342E362C31342E362032312C32382E3220 + 31352E342C32322E362031322E362C32352E342032312C33332E382033372E34 + 2C31372E34222F3E0D0A3C2F7376673E0D0A0700000061007000700072006F00 + 760065004F0200003C7376672076657273696F6E3D22312220786D6C6E733D22 + 687474703A2F2F7777772E77332E6F72672F323030302F737667222076696577 + 426F783D223020302034382034382220656E61626C652D6261636B67726F756E + 643D226E657720302030203438203438223E0D0A202020203C672066696C6C3D + 2223464643433830223E0D0A20202020202020203C636972636C652063783D22 + 3338222063793D2232362220723D2234222F3E0D0A20202020202020203C6369 + 72636C652063783D223130222063793D2232362220723D2234222F3E0D0A2020 + 2020202020203C7061746820643D224D33392C313963302D31322E372D33302D + 382E332D33302C3063302C312E382C302C382E322C302C313063302C382E332C + 362E372C31352C31352C31357331352D362E372C31352D31354333392C32372E + 322C33392C32302E382C33392C31397A222F3E0D0A20202020202020203C7061 + 746820643D224D32342C344331352E322C342C382C31312E322C382C32306330 + 2C312E322C302C332E352C302C332E356C322E312C302E365631396C31392E35 + 2D362E336C382E322C362E3376352E316C322E312D302E3663302C302C302D32 + 2E332C302D332E35204334302C31322E352C33342E362C342C32342C347A222F + 3E0D0A202020203C2F673E0D0A202020203C706F6C79676F6E2066696C6C3D22 + 233443414635302220706F696E74733D2233322E362C31382E362032322E332C + 32382E392031372E342C32342031342E362C32362E382032322E332C33342E35 + 2033352E342C32312E34222F3E0D0A3C2F7376673E0D0A0A0000006100720065 + 0061005F0063006800610072007400070100003C7376672076657273696F6E3D + 22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030 + 302F737667222076696577426F783D223020302034382034382220656E61626C + 652D6261636B67726F756E643D226E657720302030203438203438223E0D0A20 + 2020203C706F6C79676F6E2066696C6C3D22233346353142352220706F696E74 + 733D2234322C333720362C333720362C32352031362C31302033302C31372034 + 322C36222F3E0D0A202020203C706F6C79676F6E2066696C6C3D222330304243 + 44342220706F696E74733D2234322C343220362C343220362C33322031362C32 + 342033302C32362034322C3137222F3E0D0A3C2F7376673E0D0A090000006100 + 7300730069007300740061006E0074001B0400003C7376672076657273696F6E + 3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F3230 + 30302F737667222076696577426F783D223020302034382034382220656E6162 + 6C652D6261636B67726F756E643D226E657720302030203438203438223E0D0A + 202020203C672066696C6C3D2223464641373236223E0D0A2020202020202020 + 3C636972636C652063783D223130222063793D2232362220723D2234222F3E0D + 0A20202020202020203C636972636C652063783D223338222063793D22323622 + 20723D2234222F3E0D0A202020203C2F673E0D0A202020203C70617468206669 + 6C6C3D22234646423734442220643D224D33392C313963302D31322E372D3330 + 2D382E332D33302C3063302C312E382C302C382E322C302C313063302C382E33 + 2C362E372C31352C31352C31357331352D362E372C31352D31354333392C3237 + 2E322C33392C32302E382C33392C31397A222F3E0D0A202020203C7061746820 + 66696C6C3D22234646353732322220643D224D32342C334331342E362C332C37 + 2C31302E362C372C323063302C312E322C302C332E342C302C332E344C392C32 + 35762D336C32312D392E386C392C392E3876336C322D312E3663302C302C302D + 322E312C302D332E34204334312C31322C33352E332C332C32342C337A222F3E + 0D0A202020203C672066696C6C3D2223373834373139223E0D0A202020202020 + 20203C636972636C652063783D223331222063793D2232362220723D2232222F + 3E0D0A20202020202020203C636972636C652063783D223137222063793D2232 + 362220723D2232222F3E0D0A202020203C2F673E0D0A202020203C7061746820 + 66696C6C3D22233735373537352220643D224D34332C3234632D302E362C302D + 312C302E342D312C31762D3763302D382E382D372E322D31362D31362D313668 + 2D37632D302E362C302D312C302E342D312C3173302E342C312C312C31683763 + 372E372C302C31342C362E332C31342C31347631302063302C302E362C302E34 + 2C312C312C3173312D302E342C312D31763263302C332E392D332E312C372D37 + 2C37483234632D302E362C302D312C302E342D312C3173302E342C312C312C31 + 68313163352C302C392D342C392D39762D354334342C32342E342C34332E362C + 32342C34332C32347A222F3E0D0A202020203C672066696C6C3D222333373437 + 3446223E0D0A20202020202020203C7061746820643D224D34332C3232682D31 + 632D312E312C302D322C302E392D322C32763463302C312E312C302E392C322C + 322C32683163312E312C302C322D302E392C322D32762D344334352C32322E39 + 2C34342E312C32322C34332C32327A222F3E0D0A20202020202020203C636972 + 636C652063783D223234222063793D2233382220723D2232222F3E0D0A202020 + 203C2F673E0D0A3C2F7376673E0D0A0A00000061007500640069006F005F0066 + 0069006C006500D70200003C7376672076657273696F6E3D22312220786D6C6E + 733D22687474703A2F2F7777772E77332E6F72672F323030302F737667222076 + 696577426F783D223020302034382034382220656E61626C652D6261636B6772 + 6F756E643D226E657720302030203438203438223E0D0A202020203C72656374 + 20783D22323034222066696C6C3D226E6F6E65222077696474683D2234382220 + 6865696768743D223438222F3E0D0A202020203C706F6C79676F6E2066696C6C + 3D22233930434146392220706F696E74733D223234342C3435203231322C3435 + 203231322C33203233342C33203234342C3133222F3E0D0A202020203C706F6C + 79676F6E2066696C6C3D22234531463546452220706F696E74733D223234322E + 352C3134203233332C3134203233332C342E35222F3E0D0A202020203C672066 + 696C6C3D2223313937364432223E0D0A20202020202020203C636972636C6520 + 63783D22323237222063793D2233302220723D2234222F3E0D0A202020202020 + 20203C706F6C79676F6E20706F696E74733D223233342C3231203232392C3139 + 203232392C3330203233312C3330203233312C32322E39203233342C3234222F + 3E0D0A202020203C2F673E0D0A202020203C706F6C79676F6E2066696C6C3D22 + 233930434146392220706F696E74733D2234302C343520382C343520382C3320 + 33302C332034302C3133222F3E0D0A202020203C706F6C79676F6E2066696C6C + 3D22234531463546452220706F696E74733D2233382E352C31342032392C3134 + 2032392C342E35222F3E0D0A202020203C672066696C6C3D2223313937364432 + 223E0D0A20202020202020203C636972636C652063783D223233222063793D22 + 33302220723D2234222F3E0D0A20202020202020203C706F6C79676F6E20706F + 696E74733D2233302C32312032352C31392032352C33302032372C3330203237 + 2C32322E392033302C3234222F3E0D0A202020203C2F673E0D0A3C2F7376673E + 0D0A090000006100750074006F006D006100740069006300BB0300003C737667 + 2076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77 + 332E6F72672F323030302F737667222076696577426F783D2230203020343820 + 34382220656E61626C652D6261636B67726F756E643D226E6577203020302034 + 38203438223E0D0A202020203C706174682066696C6C3D222333463531423522 + 20643D224D33392C34334839632D322E322C302D342D312E382D342D34563963 + 302D322E322C312E382D342C342D3468333063322E322C302C342C312E382C34 + 2C347633304334332C34312E322C34312E322C34332C33392C34337A222F3E0D + 0A202020203C706174682066696C6C3D22234233453546432220643D224D3333 + 2E362C32352E3463302E312D302E342C302E312D302E392C302E312D312E3473 + 302D302E392D302E312D312E346C322E382D3263302E332D302E322C302E342D + 302E362C302E322D302E396C2D322E372D342E3620632D302E322D302E332D30 + 2E352D302E342D302E382D302E334C33302C31362E33632D302E372D302E362D + 312E352D312D322E342D312E346C2D302E332D332E3463302D302E332D302E33 + 2D302E362D302E362D302E36682D352E33632D302E332C302D302E362C302E33 + 2D302E362C302E364C32302E342C313520632D302E392C302E332D312E362C30 + 2E382D322E342C312E346C2D332E312D312E34632D302E332D302E312D302E37 + 2C302D302E382C302E336C2D322E372C342E36632D302E322C302E332D302E31 + 2C302E372C302E322C302E396C322E382C32632D302E312C302E342D302E312C + 302E392D302E312C312E342073302C302E392C302E312C312E346C2D322E382C + 32632D302E332C302E322D302E342C302E362D302E322C302E396C322E372C34 + 2E3663302E322C302E332C302E352C302E342C302E382C302E336C332E312D31 + 2E3463302E372C302E362C312E352C312C322E342C312E346C302E332C332E34 + 2063302C302E332C302E332C302E362C302E362C302E3668352E3363302E332C + 302C302E362D302E332C302E362D302E366C302E332D332E3463302E392D302E + 332C312E362D302E382C322E342D312E346C332E312C312E3463302E332C302E + 312C302E372C302C302E382D302E336C322E372D342E362063302E322D302E33 + 2C302E312D302E372D302E322D302E394C33332E362C32352E347A204D32342C + 3239632D322E382C302D352D322E322D352D3563302D322E382C322E322D352C + 352D3563322E382C302C352C322E322C352C354332392C32362E382C32362E38 + 2C32392C32342C32397A222F3E0D0A3C2F7376673E0D0A0A0000006100750074 + 006F006D006F007400690076006500480300003C7376672076657273696F6E3D + 22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030 + 302F737667222076696577426F783D223020302034382034382220656E61626C + 652D6261636B67726F756E643D226E657720302030203438203438223E0D0A20 + 2020203C706174682066696C6C3D226E6F6E6522207374726F6B653D22234634 + 3433333622207374726F6B652D77696474683D223422207374726F6B652D6D69 + 7465726C696D69743D2231302220643D224D372C3230762D3863302D322E322C + 312E382D342C342D3468313463312E322C302C322E342C302E362C332E322C31 + 2E36204C33352C3138222F3E0D0A202020203C672066696C6C3D222333373437 + 3446223E0D0A20202020202020203C636972636C652063783D22333522206379 + 3D2233372220723D2235222F3E0D0A20202020202020203C636972636C652063 + 783D223133222063793D2233372220723D2235222F3E0D0A202020203C2F673E + 0D0A202020203C706174682066696C6C3D22234634343333362220643D224D34 + 302E322C31374C33332C31344837632D312E322C302D322C302E382D322C3276 + 313063302C312E322C302E382C322C322C32683163302D322E382C322E322D35 + 2C352D3573352C322E322C352C3568313263302D322E382C322E322D352C352D + 352073352C322E322C352C35683163312E322C302C322D302E382C322D32762D + 352E324334332C31392E322C34312E382C31372E362C34302E322C31377A222F + 3E0D0A202020203C672066696C6C3D2223353436453741223E0D0A2020202020 + 2020203C636972636C652063783D223234222063793D2233372220723D223322 + 2F3E0D0A20202020202020203C636972636C652063783D223335222063793D22 + 33372220723D2232222F3E0D0A20202020202020203C636972636C652063783D + 223133222063793D2233372220723D2232222F3E0D0A20202020202020203C70 + 61746820643D224D33302E342C3339632D302E332D302E362D302E342D312E33 + 2D302E342D3273302E322D312E342C302E342D324831372E3663302E332C302E + 362C302E342C312E332C302E342C32732D302E322C312E342D302E342C324833 + 302E347A222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0C00000062 + 00610064005F006400650063006900730069006F006E002D0200003C73766720 + 76657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E7733 + 2E6F72672F323030302F737667222076696577426F783D223020302034382034 + 382220656E61626C652D6261636B67726F756E643D226E657720302030203438 + 203438223E0D0A202020203C672066696C6C3D2223464643433830223E0D0A20 + 202020202020203C636972636C652063783D223338222063793D223236222072 + 3D2234222F3E0D0A20202020202020203C636972636C652063783D2231302220 + 63793D2232362220723D2234222F3E0D0A20202020202020203C706174682064 + 3D224D33392C313963302D31322E372D33302D382E332D33302C3063302C312E + 382C302C382E322C302C313063302C382E332C362E372C31352C31352C313573 + 31352D362E372C31352D31354333392C32372E322C33392C32302E382C33392C + 31397A222F3E0D0A20202020202020203C7061746820643D224D32342C344331 + 352E322C342C382C31312E322C382C323063302C312E322C302C332E352C302C + 332E356C322E312C302E365631396C31392E352D362E336C382E322C362E3376 + 352E316C322E312D302E3663302C302C302D322E332C302D332E35204334302C + 31322E352C33342E362C342C32342C347A222F3E0D0A202020203C2F673E0D0A + 202020203C7265637420783D2231362220793D223234222066696C6C3D222346 + 3434333336222077696474683D22313622206865696768743D2234222F3E0D0A + 3C2F7376673E0D0A090000006200610072005F00630068006100720074003601 + 00003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F + 2F7777772E77332E6F72672F323030302F737667222076696577426F783D2230 + 20302034382034382220656E61626C652D6261636B67726F756E643D226E6577 + 20302030203438203438223E0D0A202020203C672066696C6C3D222330304243 + 4434223E0D0A20202020202020203C7265637420783D2231392220793D223232 + 222077696474683D22313022206865696768743D223230222F3E0D0A20202020 + 202020203C7265637420783D22362220793D223132222077696474683D223130 + 22206865696768743D223330222F3E0D0A20202020202020203C726563742078 + 3D2233322220793D2236222077696474683D22313022206865696768743D2233 + 36222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0700000062006500 + 61007200690073006800D90200003C7376672076657273696F6E3D2231222078 + 6D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F737667 + 222076696577426F783D223020302034382034382220656E61626C652D626163 + 6B67726F756E643D226E657720302030203438203438223E0D0A202020203C67 + 2066696C6C3D2223463434333336223E0D0A20202020202020203C7265637420 + 783D2234302220793D223334222077696474683D223422206865696768743D22 + 3130222F3E0D0A20202020202020203C7265637420783D2233342220793D2232 + 39222077696474683D223422206865696768743D223135222F3E0D0A20202020 + 202020203C7265637420783D2232382220793D223333222077696474683D2234 + 22206865696768743D223131222F3E0D0A20202020202020203C726563742078 + 3D2232322220793D223235222077696474683D223422206865696768743D2231 + 39222F3E0D0A20202020202020203C7265637420783D2231362220793D223238 + 222077696474683D223422206865696768743D223136222F3E0D0A2020202020 + 2020203C7265637420783D2231302220793D223234222077696474683D223422 + 206865696768743D223230222F3E0D0A20202020202020203C7265637420783D + 22342220793D223139222077696474683D223422206865696768743D22323522 + 2F3E0D0A202020203C2F673E0D0A202020203C672066696C6C3D222344333246 + 3246223E0D0A20202020202020203C706F6C79676F6E20706F696E74733D2233 + 342C31332E322033302C31372E322032302C372E322031352C31322E3220372E + 342C342E3620342E362C372E342031352C31372E382032302C31322E38203330 + 2C32322E382033342C31382E382034302E312C32342E392034322E392C32322E + 31222F3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D2234 + 342C32362033352C32362034342C3137222F3E0D0A202020203C2F673E0D0A3C + 2F7376673E0D0A0A000000620069006E006F00630075006C006100720073004F + 0400003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A + 2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D22 + 3020302034382034382220656E61626C652D6261636B67726F756E643D226E65 + 7720302030203438203438223E0D0A202020203C672066696C6C3D2223333734 + 373446223E0D0A20202020202020203C636972636C652063783D223333222063 + 793D2231362220723D2236222F3E0D0A20202020202020203C636972636C6520 + 63783D223135222063793D2231362220723D2236222F3E0D0A20202020202020 + 203C7061746820643D224D34362E372C32356C2D31352E332C334831362E374C + 312E342C32356C342E332D372E3963312E312D312E392C332E312D332E312C35 + 2E332D332E316832362E3263322E322C302C342E322C312E322C352E332C332E + 314C34362E372C32357A222F3E0D0A20202020202020203C636972636C652063 + 783D223338222063793D2233302220723D223130222F3E0D0A20202020202020 + 203C636972636C652063783D223130222063793D2233302220723D223130222F + 3E0D0A20202020202020203C636972636C652063783D223234222063793D2232 + 382220723D2235222F3E0D0A202020203C2F673E0D0A202020203C636972636C + 652066696C6C3D2223353436453741222063783D223234222063793D22323822 + 20723D2232222F3E0D0A202020203C672066696C6C3D2223613066223E0D0A20 + 202020202020203C636972636C652063783D223338222063793D223330222072 + 3D2237222F3E0D0A20202020202020203C636972636C652063783D2231302220 + 63793D2233302220723D2237222F3E0D0A202020203C2F673E0D0A202020203C + 672066696C6C3D2223434539334438223E0D0A20202020202020203C70617468 + 20643D224D34312E372C32372E37632D312D312E312D322E332D312E372D332E + 372D312E37732D322E382C302E362D332E372C312E37632D302E342C302E342D + 302E332C312C302E312C312E3463302E342C302E342C312C302E332C312E342D + 302E312063312E322D312E332C332E332D312E332C342E352C3063302E322C30 + 2E322C302E352C302E332C302E372C302E3363302E322C302C302E352D302E31 + 2C302E372D302E334334322E312C32382E372C34322E312C32382E312C34312E + 372C32372E377A222F3E0D0A20202020202020203C7061746820643D224D3130 + 2C3236632D312E342C302D322E382C302E362D332E372C312E37632D302E342C + 302E342D302E332C312C302E312C312E3463302E342C302E342C312C302E332C + 312E342D302E3163312E322D312E332C332E332D312E332C342E352C30206330 + 2E322C302E322C302E352C302E332C302E372C302E3363302E322C302C302E35 + 2D302E312C302E372D302E3363302E342D302E342C302E342D312C302E312D31 + 2E344331322E382C32362E362C31312E342C32362C31302C32367A222F3E0D0A + 202020203C2F673E0D0A3C2F7376673E0D0A09000000620069006F0068006100 + 7A00610072006400EA0A00003C7376672076657273696F6E3D22312220786D6C + 6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376672220 + 76696577426F783D223020302034382034382220656E61626C652D6261636B67 + 726F756E643D226E657720302030203438203438223E0D0A202020203C706174 + 682066696C6C3D22233030413334342220643D224D32342C3133632D372E322C + 302D31332C352E382D31332C313373352E382C31332C31332C31337331332D35 + 2E382C31332D31335333312E322C31332C32342C31337A204D32342C3335632D + 352C302D392D342D392D3973342D392C392D3973392C342C392C39205332392C + 33352C32342C33357A222F3E0D0A202020203C706174682066696C6C3D222330 + 30433835332220643D224D382E352C32352E3463342D322E322C392D312E312C + 31312E352C322E3563302E312C302E312C302E322C302E312C302E332C302E31 + 6C312E322D302E3763302E312D302E312C302E322D302E322C302E312D302E33 + 2063302D302E322D302E312D302E342D302E312D302E3663302C302C302C302C + 302C3063302D302E312C302D302E312C302D302E3263302C302C302C302C302C + 3063302D302E312C302D302E312C302D302E3263302C302C302C302C302C3063 + 302D302E312C302D302E312C302D302E326C302C302063302D302E312C302D30 + 2E312C302E312D302E3263302C302C302C302C302C3063302D302E312C302D30 + 2E312C302E312D302E3263302C302C302C302C302C3063302C302C302D302E31 + 2C302E312D302E3163302C302C302D302E312C302E312D302E3163302C302C30 + 2D302E312C302E312D302E312063302C302C302E312D302E312C302E312D302E + 3163302C302C302C302C302C3063302C302C302E312D302E312C302E312D302E + 3163302C302C302C302C302C3063302C302C302E312D302E312C302E312D302E + 3163302C302C302C302C302C3063302C302C302E312D302E312C302E312D302E + 312063302C302C302C302C302C3063302C302C302E312D302E312C302E312D30 + 2E3163302C302C302C302C302E312C3063302E322D302E312C302E342D302E32 + 2C302E352D302E3263302E312C302C302E322D302E312C302E322D302E33762D + 312E3363302D302E312D302E312D302E322D302E322D302E3220632D342E352D + 302E342D382D342E312D382D382E3663302D342E312C332D372E362C362E392D + 382E3463302E312C302C302E322D302E312C302E322D302E3356342E3863302D + 302E312D302E312D302E322D302E322D302E324331362E342C352E352C31322C + 31302E342C31322C31362E332063302C312E332C302E322C322E362C302E362C + 332E38632D312E322C302E322D322E352C302E372D332E362C312E33632D352E + 322C332D372E332C392E322D352E322C31342E3543332E392C33362C342C3336 + 2C342E312C33366C302E332D302E3263302E312D302E312C302E322D302E322C + 302E312D302E332043332E332C33312E372C342E382C32372E342C382E352C32 + 352E344C382E352C32352E347A204D33392C32312E34632D312E322D302E372D + 322E342D312E312D332E362D312E3363302E342D312E322C302E362D322E342C + 302E362D332E3863302D352E392D342E342D31302E382D31302E322D31312E37 + 20632D302E312C302D302E322C302E312D302E322C302E3276302E3463302C30 + 2E312C302E312C302E322C302E322C302E3363342C302E382C362E392C342E33 + 2C362E392C382E3463302C342E352D332E352C382E322D382C382E36632D302E + 312C302D302E322C302E312D302E322C302E3276312E332063302C302E312C30 + 2E312C302E322C302E322C302E3363302E322C302E312C302E342C302E312C30 + 2E362C302E3263302C302C302C302C302C3063302C302C302E312C302E312C30 + 2E312C302E3163302C302C302C302C302C3063302E312C302C302E312C302E31 + 2C302E312C302E3163302C302C302C302C302C302063302E312C302E312C302E + 322C302E322C302E332C302E3363302C302C302C302C302C3063302C302C302E + 312C302E312C302E312C302E3163302C302C302C302C302C3063302C302C302E + 312C302E312C302E312C302E3163302C302C302C302E312C302C302E3163302C + 302C302C302E312C302C302E312063302C302C302C302E312C302E312C302E31 + 63302C302C302C302C302C3063302C302E312C302C302E312C302E312C302E32 + 63302C302C302C302C302C3063302C302E312C302C302E312C302C302E326330 + 2C302C302C302C302C3063302C302E312C302C302E312C302C302E3263302C30 + 2C302C302C302C302E312063302C302C302C302E312C302C302E3163302C302C + 302C302C302C302E3163302C302E322C302C302E342D302E312C302E3663302C + 302E312C302C302E322C302E312C302E336C312E322C302E3763302E312C302E + 312C302E322C302C302E332D302E3163322E362D332E362C372E362D342E382C + 31312E352D322E352063332E362C322E312C352E322C362E332C332E392C3130 + 2E3163302C302E312C302C302E322C302E312C302E336C302E332C302E326330 + 2E312C302E312C302E322C302C302E332D302E314334362E332C33302E352C34 + 342E322C32342E332C33392C32312E344C33392C32312E347A204D33302E382C + 34302E3320632D342D322E322D352E352D372E312D332E352D31312E3163302E + 312D302E312C302D302E322D302E312D302E334C32362C32382E32632D302E31 + 2D302E312D302E322C302D302E332C30632D302E322C302E312D302E332C302E + 332D302E352C302E3363302C302C302C302C302C3020632D302E312C302D302E + 312C302E312D302E322C302E3163302C302C302C302C302C30632D302E312C30 + 2D302E312C302D302E322C302E3163302C302C302C302C302C30632D302E312C + 302D302E332C302E312D302E342C302E3163302C302C302C302C302C30632D30 + 2E312C302D302E312C302D302E322C302063302C302C302C302D302E312C3063 + 302C302D302E312C302D302E312C3063302C302D302E312C302D302E312C3063 + 302C302D302E312C302D302E312C3063302C302D302E312C302D302E312C3063 + 302C302C302C302D302E312C30632D302E312C302D302E312C302D302E322C30 + 63302C302C302C302C302C3020632D302E312C302D302E312C302D302E322C30 + 63302C302C302C302C302C30632D302E312C302D302E312C302D302E322D302E + 3163302C302C302C302C302C3063302C302D302E312C302D302E312D302E3163 + 302C302C302C302D302E312C30632D302E322D302E312D302E332D302E322D30 + 2E352D302E3320632D302E312D302E312D302E322D302E312D302E332C306C2D + 312E322C302E37632D302E312C302E312D302E312C302E322D302E312C302E33 + 63312E392C342C302E342C382E382D332E352C31312E31632D332E362C322E31 + 2D382E322C312E332D31302E392D312E3720632D302E312D302E312D302E322D + 302E312D302E332D302E316C2D302E332C302E32632D302E312C302E312D302E + 312C302E322D302E312C302E3363332E362C342E352C31302E322C352E382C31 + 352E342C322E3863312E322D302E372C322E322D312E352C332D322E34206330 + 2E382C302E392C312E382C312E382C332C322E3463352E322C332C31312E372C + 312E362C31352E342D322E3863302E312D302E312C302D302E322D302E312D30 + 2E334C34322C33382E35632D302E312D302E312D302E322C302D302E332C302E + 314333392C34312E352C33342E342C34322E332C33302E382C34302E33204C33 + 302E382C34302E337A222F3E0D0A3C2F7376673E0D0A07000000620069006F00 + 6D00610073007300890200003C7376672076657273696F6E3D22312220786D6C + 6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376672220 + 76696577426F783D223020302034382034382220656E61626C652D6261636B67 + 726F756E643D226E657720302030203438203438223E0D0A202020203C706174 + 682066696C6C3D22233943434336352220643D224D33322C3135563748313676 + 384C362E322C3430632D302E362C312E352C302E352C332C322E312C33683331 + 2E3563312E362C302C322E362D312E362C322E312D334C33322C31357A222F3E + 0D0A202020203C706174682066696C6C3D22233842433334412220643D224D33 + 322C39483136632D312E312C302D322D302E392D322D32763063302D312E312C + 302E392D322C322D3268313663312E312C302C322C302E392C322C3276304333 + 342C382E312C33332E312C392C33322C397A222F3E0D0A202020203C70617468 + 2066696C6C3D22233245374433322220643D224D32382C333063302C342E342D + 342C382D342C38732D342D332E362D342D3873342D382C342D385332382C3235 + 2E362C32382C33307A222F3E0D0A202020203C706174682066696C6C3D222333 + 38384533432220643D224D33312E312C33322E36632D322C342D372E312C352E + 342D372E312C352E34732D322D352C302D382E3973372E312D352E342C372E31 + 2D352E345333332E312C32382E362C33312E312C33322E367A222F3E0D0A2020 + 20203C706174682066696C6C3D22233433413034372220643D224D31362E392C + 33322E3663322C342C372E312C352E342C372E312C352E3473322D352C302D38 + 2E39732D372E312D352E342D372E312D352E345331342E392C32382E362C3136 + 2E392C33322E367A222F3E0D0A3C2F7376673E0D0A07000000620069006F0074 + 00650063006800BF0400003C7376672076657273696F6E3D22312220786D6C6E + 733D22687474703A2F2F7777772E77332E6F72672F323030302F737667222076 + 696577426F783D223020302034382034382220656E61626C652D6261636B6772 + 6F756E643D226E657720302030203438203438223E0D0A202020203C70617468 + 2066696C6C3D22234144313435372220643D224D33362C3463302C392E332D36 + 2C31332E322D31322E382C31372E384331362E312C32362E352C382C33312E38 + 2C382C3434683463302D31302E312C362E352D31342E342C31332E342D31382E + 394333322E322C32302E362C34302C31352E342C34302C34204833367A222F3E + 0D0A202020203C706174682066696C6C3D22234144313435372220643D224D33 + 382C3431483131632D302E362C302D312D302E342D312D3173302E342D312C31 + 2D3168323763302E362C302C312C302E342C312C315333382E362C34312C3338 + 2C34317A222F3E0D0A202020203C706174682066696C6C3D2223414431343537 + 2220643D224D33362C3337483132632D302E362C302D312D302E342D312D3173 + 302E342D312C312D3168323463302E362C302C312C302E342C312C315333362E + 362C33372C33362C33377A222F3E0D0A202020203C706174682066696C6C3D22 + 234144313435372220643D224D33342C3333483134632D302E362C302D312D30 + 2E342D312D3173302E342D312C312D3168323063302E362C302C312C302E342C + 312C315333342E362C33332C33342C33337A222F3E0D0A202020203C70617468 + 2066696C6C3D22234144313435372220643D224D32392C3239483139632D302E + 362C302D312D302E342D312D3173302E342D312C312D3168313063302E362C30 + 2C312C302E342C312C315332392E362C32392C32392C32397A222F3E0D0A2020 + 20203C706174682066696C6C3D22234539314536332220643D224D33372C3948 + 313043392E342C392C392C382E362C392C3873302E342D312C312D3168323763 + 302E362C302C312C302E342C312C315333372E362C392C33372C397A222F3E0D + 0A202020203C706174682066696C6C3D22234539314536332220643D224D3336 + 2C3133483132632D302E362C302D312D302E342D312D3173302E342D312C312D + 3168323463302E362C302C312C302E342C312C315333362E362C31332C33362C + 31337A222F3E0D0A202020203C706174682066696C6C3D222345393145363322 + 20643D224D33342C3137483134632D302E362C302D312D302E342D312D317330 + 2E342D312C312D3168323063302E362C302C312C302E342C312C315333342E36 + 2C31372C33342C31377A222F3E0D0A202020203C706174682066696C6C3D2223 + 4539314536332220643D224D32392C3231483139632D302E362C302D312D302E + 342D312D3173302E342D312C312D3168313063302E362C302C312C302E342C31 + 2C315332392E362C32312C32392C32317A222F3E0D0A202020203C7061746820 + 66696C6C3D22234539314536332220643D224D34302C3434682D3463302D3130 + 2E312D362E352D31342E342D31332E342D31382E394331352E382C32302E362C + 382C31352E342C382C34683463302C392E332C362C31332E322C31322E382C31 + 372E38204333312E392C32362E352C34302C33312E382C34302C34347A222F3E + 0D0A3C2F7376673E0D0A0800000062006F006F006B006D00610072006B00D000 + 00003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F + 2F7777772E77332E6F72672F323030302F737667222076696577426F783D2230 + 20302034382034382220656E61626C652D6261636B67726F756E643D226E6577 + 20302030203438203438223E0D0A202020203C706174682066696C6C3D222346 + 34343333362220643D224D33372C34336C2D31332D366C2D31332C3656396330 + 2D322E322C312E382D342C342D3468313863322E322C302C342C312E382C342C + 345634337A222F3E0D0A3C2F7376673E0D0A0900000062007200690065006600 + 63006100730065005E0200003C7376672076657273696F6E3D22312220786D6C + 6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376672220 + 76696577426F783D223020302034382034382220656E61626C652D6261636B67 + 726F756E643D226E657720302030203438203438223E0D0A202020203C706174 + 682066696C6C3D22233432343234322220643D224D32372C37682D36632D312E + 372C302D332C312E332D332C3376336832762D3363302D302E362C302E342D31 + 2C312D31683663302E362C302C312C302E342C312C3176336832762D33433330 + 2C382E332C32382E372C372C32372C377A222F3E0D0A202020203C7061746820 + 66696C6C3D22234536353130302220643D224D34302C34334838632D322E322C + 302D342D312E382D342D3456313563302D322E322C312E382D342C342D346833 + 3263322E322C302C342C312E382C342C347632344334342C34312E322C34322E + 322C34332C34302C34337A222F3E0D0A202020203C706174682066696C6C3D22 + 234646364534302220643D224D34302C32384838632D322E322C302D342D312E + 382D342D34762D3963302D322E322C312E382D342C342D3468333263322E322C + 302C342C312E382C342C3476394334342C32362E322C34322E322C32382C3430 + 2C32387A222F3E0D0A202020203C706174682066696C6C3D2223464646334530 + 2220643D224D32362C3236682D34632D302E362C302D312D302E342D312D3176 + 2D3263302D302E362C302E342D312C312D31683463302E362C302C312C302E34 + 2C312C3176324332372C32352E362C32362E362C32362C32362C32367A222F3E + 0D0A3C2F7376673E0D0A07000000620075006C006C00690073006800D9020000 + 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 + 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 + 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 + 2030203438203438223E0D0A202020203C672066696C6C3D2223344341463530 + 223E0D0A20202020202020203C7265637420783D2234302220793D2232312220 + 77696474683D223422206865696768743D223233222F3E0D0A20202020202020 + 203C7265637420783D2233342220793D223238222077696474683D2234222068 + 65696768743D223136222F3E0D0A20202020202020203C7265637420783D2232 + 382220793D223233222077696474683D223422206865696768743D223231222F + 3E0D0A20202020202020203C7265637420783D2232322220793D223239222077 + 696474683D223422206865696768743D223135222F3E0D0A2020202020202020 + 3C7265637420783D2231362220793D223332222077696474683D223422206865 + 696768743D223132222F3E0D0A20202020202020203C7265637420783D223130 + 2220793D223330222077696474683D223422206865696768743D223134222F3E + 0D0A20202020202020203C7265637420783D22342220793D2233342220776964 + 74683D223422206865696768743D223130222F3E0D0A202020203C2F673E0D0A + 202020203C672066696C6C3D2223333838453343223E0D0A2020202020202020 + 3C706F6C79676F6E20706F696E74733D2234302E312C392E312033342C31352E + 322033302C31312E322032302C32312E322031352C31362E3220342E362C3236 + 2E3620372E342C32392E342031352C32312E382032302C32362E382033302C31 + 362E382033342C32302E382034322E392C31312E39222F3E0D0A202020202020 + 20203C706F6C79676F6E20706F696E74733D2234342C382033352C382034342C + 3137222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A08000000620075 + 00730069006E00650073007300290200003C7376672076657273696F6E3D2231 + 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F + 737667222076696577426F783D223020302034382034382220656E61626C652D + 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 + 203C672066696C6C3D2223323633323338223E0D0A20202020202020203C7061 + 746820643D224D31312C34344839632D302E362C302D312D302E342D312D3176 + 2D32683476324331322C34332E362C31312E362C34342C31312C34347A222F3E + 0D0A20202020202020203C7061746820643D224D33392C3434682D32632D302E + 362C302D312D302E342D312D31762D32683476324334302C34332E362C33392E + 362C34342C33392C34347A222F3E0D0A202020203C2F673E0D0A202020203C70 + 6174682066696C6C3D22233337343734462220643D224D32372C37682D36632D + 312E372C302D332C312E332D332C3376336832762D3363302D302E362C302E34 + 2D312C312D31683663302E362C302C312C302E342C312C3176336832762D3343 + 33302C382E332C32382E372C372C32372C377A222F3E0D0A202020203C706174 + 682066696C6C3D22233738393039432220643D224D34302C34334838632D322E + 322C302D342D312E382D342D3456313563302D322E322C312E382D342C342D34 + 68333263322E322C302C342C312E382C342C347632344334342C34312E322C34 + 322E322C34332C34302C34337A222F3E0D0A3C2F7376673E0D0A100000006200 + 7500730069006E006500730073005F0063006F006E0074006100630074000F02 + 00003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F + 2F7777772E77332E6F72672F323030302F737667222076696577426F783D2230 + 20302034382034382220656E61626C652D6261636B67726F756E643D226E6577 + 20302030203438203438223E0D0A202020203C706174682066696C6C3D222336 + 37334142372220643D224D34302C374838632D322E322C302D342C312E382D34 + 2C3476323663302C322E322C312E382C342C342C346835762D312E33632D302E + 362D302E332D312D312D312D312E3763302D312E312C302E392D322C322D3273 + 322C302E392C322C322063302C302E372D302E342C312E342D312C312E375634 + 31683138762D312E33632D302E362D302E332D312D312D312D312E3763302D31 + 2E312C302E392D322C322D3273322C302E392C322C3263302C302E372D302E34 + 2C312E342D312C312E37563431683563322E322C302C342D312E382C342D3456 + 3131204334342C382E382C34322E322C372C34302C377A222F3E0D0A20202020 + 3C672066696C6C3D2223443143344539223E0D0A20202020202020203C636972 + 636C652063783D223234222063793D2231382220723D2234222F3E0D0A202020 + 20202020203C7061746820643D224D33312C323863302C302D312E392D342D37 + 2D34632D352E312C302D372C342D372C3476326831345632387A222F3E0D0A20 + 2020203C2F673E0D0A3C2F7376673E0D0A0A000000620075007400740069006E + 0067005F0069006E008B0400003C7376672076657273696F6E3D22312220786D + 6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73766722 + 2076696577426F783D223020302034382034382220656E61626C652D6261636B + 67726F756E643D226E657720302030203438203438223E0D0A202020203C7061 + 74682066696C6C3D22234346443844432220643D224D32342C334331322E342C + 332C332C31322E342C332C323463302C31312E362C392E342C32312C32312C32 + 3163302E332C302C302E372C302C312D302E3156332E314332342E372C332C32 + 342E332C332C32342C337A222F3E0D0A202020203C706174682066696C6C3D22 + 233337343734462220643D224D32352C332E317634312E3963342E312D302E32 + 2C372E392D312E352C31312D332E3756362E384333322E392C342E362C32392E + 312C332E322C32352C332E317A222F3E0D0A202020203C706174682066696C6C + 3D22234646423734442220643D224D32302E352C31334331342E312C31332E33 + 2C382E392C31382E372C392C32352E3163302C322E382C312C352E342C322E37 + 2C372E3563312E342C312E372C322E332C332E392C322E332C362E3176332E38 + 63332C312E362C362E342C322E352C31302C322E352063302E332C302C302E37 + 2C302C312D302E3163302E372C302C312E332D302E312C322D302E32762D392E + 3463332E362D322E312C362D352E392C362D31302E344333332C31382E322C32 + 372E342C31322E372C32302E352C31337A222F3E0D0A202020203C7061746820 + 66696C6C3D22234646423734442220643D224D32392C33382E364C32352C3338 + 762D3968386C2D302E372C374333322E312C33372E362C33302E372C33382E38 + 2C32392C33382E367A222F3E0D0A202020203C706F6C79676F6E2066696C6C3D + 22234646423734442220706F696E74733D2233392C32392033322C3331203331 + 2C32362033322C3232222F3E0D0A202020203C636972636C652066696C6C3D22 + 23373834373139222063783D2232392E35222063793D2232352E352220723D22 + 312E35222F3E0D0A202020203C706174682066696C6C3D222346463537323222 + 20643D224D32312C3132632D372E322C302D31332C352E382D31332C31336330 + 2C372E362C352E312C392C362C31336C342D33762D386C352D326C312D346333 + 2E322C302C362D332E392C362D362E314332372E392C31332C32342E342C3132 + 2C32312C31327A222F3E0D0A202020203C636972636C652066696C6C3D222346 + 4642373444222063783D223139222063793D2232372220723D2233222F3E0D0A + 202020203C706174682066696C6C3D22234346443844432220643D224D34352C + 323463302D372E312D332E362D31332E342D392D31372E327633342E34433431 + 2E342C33372E342C34352C33312E312C34352C32347A222F3E0D0A202020203C + 706174682066696C6C3D22234646393830302220643D224D32302C34342E3663 + 312E332C302E322C322E362C302E342C342C302E3463302E332C302C302E372C + 302C312D302E3163302E372C302C312E332D302E312C322D302E32762D362E35 + 6C2D372D315634342E367A222F3E0D0A3C2F7376673E0D0A0D00000063006100 + 62006C0065005F00720065006C006500610073006500750200003C7376672076 + 657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E + 6F72672F323030302F737667222076696577426F783D22302030203438203438 + 2220656E61626C652D6261636B67726F756E643D226E65772030203020343820 + 3438223E0D0A202020203C706174682066696C6C3D2223333734373446222064 + 3D224D33342E392C32392E31632D322E372D322E372D372E312D322E372D392E + 382C306C2D342C34632D312E372C312E372D342E352C312E372D362E322C3063 + 2D312E372D312E372D312E372D342E352C302D362E326C342E352D342E356C2D + 322E382D322E38206C2D342E352C342E35632D332E332C332E332D332E332C38 + 2E362C302C31312E3863332E332C332E332C382E362C332E332C31312E382C30 + 6C342D3463312E322D312E312C332D312E312C342E322C3063312E312C312E32 + 2C312E312C332C302C342E324C32372C34312E326C322E382C322E386C352E31 + 2D352E31204333372E362C33362E322C33372E362C33312E382C33342E392C32 + 392E317A222F3E0D0A202020203C706174682066696C6C3D2223303237374244 + 2220643D224D31362E312C32322E394C31362E312C32322E39632D322E382D32 + 2E382D322E382D372E332C302D31306C362E382D362E3863322E382D322E382C + 372E332D322E382C31302C306C302C3063322E382C322E382C322E382C372E33 + 2C302C3130206C2D362E382C362E384332332E332C32352E372C31382E392C32 + 352E372C31362E312C32322E397A222F3E0D0A202020203C636972636C652066 + 696C6C3D2223423345354643222063783D223238222063793D2231312220723D + 2234222F3E0D0A3C2F7376673E0D0A0D000000630061006C006C005F00740072 + 0061006E007300660065007200E90200003C7376672076657273696F6E3D2231 + 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F + 737667222076696577426F783D223020302034382034382220656E61626C652D + 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 + 203C706174682066696C6C3D22233030393638382220643D224D33392E322C38 + 2E346C2D312E382C312E38632D362E332C362E352D352E342C32322C302C3237 + 2E366C312E382C312E3863302E352C302E352C312E332C302E352C312E382C30 + 6C332E362D332E3763302E352D302E352C302E352D312E332C302D312E38206C + 2D332E342D332E34682D342E38632D312E332D312E332D312E332D31322E312C + 302D31332E3468342E386C332E332D332E3463302E352D302E352C302E352D31 + 2E332C302D312E384C34312C382E344334302E352C372E392C33392E372C372E + 392C33392E322C382E347A222F3E0D0A202020203C706174682066696C6C3D22 + 233030393638382220643D224D31312E322C382E346C2D312E382C312E38632D + 362E332C362E352D352E342C32322C302C32372E366C312E382C312E3863302E + 352C302E352C312E332C302E352C312E382C306C332E362D332E3763302E352D + 302E352C302E352D312E332C302D312E38206C2D332E342D332E3448382E3563 + 2D312E332D312E332D312E332D31322E312C302D31332E3468342E386C332E33 + 2D332E3463302E352D302E352C302E352D312E332C302D312E384C31332C382E + 344331322E352C372E392C31312E372C372E392C31312E322C382E347A222F3E + 0D0A202020203C672066696C6C3D2223323139364633223E0D0A202020202020 + 20203C706F6C79676F6E20706F696E74733D2232352E332C31382E362033302E + 372C32342032352E332C32392E34222F3E0D0A20202020202020203C72656374 + 20783D2231362220793D223232222077696474683D2231312220686569676874 + 3D2234222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A080000006300 + 61006C006C006200610063006B00840200003C7376672076657273696F6E3D22 + 312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32303030 + 2F737667222076696577426F783D223020302034382034382220656E61626C65 + 2D6261636B67726F756E643D226E657720302030203438203438223E0D0A2020 + 20203C706174682066696C6C3D22233231393646332220643D224D32362E342C + 33332E3963302C302C342D322E362C342E382D3363302E382D302E342C312E37 + 2D302E362C322E322D302E3263302E382C302E352C372E352C342E392C382E31 + 2C352E3363302E362C302E342C302E382C312E352C302E312C322E3620632D30 + 2E382C312E312D342E332C352E352D352E382C352E34632D312E352C302D382E + 342C302E342D32302E332D31312E3443332E362C32302E372C342C31332E382C + 342C31322E3363302D312E352C342E332D352E312C352E342D352E3863312E31 + 2D302E382C322E322D302E352C322E362C302E312063302E342C302E362C342E + 382C372E332C352E332C382E3163302E332C302E352C302E322C312E342D302E + 322C322E32632D302E342C302E382D332C342E382D332C342E3873302E372C32 + 2E382C352C372E324332332E352C33332E322C32362E342C33332E392C32362E + 342C33332E397A222F3E0D0A202020203C672066696C6C3D2223334635314235 + 223E0D0A20202020202020203C7061746820643D224D33352C39483235763468 + 313063312E312C302C322C302E392C322C3276313068345631354334312C3131 + 2E372C33382E332C392C33352C397A222F3E0D0A20202020202020203C706F6C + 79676F6E20706F696E74733D2232382C31362032312E332C31312032382C3622 + 2F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A09000000630061006D00 + 63006F007200640065007200510400003C7376672076657273696F6E3D223122 + 20786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73 + 7667222076696577426F783D223020302034382034382220656E61626C652D62 + 61636B67726F756E643D226E657720302030203438203438223E0D0A20202020 + 3C706174682066696C6C3D22233630374438422220643D224D32302C34324831 + 30632D322E322C302D342D312E382D342D3456313563302D352C342D392C392D + 39683063352C302C392C342C392C397632334332342C34302E322C32322E322C + 34322C32302C34327A222F3E0D0A202020203C636972636C652066696C6C3D22 + 23343535413634222063783D223135222063793D2231352220723D2237222F3E + 0D0A202020203C636972636C652066696C6C3D2223343241354635222063783D + 223135222063793D2231352220723D22352E32222F3E0D0A202020203C706174 + 682066696C6C3D22233930434146392220643D224D31382E332C3133632D302E + 382D302E392D322D312E352D332E332D312E355331322E362C31322C31312E37 + 2C3133632D302E332C302E342D302E332C302E392C302E312C312E3263302E34 + 2C302E332C302E392C302E332C312E322D302E312063312D312E322C322E392D + 312E322C332E392C3063302E322C302E322C302E342C302E332C302E372C302E + 3363302E322C302C302E342D302E312C302E362D302E324331382E362C31332E + 392C31382E362C31332E332C31382E332C31337A222F3E0D0A202020203C7061 + 74682066696C6C3D22233630374438422220643D224D34302C3331483238632D + 312E312C302D322D302E392D322D3256313963302D312E312C302E392D322C32 + 2D3268313263312E312C302C322C302E392C322C327631304334322C33302E31 + 2C34312E312C33312C34302C33317A222F3E0D0A202020203C7265637420783D + 2232342220793D223139222066696C6C3D222334353541363422207769647468 + 3D223222206865696768743D223130222F3E0D0A202020203C7265637420783D + 2232382220793D223139222066696C6C3D222330334139463422207769647468 + 3D22313222206865696768743D223130222F3E0D0A202020203C706F6C79676F + 6E2066696C6C3D22233446433346372220706F696E74733D2233332C32322E32 + 2032392C32382033372C3238222F3E0D0A202020203C672066696C6C3D222342 + 3345354643223E0D0A20202020202020203C636972636C652063783D2233372E + 35222063793D2232312E352220723D2231222F3E0D0A20202020202020203C70 + 6F6C79676F6E20706F696E74733D2233362C32342E322033332C32382033392C + 3238222F3E0D0A202020203C2F673E0D0A202020203C636972636C652066696C + 6C3D2223343535413634222063783D223135222063793D2233352220723D2233 + 222F3E0D0A202020203C636972636C652066696C6C3D22234634343333362220 + 63783D223135222063793D2233352220723D2232222F3E0D0A3C2F7376673E0D + 0A0D000000630061006D0063006F0072006400650072005F00700072006F0011 + 0400003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A + 2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D22 + 3020302034382034382220656E61626C652D6261636B67726F756E643D226E65 + 7720302030203438203438223E0D0A202020203C7265637420783D2232372220 + 793D2238222066696C6C3D2223333734373446222077696474683D2231302220 + 6865696768743D2234222F3E0D0A202020203C706174682066696C6C3D222336 + 30374438422220643D224D32372C38682D392E37632D312E352C302D322E382C + 302E382D332E352C322E316C2D332E332C364C31342C31386C332E332D364832 + 3776372E3268345631324333312C392E382C32392E322C382C32372C387A222F + 3E0D0A202020203C706174682066696C6C3D22233630374438422220643D224D + 33302C34304836632D322E322C302D342D312E382D342D3456323063302D322E + 322C312E382D342C342D3468323463322E322C302C342C312E382C342C347631 + 364333342C33382E322C33322E322C34302C33302C34307A222F3E0D0A202020 + 203C706174682066696C6C3D22233630374438422220643D224D33382C33356C + 352C356833563138682D336C2D352C355633357A222F3E0D0A202020203C7061 + 74682066696C6C3D22233534364537412220643D224D32322C33354838632D31 + 2E312C302D322D302E392D322D3256323363302D312E312C302E392D322C322D + 3268313463312E312C302C322C302E392C322C327631304332342C33342E312C + 32332E312C33352C32322C33357A222F3E0D0A202020203C7265637420783D22 + 33342220793D223233222066696C6C3D2223343535413634222077696474683D + 223422206865696768743D223132222F3E0D0A202020203C706174682066696C + 6C3D22233236333233382220643D224D34312C3133682D34632D302E362C302D + 312D302E342D312D31563863302D302E362C302E342D312C312D31683463312E + 372C302C332C312E332C332C3376304334342C31312E372C34322E372C31332C + 34312C31337A222F3E0D0A202020203C7265637420783D22382220793D223233 + 222066696C6C3D2223303341394634222077696474683D223134222068656967 + 68743D223130222F3E0D0A202020203C706F6C79676F6E2066696C6C3D222334 + 46433346372220706F696E74733D2231332E352C32352E3520392C3332203138 + 2C3332222F3E0D0A202020203C672066696C6C3D2223423345354643223E0D0A + 20202020202020203C636972636C652063783D2231392E35222063793D223235 + 2E352220723D22312E35222F3E0D0A20202020202020203C706F6C79676F6E20 + 706F696E74733D2231372E352C32372E362031342C33322032312C3332222F3E + 0D0A202020203C2F673E0D0A3C2F7376673E0D0A06000000630061006D006500 + 720061004A0300003C7376672076657273696F6E3D22312220786D6C6E733D22 + 687474703A2F2F7777772E77332E6F72672F323030302F737667222076696577 + 426F783D223020302034382034382220656E61626C652D6261636B67726F756E + 643D226E657720302030203438203438223E0D0A202020203C70617468206669 + 6C6C3D22233531324441382220643D224D33332E392C31322E314831342E324C + 31372E362C3763302E342D302E362C312D302E392C312E372D302E3968392E36 + 63302E372C302C312E332C302E332C312E372C302E394C33332E392C31322E31 + 7A222F3E0D0A202020203C706174682066696C6C3D2223383636374334222064 + 3D224D31342C3131483856392E3243382C382E352C382E352C382C392E322C38 + 68332E364331332E352C382C31342C382E352C31342C392E325631317A222F3E + 0D0A202020203C706174682066696C6C3D22233545333542312220643D224D34 + 302C34324838632D322E322C302D342D312E382D342D3456313463302D322E32 + 2C312E382D342C342D3468333263322E322C302C342C312E382C342C34763234 + 4334342C34302E322C34322E322C34322C34302C34327A222F3E0D0A20202020 + 3C636972636C652066696C6C3D2223353132444138222063783D223234222063 + 793D2232362220723D223132222F3E0D0A202020203C636972636C652066696C + 6C3D2223423338384646222063783D223234222063793D2232362220723D2239 + 222F3E0D0A202020203C706174682066696C6C3D22234337413746462220643D + 224D32392C3233632D312E322D312E342D332D322E322D342E382D322E32632D + 312E382C302D332E362C302E382D342E382C322E32632D302E352C302E352D30 + 2E342C312E332C302E312C312E3863302E352C302E352C312E332C302E342C31 + 2E382D302E312063312E352D312E372C342E332D312E372C352E382C3063302E + 332C302E332C302E362C302E342C312C302E3463302E332C302C302E362D302E + 312C302E392D302E334332392E342C32342E342C32392E352C32332E352C3239 + 2C32337A222F3E0D0A202020203C656C6C697073652066696C6C3D2223383636 + 374334222063783D223131222063793D2231332E35222072783D223222207279 + 3D22312E35222F3E0D0A3C2F7376673E0D0A0C000000630061006D0065007200 + 61005F006100640064006F006E00FF0400003C7376672076657273696F6E3D22 + 312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32303030 + 2F737667222076696577426F783D223020302034382034382220656E61626C65 + 2D6261636B67726F756E643D226E657720302030203438203438223E0D0A2020 + 20203C706174682066696C6C3D22233531324441382220643D224D33332E392C + 31322E314831342E324C31372E362C3763302E342D302E362C312D302E392C31 + 2E372D302E3968392E3663302E372C302C312E332C302E332C312E372C302E39 + 4C33332E392C31322E317A222F3E0D0A202020203C706174682066696C6C3D22 + 233836363743342220643D224D31342C3131483856392E3243382C382E352C38 + 2E352C382C392E322C3868332E364331332E352C382C31342C382E352C31342C + 392E325631317A222F3E0D0A202020203C706174682066696C6C3D2223354533 + 3542312220643D224D34302C34324838632D322E322C302D342D312E382D342D + 3456313463302D322E322C312E382D342C342D3468333263322E322C302C342C + 312E382C342C347632344334342C34302E322C34322E322C34322C34302C3432 + 7A222F3E0D0A202020203C636972636C652066696C6C3D222335313244413822 + 2063783D223234222063793D2232362220723D223132222F3E0D0A202020203C + 636972636C652066696C6C3D2223423338384646222063783D22323422206379 + 3D2232362220723D2239222F3E0D0A202020203C706174682066696C6C3D2223 + 4337413746462220643D224D32382E382C3233632D312E322D312E342D332D32 + 2E322D342E382D322E32732D332E362C302E382D342E382C322E32632D302E35 + 2C302E352D302E342C312E332C302E312C312E3863302E352C302E352C312E33 + 2C302E342C312E382D302E312063312E352D312E372C342E332D312E372C352E + 382C3063302E332C302E332C302E362C302E342C312C302E3463302E332C302C + 302E362D302E312C302E392D302E334332392E322C32342E342C32392E332C32 + 332E352C32382E382C32337A222F3E0D0A202020203C656C6C69707365206669 + 6C6C3D2223383636374334222063783D223131222063793D2231332E35222072 + 783D2232222072793D22312E35222F3E0D0A202020203C706174682066696C6C + 3D22233842433334412220643D224D34382C33332E3863302D312E332D312E31 + 2D322E342D322E342D322E34483432632D302E342C302D302E372D302E352D30 + 2E342D302E3863302E342D302E362C302E352D312E332C302E342D322E312063 + 2D302E322D312E322D312E312D322E312D322E332D322E344333372E372C3235 + 2E372C33362C32372E312C33362C323963302C302E362C302E322C312E312C30 + 2E342C312E3663302E322C302E342C302C302E382D302E352C302E38682D332E + 36632D312E332C302D322E342C312E312D322E342C322E345633372063302C30 + 2E342C302E352C302E372C302E382C302E3463302E362D302E342C312E332D30 + 2E352C322E312D302E3463312E322C302E322C322E312C312E312C322E342C32 + 2E3363302E342C312E392D312E312C332E362D322E392C332E36632D302E362C + 302D312E312D302E322D312E362D302E3420632D302E342D302E322D302E382C + 302D302E382C302E3576322E3663302C312E332C312E312C322E342C322E342C + 322E346831332E3263312E332C302C322E342D312E312C322E342D322E345633 + 332E387A222F3E0D0A3C2F7376673E0D0A06000000630061006E00630065006C + 007B0100003C7376672076657273696F6E3D22312220786D6C6E733D22687474 + 703A2F2F7777772E77332E6F72672F323030302F737667222076696577426F78 + 3D223020302034382034382220656E61626C652D6261636B67726F756E643D22 + 6E657720302030203438203438223E0D0A202020203C706174682066696C6C3D + 22234435303030302220643D224D32342C364331342E312C362C362C31342E31 + 2C362C323473382E312C31382C31382C31387331382D382E312C31382D313853 + 33332E392C362C32342C367A204D32342C313063332E312C302C362C312E312C + 382E342C322E384C31322E382C33322E34204331312E312C33302C31302C3237 + 2E312C31302C32344331302C31362E332C31362E332C31302C32342C31307A20 + 4D32342C3338632D332E312C302D362D312E312D382E342D322E386C31392E36 + 2D31392E364333362E392C31382C33382C32302E392C33382C32344333382C33 + 312E372C33312E372C33382C32342C3338207A222F3E0D0A3C2F7376673E0D0A + 0D000000630061006E0064006C0065005F0073007400690063006B0073004303 + 00003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F + 2F7777772E77332E6F72672F323030302F737667222076696577426F783D2230 + 20302034382034382220656E61626C652D6261636B67726F756E643D226E6577 + 20302030203438203438223E0D0A202020203C672066696C6C3D222335343645 + 3741223E0D0A20202020202020203C7265637420783D2233382220793D223422 + 2077696474683D223222206865696768743D223230222F3E0D0A202020202020 + 20203C7265637420783D2231352220793D2237222077696474683D2232222068 + 65696768743D223137222F3E0D0A20202020202020203C7265637420783D2238 + 2220793D223237222077696474683D223222206865696768743D223137222F3E + 0D0A20202020202020203C7265637420783D2232382220793D22313922207769 + 6474683D223222206865696768743D223232222F3E0D0A202020203C2F673E0D + 0A202020203C706174682066696C6C3D22233443414635302220643D224D3336 + 2C37683663312E312C302C322C302E392C322C3276313063302C312E312D302E + 392C322D322C32682D36632D312E312C302D322D302E392D322D325639433334 + 2C372E392C33342E392C372C33362C377A222F3E0D0A202020203C7061746820 + 66696C6C3D22233443414635302220643D224D31332C3130683663312E312C30 + 2C322C302E392C322C32763763302C312E312D302E392C322D322C32682D3663 + 2D312E312C302D322D302E392D322D32762D374331312C31302E392C31312E39 + 2C31302C31332C31307A222F3E0D0A202020203C706174682066696C6C3D2223 + 4634343333362220643D224D362C3330683663312E312C302C322C302E392C32 + 2C32763763302C312E312D302E392C322D322C324836632D312E312C302D322D + 302E392D322D32762D3743342C33302E392C342E392C33302C362C33307A222F + 3E0D0A202020203C706174682066696C6C3D22234634343333362220643D224D + 32362C3232683663312E312C302C322C302E392C322C3276313263302C312E31 + 2D302E392C322D322C32682D36632D312E312C302D322D302E392D322D325632 + 344332342C32322E392C32342E392C32322C32362C32327A222F3E0D0A3C2F73 + 76673E0D0A0900000063006100700061006300690074006F0072001B0200003C + 7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777 + 772E77332E6F72672F323030302F737667222076696577426F783D2230203020 + 34382034382220656E61626C652D6261636B67726F756E643D226E6577203020 + 30203438203438223E0D0A202020203C672066696C6C3D222346463938303022 + 3E0D0A20202020202020203C7265637420793D223237222077696474683D2232 + 3522206865696768743D2234222F3E0D0A20202020202020203C726563742079 + 3D223137222077696474683D22323522206865696768743D2234222F3E0D0A20 + 2020203C2F673E0D0A202020203C672066696C6C3D2223334635314235223E0D + 0A20202020202020203C7061746820643D224D34362C333563312E312C302C32 + 2D302E392C322D3256313563302D312E312D302E392D322D322D324832377632 + 324834367A222F3E0D0A20202020202020203C7061746820643D224D32312C31 + 33632D312E312C302D322C302E392D322C3276313863302C312E312C302E392C + 322C322C3268325631334832317A222F3E0D0A202020203C2F673E0D0A202020 + 203C706174682066696C6C3D22233330334639462220643D224D32352C333363 + 312E312C302C322C302E392C322C3256313363302C312E312D302E392C322D32 + 2C32632D312E312C302D322D302E392D322D327632324332332C33332E392C32 + 332E392C33332C32352C33337A222F3E0D0A3C2F7376673E0D0A070000006300 + 64005F006C006F0067006F005B0D00003C3F786D6C2076657273696F6E3D2231 + 2E302220656E636F64696E673D227574662D38223F3E0D0A3C212D2D2047656E + 657261746F723A2041646F626520496C6C7573747261746F722031352E302E30 + 2C20535647204578706F727420506C75672D496E202E20535647205665727369 + 6F6E3A20362E3030204275696C6420302920202D2D3E0D0A3C21444F43545950 + 4520737667205055424C494320222D2F2F5733432F2F4454442053564720312E + 312F2F454E222022687474703A2F2F7777772E77332E6F72672F477261706869 + 63732F5356472F312E312F4454442F73766731312E647464223E0D0A3C737667 + 2076657273696F6E3D22312E31222020786D6C6E733D22687474703A2F2F7777 + 772E77332E6F72672F323030302F7376672220786D6C6E733A786C696E6B3D22 + 687474703A2F2F7777772E77332E6F72672F313939392F786C696E6B2220783D + 223070782220793D22307078220D0A092077696474683D223438707822206865 + 696768743D2234387078222076696577426F783D223020302034382034382220 + 656E61626C652D6261636B67726F756E643D226E657720302030203438203438 + 2220786D6C3A73706163653D227072657365727665223E0D0A3C673E0D0A093C + 706174682066696C6C3D22233231393646332220643D224D31372E3831342C31 + 384832302E3263302E352C302C302E382C302E342C302E382C302E387631362E + 3463302C302E3339392D302E342C302E382D302E382C302E38682D322E333834 + 632D302E342C302D302E382D302E342D302E382D302E385631382E380D0A0909 + 4331362E3931362C31382E332C31372E3331342C31382C31372E3831342C3138 + 7A222F3E0D0A093C706174682066696C6C3D22233231393646332220643D224D + 31342E322C3131682D332E33632D302E352C302D302E392C302E3430332D302E + 392C302E38303756313748322E3243312E362C31372C312C31372E3630352C31 + 2C31382E32317631362E353843312C33352E3339362C312E362C33362C322E32 + 2C33366831320D0A090963302E342C302C302E382D302E3330352C302E382D30 + 2E3830395631312E3830374331352C31312E3430332C31342E372C31312C3134 + 2E322C31317A204D31302C33312E32383363302C302E3339382D302E342C302E + 382D302E382C302E3848362E38632D302E342C302D302E382D302E3339392D30 + 2E382D302E380D0A09095632312E3843362C32312E342C362E332C32312C362E + 382C323168322E3463302E352C302C302E382C302E342C302E382C302E385633 + 312E3238337A222F3E0D0A093C706174682066696C6C3D222332313936463322 + 20643D224D33332E322C323563302E352C302C302E382C302E362C302E382C30 + 2E3876392E3463302C302E3339392D302E3432322C302E382D302E382C302E38 + 682D392E34632D302E3432352C302D302E382D302E342D302E382D302E38762D + 322E3338360D0A090963302D302E352C302E342D302E3739392C302E382D302E + 3739394C33302C3332762D33682D362E32632D302E3333312C302D302E382D30 + 2E342D302E382D302E3830315631382E3863302D302E352C302E342D302E382C + 302E382D302E3868392E3463302E3339392C302C302E382C302E342C302E382C + 302E3876322E340D0A090963302C302E332D302E3236362C302E382D302E382C + 302E3848323776334833332E327A222F3E0D0A093C706174682066696C6C3D22 + 233231393646332220643D224D34382C323876372E3263302C302E3339392D30 + 2E342C302E382D302E3830312C302E384833362E38632D302E322C302D302E38 + 2D302E342D302E382D302E385631382E3863302D302E352C302E3433322D302E + 382C302E3833312D302E384834372E320D0A090963302C302C302E382C302C30 + 2E382C302E38563235682D34762D322E3263302C302C302E312D302E382D302E + 382D302E38682D322E34632D302E352C302D302E382C302E342D302E382C302E + 3876382E3463302C302E3339392C302E352C302E382C302E382C302E3868322E + 340D0A090963302E3339392C302C302E382D302E342C302E382D302E38563238 + 4834387A222F3E0D0A3C2F673E0D0A3C673E0D0A093C706F6C79676F6E206669 + 6C6C3D22233044343741312220706F696E74733D2234352E3739392C31352E39 + 382034362E392C31352E39382034362E392C31322E3838312034382C31322E38 + 38312034382C31312E39382034342E3739392C31312E39382034342E3739392C + 31322E383831200D0A090934352E3739392C31322E3838312009222F3E0D0A09 + 3C706174682066696C6C3D22233044343741312220643D224D34342E3031342C + 31342E343736682D312E31343376302E30393563302C302E3338322D302E3039 + 362C302E3537332D302E3537322C302E353733632D302E3437352C302D302E35 + 372D302E3139312D302E35372D302E373632762D302E3636380D0A090963302D + 302E3537322C302D302E3736322C302E35372D302E37363263302E3338312C30 + 2C302E3537322C302E3039352C302E3537322C302E34373776302E3039356831 + 2E303437762D302E30393563302D312E3034372D302E3338312D312E3432392D + 312E3532332D312E343239682D302E3238370D0A0909632D312E3134312C302D + 312E3532332C302E3338322D312E3532332C312E36313876302E37363463302C + 312E3134322C302E3338312C312E3631382C312E3532332C312E36313868302E + 33383363312E3034372C302C312E3432382D302E3437372C312E3432382D312E + 3433762D302E3039354834342E3031347A222F3E0D0A093C706F6C79676F6E20 + 66696C6C3D22233044343741312220706F696E74733D2232392E3531362C3132 + 2032382E3731372C31342E392032372E3831362C31322032362E3231372C3132 + 2032362E3231372C31362032372E3331362C31362032372E3331362C31332032 + 382E3131352C31362032392E3231372C3136200D0A090933302E3131352C3133 + 2E312033302E3131352C31362033312E3131352C31362033312E3131352C3132 + 2009222F3E0D0A093C706174682066696C6C3D22233044343741312220643D22 + 4D33382E3731332C3132682D302E39682D302E3839386C2D312E3139392C3468 + 312E3139396C302E3139392D302E3768302E36303268302E3739396C302E3139 + 392C302E3768312E3139394C33382E3731332C31327A204D33372E3931342C31 + 342E350D0A0909682D302E346C302E342D312E376C302C306C302C306C302E33 + 39382C312E374833372E3931347A222F3E0D0A093C706174682066696C6C3D22 + 233044343741312220643D224D33332E39322C3132682D302E3139394833322E + 3032763468312E313032762D312E3168302E3668302E31393963312E3130322C + 302C312E352D302E342C312E352D312E34762D302E334333352E34322C31322E + 332C33352E30322C31322C33332E39322C31320D0A09097A204D33342E33322C + 31332E3663302C302E342D302E312C302E352D302E342C302E35682D302E3139 + 39682D302E36762D312E3268302E3668302E3163302E342C302C302E352C302E + 312C302E352C302E345631332E367A222F3E0D0A093C706174682066696C6C3D + 22233044343741312220643D224D32332E3539342C3132682D302E323836682D + 302E323836632D312E3134332C302D312E3532332C302E3338322D312E353233 + 2C312E36313876302E37363263302C312E3134342C302E3338312C312E36322C + 312E3532332C312E363268302E3238360D0A090968302E32383663312E313433 + 2C302C312E3532332D302E3437372C312E3532332D312E3632762D302E373632 + 4332352E3131372C31322E3338322C32342E3733372C31322C32332E3539342C + 31327A204D32332E3937352C31342E313963302C302E3537312C302C302E3736 + 332D302E3537312C302E3736330D0A0909682D302E303935682D302E30393563 + 2D302E3537312C302D302E3537312D302E3139312D302E3537312D302E373633 + 762D302E35373263302D302E35372C302D302E3736322C302E3537312D302E37 + 363268302E30393568302E30393563302E3537312C302C302E3537312C302E31 + 39312C302E3537312C302E3736320D0A09095631342E31397A222F3E0D0A093C + 706174682066696C6C3D22233044343741312220643D224D32302E3432322C31 + 342E343737682D312E31343476302E30393563302C302E3338322D302E303935 + 2C302E3537312D302E3537312C302E353731632D302E3437362C302D302E3537 + 312D302E3138392D302E3537312D302E373632762D302E3636360D0A09096330 + 2D302E3537332C302D302E3736322C302E3537312D302E37363263302E333831 + 2C302C302E3537312C302E3039352C302E3537312C302E34373576302E303936 + 68312E303438762D302E30393663302D312E3034372D302E3338312D312E3432 + 382D312E3532332D312E343238682D302E3238360D0A0909632D312E3134332C + 302D312E3532342C302E3338312D312E3532342C312E36313876302E37363363 + 302C312E3134332C302E3338312C312E3631392C312E3532342C312E36313968 + 302E33383163312E3034382C302C312E3432392D302E3437372C312E3432392D + 312E343239762D302E3039354832302E3432327A220D0A09092F3E0D0A3C2F67 + 3E0D0A3C2F7376673E0D0A0E0000006300680061007200670065005F00620061 + 0074007400650072007900C60100003C7376672076657273696F6E3D22312220 + 786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376 + 67222076696577426F783D223020302034382034382220656E61626C652D6261 + 636B67726F756E643D226E657720302030203438203438223E0D0A202020203C + 672066696C6C3D2223384243333441223E0D0A20202020202020203C70617468 + 20643D224D33342C3434483134632D312E312C302D322D302E392D322D325638 + 63302D312E312C302E392D322C322D3268323063312E312C302C322C302E392C + 322C327633344333362C34332E312C33352E312C34342C33342C34347A222F3E + 0D0A20202020202020203C7061746820643D224D32382C3133682D38632D302E + 362C302D312D302E342D312D31563563302D302E362C302E342D312C312D3168 + 3863302E362C302C312C302E342C312C3176374332392C31322E362C32382E36 + 2C31332C32382C31337A222F3E0D0A202020203C2F673E0D0A202020203C706F + 6C79676F6E2066696C6C3D22234646454233422220706F696E74733D2233302C + 32342032342E352C32342032362E372C31332031382C32362032332E352C3236 + 2032312E332C3337222F3E0D0A3C2F7376673E0D0A0900000063006800650063 + 006B006D00610072006B00D00000003C7376672076657273696F6E3D22312220 + 786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376 + 67222076696577426F783D223020302034382034382220656E61626C652D6261 + 636B67726F756E643D226E657720302030203438203438223E0D0A202020203C + 706F6C79676F6E2066696C6C3D22233433413034372220706F696E74733D2234 + 302E362C31322E312031372C33352E3720372E342C32362E3120342E362C3239 + 2031372C34312E332034332E342C31342E39222F3E0D0A3C2F7376673E0D0A07 + 0000006300690072006300750069007400550400003C7376672076657273696F + 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 + 3030302F737667222076696577426F783D223020302034382034382220656E61 + 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D + 0A202020203C706174682066696C6C3D22233443414635302220643D224D362C + 313076323863302C322E322C312E382C342C342C3468323863322E322C302C34 + 2D312E382C342D3456313063302D322E322D312E382D342D342D344831304337 + 2E382C362C362C372E382C362C31307A222F3E0D0A202020203C672066696C6C + 3D2223464643313037223E0D0A20202020202020203C7061746820643D224D36 + 2E362C386C362C36632D302E342C302E362D302E362C312E332D302E362C3263 + 302C322E322C312E382C342C342C3473342D312E382C342D34732D312E382D34 + 2D342D34632D302E372C302D312E342C302E322D322C302E366C2D362D362043 + 372E342C362E392C362E392C372E342C362E362C387A204D31362C31342E3563 + 302E382C302C312E352C302E372C312E352C312E35732D302E372C312E352D31 + 2E352C312E35732D312E352D302E372D312E352D312E355331352E322C31342E + 352C31362C31342E357A222F3E0D0A20202020202020203C7061746820643D22 + 4D34312E342C34306C2D362D3663302E342D302E362C302E362D312E332C302E + 362D3263302D322E322D312E382D342D342D34732D342C312E382D342C347331 + 2E382C342C342C3463302E372C302C312E342D302E322C322D302E366C362C36 + 204334302E362C34312E312C34312E312C34302E362C34312E342C34307A204D + 33322C33332E35632D302E382C302D312E352D302E372D312E352D312E357330 + 2E372D312E352C312E352D312E3573312E352C302E372C312E352C312E355333 + 322E382C33332E352C33322C33332E357A222F3E0D0A20202020202020203C70 + 61746820643D224D31362C333663322E322C302C342D312E382C342D3463302D + 302E372D302E322D312E342D302E362D324C33302C31392E3463302E362C302E + 342C312E332C302E362C322C302E3663322E322C302C342D312E382C342D3473 + 2D312E382D342D342D3420732D342C312E382D342C3463302C302E372C302E32 + 2C312E342C302E362C324C31382C32382E36632D302E362D302E342D312E332D + 302E362D322D302E36632D322E322C302D342C312E382D342C345331332E382C + 33362C31362C33367A204D33322C31342E3563302E382C302C312E352C302E37 + 2C312E352C312E3520732D302E372C312E352D312E352C312E35732D312E352D + 302E372D312E352D312E355333312E322C31342E352C33322C31342E357A204D + 31362C33302E3563302E382C302C312E352C302E372C312E352C312E35732D30 + 2E372C312E352D312E352C312E35732D312E352D302E372D312E352D312E3520 + 5331352E322C33302E352C31362C33302E357A222F3E0D0A202020203C2F673E + 0D0A3C2F7376673E0D0A0C00000063006C006100700070006500720062006F00 + 610072006400CE0300003C7376672076657273696F6E3D22312220786D6C6E73 + 3D22687474703A2F2F7777772E77332E6F72672F323030302F73766722207669 + 6577426F783D223020302034382034382220656E61626C652D6261636B67726F + 756E643D226E657720302030203438203438223E0D0A202020203C7061746820 + 66696C6C3D22233346353142352220643D224D34332E342C382E334C342C3135 + 6C2D302E332D32632D302E342D322E322C312E312D342E322C332E332D342E36 + 6C33312E362D352E3363322E322D302E342C342E322C312E312C342E362C332E + 334C34332E342C382E337A222F3E0D0A202020203C706174682066696C6C3D22 + 233346353142352220643D224D34302C34314838632D322E322C302D342D312E + 382D342D345631356834307632324334342C33392E322C34322E322C34312C34 + 302C34317A222F3E0D0A202020203C672066696C6C3D2223394641384441223E + 0D0A20202020202020203C706F6C79676F6E20706F696E74733D2231382E382C + 362E342032332E372C31312E372032372E372C31312032322E372C352E37222F + 3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D2231302E39 + 2C372E372031352E382C31332031392E382C31322E332031342E382C372E3122 + 2F3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D2232362E + 372C352E312033312E362C31302E332033352E352C392E372033302E362C342E + 34222F3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D2233 + 342E352C332E382033392E352C392034332E342C382E332033382E352C332E31 + 222F3E0D0A202020203C2F673E0D0A202020203C636972636C652066696C6C3D + 2223394641384441222063783D22372E35222063793D2231312E352220723D22 + 312E35222F3E0D0A202020203C672066696C6C3D2223394641384441223E0D0A + 20202020202020203C706F6C79676F6E20706F696E74733D2234302C31352033 + 362C32312034302C32312034342C3135222F3E0D0A20202020202020203C706F + 6C79676F6E20706F696E74733D2233322C31352032382C32312033322C323120 + 33362C3135222F3E0D0A20202020202020203C706F6C79676F6E20706F696E74 + 733D2232342C31352032302C32312032342C32312032382C3135222F3E0D0A20 + 202020202020203C706F6C79676F6E20706F696E74733D2231362C3135203132 + 2C32312031362C32312032302C3135222F3E0D0A20202020202020203C706F6C + 79676F6E20706F696E74733D22382C313520342C323120382C32312031322C31 + 35222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0D00000063006C00 + 6500610072005F00660069006C007400650072007300F10100003C7376672076 + 657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E + 6F72672F323030302F737667222076696577426F783D22302030203438203438 + 2220656E61626C652D6261636B67726F756E643D226E65772030203020343820 + 3438223E0D0A202020203C706F6C79676F6E2066696C6C3D2223463537433030 + 2220706F696E74733D2232392C32332031392C323320372C392034312C39222F + 3E0D0A202020203C672066696C6C3D2223464639383030223E0D0A2020202020 + 2020203C706F6C79676F6E20706F696E74733D2232392C33382031392C343420 + 31392C32332032392C3233222F3E0D0A20202020202020203C7061746820643D + 224D34312E352C39682D333543352E372C392C352C382E332C352C372E357630 + 43352C362E372C352E372C362C362E352C366833354334322E332C362C34332C + 362E372C34332C372E3576304334332C382E332C34322E332C392C34312E352C + 397A222F3E0D0A202020203C2F673E0D0A202020203C636972636C652066696C + 6C3D2223463434333336222063783D223338222063793D2233382220723D2231 + 30222F3E0D0A202020203C7265637420783D2233322220793D22333622206669 + 6C6C3D2223666666222077696474683D22313222206865696768743D2234222F + 3E0D0A3C2F7376673E0D0A0D00000063006C006F00730065005F00750070005F + 006D006F00640065006D0300003C7376672076657273696F6E3D22312220786D + 6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73766722 + 2076696577426F783D223020302034382034382220656E61626C652D6261636B + 67726F756E643D226E657720302030203438203438223E0D0A202020203C7061 + 74682066696C6C3D22233245374433322220643D224D352C323463302C31382E + 392C31342E382C31392C31372C313973342C302C342C305332342E312C32362E + 352C352C32347A222F3E0D0A202020203C7265637420783D2232322220793D22 + 3236222066696C6C3D2223333838453343222077696474683D22342220686569 + 6768743D223137222F3E0D0A202020203C706174682066696C6C3D2223433632 + 3832382220643D224D33342C313663302C352E312D352E322C382E322D382C38 + 2E32732D322D332E312D322D382E3273352D392E322C352D392E325333342C31 + 302E392C33342C31367A222F3E0D0A202020203C706174682066696C6C3D2223 + 4336323832382220643D224D31342C313663302C352E312C352E322C382E322C + 382C382E3273322D332E312C322D382E32732D352D392E322D352D392E325331 + 342C31302E392C31342C31367A222F3E0D0A202020203C706174682066696C6C + 3D22234535333933352220643D224D32342C3237632D322E322D312E362D312E + 392D342E352C322E342D382E384333302E382C31332E382C33322C372C33322C + 3773352C332E342C352C394333372C32312E392C33312E332C32372C32342C32 + 377A222F3E0D0A202020203C706174682066696C6C3D22234535333933352220 + 643D224D32342C323763322E322D312E362C312E392D342E352D322E342D382E + 384331372E322C31332E382C31362C372C31362C37732D352C332E342D352C39 + 4331312C32312E392C31362E372C32372C32342C32377A222F3E0D0A20202020 + 3C706174682066696C6C3D22234634343333362220643D224D33302C31366330 + 2C362E312D322E372C31312D362C3131732D362D342E392D362D313173362D31 + 312C362D31315333302C392E392C33302C31367A222F3E0D0A202020203C7061 + 74682066696C6C3D22233443414635302220643D224D32322C343363302C302C + 312E382C302C342C307331372D302E312C31372D31394332332E392C32362E35 + 2C32322C34332C32322C34337A222F3E0D0A3C2F7376673E0D0A050000006300 + 6C006F0074006800750D00003C7376672076657273696F6E3D22312220786D6C + 6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376672220 + 76696577426F783D223020302034382034382220656E61626C652D6261636B67 + 726F756E643D226E657720302030203438203438223E0D0A202020203C706174 + 682066696C6C3D22234646353732322220643D224D362C313076323863302C32 + 2E322C312E382C342C342C3468323863322E322C302C342D312E382C342D3456 + 313063302D322E322D312E382D342D342D3448313043372E382C362C362C372E + 382C362C31307A222F3E0D0A202020203C672066696C6C3D2223424633363043 + 223E0D0A20202020202020203C7265637420783D22362220793D223335222077 + 696474683D22333622206865696768743D2232222F3E0D0A2020202020202020 + 3C7265637420783D22362220793D223331222077696474683D22333622206865 + 696768743D2232222F3E0D0A20202020202020203C7061746820643D224D362E + 312C333963302E322C302E382C302E362C312E352C312E322C326833332E3263 + 302E362D302E352C312D312E322C312E322D3248362E317A222F3E0D0A202020 + 20202020203C7061746820643D224D362E312C396833352E37632D302E322D30 + 2E382D302E362D312E352D312E322D3248372E3443362E382C372E352C362E33 + 2C382E322C362E312C397A222F3E0D0A20202020202020203C7265637420783D + 22362220793D223233222077696474683D22333622206865696768743D223222 + 2F3E0D0A20202020202020203C7265637420783D22362220793D223237222077 + 696474683D22333622206865696768743D2232222F3E0D0A2020202020202020 + 3C7265637420783D22362220793D223135222077696474683D22333622206865 + 696768743D2232222F3E0D0A20202020202020203C7265637420783D22362220 + 793D223131222077696474683D22333622206865696768743D2232222F3E0D0A + 20202020202020203C7265637420783D22362220793D22313922207769647468 + 3D22333622206865696768743D2232222F3E0D0A202020203C2F673E0D0A2020 + 20203C672066696C6C3D2223464638413635223E0D0A20202020202020203C72 + 65637420783D2232372220793D2236222077696474683D223222206865696768 + 743D2235222F3E0D0A20202020202020203C7265637420783D2232372220793D + 223133222077696474683D223222206865696768743D2236222F3E0D0A202020 + 20202020203C7265637420783D2232372220793D223239222077696474683D22 + 3222206865696768743D2236222F3E0D0A20202020202020203C726563742078 + 3D2233312220793D2236222077696474683D223222206865696768743D223122 + 2F3E0D0A20202020202020203C7265637420783D2231392220793D2232392220 + 77696474683D223222206865696768743D2236222F3E0D0A2020202020202020 + 3C7265637420783D2233312220793D2239222077696474683D22322220686569 + 6768743D2236222F3E0D0A20202020202020203C7265637420783D2232332220 + 793D2236222077696474683D223222206865696768743D2231222F3E0D0A2020 + 2020202020203C7265637420783D2232332220793D223235222077696474683D + 223222206865696768743D2236222F3E0D0A20202020202020203C7265637420 + 783D2232332220793D2239222077696474683D223222206865696768743D2236 + 222F3E0D0A20202020202020203C7265637420783D2231392220793D22323122 + 2077696474683D223222206865696768743D2236222F3E0D0A20202020202020 + 203C7265637420783D2232332220793D223137222077696474683D2232222068 + 65696768743D2236222F3E0D0A20202020202020203C7265637420783D223233 + 2220793D223333222077696474683D223222206865696768743D2236222F3E0D + 0A20202020202020203C7265637420783D2232372220793D2232312220776964 + 74683D223222206865696768743D2236222F3E0D0A20202020202020203C7265 + 637420783D2233392220793D223333222077696474683D223222206865696768 + 743D2236222F3E0D0A20202020202020203C7265637420783D2233392220793D + 223137222077696474683D223222206865696768743D2236222F3E0D0A202020 + 20202020203C7265637420783D2233392220793D223235222077696474683D22 + 3222206865696768743D2236222F3E0D0A20202020202020203C706174682064 + 3D224D33392C362E31563768312E364334302E322C362E362C33392E362C362E + 332C33392C362E317A222F3E0D0A20202020202020203C7265637420783D2233 + 312220793D223137222077696474683D223222206865696768743D2236222F3E + 0D0A20202020202020203C7061746820643D224D34302E362C34314833397630 + 2E394333392E362C34312E372C34302E322C34312E342C34302E362C34317A22 + 2F3E0D0A20202020202020203C7265637420783D2233352220793D2231332220 + 77696474683D223222206865696768743D2236222F3E0D0A2020202020202020 + 3C7265637420783D2233312220793D223333222077696474683D223222206865 + 696768743D2236222F3E0D0A20202020202020203C7265637420783D22333522 + 20793D223239222077696474683D223222206865696768743D2236222F3E0D0A + 20202020202020203C7265637420783D2233392220793D223922207769647468 + 3D223222206865696768743D2236222F3E0D0A20202020202020203C72656374 + 20783D2233352220793D223231222077696474683D223222206865696768743D + 2236222F3E0D0A20202020202020203C7265637420783D2233312220793D2232 + 35222077696474683D223222206865696768743D2236222F3E0D0A2020202020 + 2020203C7265637420783D2233352220793D223337222077696474683D223222 + 206865696768743D2235222F3E0D0A20202020202020203C7265637420783D22 + 33352220793D2236222077696474683D223222206865696768743D2235222F3E + 0D0A20202020202020203C7265637420783D2233312220793D22343122207769 + 6474683D223222206865696768743D2231222F3E0D0A20202020202020203C72 + 65637420783D2232332220793D223431222077696474683D2232222068656967 + 68743D2231222F3E0D0A20202020202020203C7265637420783D223237222079 + 3D223337222077696474683D223222206865696768743D2235222F3E0D0A2020 + 2020202020203C7265637420783D2231392220793D223337222077696474683D + 223222206865696768743D2235222F3E0D0A20202020202020203C7265637420 + 783D22372220793D223137222077696474683D223222206865696768743D2236 + 222F3E0D0A20202020202020203C7061746820643D224D392C343148372E3463 + 302E352C302E342C312C302E372C312E362C302E395634317A222F3E0D0A2020 + 2020202020203C7061746820643D224D372E342C37483956362E3143382E342C + 362E332C372E382C362E362C372E342C377A222F3E0D0A20202020202020203C + 7265637420783D22372220793D223333222077696474683D2232222068656967 + 68743D2236222F3E0D0A20202020202020203C7265637420783D22372220793D + 223235222077696474683D223222206865696768743D2236222F3E0D0A202020 + 20202020203C7265637420783D22372220793D2239222077696474683D223222 + 206865696768743D2236222F3E0D0A20202020202020203C7265637420783D22 + 31312220793D223239222077696474683D223222206865696768743D2236222F + 3E0D0A20202020202020203C7265637420783D2231352220793D223137222077 + 696474683D223222206865696768743D2236222F3E0D0A20202020202020203C + 7265637420783D2231352220793D223333222077696474683D22322220686569 + 6768743D2236222F3E0D0A20202020202020203C7265637420783D2231352220 + 793D2239222077696474683D223222206865696768743D2236222F3E0D0A2020 + 2020202020203C7265637420783D2231352220793D2236222077696474683D22 + 3222206865696768743D2231222F3E0D0A20202020202020203C726563742078 + 3D2231392220793D2236222077696474683D223222206865696768743D223522 + 2F3E0D0A20202020202020203C7265637420783D2231352220793D2232352220 + 77696474683D223222206865696768743D2236222F3E0D0A2020202020202020 + 3C7265637420783D2231352220793D223431222077696474683D223222206865 + 696768743D2231222F3E0D0A20202020202020203C7265637420783D22313122 + 20793D223231222077696474683D223222206865696768743D2236222F3E0D0A + 20202020202020203C7265637420783D2231312220793D223622207769647468 + 3D223222206865696768743D2235222F3E0D0A20202020202020203C72656374 + 20783D2231312220793D223337222077696474683D223222206865696768743D + 2235222F3E0D0A20202020202020203C7265637420783D2231392220793D2231 + 33222077696474683D223222206865696768743D2236222F3E0D0A2020202020 + 2020203C7265637420783D2231312220793D223133222077696474683D223222 + 206865696768743D2236222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D + 0A0D00000063006F006C006C00610062006F0072006100740069006F006E005D + 0200003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A + 2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D22 + 3020302034382034382220656E61626C652D6261636B67726F756E643D226E65 + 7720302030203438203438223E0D0A202020203C706174682066696C6C3D2223 + 3135363543302220643D224D32352C32326831336C362C3656313163302D322E + 322D312E382D342D342D34483235632D322E322C302D342C312E382D342C3476 + 374332312C32302E322C32322E382C32322C32352C32327A222F3E0D0A202020 + 203C706174682066696C6C3D22233231393646332220643D224D32332C313948 + 31306C2D362C36563863302D322E322C312E382D342C342D3468313563322E32 + 2C302C342C312E382C342C3476374332372C31372E322C32352E322C31392C32 + 332C31397A222F3E0D0A202020203C672066696C6C3D2223464641373236223E + 0D0A20202020202020203C636972636C652063783D223132222063793D223331 + 2220723D2235222F3E0D0A20202020202020203C636972636C652063783D2233 + 36222063793D2233312220723D2235222F3E0D0A202020203C2F673E0D0A2020 + 20203C672066696C6C3D2223363037443842223E0D0A20202020202020203C70 + 61746820643D224D32302C343263302C302D322E322D342D382D34732D382C34 + 2D382C3476326831365634327A222F3E0D0A20202020202020203C7061746820 + 643D224D34342C343263302C302D322E322D342D382D34732D382C342D382C34 + 76326831365634327A222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A + 0700000063006F006C006C00650063007400C60200003C737667207665727369 + 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F + 323030302F737667222076696577426F783D223020302034382034382220656E + 61626C652D6261636B67726F756E643D226E657720302030203438203438223E + 0D0A202020203C672066696C6C3D2223303039363838223E0D0A202020202020 + 20203C7265637420783D2232322220793D223335222077696474683D22342220 + 6865696768743D223131222F3E0D0A20202020202020203C706F6C79676F6E20 + 706F696E74733D2232342C32392E362033312C33382031372C3338222F3E0D0A + 202020203C2F673E0D0A202020203C672066696C6C3D2223303039363838223E + 0D0A20202020202020203C7265637420783D2232322220793D22322220776964 + 74683D223422206865696768743D223131222F3E0D0A20202020202020203C70 + 6F6C79676F6E20706F696E74733D2232342C31382E342031372C31302033312C + 3130222F3E0D0A202020203C2F673E0D0A202020203C672066696C6C3D222330 + 3039363838223E0D0A20202020202020203C7265637420783D22322220793D22 + 3232222077696474683D22313122206865696768743D2234222F3E0D0A202020 + 20202020203C706F6C79676F6E20706F696E74733D2231382E342C3234203130 + 2C33312031302C3137222F3E0D0A202020203C2F673E0D0A202020203C672066 + 696C6C3D2223303039363838223E0D0A20202020202020203C7265637420783D + 2233352220793D223232222077696474683D22313122206865696768743D2234 + 222F3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D223239 + 2E362C32342033382C31372033382C3331222F3E0D0A202020203C2F673E0D0A + 202020203C636972636C652066696C6C3D2223463434333336222063783D2232 + 34222063793D2232342220723D2233222F3E0D0A3C2F7376673E0D0A0B000000 + 63006F006D0062006F005F0063006800610072007400080300003C7376672076 + 657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E + 6F72672F323030302F737667222076696577426F783D22302030203438203438 + 2220656E61626C652D6261636B67726F756E643D226E65772030203020343820 + 3438223E0D0A202020203C672066696C6C3D2223303042434434223E0D0A2020 + 2020202020203C7265637420783D2233372220793D223138222077696474683D + 223622206865696768743D223234222F3E0D0A20202020202020203C72656374 + 20783D2232392220793D223236222077696474683D223622206865696768743D + 223136222F3E0D0A20202020202020203C7265637420783D2232312220793D22 + 3232222077696474683D223622206865696768743D223230222F3E0D0A202020 + 20202020203C7265637420783D2231332220793D223332222077696474683D22 + 3622206865696768743D223130222F3E0D0A20202020202020203C7265637420 + 783D22352220793D223238222077696474683D223622206865696768743D2231 + 34222F3E0D0A202020203C2F673E0D0A202020203C672066696C6C3D22233346 + 35314235223E0D0A20202020202020203C636972636C652063783D2238222063 + 793D2231362220723D2233222F3E0D0A20202020202020203C636972636C6520 + 63783D223136222063793D2231382220723D2233222F3E0D0A20202020202020 + 203C636972636C652063783D223234222063793D2231312220723D2233222F3E + 0D0A20202020202020203C636972636C652063783D223332222063793D223133 + 2220723D2233222F3E0D0A20202020202020203C636972636C652063783D2234 + 30222063793D22392220723D2233222F3E0D0A20202020202020203C706F6C79 + 676F6E20706F696E74733D2233392E312C372E322033312E382C31302E392032 + 332E352C382E382031352E352C31352E3820382E352C31342E3120372E352C31 + 372E392031362E352C32302E322032342E352C31332E322033322E322C31352E + 312034302E392C31302E38222F3E0D0A202020203C2F673E0D0A3C2F7376673E + 0D0A0C00000063006F006D006D0061006E0064005F006C0069006E006500EB05 + 00003C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D22 + 7574662D38223F3E0D0A3C212D2D2047656E657261746F723A2041646F626520 + 496C6C7573747261746F722031392E312E312C20535647204578706F72742050 + 6C75672D496E202E205356472056657273696F6E3A20362E3030204275696C64 + 20302920202D2D3E0D0A3C7376672076657273696F6E3D22312E31222020786D + 6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73766722 + 20786D6C6E733A786C696E6B3D22687474703A2F2F7777772E77332E6F72672F + 313939392F786C696E6B2220783D223070782220793D22307078220D0A092076 + 696577426F783D223020302034382034382220656E61626C652D6261636B6772 + 6F756E643D226E6577203020302034382034382220786D6C3A73706163653D22 + 7072657365727665223E0D0A3C673E0D0A093C706174682066696C6C3D222343 + 46443844432220643D224D34312C36483743362E342C362C362C362E342C362C + 3776333568333656374334322C362E342C34312E362C362C34312C367A222F3E + 0D0A3C2F673E0D0A3C7265637420783D22382220793D223133222066696C6C3D + 2223323633323338222077696474683D22333222206865696768743D22323722 + 2F3E0D0A3C673E0D0A093C706174682066696C6C3D2223373646463033222064 + 3D224D32322C32372E36632D302E312C312E312D302E342C312E392D312C322E + 35632D302E362C302E362D312E342C302E392D322E352C302E39632D312E312C + 302D322D302E342D322E362D312E31632D302E362D302E372D302E392D312E38 + 2D302E392D332E310D0A0909762D312E3663302D312E332C302E332D322E342C + 302E392D332E3163302E362D302E372C312E352D312E312C322E362D312E3163 + 312E312C302C312E392C302E332C322E352C302E3963302E362C302E362C302E + 392C312E342C312C322E36682D3263302D302E372D302E312D312E322D302E33 + 2D312E340D0A0909632D302E322D302E332D302E362D302E342D312E312D302E + 34632D302E352C302D302E392C302E322D312E322C302E36632D302E322C302E + 342D302E332C312D302E342C312E3876312E3863302C312C302E312C312E362C + 302E332C3263302E322C302E342C302E362C302E352C312E312C302E350D0A09 + 0963302E352C302C302E392D302E312C312E312D302E3463302E322D302E332C + 302E332D302E372C302E332D312E344832327A222F3E0D0A093C706174682066 + 696C6C3D22233736464630332220643D224D32342C323463302D302E332C302E + 312D302E352C302E332D302E3763302E322D302E322C302E342D302E332C302E + 372D302E3363302E332C302C302E352C302E312C302E372C302E3363302E322C + 302E322C302E332C302E342C302E332C302E370D0A090963302C302E332D302E + 312C302E352D302E332C302E375332352E332C32352C32352C3235632D302E33 + 2C302D302E352D302E312D302E372D302E335332342C32342E332C32342C3234 + 7A222F3E0D0A093C706174682066696C6C3D22233736464630332220643D224D + 32342C333063302D302E332C302E312D302E352C302E332D302E3763302E322D + 302E322C302E342D302E332C302E372D302E3363302E332C302C302E352C302E + 312C302E372C302E3363302E322C302E322C302E332C302E342C302E332C302E + 370D0A090963302C302E332D302E312C302E352D302E332C302E375332352E33 + 2C33312C32352C3331632D302E332C302D302E352D302E312D302E372D302E33 + 5332342C33302E332C32342C33307A222F3E0D0A093C706174682066696C6C3D + 22233736464630332220643D224D32382C323168326C332C3130682D324C3238 + 2C32317A222F3E0D0A3C2F673E0D0A3C673E0D0A093C636972636C652066696C + 6C3D2223393041344145222063783D2231332E35222063793D22392E35222072 + 3D22312E35222F3E0D0A093C636972636C652066696C6C3D2223393041344145 + 222063783D22392E35222063793D22392E352220723D22312E35222F3E0D0A3C + 2F673E0D0A3C2F7376673E0D0A0800000063006F006D006D0065006E00740073 + 00E30000003C7376672076657273696F6E3D22312220786D6C6E733D22687474 + 703A2F2F7777772E77332E6F72672F323030302F737667222076696577426F78 + 3D223020302034382034382220656E61626C652D6261636B67726F756E643D22 + 6E657720302030203438203438223E0D0A202020203C706174682066696C6C3D + 22233842433334412220643D224D33372C33394831316C2D362C365631316330 + 2D332E332C322E372D362C362D3668323663332E332C302C362C322E372C362C + 367632324334332C33362E332C34302E332C33392C33372C33397A222F3E0D0A + 3C2F7376673E0D0A0E00000063006F006D0070006100630074005F0063006100 + 6D00650072006100770200003C7376672076657273696F6E3D22312220786D6C + 6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376672220 + 76696577426F783D223020302034382034382220656E61626C652D6261636B67 + 726F756E643D226E657720302030203438203438223E0D0A202020203C706174 + 682066696C6C3D22233630374438422220643D224D34302C33394838632D322E + 322C302D342D312E382D342D3456313363302D322E322C312E382D342C342D34 + 68333263322E322C302C342C312E382C342C347632324334342C33372E322C34 + 322E322C33392C34302C33397A222F3E0D0A202020203C636972636C65206669 + 6C6C3D2223343535413634222063783D223239222063793D2232342220723D22 + 3132222F3E0D0A202020203C636972636C652066696C6C3D2223343241354635 + 222063783D223239222063793D2232342220723D2239222F3E0D0A202020203C + 706174682066696C6C3D22233930434146392220643D224D33332E382C323163 + 2D312E322D312E342D332D322E322D342E382D322E32732D332E362C302E382D + 342E382C322E32632D302E352C302E352D302E342C312E332C302E312C312E38 + 63302E352C302E352C312E332C302E342C312E382D302E312063312E352D312E + 372C342E332D312E372C352E382C3063302E332C302E332C302E362C302E342C + 312C302E3463302E332C302C302E362D302E312C302E392D302E334333342E32 + 2C32322E342C33342E332C32312E352C33332E382C32317A222F3E0D0A202020 + 203C7265637420783D22382220793D223133222066696C6C3D22234144443846 + 42222077696474683D223622206865696768743D2233222F3E0D0A3C2F737667 + 3E0D0A0F00000063006F006E0066006500720065006E00630065005F00630061 + 006C006C00860200003C7376672076657273696F6E3D22312220786D6C6E733D + 22687474703A2F2F7777772E77332E6F72672F323030302F7376672220766965 + 77426F783D223020302034382034382220656E61626C652D6261636B67726F75 + 6E643D226E657720302030203438203438223E0D0A202020203C636972636C65 + 2066696C6C3D2223464641373236222063783D223132222063793D2232312220 + 723D2235222F3E0D0A202020203C672066696C6C3D2223343535413634223E0D + 0A20202020202020203C7061746820643D224D322C33342E3763302C302C322E + 382D362E332C31302D362E337331302C362E332C31302C362E33563338483256 + 33342E377A222F3E0D0A20202020202020203C7061746820643D224D34362C33 + 342E3763302C302D322E382D362E332D31302D362E33732D31302C362E332D31 + 302C362E335633386832305633342E377A222F3E0D0A202020203C2F673E0D0A + 202020203C636972636C652066696C6C3D2223464642373444222063783D2232 + 34222063793D2231372220723D2236222F3E0D0A202020203C70617468206669 + 6C6C3D22233630374438422220643D224D33362C33342E3163302C302D332E33 + 2D372E352D31322D372E35732D31322C372E352D31322C372E35563338683234 + 5633342E317A222F3E0D0A202020203C636972636C652066696C6C3D22234646 + 41373236222063783D223336222063793D2232312220723D2235222F3E0D0A20 + 2020203C636972636C652066696C6C3D2223464641373236222063783D223132 + 222063793D2232312220723D2235222F3E0D0A202020203C636972636C652066 + 696C6C3D2223464641373236222063783D223336222063793D2232312220723D + 2235222F3E0D0A3C2F7376673E0D0A120000006300720079007300740061006C + 005F006F007300630069006C006C00610074006F007200AD0100003C73766720 + 76657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E7733 + 2E6F72672F323030302F737667222076696577426F783D223020302034382034 + 382220656E61626C652D6261636B67726F756E643D226E657720302030203438 + 203438223E0D0A202020203C672066696C6C3D2223464639383030223E0D0A20 + 202020202020203C7265637420783D22332220793D223238222077696474683D + 22323622206865696768743D2234222F3E0D0A20202020202020203C72656374 + 20783D22332220793D223136222077696474683D22323622206865696768743D + 2234222F3E0D0A202020203C2F673E0D0A202020203C706174682066696C6C3D + 22233231393646332220643D224D34332C313148323076323668323363312E31 + 2C302C322D302E392C322D325631334334352C31312E392C34342E312C31312C + 34332C31317A222F3E0D0A202020203C706174682066696C6C3D222336344235 + 46362220643D224D32302C39682D32763330683263312E312C302C322D302E39 + 2C322D325631314332322C392E392C32312E312C392C32302C397A222F3E0D0A + 3C2F7376673E0D0A11000000630075007200720065006E00630079005F006500 + 78006300680061006E0067006500F30700003C7376672076657273696F6E3D22 + 312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32303030 + 2F737667222076696577426F783D223020302034382034382220656E61626C65 + 2D6261636B67726F756E643D226E657720302030203438203438223E0D0A2020 + 20203C636972636C652066696C6C3D2223334635314235222063783D22313822 + 2063793D2231382220723D223135222F3E0D0A202020203C706174682066696C + 6C3D22234646463539442220643D224D32302E332C313676312E37682D332E38 + 76312E3468332E3876312E37682D332E3863302C302E362C302E312C312E322C + 302E332C312E3663302E322C302E342C302E342C302E382C302E372C3163302E + 332C302E332C302E372C302E342C312E312C302E362063302E342C302E312C30 + 2E392C302E322C312E342C302E3263302E342C302C302E372C302C312E312D30 + 2E3163302E342D302E312C302E372D302E312C312D302E336C302E342C322E37 + 632D302E342C302E312D302E392C302E322D312E342C302E32632D302E352C30 + 2E312D312C302E312D312E352C302E3120632D302E392C302D312E382D302E31 + 2D322E362D302E34632D302E382D302E322D312E352D302E362D322D312E3163 + 2D302E362D302E352D312D312E312D312E342D312E39632D302E332D302E372D + 302E352D312E362D302E352D322E36682D312E39762D312E3768312E39762D31 + 2E34682D312E3956313668312E392063302E312D312C302E332D312E382C302E + 362D322E3663302E342D302E372C302E382D312E342C312E342D312E3963302E + 362D302E352C312E332D302E392C322E312D312E3163302E382D302E332C312E + 372D302E342C322E362D302E3463302E342C302C302E392C302C312E332C302E + 312063302E342C302E312C302E392C302E312C312E332C302E336C2D302E342C + 322E37632D302E332D302E312D302E362D302E322D312D302E33632D302E342D + 302E312D302E372D302E312D312E312D302E31632D302E352C302D312C302E31 + 2D312E342C302E32632D302E342C302E312D302E382C302E332D312C302E3620 + 632D302E332C302E332D302E352C302E362D302E372C31732D302E332C302E39 + 2D302E332C312E354832302E337A222F3E0D0A202020203C636972636C652066 + 696C6C3D2223344341463530222063783D223330222063793D2233302220723D + 223135222F3E0D0A202020203C706174682066696C6C3D22236666662220643D + 224D32382E342C323763302E312C302E322C302E322C302E342C302E342C302E + 3663302E322C302E322C302E342C302E342C302E372C302E3563302E332C302E + 322C302E372C302E332C312E312C302E3563302E372C302E332C312E342C302E + 362C322C302E392063302E362C302E332C312E312C302E372C312E352C312E31 + 63302E342C302E342C302E382C302E392C312C312E3463302E322C302E352C30 + 2E342C312E322C302E342C312E3963302C302E372D302E312C312E332D302E33 + 2C312E38632D302E322C302E352D302E352C312D302E392C312E3420732D302E + 392C302E372D312E342C302E39632D302E362C302E322D312E322C302E342D31 + 2E382C302E3576322E32682D312E38762D322E32632D302E362D302E312D312E + 322D302E322D312E382D302E34732D312E312D302E352D312E352D31632D302E + 352D302E342D302E382D312D312E312D312E3620632D302E332D302E362D302E + 342D312E342D302E342D322E3368332E3363302C302E352C302E312C312C302E + 322C312E3363302E312C302E342C302E332C302E362C302E362C302E3963302E + 322C302E322C302E352C302E342C302E382C302E3563302E332C302E312C302E + 362C302E312C302E392C302E312063302E342C302C302E372C302C302E392D30 + 2E3163302E332D302E312C302E352D302E322C302E372D302E3463302E322D30 + 2E322C302E332D302E342C302E342D302E3663302E312D302E322C302E312D30 + 2E352C302E312D302E3863302D302E332C302D302E362D302E312D302E382063 + 2D302E312D302E322D302E322D302E352D302E342D302E37732D302E342D302E + 342D302E372D302E35632D302E332D302E322D302E372D302E332D312E312D30 + 2E35632D302E372D302E332D312E342D302E362D322D302E39632D302E362D30 + 2E332D312E312D302E372D312E352D312E3120632D302E342D302E342D302E38 + 2D302E392D312D312E34632D302E322D302E352D302E342D312E322D302E342D + 312E3963302D302E362C302E312D312E322C302E332D312E3763302E322D302E + 352C302E352D312C302E392D312E3463302E342D302E342C302E392D302E372C + 312E342D312063302E352D302E322C312E322D302E342C312E382D302E35762D + 322E3468312E3876322E3463302E362C302E312C312E322C302E332C312E382C + 302E3663302E352C302E332C312C302E362C312E332C312E3163302E342C302E + 342C302E372C312C302E392C312E3663302E322C302E362C302E332C312E332C + 302E332C3220682D332E3363302D302E392D302E322D312E362D302E362D3263 + 2D302E342D302E342D302E392D302E372D312E352D302E37632D302E332C302D + 302E362C302E312D302E392C302E32632D302E322C302E312D302E342C302E32 + 2D302E362C302E34632D302E322C302E322D302E332C302E342D302E332C302E + 3620632D302E312C302E322D302E312C302E352D302E312C302E384332382E33 + 2C32362E352C32382E342C32362E382C32382E342C32377A222F3E0D0A3C2F73 + 76673E0D0A0600000063007500720073006F007200D70300003C737667207665 + 7273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F + 72672F323030302F737667222076696577426F783D2230203020343820343822 + 20656E61626C652D6261636B67726F756E643D226E6577203020302034382034 + 38223E0D0A202020203C706174682066696C6C3D22234530453045302220643D + 224D32372E382C33392E37632D302E312C302D302E322C302D302E342D302E31 + 632D302E322D302E312D302E342D302E332D302E362D302E356C2D332E372D38 + 2E366C2D342E352C342E324331382E352C33342E392C31382E332C33352C3138 + 2C333520632D302E312C302D302E332C302D302E342D302E314331372E332C33 + 342E382C31372C33342E342C31372C33346C302D323263302D302E342C302E32 + 2D302E382C302E362D302E394331372E372C31312C31372E392C31312C31382C + 313163302E322C302C302E352C302E312C302E372C302E336C31362C31352063 + 302E332C302E332C302E342C302E372C302E332C312E31632D302E312C302E34 + 2D302E352C302E362D302E392C302E376C2D362E332C302E366C332E392C382E + 3563302E312C302E322C302E312C302E352C302C302E38632D302E312C302E32 + 2D302E332C302E352D302E352C302E366C2D322E392C312E33204332382E312C + 33392E372C32372E392C33392E372C32372E382C33392E377A222F3E0D0A2020 + 20203C706174682066696C6C3D22233231323132312220643D224D31382C3132 + 6C31362C31356C2D372E372C302E376C342E352C392E386C2D322E392C312E33 + 6C2D342E332D392E394C31382C33344C31382C3132204D31382C3130632D302E + 332C302D302E352C302E312D302E382C302E3220632D302E372C302E332D312E + 322C312D312E322C312E386C302C323263302C302E382C302E352C312E352C31 + 2E322C312E384331372E352C33362C31372E382C33362C31382C333663302E35 + 2C302C312D302E322C312E342D302E356C332E342D332E326C332E312C372E33 + 2063302E322C302E352C302E362C302E392C312E312C312E3163302E322C302E + 312C302E352C302E312C302E372C302E3163302E332C302C302E352D302E312C + 302E382D302E326C322E392D312E3363302E352D302E322C302E392D302E362C + 312E312D312E3163302E322D302E352C302E322D312E312C302D312E35206C2D + 332E332D372E326C342E392D302E3463302E382D302E312C312E352D302E362C + 312E372D312E3363302E332D302E372C302E312D312E362D302E352D322E316C + 2D31362D31354331392C31302E322C31382E352C31302C31382C31304C31382C + 31307A222F3E0D0A3C2F7376673E0D0A1000000063007500730074006F006D00 + 650072005F0073007500700070006F0072007400420400003C73766720766572 + 73696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72 + 672F323030302F737667222076696577426F783D223020302034382034382220 + 656E61626C652D6261636B67726F756E643D226E657720302030203438203438 + 223E0D0A202020203C706174682066696C6C3D22234646423734442220643D22 + 4D32392C3433762D342E366C322E362C302E3563322E392C302E362C352E362D + 312E352C352E382D342E344C33382C32386C322E392D312E3263312D302E342C + 312E342D312E362C302E382D322E364C33382C313820632D302E362D372E362D + 342E392D31352D31362D31354331302E362C332C352C31312E342C352C323063 + 302C332E372C312E332C362E392C332E332C392E3663312E382C322E352C322E + 372C352E352C322E372C382E356C302C342E384832397A222F3E0D0A20202020 + 3C706F6C79676F6E2066696C6C3D22234646393830302220706F696E74733D22 + 32392C34332032392C33382E342032322C33372032322C3433222F3E0D0A2020 + 20203C636972636C652066696C6C3D2223373834373139222063783D2233332E + 35222063793D2232312E352220723D22312E35222F3E0D0A202020203C706174 + 682066696C6C3D22234646353732322220643D224D32312E342C334331322E33 + 2C332C352C31302E332C352C31392E3463302C31312E312C362C31312E342C36 + 2C31382E366C322E362D302E3963322E312D302E372C332E392D322E332C342E + 372D342E346C322E382D362E384C32372C3233762D362063302C302C372D332E + 382C372D31302E334333312C342E322C32352E372C332C32312E342C337A222F + 3E0D0A202020203C672066696C6C3D2223353436453741223E0D0A2020202020 + 2020203C7061746820643D224D32312C322E31632D302E362C302D312C302E34 + 2D312C317631332E3963302C302E362C302E342C312C312C3173312D302E342C + 312D3156332E314332322C322E352C32312E362C322E312C32312C322E317A22 + 2F3E0D0A20202020202020203C7061746820643D224D33362E392C33312E3963 + 2D372E392C302D31302E332D342E392D31302E342D352E31632D302E322D302E + 352D302E382D302E372D312E332D302E35632D302E352C302E322D302E372C30 + 2E382D302E352C312E332063302E312C302E332C332C362E332C31322E322C36 + 2E3363302E362C302C312D302E342C312D315333372E342C33312E392C33362E + 392C33312E397A222F3E0D0A202020203C2F673E0D0A202020203C636972636C + 652066696C6C3D2223333734373446222063783D223337222063793D22333322 + 20723D2232222F3E0D0A202020203C636972636C652066696C6C3D2223333734 + 373446222063783D223231222063793D2232332220723D2237222F3E0D0A2020 + 20203C636972636C652066696C6C3D2223353436453741222063783D22323122 + 2063793D2232332220723D2234222F3E0D0A3C2F7376673E0D0A030000006400 + 61006D006D0800003C7376672076657273696F6E3D22312220786D6C6E733D22 + 687474703A2F2F7777772E77332E6F72672F323030302F737667222076696577 + 426F783D223020302034382034382220656E61626C652D6261636B67726F756E + 643D226E657720302030203438203438223E0D0A202020203C672066696C6C3D + 2223383144344641223E0D0A20202020202020203C7265637420783D22323422 + 20793D223238222077696474683D22313822206865696768743D223134222F3E + 0D0A20202020202020203C7265637420783D22362220793D2231302220776964 + 74683D22313222206865696768743D223332222F3E0D0A202020203C2F673E0D + 0A202020203C672066696C6C3D2223313937364432223E0D0A20202020202020 + 203C7061746820643D224D31362C38682D3263302C312E312D302E392C322D32 + 2C32732D322D302E392D322D32483863302C312E312D302E392C322D322C3276 + 3263312E322C302C322E332D302E352C332D312E3463302E372C302E382C312E + 382C312E342C332C312E342073322E332D302E352C332D312E3463302E372C30 + 2E382C312E382C312E342C332C312E34762D324331362E392C31302C31362C39 + 2E312C31362C387A222F3E0D0A20202020202020203C7061746820643D224D31 + 362C3134682D3263302C312E312D302E392C322D322C32732D322D302E392D32 + 2D32483863302C312E312D302E392C322D322C32763263312E322C302C322E33 + 2D302E352C332D312E3463302E372C302E382C312E382C312E342C332C312E34 + 2073322E332D302E352C332D312E3463302E372C302E382C312E382C312E342C + 332C312E34762D324331362E392C31362C31362C31352E312C31362C31347A22 + 2F3E0D0A20202020202020203C7061746820643D224D31362C3230682D326330 + 2C312E312D302E392C322D322C32732D322D302E392D322D32483863302C312E + 312D302E392C322D322C32763263312E322C302C322E332D302E352C332D312E + 3463302E372C302E382C312E382C312E342C332C312E342073322E332D302E35 + 2C332D312E3463302E372C302E382C312E382C312E342C332C312E34762D3243 + 31362E392C32322C31362C32312E312C31362C32307A222F3E0D0A2020202020 + 2020203C7061746820643D224D31362C3236682D3263302C312E312D302E392C + 322D322C32732D322D302E392D322D32483863302C312E312D302E392C322D32 + 2C32763263312E322C302C322E332D302E352C332D312E3463302E372C302E38 + 2C312E382C312E342C332C312E342073322E332D302E352C332D312E3463302E + 372C302E382C312E382C312E342C332C312E34762D324331362E392C32382C31 + 362C32372E312C31362C32367A222F3E0D0A20202020202020203C7061746820 + 643D224D31362C3332682D3263302C312E312D302E392C322D322C32732D322D + 302E392D322D32483863302C312E312D302E392C322D322C32763263312E322C + 302C322E332D302E352C332D312E3463302E372C302E382C312E382C312E342C + 332C312E342073322E332D302E352C332D312E3463302E372C302E382C312E38 + 2C312E342C332C312E34762D324331362E392C33342C31362C33332E312C3136 + 2C33327A222F3E0D0A20202020202020203C7061746820643D224D31362C3338 + 682D3263302C312E312D302E392C322D322C32732D322D302E392D322D324838 + 63302C312E312D302E392C322D322C32763263312E322C302C322E332D302E35 + 2C332D312E3463302E372C302E382C312E382C312E342C332C312E342073322E + 332D302E352C332D312E3463302E372C302E382C312E382C312E342C332C312E + 34762D324331362E392C34302C31362C33392E312C31362C33387A222F3E0D0A + 20202020202020203C7061746820643D224D34302C3332682D3263302C312E31 + 2D302E392C322D322C32732D322D302E392D322D32682D3263302C312E312D30 + 2E392C322D322C32732D322D302E392D322D32682D3263302C312E312D302E39 + 2C322D322C3276322063312E322C302C322E332D302E352C332D312E3463302E + 372C302E382C312E382C312E342C332C312E3473322E332D302E352C332D312E + 3463302E372C302E382C312E382C312E342C332C312E3473322E332D302E352C + 332D312E3463302E372C302E382C312E382C312E342C332C312E34762D322043 + 34302E392C33342C34302C33332E312C34302C33327A222F3E0D0A2020202020 + 2020203C7061746820643D224D34302C3236682D3263302C312E312D302E392C + 322D322C32732D322D302E392D322D32682D3263302C312E312D302E392C322D + 322C32732D322D302E392D322D32682D3263302C312E312D302E392C322D322C + 3276322063312E322C302C322E332D302E352C332D312E3463302E372C302E38 + 2C312E382C312E342C332C312E3473322E332D302E352C332D312E3463302E37 + 2C302E382C312E382C312E342C332C312E3473322E332D302E352C332D312E34 + 63302E372C302E382C312E382C312E342C332C312E34762D32204334302E392C + 32382C34302C32372E312C34302C32367A222F3E0D0A20202020202020203C70 + 61746820643D224D34302C3338682D3263302C312E312D302E392C322D322C32 + 732D322D302E392D322D32682D3263302C312E312D302E392C322D322C327632 + 63312E322C302C322E332D302E352C332D312E3463302E372C302E382C312E38 + 2C312E342C332C312E342073322E332D302E352C332D312E3463302E372C302E + 382C312E382C312E342C332C312E34762D324334302E392C34302C34302C3339 + 2E312C34302C33387A222F3E0D0A202020203C2F673E0D0A202020203C706174 + 682066696C6C3D22233435354136342220643D224D32352E312C392E324C3331 + 2E352C3432483138563668332E324332332E312C362C32342E382C372E342C32 + 352E312C392E327A222F3E0D0A3C2F7376673E0D0A0A00000064006100740061 + 005F00730068006500650074000F0200003C7376672076657273696F6E3D2231 + 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F + 737667222076696577426F783D223020302034382034382220656E61626C652D + 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 + 203C706174682066696C6C3D22233930434146392220643D224D33392C313676 + 37682D36762D37682D327637682D36762D37682D327637682D37763268377636 + 682D37763268377636682D3776326832355631364833397A204D33392C323576 + 36682D36762D364833397A204D32352C323568367636682D365632357A204D32 + 352C333368367636682D365633337A204D33332C3339762D3668367636483333 + 7A222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223303042434434 + 2220706F696E74733D2234302C3820382C3820382C34302031362C3430203136 + 2C31362034302C3136222F3E0D0A202020203C706174682066696C6C3D222330 + 30393741372220643D224D372C37763334683130563137683234563748377A20 + 4D392C3233762D366836763648397A204D31352C323576364839762D36483135 + 7A204D31372C3968367636682D3656397A204D32352C3968367636682D365639 + 7A204D31352C397636483956394831357A204D392C3339762D36683676364839 + 7A204D33392C3135682D36563968365631357A222F3E0D0A3C2F7376673E0D0A + 040000006400650062007400300700003C7376672076657273696F6E3D223122 + 20786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73 + 7667222076696577426F783D223020302034382034382220656E61626C652D62 + 61636B67726F756E643D226E657720302030203438203438223E0D0A20202020 + 3C706174682066696C6C3D22234646423734442220643D224D31302C3132632D + 322E382C302D352D322E322D352D3573322E322D352C352D3573352C322E322C + 352C355331322E382C31322C31302C31327A222F3E0D0A202020203C70617468 + 2066696C6C3D22233630374438422220643D224D322C323276386C332C326C31 + 2C313468386C312D31346C332D32762D3863302D342E342D332E362D382D382D + 38683043352E362C31342C322C31372E362C322C32327A222F3E0D0A20202020 + 3C672066696C6C3D2223323633323338223E0D0A20202020202020203C706174 + 6820643D224D32322E342C34302E34632D302E362C322E352D312C332E362D32 + 2E342C332E36632D302E362C302D312E322D302E352D312E392D312E31632D31 + 2D302E382D322E322D312E392D342E312D312E39763263312E312C302C312E39 + 2C302E372C322E382C312E342063302E392C302E372C312E392C312E362C332E + 322C312E3663332E312C302C332E382D322E392C342E342D352E324332352C33 + 382E322C32352E342C33372C32372C3337762D324332332E372C33352C32322E + 392C33382E312C32322E342C34302E347A222F3E0D0A20202020202020203C70 + 6F6C79676F6E20706F696E74733D2231342E342C34302031302C34302031302C + 34342031342E312C3434222F3E0D0A202020203C2F673E0D0A202020203C6369 + 72636C652066696C6C3D2223344341463530222063783D223336222063793D22 + 33362220723D223130222F3E0D0A202020203C706174682066696C6C3D222366 + 66662220643D224D33352C333463302E312C302E322C302E312C302E332C302E + 332C302E3463302E312C302E312C302E332C302E322C302E352C302E3463302E + 322C302E312C302E352C302E322C302E382C302E3363302E352C302E322C302E + 392C302E342C312E332C302E362063302E342C302E322C302E372C302E342C31 + 2C302E3763302E332C302E332C302E352C302E362C302E372C302E3963302E32 + 2C302E342C302E322C302E382C302E322C312E3363302C302E342D302E312C30 + 2E382D302E322C312E32632D302E312C302E342D302E332C302E372D302E362C + 302E3920632D302E332C302E332D302E362C302E352D302E392C302E36632D30 + 2E342C302E322D302E382C302E332D312E322C302E3376312E35682D312E3276 + 2D312E35632D302E342C302D302E382D302E312D312E322D302E33632D302E34 + 2D302E322D302E372D302E342D312D302E3620632D302E332D302E332D302E35 + 2D302E362D302E372D312E31632D302E322D302E342D302E332D302E392D302E + 332D312E3568322E3263302C302E342C302C302E372C302E312C302E3963302E + 312C302E322C302E322C302E342C302E342C302E3663302E322C302E312C302E + 332C302E322C302E352C302E332063302E322C302E312C302E342C302E312C30 + 2E362C302E3163302E322C302C302E342C302C302E362D302E3163302E322D30 + 2E312C302E332D302E322C302E342D302E3363302E312D302E312C302E322D30 + 2E332C302E332D302E3463302E312D302E322C302E312D302E332C302E312D30 + 2E352063302D302E322C302D302E342D302E312D302E36632D302E312D302E32 + 2D302E312D302E332D302E332D302E34632D302E312D302E312D302E332D302E + 332D302E352D302E34632D302E322D302E312D302E342D302E322D302E372D30 + 2E33632D302E352D302E322D302E392D302E342D312E332D302E3620632D302E + 342D302E322D302E372D302E342D312D302E37632D302E332D302E332D302E35 + 2D302E362D302E372D302E39632D302E322D302E342D302E322D302E382D302E + 322D312E3363302D302E342C302E312D302E382C302E322D312E3263302E312D + 302E332C302E332D302E372C302E362D302E392063302E332D302E332C302E36 + 2D302E352C302E392D302E3663302E342D302E322C302E382D302E332C312E32 + 2D302E33762D312E3668312E3276312E3663302E342C302E312C302E382C302E + 322C312E322C302E3463302E342C302E322C302E362C302E342C302E392C302E + 372063302E322C302E332C302E342C302E362C302E362C3163302E312C302E34 + 2C302E322C302E392C302E322C312E34682D322E3263302D302E362D302E312D + 312D302E342D312E33632D302E322D302E332D302E362D302E342D312D302E34 + 632D302E322C302D302E342C302D302E362C302E3120632D302E322C302E312D + 302E332C302E322D302E342C302E334333352E312C33322E372C33352C33322E + 382C33352C3333732D302E312C302E332D302E312C302E354333342E392C3333 + 2E372C33342E392C33332E392C33352C33347A222F3E0D0A3C2F7376673E0D0A + 0A0000006400650070006100720074006D0065006E007400910300003C737667 + 2076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77 + 332E6F72672F323030302F737667222076696577426F783D2230203020343820 + 34382220656E61626C652D6261636B67726F756E643D226E6577203020302034 + 38203438223E0D0A202020203C706F6C79676F6E2066696C6C3D222343354341 + 45392220706F696E74733D2234322C343220362C343220362C392032342C3220 + 34322C39222F3E0D0A202020203C7265637420783D22362220793D2234322220 + 66696C6C3D2223394641384441222077696474683D2233362220686569676874 + 3D2232222F3E0D0A202020203C7265637420783D2232302220793D2233352220 + 66696C6C3D2223424633363043222077696474683D223822206865696768743D + 2239222F3E0D0A202020203C672066696C6C3D2223313536354330223E0D0A20 + 202020202020203C7265637420783D2233312220793D22323722207769647468 + 3D223622206865696768743D2235222F3E0D0A20202020202020203C72656374 + 20783D2232312220793D223237222077696474683D223622206865696768743D + 2235222F3E0D0A20202020202020203C7265637420783D2231312220793D2232 + 37222077696474683D223622206865696768743D2235222F3E0D0A2020202020 + 2020203C7265637420783D2233312220793D223335222077696474683D223622 + 206865696768743D2235222F3E0D0A20202020202020203C7265637420783D22 + 31312220793D223335222077696474683D223622206865696768743D2235222F + 3E0D0A20202020202020203C7265637420783D2233312220793D223139222077 + 696474683D223622206865696768743D2235222F3E0D0A20202020202020203C + 7265637420783D2232312220793D223139222077696474683D22362220686569 + 6768743D2235222F3E0D0A20202020202020203C7265637420783D2231312220 + 793D223139222077696474683D223622206865696768743D2235222F3E0D0A20 + 202020202020203C7265637420783D2233312220793D22313122207769647468 + 3D223622206865696768743D2235222F3E0D0A20202020202020203C72656374 + 20783D2232312220793D223131222077696474683D223622206865696768743D + 2235222F3E0D0A20202020202020203C7265637420783D2231312220793D2231 + 31222077696474683D223622206865696768743D2235222F3E0D0A202020203C + 2F673E0D0A3C2F7376673E0D0A0A0000006400650070006C006F0079006D0065 + 006E007400D80400003C7376672076657273696F6E3D22312220786D6C6E733D + 22687474703A2F2F7777772E77332E6F72672F323030302F7376672220766965 + 77426F783D223020302034382034382220656E61626C652D6261636B67726F75 + 6E643D226E657720302030203438203438223E0D0A202020203C706174682066 + 696C6C3D22234230424543352220643D224D33372C3432483556333268333263 + 322E382C302C352C322E322C352C3576304334322C33392E382C33392E382C34 + 322C33372C34327A222F3E0D0A202020203C706174682066696C6C3D22233337 + 343734462220643D224D31302C3334632D312E372C302D332C312E332D332C33 + 73312E332C332C332C3373332D312E332C332D335331312E372C33342C31302C + 33347A204D31302C3338632D302E362C302D312D302E342D312D3163302D302E + 362C302E342D312C312D312073312C302E342C312C314331312C33372E362C31 + 302E362C33382C31302C33387A222F3E0D0A202020203C706174682066696C6C + 3D22233337343734462220643D224D31392C3334632D312E372C302D332C312E + 332D332C3373312E332C332C332C3373332D312E332C332D335332302E372C33 + 342C31392C33347A204D31392C3338632D302E362C302D312D302E342D312D31 + 63302D302E362C302E342D312C312D312073312C302E342C312C314332302C33 + 372E362C31392E362C33382C31392C33387A222F3E0D0A202020203C70617468 + 2066696C6C3D22233337343734462220643D224D33372C3334632D312E372C30 + 2D332C312E332D332C3373312E332C332C332C3373332D312E332C332D335333 + 382E372C33342C33372C33347A204D33372C3338632D302E362C302D312D302E + 342D312D3163302D302E362C302E342D312C312D312073312C302E342C312C31 + 4333382C33372E362C33372E362C33382C33372C33387A222F3E0D0A20202020 + 3C706174682066696C6C3D22233337343734462220643D224D32382C3334632D + 312E372C302D332C312E332D332C3373312E332C332C332C3373332D312E332C + 332D335332392E372C33342C32382C33347A204D32382C3338632D302E362C30 + 2D312D302E342D312D3163302D302E362C302E342D312C312D312073312C302E + 342C312C314332392C33372E362C32382E362C33382C32382C33387A222F3E0D + 0A202020203C706174682066696C6C3D22234646393830302220643D224D3335 + 2C3331483131632D312E312C302D322D302E392D322D32563763302D312E312C + 302E392D322C322D3268323463312E312C302C322C302E392C322C3276323243 + 33372C33302E312C33362E312C33312C33352C33317A222F3E0D0A202020203C + 706174682066696C6C3D22233841353130302220643D224D32362E352C313368 + 2D37632D302E382C302D312E352D302E372D312E352D312E35763063302D302E + 382C302E372D312E352C312E352D312E35683763302E382C302C312E352C302E + 372C312E352C312E357630204332382C31322E332C32372E332C31332C32362E + 352C31337A222F3E0D0A202020203C706174682066696C6C3D22233630374438 + 422220643D224D33372C33314835763268333263322E322C302C342C312E382C + 342C34732D312E382C342D342C344835763268333263332E332C302C362D322E + 372C362D365334302E332C33312C33372C33317A222F3E0D0A3C2F7376673E0D + 0A090000006400690070006C006F006D0061005F003100B60200003C73766720 + 76657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E7733 + 2E6F72672F323030302F737667222076696577426F783D223020302034382034 + 382220656E61626C652D6261636B67726F756E643D226E657720302030203438 + 203438223E0D0A202020203C7265637420783D22342220793D2239222066696C + 6C3D2223453845414636222077696474683D22343022206865696768743D2233 + 30222F3E0D0A202020203C672066696C6C3D2223354336424330223E0D0A2020 + 2020202020203C706F6C79676F6E20706F696E74733D2233302C33342033322E + 382C33342032372E382C32392032352C33312E382033302C33362E38222F3E0D + 0A20202020202020203C706F6C79676F6E20706F696E74733D2231382C333420 + 31352E322C33342032302E322C32392032332C33312E382031382C33362E3822 + 2F3E0D0A202020203C2F673E0D0A202020203C7265637420783D223131222079 + 3D223135222066696C6C3D2223394641384441222077696474683D2232362220 + 6865696768743D2234222F3E0D0A202020203C706174682066696C6C3D222339 + 46413844412220643D224D32342C3233632D322E382C302D352C322E322D352C + 3573322E322C352C352C3573352D322E322C352D355332362E382C32332C3234 + 2C32337A204D32342C3331632D312E372C302D332D312E332D332D3373312E33 + 2D332C332D3373332C312E332C332C33205332352E372C33312C32342C33317A + 222F3E0D0A202020203C706174682066696C6C3D22233946413844412220643D + 224D332C38763332683432563848337A204D34332C3335632D312E372C302D33 + 2C312E332D332C33483863302D312E372D312E332D332D332D3356313363312E + 372C302C332D312E332C332D3368333263302C312E372C312E332C332C332C33 + 5633357A222F3E0D0A3C2F7376673E0D0A090000006400690070006C006F006D + 0061005F003200F60200003C7376672076657273696F6E3D22312220786D6C6E + 733D22687474703A2F2F7777772E77332E6F72672F323030302F737667222076 + 696577426F783D223020302034382034382220656E61626C652D6261636B6772 + 6F756E643D226E657720302030203438203438223E0D0A202020203C72656374 + 20783D22392220793D2234222066696C6C3D2223464245394537222077696474 + 683D22333022206865696768743D223430222F3E0D0A202020203C672066696C + 6C3D2223463435313145223E0D0A20202020202020203C706F6C79676F6E2070 + 6F696E74733D2233302C33372033322E382C33372032372E382C33322032352C + 33342E382033302C33392E38222F3E0D0A20202020202020203C706F6C79676F + 6E20706F696E74733D2231382C33372031352E322C33372032302E322C333220 + 32332C33342E382031382C33392E38222F3E0D0A202020203C2F673E0D0A2020 + 20203C7265637420783D2231352220793D223133222066696C6C3D2223464638 + 413635222077696474683D22313822206865696768743D2234222F3E0D0A2020 + 20203C7265637420783D2231352220793D223230222066696C6C3D2223464638 + 413635222077696474683D22313822206865696768743D2232222F3E0D0A2020 + 20203C706174682066696C6C3D22234646384136352220643D224D32342C3236 + 632D322E382C302D352C322E322D352C3573322E322C352C352C3573352D322E + 322C352D355332362E382C32362C32342C32367A204D32342C3334632D312E37 + 2C302D332D312E332D332D3373312E332D332C332D3373332C312E332C332C33 + 205332352E372C33342C32342C33347A222F3E0D0A202020203C706174682066 + 696C6C3D22234646384136352220643D224D382C33763432683332563348387A + 204D33382C3430632D312E372C302D332C312E332D332C3348313363302D312E + 372D312E332D332D332D33563863312E372C302C332D312E332C332D33683232 + 63302C312E372C312E332C332C332C335634307A222F3E0D0A3C2F7376673E0D + 0A0700000064006900730070006C0061007900140300003C7376672076657273 + 696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F7267 + 2F323030302F737667222076696577426F783D22302030203438203438222065 + 6E61626C652D6261636B67726F756E643D226E65772030203020343820343822 + 3E0D0A202020203C706174682066696C6C3D22233830444545412220643D224D + 34302C34314838632D322E322C302D342D312E382D342D3456313163302D322E + 322C312E382D342C342D3468333263322E322C302C342C312E382C342C347632 + 364334342C33392E322C34322E322C34312C34302C34317A222F3E0D0A202020 + 203C672066696C6C3D2223323936324646223E0D0A20202020202020203C706F + 6C79676F6E20706F696E74733D2233362C31372033312C31372032392C313520 + 33312C31332033362C31332033382C3135222F3E0D0A20202020202020203C70 + 6F6C79676F6E20706F696E74733D2233362C33352033312C33352032392C3333 + 2033312C33312033362C33312033382C3333222F3E0D0A20202020202020203C + 706F6C79676F6E20706F696E74733D2233372C33302033372C31382033392C31 + 362034312C31382034312C33302033392C3332222F3E0D0A2020202020202020 + 3C706F6C79676F6E20706F696E74733D2232362C33302032362C31382032382C + 31362033302C31382033302C33302032382C3332222F3E0D0A20202020202020 + 203C706F6C79676F6E20706F696E74733D2231372C31372031322C3137203130 + 2C31352031322C31332031372C31332031392C3135222F3E0D0A202020202020 + 20203C706F6C79676F6E20706F696E74733D2231372C33352031322C33352031 + 302C33332031322C33312031372C33312031392C3333222F3E0D0A2020202020 + 2020203C706F6C79676F6E20706F696E74733D2231382C33302031382C313820 + 32302C31362032322C31382032322C33302032302C3332222F3E0D0A20202020 + 202020203C706F6C79676F6E20706F696E74733D22372C333020372C31382039 + 2C31362031312C31382031312C333020392C3332222F3E0D0A202020203C2F67 + 3E0D0A3C2F7376673E0D0A0800000064006F00630075006D0065006E007400E9 + 0100003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A + 2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D22 + 3020302034382034382220656E61626C652D6261636B67726F756E643D226E65 + 7720302030203438203438223E0D0A202020203C706F6C79676F6E2066696C6C + 3D22233930434146392220706F696E74733D2234302C343520382C343520382C + 332033302C332034302C3133222F3E0D0A202020203C706F6C79676F6E206669 + 6C6C3D22234531463546452220706F696E74733D2233382E352C31342032392C + 31342032392C342E35222F3E0D0A202020203C672066696C6C3D222331393736 + 4432223E0D0A20202020202020203C7265637420783D2231362220793D223231 + 222077696474683D22313722206865696768743D2232222F3E0D0A2020202020 + 2020203C7265637420783D2231362220793D223235222077696474683D223133 + 22206865696768743D2232222F3E0D0A20202020202020203C7265637420783D + 2231362220793D223239222077696474683D22313722206865696768743D2232 + 222F3E0D0A20202020202020203C7265637420783D2231362220793D22333322 + 2077696474683D22313322206865696768743D2232222F3E0D0A202020203C2F + 673E0D0A3C2F7376673E0D0A0600000064006F006E0061007400650009040000 + 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 + 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 + 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 + 2030203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D2223 + 4536393332392220706F696E74733D2231312E372C32312E362031362E382C33 + 312E352032362E332C32372E362033302E372C31342E392031352E392C31352E + 37222F3E0D0A202020203C636972636C652066696C6C3D222335343645374122 + 2063783D223135222063793D2233362220723D22372E38222F3E0D0A20202020 + 3C672066696C6C3D2223393041344145223E0D0A20202020202020203C706174 + 6820643D224D31352C3237632D352C302D392C342D392C3963302C352C342C39 + 2C392C3973392D342C392D394332342C33312C32302C32372C31352C32377A20 + 4D31352C3433632D332E392C302D372D332E312D372D3763302D332E392C332E + 312D372C372D372073372C332E312C372C374332322C33392E392C31382E392C + 34332C31352C34337A222F3E0D0A20202020202020203C7265637420783D2231 + 342220793D223333222077696474683D223222206865696768743D2238222F3E + 0D0A202020203C2F673E0D0A202020203C672066696C6C3D2223464642373444 + 223E0D0A20202020202020203C7061746820643D224D31322E392C33364C3132 + 2E392C333663312C312E392C332E322C322E372C352E312C312E376C31362E35 + 2D382E3563312D302E352C312E372D312E322C322E322D312E3963312E372D33 + 2E322C352E362D31302E372C382E322D31372E32206C2D31382E322C382E374C + 32312E392C32366C2D362E382C332E364331322E352C33302E392C31312E372C + 33332E382C31322E392C33367A222F3E0D0A20202020202020203C7061746820 + 643D224D33302E322C334C31332E372C392E33632D302E372C302E322D312E35 + 2C312D322E322C312E376C2D352E362C372E35632D312C312E352D312E322C33 + 2E342D302E352C352E3163302E342C312C312E372C332E342C332E312C362E31 + 2063312E362D312E372C332E392D322E372C362E352D322E3763302E342C302C + 302E392C302C312E332C302E316C2D322E312D342E326C342E362D342E316838 + 63302C302C31352E352D322E322C31382E322D382E374C33302E322C337A222F + 3E0D0A202020203C2F673E0D0A202020203C706174682066696C6C3D22234646 + 434444322220643D224D31382E322C3336632D312E332C302E362D322E382C30 + 2D332E332D312E33632D302E362D312E332C302D322E382C312E332D332E3343 + 31372E342C33302E382C31392E342C33352E342C31382E322C33367A222F3E0D + 0A3C2F7376673E0D0A0E00000064006F007500670068006E00750074005F0063 + 006800610072007400C70100003C7376672076657273696F6E3D22312220786D + 6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73766722 + 2076696577426F783D223020302034382034382220656E61626C652D6261636B + 67726F756E643D226E657720302030203438203438223E0D0A202020203C7061 + 74682066696C6C3D22233030424344342220643D224D32342C3330632D332E33 + 2C302D362D322E372D362D3673322E372D362C362D3656354331332E352C352C + 352C31332E352C352C323473382E352C31392C31392C313963342E342C302C38 + 2E352D312E352C31312E382D342E316C2D382D31302E32204332362E372C3239 + 2E352C32352E342C33302C32342C33307A222F3E0D0A202020203C7061746820 + 66696C6C3D22233434384146462220643D224D33302C323468313363302D3130 + 2E352D382E352D31392D31392D31397631334332372E332C31382C33302C3230 + 2E372C33302C32347A222F3E0D0A202020203C706174682066696C6C3D222333 + 46353142352220643D224D34332C323448333063302C312E392D302E392C332E + 362D322E332C342E376C382C31302E324334302E322C33352E342C34332C3330 + 2C34332C32347A222F3E0D0A3C2F7376673E0D0A0400000064006F0077006E00 + FD0000003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 + 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D + 223020302034382034382220656E61626C652D6261636B67726F756E643D226E + 657720302030203438203438223E0D0A202020203C672066696C6C3D22233346 + 35314235223E0D0A20202020202020203C706F6C79676F6E20706F696E74733D + 2232342C34342031322E332C33302033352E372C3330222F3E0D0A2020202020 + 2020203C7265637420783D2232302220793D2236222077696474683D22382220 + 6865696768743D223237222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D + 0A0900000064006F0077006E005F006C006500660074000F0100003C73766720 + 76657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E7733 + 2E6F72672F323030302F737667222076696577426F783D223020302034382034 + 382220656E61626C652D6261636B67726F756E643D226E657720302030203438 + 203438223E0D0A202020203C706F6C79676F6E2066696C6C3D22233346353142 + 352220706F696E74733D22342C32392031382C31372E332031382C34302E3722 + 2F3E0D0A202020203C706174682066696C6C3D22233346353142352220643D22 + 4D34322C32315638682D3876313363302C322E322D312E382C342D342C344831 + 3376386831374333362E362C33332C34322C32372E362C34322C32317A222F3E + 0D0A3C2F7376673E0D0A0A00000064006F0077006E005F007200690067006800 + 74000C0100003C7376672076657273696F6E3D22312220786D6C6E733D226874 + 74703A2F2F7777772E77332E6F72672F323030302F737667222076696577426F + 783D223020302034382034382220656E61626C652D6261636B67726F756E643D + 226E657720302030203438203438223E0D0A202020203C706F6C79676F6E2066 + 696C6C3D22233346353142352220706F696E74733D2234342C32392033302C31 + 372E332033302C34302E37222F3E0D0A202020203C706174682066696C6C3D22 + 233346353142352220643D224D362C32315638683876313363302C322E322C31 + 2E382C342C342C3468313776384831384331312E342C33332C362C32372E362C + 362C32317A222F3E0D0A3C2F7376673E0D0A0800000064006F0077006E006C00 + 6F0061006400970100003C7376672076657273696F6E3D22312220786D6C6E73 + 3D22687474703A2F2F7777772E77332E6F72672F323030302F73766722207669 + 6577426F783D223020302034382034382220656E61626C652D6261636B67726F + 756E643D226E657720302030203438203438223E0D0A202020203C672066696C + 6C3D2223313536354330223E0D0A20202020202020203C706F6C79676F6E2070 + 6F696E74733D2232342C33372E312031332C32342033352C3234222F3E0D0A20 + 202020202020203C7265637420783D2232302220793D2234222077696474683D + 223822206865696768743D2234222F3E0D0A20202020202020203C7265637420 + 783D2232302220793D223130222077696474683D223822206865696768743D22 + 34222F3E0D0A20202020202020203C7265637420783D2232302220793D223136 + 222077696474683D223822206865696768743D223131222F3E0D0A2020202020 + 2020203C7265637420783D22362220793D223430222077696474683D22333622 + 206865696768743D2234222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D + 0A080000006400720069006200620062006C006500ED0500003C3F786D6C2076 + 657273696F6E3D22312E302220656E636F64696E673D227574662D38223F3E0D + 0A3C212D2D2047656E657261746F723A2041646F626520496C6C757374726174 + 6F722031352E302E302C20535647204578706F727420506C75672D496E202E20 + 5356472056657273696F6E3A20362E3030204275696C6420302920202D2D3E0D + 0A3C21444F435459504520737667205055424C494320222D2F2F5733432F2F44 + 54442053564720312E312F2F454E222022687474703A2F2F7777772E77332E6F + 72672F47726170686963732F5356472F312E312F4454442F73766731312E6474 + 64223E0D0A3C7376672076657273696F6E3D22312E31222020786D6C6E733D22 + 687474703A2F2F7777772E77332E6F72672F323030302F7376672220786D6C6E + 733A786C696E6B3D22687474703A2F2F7777772E77332E6F72672F313939392F + 786C696E6B2220783D223070782220793D22307078220D0A092077696474683D + 223438707822206865696768743D2234387078222076696577426F783D223020 + 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 + 3020302034382034382220786D6C3A73706163653D227072657365727665223E + 0D0A3C706174682066696C6C3D22234646343038312220643D224D34322C3337 + 63302C322E3736322D322E3233382C352D352C35483131632D322E3736312C30 + 2D352D322E3233382D352D3556313163302D322E3736322C322E3233392D352C + 352D3568323663322E3736322C302C352C322E3233382C352C355633377A222F + 3E0D0A3C706174682066696C6C3D22234646464646462220643D224D33332E30 + 36312C32362E323733632D302E3730332D302E3232312D312E3436342C302E31 + 37352D312E3638362C302E383935632D302E3832342C322E3635382D322E3331 + 362C352E3431392D322E3939332C352E35370D0A09632D302E3530372C302D31 + 2E3233362D302E34332D312E3935382D312E343463312E3637342D332E353934 + 2C322E3535312D382E3130362C322E3535312D31312E31313863302D382E3431 + 332D322E3132342D31302E31382D332E3930382D31302E31380D0A09632D332E + 3735372C302D332E382C392E3931322D332E382C31302E30313263302C312E31 + 36362C302E3034322C322E3234382C302E3132312C332E323536632D302E3531 + 382D302E3138392D312E3131332D302E3331392D312E37372D302E3331390D0A + 09632D332E38362C302D352E3631382C332E3830392D352E3631382C372E3334 + 374331342C33332E36332C31352E3837312C33372C32302E3034362C33376331 + 2E3937322C302C332E3633342D312E3239312C342E3937352D332E3232310D0A + 0963312E3138382C312E3233352C322E3433322C312E3639362C332E33362C31 + 2E36393663322E3932332C302C342E3835382D352E3233332C352E3535362D37 + 2E3438364333342E31362C32372E32372C33332E3736372C32362E3530322C33 + 332E3036312C32362E3237337A204D32302E3034382C33342E3236340D0A0963 + 2D332E3033312C302D332E33362D322E3737352D332E33362D332E3936396330 + 2D302E3138382C302E3033342D342E3631312C322E3933322D342E3631316331 + 2E3134342C302C322E3032322C302E3838352C322E3032322C302E3838350D0A + 0963302E3036352C302E30372C302E3133372C302E3133312C302E3231322C30 + 2E31383463302E3337352C312E3930342C302E3930342C332E3432362C312E35 + 31362C342E3633324332322E3336362C33332E3132332C32312E3230332C3334 + 2E3236342C32302E3034382C33342E3236347A0D0A09204D32342E3930312C32 + 372E393236632D302E3535392D312E39332D302E3934362D342E3532312D302E + 3934362D372E39313463302D332E3132362C302E3636362D362E3036382C312E + 3231392D372E30373363302E3432342C302E3634342C312E3131352C322E3635 + 2C312E3131352C372E3234310D0A094332362E3238392C32322E3631362C3235 + 2E37352C32352E3434362C32342E3930312C32372E3932367A222F3E0D0A3C2F + 7376673E0D0A080000006400760064005F006C006F0067006F00660700003C3F + 786D6C2076657273696F6E3D22312E302220656E636F64696E673D227574662D + 38223F3E0D0A3C212D2D2047656E657261746F723A2041646F626520496C6C75 + 73747261746F722031352E302E302C20535647204578706F727420506C75672D + 496E202E205356472056657273696F6E3A20362E3030204275696C6420302920 + 202D2D3E0D0A3C21444F435459504520737667205055424C494320222D2F2F57 + 33432F2F4454442053564720312E312F2F454E222022687474703A2F2F777777 + 2E77332E6F72672F47726170686963732F5356472F312E312F4454442F737667 + 31312E647464223E0D0A3C7376672076657273696F6E3D22312E31222020786D + 6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73766722 + 20786D6C6E733A786C696E6B3D22687474703A2F2F7777772E77332E6F72672F + 313939392F786C696E6B2220783D223070782220793D22307078220D0A092077 + 696474683D223438707822206865696768743D2234387078222076696577426F + 783D223020302034382034382220656E61626C652D6261636B67726F756E643D + 226E6577203020302034382034382220786D6C3A73706163653D227072657365 + 727665223E0D0A3C706174682066696C6C3D22233432413546352220643D224D + 32342E3030322C3237632D31322E3135342C302D32322C312E3334332D32322C + 332E30303663302C312E3635332C392E3834352C322E3939342C32322C322E39 + 39346331322E3135362C302C32322D312E3334312C32322D322E3939340D0A09 + 4334362E3030322C32382E3334332C33362E3135382C32372C32342E3030322C + 32377A204D32342E3030322C33302E393732632D322E3836332C302D352E3139 + 312D302E3439342D352E3139312D312E31303463302D302E3630392C322E3332 + 392D312E3130342C352E3139312D312E3130340D0A0963322E3836322C302C35 + 2E3139332C302E3439352C352E3139332C312E3130344332392E3139352C3330 + 2E3437382C32362E3836342C33302E3937322C32342E3030322C33302E393732 + 7A222F3E0D0A3C706174682066696C6C3D22233135363543302220643D224D32 + 312E32392C31356C322E3337312C362E34334C32392E32352C313568392E3438 + 3663342E3634372C302C372E3930362C322E3134382C372E3135382C342E3930 + 34632D302E3734352C322E3735362D352E3137382C342E3930342D392E383033 + 2C342E3930340D0A09682D362E32393563302C302C302E3134312D302E303433 + 2C302E3137322D302E31323663302E3234362D302E3934342C312E3730372D36 + 2E3236342C312E3732352D362E33343763302E30322D302E3130322D302E3130 + 352D302E3133332D302E3130352D302E31333368342E3537320D0A0963302C30 + 2D302E3038382D302E3030362D302E3132352C302E313333632D302E3032332C + 302E3037382D302E3934372C332E3432392D312E3134352C342E313736632D30 + 2E3032332C302E3039342D302E3136322C302E3133392D302E3136322C302E31 + 333968312E3039340D0A0963322E3539342C302C352E3034372D302E3832382C + 352E3536332D322E37343863302E3437332D312E3735322D312E3234342D322E + 3734362D342E3033392D322E373436682D312E3031346C2D342E3337352C302E + 3030346C2D31302E3034332C392E3933326C2D332E3834352D392E3735340D0A + 0963302C302D302E3033362D302E3036362D302E3036352D302E313437632D30 + 2E3031342D302E3032362D302E3130382D302E3130362D302E3230362D302E30 + 3633632D302E3036352C302E3033362D302E3037342C302E3131372D302E3036 + 362C302E3134360D0A0963302E3033362C302E3036362C302E3034322C302E30 + 382C302E3034382C302E31313163302E3536392C302E39332C302E3436372C32 + 2E3030392C302E33332C322E3532632D302E3737342C322E37352D352E313836 + 2C342E3930342D392E3831322C342E39303448322E3030320D0A0963302C302C + 302E3134392D302E3034332C302E3137322D302E31323663302E3235342D302E + 3934362C312E3731372D362E3239342C312E3732362D362E33343763302E3031 + 382D302E30392D302E3039392D302E3133332D302E3039392D302E3133336834 + 2E3630340D0A0963302C302D302E3133322C302E3033372D302E3135382C302E + 313331632D302E3032342C302E3037382D302E3935342C332E3433322D312E31 + 35312C342E313738632D302E3032332C302E3039342D302E3137382C302E3133 + 392D302E3137382C302E31333968312E3131380D0A0963322E3539372C302C35 + 2E3033322D302E3832382C352E3534372D322E37343863302E3437322D312E37 + 35322D312E32332D322E3734362D342E3032312D322E37343648382E35333968 + 2D342E343563302C302C302E3132352D302E3035392C302E3134372D302E3133 + 390D0A0963302E3132332D302E3434332C302E3439372D312E3833342C302E35 + 31352D312E38393943342E3737312C31352E3034372C342E3634362C31352C34 + 2E3634362C31354832312E32394C32312E32392C31357A222F3E0D0A3C2F7376 + 673E0D0A1100000065006C0065006300740072006900630061006C005F007300 + 65006E0073006F0072001A0200003C7376672076657273696F6E3D2231222078 + 6D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F737667 + 222076696577426F783D223020302034382034382220656E61626C652D626163 + 6B67726F756E643D226E657720302030203438203438223E0D0A202020203C63 + 6972636C652066696C6C3D2223423245424632222063783D223332222063793D + 2232342220723D2239222F3E0D0A202020203C706174682066696C6C3D222334 + 44443045312220643D224D33322C3132632D362E362C302D31322C352E342D31 + 322C313263302C362E362C352E342C31322C31322C31327331322D352E342C31 + 322D31324334342C31372E342C33382E362C31322C33322C31327A204D33322C + 333220632D342E342C302D382D332E362D382D3873332E362D382C382D387338 + 2C332E362C382C385333362E342C33322C33322C33327A222F3E0D0A20202020 + 3C672066696C6C3D2223334635314235223E0D0A20202020202020203C706F6C + 79676F6E20706F696E74733D2232352E342C32322031392E382C352E31203133 + 2E362C32372E372031312E342C323220342C323220342C323620382E362C3236 + 2031342E342C34302E332032302E322C31382E392032322E362C32362033302C + 32362033302C3232222F3E0D0A20202020202020203C636972636C652063783D + 223332222063793D2232342220723D2234222F3E0D0A202020203C2F673E0D0A + 3C2F7376673E0D0A1400000065006C0065006300740072006900630061006C00 + 5F007400680072006500730068006F006C006400F20100003C73766720766572 + 73696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72 + 672F323030302F737667222076696577426F783D223020302034382034382220 + 656E61626C652D6261636B67726F756E643D226E657720302030203438203438 + 223E0D0A202020203C7265637420783D22332220793D223132222066696C6C3D + 2223383044454541222077696474683D22343222206865696768743D22323422 + 2F3E0D0A202020203C7265637420783D22332220793D223233222066696C6C3D + 2223303341394634222077696474683D22343222206865696768743D2232222F + 3E0D0A202020203C706174682066696C6C3D226E6F6E6522207374726F6B653D + 222333463531423522207374726F6B652D77696474683D223422207374726F6B + 652D6D697465726C696D69743D2231302220643D224D342C31386C342E352D31 + 2E3563302E392D302E332C312E392C302E312C322E332C302E396C382E372C31 + 342E332063302E372C312E322C322E342C312E332C332E322C302E326C322E33 + 2D322E3863302E352D302E362C312E342D302E392C322E322D302E366C332C31 + 63312C302E332C322E312D302E322C322E352D312E316C342E332D31302E3163 + 302E352D312E312C312E392D312E362C322E392D302E396C342C322E37222F3E + 0D0A3C2F7376673E0D0A0B00000065006C006500630074007200690063006900 + 74007900E70000003C7376672076657273696F6E3D22312220786D6C6E733D22 + 687474703A2F2F7777772E77332E6F72672F323030302F737667222076696577 + 426F783D223020302034382034382220656E61626C652D6261636B67726F756E + 643D226E657720302030203438203438223E0D0A202020203C70617468206669 + 6C6C3D22233030424344342220643D224D33332E372C354C32322C31376C3135 + 2C354C32312E332C33362E376C352E312C322E384C31322C34336C322E372D31 + 342E386C322E392C352E314C32372C32346C2D31352D354C32352C354833332E + 377A222F3E0D0A3C2F7376673E0D0A0F00000065006C0065006300740072006F + 005F006400650076006900630065007300490100003C7376672076657273696F + 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 + 3030302F737667222076696577426F783D22302030203438203438223E0D0A20 + 2020203C706174682066696C6C3D22233346353142352220643D224D33392C34 + 334839632D322E322C302D342D312E382D342D34563963302D322E322C312E38 + 2D342C342D3468333063322E322C302C342C312E382C342C347633304334332C + 34312E322C34312E322C34332C33392C34337A222F3E0D0A202020203C706174 + 682066696C6C3D22233830444545412220643D224D33332E322C356C2D392E38 + 2C31302E314C33362C31392E334C32322E382C33312E376C342E332C322E344C + 31352C33376C322E332D31322E356C322E342C342E336C382D372E384C31352C + 31362E384C32352E392C354833332E327A222F3E0D0A3C2F7376673E0D0A0B00 + 000065006C0065006300740072006F006E00690063007300000200003C737667 + 2076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77 + 332E6F72672F323030302F737667222076696577426F783D2230203020343820 + 34382220656E61626C652D6261636B67726F756E643D226E6577203020302034 + 38203438223E0D0A202020203C706174682066696C6C3D222346463938303022 + 20643D224D34342C3138762D344833345634682D34763130682D345634682D34 + 763130682D345634682D34763130483476346831307634483476346831307634 + 4834763468313076313068345633346834763130683456333468347631306834 + 563334683130762D3448333420762D34683130762D34483334762D344834347A + 222F3E0D0A202020203C706174682066696C6C3D22233443414635302220643D + 224D382C313276323463302C322E322C312E382C342C342C3468323463322E32 + 2C302C342D312E382C342D3456313263302D322E322D312E382D342D342D3448 + 313243392E382C382C382C392E382C382C31327A222F3E0D0A202020203C7061 + 74682066696C6C3D22233337343734462220643D224D33312C3331483137632D + 312E312C302D322D302E392D322D3256313963302D312E312C302E392D322C32 + 2D3268313463312E312C302C322C302E392C322C327631304333332C33302E31 + 2C33322E312C33312C33312C33317A222F3E0D0A3C2F7376673E0D0A0D000000 + 65006D007000740079005F006200610074007400650072007900720100003C73 + 76672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F777777 + 2E77332E6F72672F323030302F737667222076696577426F783D223020302034 + 382034382220656E61626C652D6261636B67726F756E643D226E657720302030 + 203438203438223E0D0A202020203C672066696C6C3D2223434644384443223E + 0D0A20202020202020203C7061746820643D224D33342C3434483134632D312E + 312C302D322D302E392D322D32563863302D312E312C302E392D322C322D3268 + 323063312E312C302C322C302E392C322C327633344333362C34332E312C3335 + 2E312C34342C33342C34347A222F3E0D0A20202020202020203C706174682064 + 3D224D32382C3133682D38632D302E362C302D312D302E342D312D3156356330 + 2D302E362C302E342D312C312D31683863302E362C302C312C302E342C312C31 + 76374332392C31322E362C32382E362C31332C32382C31337A222F3E0D0A2020 + 20203C2F673E0D0A3C2F7376673E0D0A0C00000065006D007000740079005F00 + 660069006C00740065007200740100003C7376672076657273696F6E3D223122 + 20786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73 + 7667222076696577426F783D223020302034382034382220656E61626C652D62 + 61636B67726F756E643D226E657720302030203438203438223E0D0A20202020 + 3C672066696C6C3D2223464643433830223E0D0A20202020202020203C706F6C + 79676F6E20706F696E74733D2232392C32332031392C323320372C392034312C + 39222F3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D2232 + 392C33382031392C34342031392C32332032392C3233222F3E0D0A2020202020 + 2020203C7061746820643D224D34312E352C39682D333543352E372C392C352C + 382E332C352C372E35763043352C362E372C352E372C362C362E352C36683335 + 4334322E332C362C34332C362E372C34332C372E3576304334332C382E332C34 + 322E332C392C34312E352C397A222F3E0D0A202020203C2F673E0D0A3C2F7376 + 673E0D0A0B00000065006D007000740079005F00740072006100730068005B01 + 00003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F + 2F7777772E77332E6F72672F323030302F737667222076696577426F783D2230 + 20302034382034382220656E61626C652D6261636B67726F756E643D226E6577 + 20302030203438203438223E0D0A202020203C706174682066696C6C3D222342 + 33394444422220643D224D33302E362C34344831372E34632D322C302D332E37 + 2D312E342D342D332E344C392C31316833306C2D342E352C32392E364333342E + 322C34322E362C33322E352C34342C33302E362C34347A222F3E0D0A20202020 + 3C706174682066696C6C3D22233745353743322220643D224D33382C31334831 + 30632D312E312C302D322D302E392D322D32763063302D312E312C302E392D32 + 2C322D3268323863312E312C302C322C302E392C322C3276304334302C31322E + 312C33392E312C31332C33382C31337A222F3E0D0A3C2F7376673E0D0A080000 + 0065006E0064005F00630061006C006C00FE0100003C7376672076657273696F + 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 + 3030302F737667222076696577426F783D223020302034382034382220656E61 + 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D + 0A202020203C706174682066696C6C3D22234634343333362220643D224D3433 + 2E352C31362E386C2D322E332D322E33632D382E312D372E392D32372E352D36 + 2E382D33342E352C306C2D322E332C322E33632D302E362C302E362D302E362C + 312E362C302C322E336C342E362C342E352063302E362C302E362C312E372C30 + 2E362C322E332C306C352E312D342E394C31362C31332E3463312E362D312E36 + 2C31342E342D312E362C31362C306C2D302E332C352E356C342E392C342E3763 + 302E362C302E362C312E372C302E362C322E332C306C342E362D342E35204334 + 342E322C31382E342C34342E322C31372E342C34332E352C31362E387A222F3E + 0D0A202020203C672066696C6C3D2223423731433143223E0D0A202020202020 + 20203C706F6C79676F6E20706F696E74733D2232342C34302E352031362C3331 + 2033322C3331222F3E0D0A20202020202020203C7265637420783D2232312220 + 793D223234222077696474683D223622206865696768743D22372E35222F3E0D + 0A202020203C2F673E0D0A3C2F7376673E0D0A0B00000065006E00670069006E + 0065006500720069006E0067005B0400003C7376672076657273696F6E3D2231 + 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F + 737667222076696577426F783D223020302034382034382220656E61626C652D + 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 + 203C706174682066696C6C3D22234546364330302220643D224D33372E342C32 + 342E366C2D31312E362D322E326C2D332E392D31312E326C2D332E382C312E33 + 4C32322C32332E366C2D372E382C396C332C322E366C372E382D396C31312E36 + 2C322E324C33372E342C32342E367A222F3E0D0A202020203C672066696C6C3D + 2223464639383030223E0D0A20202020202020203C7061746820643D224D3234 + 2C3139632D322E382C302D352C322E322D352C3563302C322E382C322E322C35 + 2C352C3573352D322E322C352D354332392C32312E322C32362E382C31392C32 + 342C31397A204D32342C3236632D312E312C302D322D302E392D322D32206330 + 2D312E312C302E392D322C322D3273322C302E392C322C324332362C32352E31 + 2C32352E312C32362C32342C32367A222F3E0D0A20202020202020203C706174 + 6820643D224D34302E372C323763302E322D312C302E332D322C302E332D3363 + 302D312D302E312D322D302E332D336C332E332D322E3463302E342D302E332C + 302E362D302E392C302E332D312E344C34302C392E3820632D302E332D302E35 + 2D302E382D302E372D312E332D302E344C33352C3131632D312E352D312E332D + 332E332D322E332D352E322D336C2D302E342D342E31632D302E312D302E352D + 302E352D302E392D312D302E39682D382E36632D302E352C302D312C302E342D + 312C302E394C31382E322C3820632D312E392C302E372D332E372C312E372D35 + 2E322C334C392E332C392E3343382E382C392E312C382E322C392E332C382C39 + 2E386C2D342E332C372E34632D302E332C302E352D302E312C312E312C302E33 + 2C312E344C372E332C323143372E312C32322C372C32332C372C32342063302C + 312C302E312C322C302E332C334C342C32392E34632D302E342C302E332D302E + 362C302E392D302E332C312E344C382C33382E3263302E332C302E352C302E38 + 2C302E372C312E332C302E344C31332C333763312E352C312E332C332E332C32 + 2E332C352E322C336C302E342C342E312063302E312C302E352C302E352C302E + 392C312C302E3968382E3663302E352C302C312D302E342C312D302E396C302E + 342D342E3163312E392D302E372C332E372D312E372C352E322D336C332E372C + 312E3763302E352C302E322C312E312C302C312E332D302E346C342E332D372E + 342063302E332D302E352C302E312D312E312D302E332D312E344C34302E372C + 32377A204D32342C3335632D362E312C302D31312D342E392D31312D31316330 + 2D362E312C342E392D31312C31312D31317331312C342E392C31312C31314333 + 352C33302E312C33302E312C33352C32342C33357A222F3E0D0A202020203C2F + 673E0D0A3C2F7376673E0D0A1500000065006E0074006500720069006E006700 + 5F00680065006100760065006E005F0061006C00690076006500A70200003C73 + 76672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F777777 + 2E77332E6F72672F323030302F737667222076696577426F783D223020302034 + 382034382220656E61626C652D6261636B67726F756E643D226E657720302030 + 203438203438223E0D0A202020203C7265637420783D2231372220793D223239 + 222066696C6C3D2223303339424535222077696474683D223134222068656967 + 68743D2232222F3E0D0A202020203C7265637420783D2231332220793D223333 + 222066696C6C3D2223303339424535222077696474683D223232222068656967 + 68743D2232222F3E0D0A202020203C7265637420783D22392220793D22333722 + 2066696C6C3D2223303339424535222077696474683D22333022206865696768 + 743D2232222F3E0D0A202020203C7265637420783D22352220793D2234312220 + 66696C6C3D2223303339424535222077696474683D2233382220686569676874 + 3D2232222F3E0D0A202020203C706174682066696C6C3D222338314434464122 + 20643D224D33352C3133632D302E342C302D302E382C302D312E322C302E3143 + 33322E392C382E352C32382E392C352C32342C35632D342E312C302D372E362C + 322E352D392E322C36632D302E332C302D302E352C302D302E382C3020632D34 + 2E342C302D382C332E362D382C3873332E362C382C382C3863322E342C302C31 + 382E352C302C32312C3063332E392C302C372D332E312C372D374334322C3136 + 2E312C33382E392C31332C33352C31337A222F3E0D0A202020203C7061746820 + 66696C6C3D22233033394245352220643D224D32382C323163302D322E322D31 + 2E382D342D342D34732D342C312E382D342C3463302C302E352C302C362C302C + 3668384332382C32372C32382C32312E352C32382C32317A222F3E0D0A3C2F73 + 76673E0D0A0600000065007800700061006E006400C80000003C737667207665 + 7273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F + 72672F323030302F737667222076696577426F783D2230203020343820343822 + 20656E61626C652D6261636B67726F756E643D226E6577203020302034382034 + 38223E0D0A202020203C706F6C79676F6E2066696C6C3D222332313936463322 + 20706F696E74733D2234332C31372E312033392E392C31342032342C32392E39 + 20382E312C313420352C31372E312032342C3336222F3E0D0A3C2F7376673E0D + 0A060000006500780070006F0072007400710100003C7376672076657273696F + 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 + 3030302F737667222076696577426F783D223020302034382034382220656E61 + 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D + 0A202020203C706174682066696C6C3D22234646434342432220643D224D372C + 3430563863302D322E322C312E382D342C342D3468323463322E322C302C342C + 312E382C342C3476333263302C322E322D312E382C342D342C3448313143382E + 382C34342C372C34322E322C372C34307A222F3E0D0A202020203C672066696C + 6C3D2223464635373232223E0D0A20202020202020203C706F6C79676F6E2070 + 6F696E74733D2234322E372C32342033322C33332033322C3135222F3E0D0A20 + 202020202020203C7265637420783D2231342220793D22323122207769647468 + 3D22323322206865696768743D2236222F3E0D0A202020203C2F673E0D0A3C2F + 7376673E0D0A08000000650078007400650072006E0061006C00300100003C73 + 76672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F777777 + 2E77332E6F72672F323030302F737667222076696577426F783D223020302034 + 382034382220656E61626C652D6261636B67726F756E643D226E657720302030 + 203438203438223E0D0A202020203C636972636C652066696C6C3D2223423244 + 464442222063783D223234222063793D2233312220723D223134222F3E0D0A20 + 2020203C672066696C6C3D2223303039363838223E0D0A20202020202020203C + 706F6C79676F6E20706F696E74733D2232342C332E332033332C31342031352C + 3134222F3E0D0A20202020202020203C7265637420783D2232312220793D2231 + 31222077696474683D223622206865696768743D223233222F3E0D0A20202020 + 3C2F673E0D0A3C2F7376673E0D0A0700000066006100630074006F0072007900 + 6F0200003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 + 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D + 223020302034382034382220656E61626C652D6261636B67726F756E643D226E + 657720302030203438203438223E0D0A202020203C706174682066696C6C3D22 + 234246333630432220643D224D34312E322C35682D372E334C33322C34336831 + 314C34312E322C357A222F3E0D0A202020203C706174682066696C6C3D222345 + 36344131392220643D224D33332C3233682D34762D366C2D31322C36762D364C + 352C32337632306832385632337A222F3E0D0A202020203C7265637420783D22 + 392220793D223237222066696C6C3D2223464643313037222077696474683D22 + 3422206865696768743D2234222F3E0D0A202020203C7265637420783D223137 + 2220793D223237222066696C6C3D2223464643313037222077696474683D2234 + 22206865696768743D2234222F3E0D0A202020203C7265637420783D22323522 + 20793D223237222066696C6C3D2223464643313037222077696474683D223422 + 206865696768743D2234222F3E0D0A202020203C7265637420783D2239222079 + 3D223335222066696C6C3D2223464643313037222077696474683D2234222068 + 65696768743D2234222F3E0D0A202020203C7265637420783D2231372220793D + 223335222066696C6C3D2223464643313037222077696474683D223422206865 + 696768743D2234222F3E0D0A202020203C7265637420783D2232352220793D22 + 3335222066696C6C3D2223464643313037222077696474683D22342220686569 + 6768743D2234222F3E0D0A3C2F7376673E0D0A1100000066006100630074006F + 00720079005F0062007200650061006B0064006F0077006E00720200003C7376 + 672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E + 77332E6F72672F323030302F737667222076696577426F783D22302030203438 + 2034382220656E61626C652D6261636B67726F756E643D226E65772030203020 + 3438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D2223453634 + 4131392220706F696E74733D2232392C32332032392C31372032312C32312032 + 312C32332031372C32332031372C32372031332C32372031332C323320352C32 + 3320352C34332033332C34332033332C3233222F3E0D0A202020203C72656374 + 20783D2232352220793D223237222066696C6C3D222339393242304122207769 + 6474683D223422206865696768743D2234222F3E0D0A202020203C7265637420 + 783D22392220793D223335222066696C6C3D2223393932423041222077696474 + 683D223422206865696768743D2234222F3E0D0A202020203C7265637420783D + 2232352220793D223335222066696C6C3D222339393242304122207769647468 + 3D223422206865696768743D2234222F3E0D0A202020203C7265637420783D22 + 31372220793D223335222066696C6C3D2223393932423041222077696474683D + 223422206865696768743D2234222F3E0D0A202020203C7265637420783D2231 + 372220793D223237222066696C6C3D2223393932423041222077696474683D22 + 3422206865696768743D2234222F3E0D0A202020203C706F6C79676F6E206669 + 6C6C3D22234246333630432220706F696E74733D2234312E322C352033382C35 + 2033382C372033362C372033362C392033332E372C392033322C34332034332C + 3433222F3E0D0A3C2F7376673E0D0A03000000660061007100740400003C7376 + 672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E + 77332E6F72672F323030302F737667222076696577426F783D22302030203438 + 2034382220656E61626C652D6261636B67726F756E643D226E65772030203020 + 3438203438223E0D0A202020203C706174682066696C6C3D2223353538423246 + 2220643D224D31352C34306832336C362C3656323563302D322E322D312E382D + 342D342D34483135632D322E322C302D342C312E382D342C347631314331312C + 33382E322C31322E382C34302C31352C34307A222F3E0D0A202020203C706174 + 682066696C6C3D22233142354532302220643D224D32382E382C33322E38682D + 332E366C2D302E372C322E31682D322E326C332E372D313068312E396C332E37 + 2C3130682D322E324C32382E382C33322E387A204D32352E372C33312E326832 + 2E354C32372C32372E344C32352E372C33312E327A222F3E0D0A202020203C70 + 6174682066696C6C3D22233842433334412220643D224D33332C32354831306C + 2D362C36563863302D322E322C312E382D342C342D3468323563322E322C302C + 342C312E382C342C347631334333372C32332E322C33352E322C32352C33332C + 32357A222F3E0D0A202020203C706174682066696C6C3D22236666662220643D + 224D32352E342C31342E3263302C312D302E322C312E382D302E352C322E3563 + 2D302E332C302E372D302E372C312E332D312E332C312E376C312E372C312E33 + 4C32342C32302E396C2D322E322D312E37632D302E322C302D302E352C302E31 + 2D302E382C302E3120632D302E362C302D312E322D302E312D312E382D302E33 + 632D302E352D302E322D312D302E362D312E342D31632D302E342D302E342D30 + 2E372D312D302E392D312E36632D302E322D302E362D302E332D312E332D302E + 332D322E31762D302E3463302D302E382C302E312D312E352C302E332D322E31 + 2063302E322D302E362C302E352D312E322C302E392D312E3663302E342D302E + 342C302E382D302E382C312E342D3163302E352D302E322C312E312D302E332C + 312E382D302E3363302E362C302C312E322C302E312C312E382C302E3363302E + 352C302E322C312C302E362C312E342C312063302E342C302E342C302E372C31 + 2C302E392C312E3663302E322C302E362C302E332C312E332C302E332C322E31 + 5631342E327A204D32332E322C31332E3763302D312E312D302E322D312E392D + 302E362D322E34632D302E342D302E362D302E392D302E382D312E362D302E38 + 20632D302E372C302D312E332C302E332D312E362C302E38632D302E342C302E + 362D302E362C312E342D302E362C322E3476302E3563302C302E352C302E312C + 312C302E322C312E3463302E312C302E342C302E322C302E382C302E342C3163 + 302E322C302E332C302E342C302E352C302E372C302E362063302E332C302E31 + 2C302E362C302E322C302E392C302E3263302E372C302C312E332D302E332C31 + 2E362D302E3863302E342D302E362C302E362D312E342C302E362D322E355631 + 332E377A222F3E0D0A3C2F7376673E0D0A0700000066006500650064005F0069 + 006E00570200003C7376672076657273696F6E3D22312220786D6C6E733D2268 + 7474703A2F2F7777772E77332E6F72672F323030302F73766722207669657742 + 6F783D223020302034382034382220656E61626C652D6261636B67726F756E64 + 3D226E657720302030203438203438223E0D0A202020203C706174682066696C + 6C3D22233231393646332220643D224D33382C323476313263302C312E312D30 + 2E392C322D322C32483132632D312E312C302D322D302E392D322D3256323463 + 302D332E332D322E372D362D362D3668307634683063312E312C302C322C302E + 392C322C327631322063302C332E332C322E372C362C362C3668323463332E33 + 2C302C362D322E372C362D3656323463302D312E312C302E392D322C322D3268 + 30762D3468304334302E372C31382C33382C32302E372C33382C32347A222F3E + 0D0A202020203C672066696C6C3D2223334635314235223E0D0A202020202020 + 20203C706F6C79676F6E20706F696E74733D2233382E362C352E362032392C31 + 352E322032392C32382033332C32382033332C31362E382034312E342C382E34 + 222F3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D22362E + 362C382E342031352C31362E382031352C32382031392C32382031392C31352E + 3220392E342C352E36222F3E0D0A20202020202020203C706F6C79676F6E2070 + 6F696E74733D2233372C32372033312C33332032352C3237222F3E0D0A202020 + 20202020203C706F6C79676F6E20706F696E74733D2232332C32372031372C33 + 332031312C3237222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0800 + 000066006500650064006200610063006B00380200003C737667207665727369 + 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F + 323030302F737667222076696577426F783D223020302034382034382220656E + 61626C652D6261636B67726F756E643D226E657720302030203438203438223E + 0D0A202020203C706174682066696C6C3D22233738393039432220643D224D34 + 302C34314838632D322E322C302D342D312E382D342D346C302D32302E396330 + 2D312E332C302E362D322E352C312E372D332E334C32342C306C31382E332C31 + 322E3863312E312C302E372C312E372C322C312E372C332E3356333720433434 + 2C33392E322C34322E322C34312C34302C34317A222F3E0D0A202020203C7265 + 637420783D2231322220793D223131222066696C6C3D22236666662220776964 + 74683D22323422206865696768743D223232222F3E0D0A202020203C706F6C79 + 676F6E2066696C6C3D22233943323742302220706F696E74733D2232342C3133 + 2E362031382C32312E342033302C32312E34222F3E0D0A202020203C70617468 + 2066696C6C3D22234346443844432220643D224D34302C34314838632D322E32 + 2C302D342D312E382D342D346C302D32306C32302C31336C32302D3133763230 + 4334342C33392E322C34322E322C34312C34302C34317A222F3E0D0A20202020 + 3C706F6C79676F6E2066696C6C3D22233943323742302220706F696E74733D22 + 32342C32382032362C32362E372032362C32302032322C32302032322C32362E + 37222F3E0D0A3C2F7376673E0D0A04000000660069006C006500F30000003C73 + 76672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F777777 + 2E77332E6F72672F323030302F737667222076696577426F783D223020302034 + 382034382220656E61626C652D6261636B67726F756E643D226E657720302030 + 203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D22233930 + 434146392220706F696E74733D2234302C343520382C343520382C332033302C + 332034302C3133222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223 + 4531463546452220706F696E74733D2233382E352C31342032392C3134203239 + 2C342E35222F3E0D0A3C2F7376673E0D0A0E000000660069006C0069006E0067 + 005F0063006100620069006E0065007400100300003C7376672076657273696F + 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 + 3030302F737667222076696577426F783D223020302034382034382220656E61 + 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D + 0A202020203C7265637420783D2231322220793D223434222066696C6C3D2223 + 323633323338222077696474683D223422206865696768743D2232222F3E0D0A + 202020203C7265637420783D2233322220793D223434222066696C6C3D222332 + 3633323338222077696474683D223422206865696768743D2232222F3E0D0A20 + 2020203C706174682066696C6C3D22233630374438422220643D224D382C3431 + 563763302D322E322C312E382D342C342D3468323463322E322C302C342C312E + 382C342C3476333463302C322E322D312E382C342D342C3448313243392E382C + 34352C382C34332E322C382C34317A222F3E0D0A202020203C70617468206669 + 6C6C3D22234230424543352220643D224D31322C3137563863302D302E362C30 + 2E342D312C312D3168323263302E362C302C312C302E342C312C317639483132 + 7A222F3E0D0A202020203C7265637420783D2231322220793D22313922206669 + 6C6C3D2223423042454335222077696474683D22323422206865696768743D22 + 3130222F3E0D0A202020203C706174682066696C6C3D22234230424543352220 + 643D224D31322C3430762D39683234763963302C302E362D302E342C312D312C + 314831334331322E342C34312C31322C34302E362C31322C34307A222F3E0D0A + 202020203C7265637420783D2232302220793D223131222066696C6C3D222335 + 3436453741222077696474683D223822206865696768743D2232222F3E0D0A20 + 2020203C7265637420783D2232302220793D223233222066696C6C3D22233534 + 36453741222077696474683D223822206865696768743D2232222F3E0D0A2020 + 20203C7265637420783D2232302220793D223335222066696C6C3D2223353436 + 453741222077696474683D223822206865696768743D2232222F3E0D0A3C2F73 + 76673E0D0A0D000000660069006C006C00650064005F00660069006C00740065 + 0072007F0100003C7376672076657273696F6E3D22312220786D6C6E733D2268 + 7474703A2F2F7777772E77332E6F72672F323030302F73766722207669657742 + 6F783D223020302034382034382220656E61626C652D6261636B67726F756E64 + 3D226E657720302030203438203438223E0D0A202020203C706F6C79676F6E20 + 66696C6C3D22234635374330302220706F696E74733D2232392C32332031392C + 323320372C392034312C39222F3E0D0A202020203C672066696C6C3D22234646 + 39383030223E0D0A20202020202020203C706F6C79676F6E20706F696E74733D + 2232392C33382031392C34342031392C32332032392C3233222F3E0D0A202020 + 20202020203C7061746820643D224D34312E352C39682D333543352E372C392C + 352C382E332C352C372E35763043352C362E372C352E372C362C362E352C3668 + 33354334322E332C362C34332C362E372C34332C372E3576304334332C382E33 + 2C34322E332C392C34312E352C397A222F3E0D0A202020203C2F673E0D0A3C2F + 7376673E0D0A13000000440065006C007000680069005F00500072006F006400 + 7500630074002000690063006F006E008D2300003C3F786D6C2076657273696F + 6E3D22312E302220656E636F64696E673D227574662D38223F3E0D0A3C737667 + 2076657273696F6E3D22312E312220783D223070782220793D22307078222076 + 696577426F783D223020302038303030203830303022207374796C653D22656E + 61626C652D6261636B67726F756E643A6E657720302030203830303020383030 + 303B2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030 + 302F737667223E0D0A20203C7374796C6520747970653D22746578742F637373 + 223E0D0A092E7374307B646973706C61793A6E6F6E653B66696C6C3A23464646 + 4646463B7374726F6B653A234331323732443B7374726F6B652D77696474683A + 32303B7374726F6B652D6D697465726C696D69743A31303B7D0D0A092E737431 + 7B66696C6C3A234633323733353B7D0D0A092E7374327B66696C6C3A23394530 + 4632303B7D0D0A092E7374337B66696C6C3A234646464646463B7D0D0A3C2F73 + 74796C653E0D0A20203C672069643D2243616D6164615F31223E0D0A20202020 + 3C673E0D0A2020202020203C673E0D0A20202020202020203C636972636C6520 + 63783D2234303030222063793D22333939392E39392220723D22333938392E38 + 33222066696C6C3D2223463332373335222F3E0D0A20202020202020203C7061 + 746820636C6173733D227374322220643D224D363830392E39382C313136372E + 35344C313139302E32392C363833322E3763302E31322C302E31322C302E3234 + 2C302E32342C302E33352C302E33352063313536342E35362C313535312E3637 + 2C343039302E37362C313534312E32312C353634322E34322D32332E33354338 + 3338342E36342C353234352E32342C383337342E32382C323731392E32332C36 + 3830392E39382C313136372E35347A222066696C6C3D2223394530463230222F + 3E0D0A2020202020203C2F673E0D0A2020202020203C673E0D0A202020202020 + 20203C7061746820636C6173733D227374332220643D224D20333431382E3535 + 20343636332E3838204320333532322E303720343539342E353920333632342E + 313920343532332E3220333732372E303320343435322E383920432034313430 + 2E363620343137302E313220343535342E333520333838372E34332034393638 + 2E303320333630342E3733204C20353432382E383920333238382E3436204320 + 353430342E393520333236362E343620353338332E393820333234362E303720 + 353336312E383120333232372E3132204320353233302E393820333131352E33 + 3120353039302E363320333031372E343820343933382E3420323933362E3636 + 204320343730302E373720323831302E353120343434392E333720323732392E + 313220343138302E333920323731312E3334204320343034312E373720323730 + 322E313820333930322E363220323730392E3534203337363520323733332E31 + 34204320333535382E303820323736382E363220333336312E37342032383334 + 2E383320333137362E343620323933332E3934204320323930322E3735203330 + 38302E333420323637362E323920333238302E333120323439362E3835203335 + 33332E3239204320323239302E303620333832342E383420323137352E333220 + 343135302E3320323134352E393120343530352E3632204320323133342E3132 + 20343634382E303720323134302E373520343739302E373720323136322E3838 + 20343933322E3131204320323139312E323120353131332E313220323234322E + 343120353238372E363220323331392E353820353435342E3120432032343035 + 2E3320353633392E303220323531372E373920353830362E303520323635362E + 393920353935342E3835204320323639302E383220353939312E303120323732 + 372E343620363032342E353320323736332E373720363036302E322043203238 + 31372E333920353938352E363520323839302E3235203539343520323937302E + 383920353931362E3333204320333131352E343120353836342E393620333236 + 362E353220353835352E3820333431372E363620353835322E34322043203335 + 30312E373820353835302E353420333538362E333120353835362E3338203336 + 37302E333120353836322E3939204320333736352E363120353837302E343920 + 333836302E353820353838322E333320333935352E3620353839332E31322043 + 20343030302E363420353839382E323320343034352E343620353930352E3239 + 20343039342E363820353931322E3036204320333935352E333120353631392E + 343220333831382E313120353333312E333320333638302E393520353034332E + 3332204320333630392E383420353035372E333520333534322E353720353037 + 302E363220333437332E373220353038342E32204320333437312E3134203530 + 37372E323220333436382E383920353037322E383820333436372E3933203530 + 36382E3237204320333434332E373820343935322E363120333432312E313620 + 343833362E3620333339342E373720343732312E3436204320333338382E3134 + 20343639322E353620333339352E353620343637392E323720333431382E3535 + 20343636332E3838205A204D20333232362E393320333232382E383120432032 + 3932372E373520333437372E343820323638382E3320333736392E3638203235 + 36342E343520343134352E3139204320323532392E393320343234392E383420 + 323531302E3220343335372E323620323530302E353320343436372E31382043 + 20323437342E303220343736382E343520323534322E353320353035302E3438 + 20323637332E383220353331382E3637204320323732322E313220353431372E + 333420323738322E313520353531302E323720323833362E383320353630352E + 3832204320323834302E3520353631322E323320323834342E3120353631382E + 363720323835302E303520353632392E32204320323830392E32392035363439 + 2E393620323737302E353920353637302E363320323733302E39362035363839 + 2E3331204320323731372E343320353639352E363820323730332E3731203536 + 39382E323420323639322E363820353637382E3933204320323537372E393420 + 353437372E393220323438332E3620353236382E343220323432362E33362035 + 3034332E3436204320323338362E353620343838372E303220323336342E3034 + 20343732372E383520323337302E313520343536362E3434204320323338302E + 333720343239362E353620323435362E303320343034352E363620323539382E + 373220333831352E3335204320323732332E333420333631342E322032383832 + 2E323520333434342E343520333036362E333620333239372E30382043203332 + 32332E333320333137312E343320333339322E303820333036342E3838203335 + 37342E353620323938302E3238204320333538322E393220323937362E343120 + 333539312E3439203239373320333539392E393620323936392E333820432033 + 3436372E383620333034352E393620333334332E353320333133312E39203332 + 32362E393320333232382E3831205A222066696C6C3D2223666666666666222F + 3E0D0A20202020202020203C7061746820636C6173733D227374332220643D22 + 4D333831302E31352C353132362E39356337312E33342D31332E37382C313431 + 2E30392D32372E37332C3231312E31342D34302E303363372E30362D312E3234 + 2C31372E35332C352E38352C32332E36322C31312E3920633130312E32362C31 + 30302E36322C3139392E30362C3230342E39352C3330332E392C3330312E3635 + 6338372E39312C38312E312C3138332E38322C3135332E35342C3237362E3337 + 2C3232392E3539633133312E39322C3130382E342C3234372E32322C3233322E + 35362C3334362E34342C3337312E313720633137332E342C3234322E32362C32 + 39382E37352C3530372E33362C3336382E33362C3739372E3563362E31322C32 + 352E35312D312E36362C35362E392D31302E35332C38322E3939632D33302E31 + 322C38382E36342D39342E30322C3135322E35382D3136342E36362C3230392E + 373520632D39382E39362C38302E30392D3230392E38332C3133392E39322D33 + 32372E332C3138382E3431632D32342E34322C31302E30382D33332E32392C35 + 2E32352D34342E32322D31382E3637632D3132302E39352D3236342E35392D32 + 34332E34342D3532382E34382D3336352E33362D3739322E363320632D313635 + 2E32392D3335382E312D3333302E34332D3731362E32372D3439352E36372D31 + 3037342E3339632D33382E34382D38332E33392D37372E30392D3136362E3731 + 2D3131352E35372D3235302E312043333831342E33332C353133392E30342C33 + 3831322E36382C353133332E36362C333831302E31352C353132362E39357A22 + 2066696C6C3D2223666666666666222F3E0D0A20202020202020203C70617468 + 20636C6173733D227374332220643D224D20343038312E3520363033382E3539 + 204320343037372E363320363033302E323620343036352E353920363032312E + 343620343035362E3520363032302E3434204320333837372E39352036303030 + 2E333820333639392E353320353937382E333920333532302E35332035393633 + 2E3331204320333339352E323720353935322E373620333236392E3420353936 + 302E333220333134342E373920353937372E3938204320333035362E35372035 + 3939302E343820323937302E323120363031312E343420323839312E31203630 + 35342E3832204320323834342E363420363038302E3320323831302E30322036 + 3131342E343920323738382E393720363136362E3038204320323732372E3835 + 20363331352E393120323636322E3520363436342E303220323539382E373420 + 363631322E3737204320323536352E363420363638392E393920323533322E34 + 20363736372E313620323439372E313320363834392E3233204320323530352E + 343320363834362E373520323530382E363820363834352E383720323531312E + 383720363834342E38204320323638352E333720363738362E35382032383635 + 2E313720363736392E383920333034362E3420363736392E3732204320333135 + 342E343820363736392E363220333236322E373720363737372E333120333337 + 302E353920363738362E3131204320333437362E323720363739342E37342033 + 3538312E393120363830362E323920333638362E373820363832312E38352043 + 20333832332E323520363834322E303920333935382E393520363836372E3536 + 20343039372E393820363839312E3239204320343136332E333420363737332E + 353420343233302E333820363635332E313120343239362E3720363533322E32 + 38204320343330302E313220363532362E303520343330302E30352036353135 + 2E313720343239372E303320363530382E3533204320343232352E3737203633 + 35312E363220343135342E303920363139342E383920343038312E3520363033 + 382E3539205A204D20333036302E303720363136322E3336204320333034352E + 393420363136362E363920333033312E303720363137372E343120333032322E + 333920363138392E34204320323932362E343220363332312E39372032383331 + 2E353920363435352E333620323733362E363120363538382E36342043203237 + 33342E303220363539322E323720323733332E323820363539372E3232203237 + 33312E363720363630312E3535204320323732392E313920363539392E343120 + 323732362E373120363539372E323820323732342E323320363539352E313420 + 4320323734302E373120363536302E303320323735362E393520363532342E38 + 3120323737332E373220363438392E3834204320323832392E31332036333734 + 2E323620323838342E343120363235382E363220323934302E38312036313433 + 2E3532204320323934352E393520363133332E303420323935372E3434203631 + 32312E383620323936382E323720363131382E3538204320333038322E373120 + 363038332E393320333139392E353720363036322E383420333331382E393420 + 363035322E3537204320333430372E3420363034342E393620333439342E3437 + 20363034372E353120333538312E333320363036342E3537204320333539302E + 343620363036362E333620333539392E333420363036392E343420333630382E + 333320363037312E3933204320333431372E333320363035382E313520333233 + 382E323120363130372E373920333036302E303720363136322E3336205A2220 + 66696C6C3D2223666666666666222F3E0D0A20202020202020203C7061746820 + 636C6173733D227374332220643D224D20353832372E313320343235322E3231 + 204320353830352E3620343131392E373720353738332E383420333938372E33 + 3720353736322E353720333835342E3839204320353734332E36362033373337 + 2E313420353732352E353420333631392E323720353730362E35372033353031 + 2E3533204320353639322E313120333431312E373620353637372E3031203333 + 32322E303620353636312E363720333232392E3534204C20333439312E373820 + 343731382E3637204320333438342E333720343732352E333920333437372E31 + 3420343733382E303720333437382E393520343734352E313720432033343936 + 2E373120343831342E393320333531362E393120343838342E30362033353336 + 2E323720343935322E3938204320333534312E313720343935332E3233203335 + 34342E313320343935332E393720333534362E383520343935332E3433204320 + 333731382E373120343931392E333120333839302E343620343838342E363520 + 343036322E3420343835302E3938204320343339312E343320343738362E3535 + 20343732302E363220343732322E393520353034392E363320343635382E3439 + 204320353331332E323720343630362E383320353537362E3638203435353420 + 353834302E34352034353033204320353836332E363320343439382E35322035 + 3836352E383220343438382E393320353836322E363320343436392E39352043 + 20353835302E343420343339372E343420353833382E393320343332342E3820 + 353832372E313320343235322E3231205A222066696C6C3D2223666666666666 + 222F3E0D0A20202020202020203C673E0D0A202020202020202020203C706174 + 6820636C6173733D227374332220643D224D343538312E352C323433382E3332 + 632D35312E35392C37342E37342D3130332E32332C3134392E34352D3135342E + 30392C3232332E3038633238342E30322C34382E372C3530382E39352C313635 + 2E35362C3633302E39332C3233362E3038206331382E382C382E35382C33302E + 33362C372E30342C34352E35322D352E39376339352E32382D38312E37382C31 + 39312E30342D3136332E30312C3238372E31382D3234332E38633139302E3034 + 2D3135392E372C3338302E35382D3331382E38322C3537302E36332D3437382E + 353120633139392E38312D3136372E38382C3339392E33342D3333362E30382C + 3539382E39322D3530342E3233632D3332362E33392D3233322E30372D363935 + 2E322D3430372E33312D313039322E32312D3531312E3320632D39312E39312C + 3133332E37352D3138342E34342C3236372E30382D3237362E36362C3430302E + 363243343938382E32362C313834382E39332C343738342E39312C323134332E + 36352C343538312E352C323433382E33327A222066696C6C3D22236666666666 + 66222F3E0D0A202020202020202020203C7061746820636C6173733D22737433 + 2220643D224D333532342E31392C323436372E3438632D32312E34392C37392E + 38372D34342E36372C3136352E39372D36362E39382C3235302E32376334362E + 35362D31302E33372C3332332E31372D3131352E322C3731382E38382D38382E + 3832206331392E30382C312E31362C32382E39372D352E36382C33372E38362D + 32322E33326338352E332D3135392E36362C3136362E35362D3331312E38352C + 3235322E342D3437312E3232633132342E30342D3233302E32382C3234372E39 + 392D3436302E36322C3337312E39392D3639302E3933206336362E34322D3132 + 332E33362C3133322E38382D3234362E37312C3230312E31362D3337332E3436 + 632D3133372E33352D31372E32332D3237372E32322D32362E31362D3431392E + 31332D32362E3136632D3235322E35312C302D3439382E36312C32382E31372D + 3733352E34332C38312E343520632D362E38342C32382E36332D31342E39352C + 35362E39372D32322E362C38352E343143333734392E36332C313633302E332C + 333633362E38332C323034382E38372C333532342E31392C323436372E34387A + 222066696C6C3D2223666666666666222F3E0D0A202020202020202020203C70 + 61746820636C6173733D227374332220643D224D323534352E38362C31383336 + 2E353363362E36332C37382E31342C31332E33342C3135362E32372C31392E38 + 382C3233342E343263362E332C37352E332C31322E32322C3135302E36332C31 + 382E372C3232352E39312063362E35362C37362E31382C31332E38382C313532 + 2E32392C32302E33342C3232382E343863362E36322C37382E322C31322E3538 + 2C3135362E34372C31382E38362C3233342E3763362E30352C37352E33392C31 + 312E39382C3135302E37392C31382E32382C3232362E31362063352E36392C36 + 382E30382C31312E34332C3133392E36312C31372E37312C3231312E36386337 + 372E33382D37352E36332C3331372E30312D3238392E33312C3631322E34382D + 3431312E39386331332E37352D352E37312C32372E33382D382E38322C33302E + 38342D33302E3931206331382E34362D3131372E36372C33362E35322D323135 + 2E32322C35372E30332D3333322E35386332382E36382D3136342E31312C3537 + 2E33332D3332382E32332C38352E392D3439322E33376333352E37372D323035 + 2E35342C37312E35322D3431312E30392C3130372E30362D3631362E36372063 + 352E35392D33322E33332C31302E34392D36342E38322C31352E38362D39392E + 3336632D3337352E37312C3132342E35342D3732322E35322C3331332E392D31 + 3032372E33322C3535342E3935632D302E31342C302E362D302E33312C312E32 + 312D302E33322C312E382043323534302E36352C313739322E36352C32353433 + 2E39392C313831342E36312C323534352E38362C313833362E35337A22206669 + 6C6C3D2223666666666666222F3E0D0A202020202020202020203C7061746820 + 636C6173733D227374332220643D224D323135312E36392C333630322E303363 + 32382E39352C35382E32362C36322E36312C3132362E34352C39322E34342C31 + 38362E33356336322E38382D3133392E33382C3139342E32362D3334372E3537 + 2C3331382E31332D3438382E37322063362E34312D372E33312C31302E31342D + 32312E34392C382E31322D33302E3938632D32302E38312D39372E38392D3433 + 2E31342D3138392E36362D36352E30352D3238372E3332632D35372E39312D32 + 35382E312D3131352E38362D3531362E322D3137332E38322D3737342E323920 + 632D31352E32312D36372E37332D33302E35362D3133352E34322D34372E3533 + 2D3231302E3539632D32322E37342C32342E32332D34302E34372C34322E3835 + 2D35372E392C36312E3734632D37322E38332C37382E39362D3135312E35372C + 3135332E33392D3231362E39362C3233382E3120632D38382E30392C3131342E + 312D3136382E38332C3233332E38362D3235312E39322C3335312E3835632D31 + 342E30362C32322E36362D32372E38362C34352E35312D34312E342C36382E35 + 3263302E30312C362E362C322E32362C31332E32352C362E30342C32302E3834 + 2043313836352E34312C333032352E35362C323030382E34382C333331332E38 + 322C323135312E36392C333630322E30337A222066696C6C3D22236666666666 + 66222F3E0D0A202020202020202020203C7061746820636C6173733D22737433 + 2220643D224D313436332E33392C333737332E3235633136362E37352C313437 + 2E32342C3333332E35382C3239342E342C3530302E34332C3434312E35336333 + 382C33332E35312C37382E392C36392E33382C3132302E32362C3130352E3631 + 206331352E38332D3132342E38372C35382E322D3237392E37362C3130352E39 + 362D3430312E383763392E31362D32332E34332D302E30342D33372E33322D31 + 322E33312D35332E3738632D3136382E37382D3232362E34322D3333392E3236 + 2D3435322E35352D3530372E39332D3637392E303620632D33372E39392D3531 + 2E30322D37362E33322D3130312E382D3131352E39342D3135342E3632632D34 + 2E34372C382E34312D372E33332C31332E31382D392E36332C31382E32632D35 + 2E39372C31332E30362D31312E38342C32362E31352D31372E36332C33392E32 + 3720632D37382E31392C3138302E32332D3134312E32392C3336382E35382D31 + 38372E37372C3536332E333763312E35342C362E36382C352E30322C31332E35 + 342C392E31322C31372E343143313338352E362C333730342E38342C31343234 + 2E35372C333733382E39372C313436332E33392C333737332E32357A22206669 + 6C6C3D2223666666666666222F3E0D0A202020202020202020203C7061746820 + 636C6173733D227374332220643D224D313933372E322C343837322E30366334 + 342E36352C31352E34352C39342E34392C33322E39342C3134302E32392C3438 + 2E3934632D32362E38322D3136352E37362D31342E37382D3430302E392D3131 + 2E38372D3435312E35362063312E31392D32302E36342D352E36382D33322E32 + 382D32332E38352D34332E3439632D3138392E30382D3131362E35372D333831 + 2E33362D3233352E30332D3536392E39352D3335322E34632D36322E352D3338 + 2E38392D3132352E31332D37372E36322D3139302E39332D3131382E34322063 + 2D32332E32372C3136312E30322D33352E33392C3332352E36342D33352E3339 + 2C3439332E303763302C36322E33382C312E37322C3132342E33352C352E3033 + 2C3138352E393163322E38382C312E36322C362E32352C332E30382C31302E32 + 322C342E34342043313438362E34342C343731352E38312C313731312E37382C + 343739342E30332C313933372E322C343837322E30367A222066696C6C3D2223 + 666666666666222F3E0D0A202020202020202020203C7061746820636C617373 + 3D227374332220643D224D323235322E39322C353530372E3534632D31312E31 + 382D31392E36322D32322E39352D32322E37342D34332E31352D31372E383863 + 2D3139302E35382C34352E38322D3338362E34352C39322E31382D3537372E31 + 352C3133372E353420632D35342E31352C31322E38382D3130382E33332C3235 + 2E39312D3136332E36322C33392E31386336322E332C3136332E33362C313336 + 2E37332C3332302E36392C3232322E32312C3437302E3836633233342E38342D + 3132352E34312C3437302E33342D3235302E38322C3730352E34392D3337362E + 34342043323330352E36382C353632302E312C323239362E39392C353538342E + 392C323235322E39322C353530372E35347A222066696C6C3D22236666666666 + 66222F3E0D0A202020202020202020203C7061746820636C6173733D22737433 + 2220643D224D313734372E31352C353337332E3531633130342E35392D302E38 + 392C3230392E322D302E31382C3331332E382D302E31386334332E35362C302C + 38372E31332C302C3133332E36332C3020632D322E36382D31302E33322D3635 + 2E36352D3139302E32372D38352E34342D3238332E3438632D312E32362D382E + 38352D31352E392D32302E35322D32362E30372D32322E3639632D3233312E38 + 352D34392E34352D3436312E392D39362E38372D3639332E39382D3134352E32 + 3420632D33372E33342D372E37382D37342E39332D31342E38342D3131332E39 + 372D32322E346332312E36322C3136332E38342C35342E37382C3332342E3035 + 2C39382E37342C3437392E373363302E382C302C312E35382C302E30312C322E + 34312D302E30312043313439392E38382C353337362E352C313632332E35312C + 353337342E35362C313734372E31352C353337332E35317A222066696C6C3D22 + 23666666666666222F3E0D0A20202020202020203C2F673E0D0A202020202020 + 3C2F673E0D0A202020203C2F673E0D0A202020203C673E0D0A2020202020203C + 656C6C6970736520636C6173733D22737430222063783D22373335362E313822 + 2063793D223830312E3031222072783D223132342E36222072793D223132352E + 3731222F3E0D0A202020203C2F673E0D0A20203C2F673E0D0A3C2F7376673E0D + 0A04000000660069006C006D00560100003C7376672076657273696F6E3D2231 + 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F + 737667222076696577426F783D223020302034382034382220656E61626C652D + 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 + 203C706174682066696C6C3D22233346353142352220643D224D34352C394833 + 76333068343256397A204D32322C3337762D34683476344832327A204D33302C + 3337762D34683476344833307A204D33382C3337762D34683476344833387A20 + 4D31342C3337762D34683476344831347A204D362C3337762D34683476344836 + 207A204D32322C3135762D34683476344832327A204D33302C3135762D346834 + 76344833307A204D33382C3135762D34683476344833387A204D31342C313576 + 2D34683476344831347A204D362C3135762D346834763448367A222F3E0D0A3C + 2F7376673E0D0A09000000660069006C006D005F007200650065006C00F90100 + 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F + 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 + 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 + 302030203438203438223E0D0A202020203C706174682066696C6C3D22233346 + 353142352220643D224D34332C3339563234682D3476313563302C352C342C39 + 2C392C39762D344334352E322C34342C34332C34312E382C34332C33397A222F + 3E0D0A202020203C636972636C652066696C6C3D222339304134414522206378 + 3D223234222063793D2232342220723D223139222F3E0D0A202020203C636972 + 636C652066696C6C3D2223333734373446222063783D223234222063793D2232 + 342220723D2232222F3E0D0A202020203C672066696C6C3D2223323533323738 + 223E0D0A20202020202020203C636972636C652063783D223234222063793D22 + 31342220723D2235222F3E0D0A20202020202020203C636972636C652063783D + 223234222063793D2233342220723D2235222F3E0D0A20202020202020203C63 + 6972636C652063783D223334222063793D2232342220723D2235222F3E0D0A20 + 202020202020203C636972636C652063783D223134222063793D223234222072 + 3D2235222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0A0000006600 + 6C006100730068005F006100750074006F00440100003C737667207665727369 + 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F + 323030302F737667222076696577426F783D223020302034382034382220656E + 61626C652D6261636B67726F756E643D226E657720302030203438203438223E + 0D0A202020203C706F6C79676F6E2066696C6C3D22234646433130372220706F + 696E74733D2233332C32322032332E362C32322033302C352031392C35203133 + 2C32362032312E362C32362031372C3435222F3E0D0A202020203C7061746820 + 66696C6C3D22234634343333362220643D224D34302E382C31342E35682D342E + 334C33352E362C31374833336C342E352D313268322E336C342E352C3132682D + 322E364C34302E382C31342E357A204D33372E312C31322E3568334C33382E36 + 2C384C33372E312C31322E357A222F3E0D0A3C2F7376673E0D0A080000006600 + 6C006100730068005F006F006E00C80000003C7376672076657273696F6E3D22 + 312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32303030 + 2F737667222076696577426F783D223020302034382034382220656E61626C65 + 2D6261636B67726F756E643D226E657720302030203438203438223E0D0A2020 + 20203C706F6C79676F6E2066696C6C3D22234646433130372220706F696E7473 + 3D2233332C32322032332E362C32322033302C352031392C352031332C323620 + 32312E362C32362031372C3435222F3E0D0A3C2F7376673E0D0A0A0000006600 + 6C006F0077005F0063006800610072007400FC0100003C737667207665727369 + 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F + 323030302F737667222076696577426F783D223020302034382034382220656E + 61626C652D6261636B67726F756E643D226E657720302030203438203438223E + 0D0A202020203C706F6C79676F6E2066696C6C3D22234346443844432220706F + 696E74733D2233352C33362033392C33362033392C32322032362C3232203236 + 2C31332032322C31332032322C323220392C323220392C33362031332C333620 + 31332C32362032322C32362032322C33362032362C33362032362C3236203335 + 2C3236222F3E0D0A202020203C7265637420783D2231372220793D2236222066 + 696C6C3D2223334635314235222077696474683D22313422206865696768743D + 223130222F3E0D0A202020203C7265637420783D2233322220793D2233322220 + 66696C6C3D2223303042434434222077696474683D2231302220686569676874 + 3D223130222F3E0D0A202020203C7265637420783D22362220793D2233322220 + 66696C6C3D2223303042434434222077696474683D2231302220686569676874 + 3D223130222F3E0D0A202020203C7265637420783D2231392220793D22333222 + 2066696C6C3D2223303042434434222077696474683D22313022206865696768 + 743D223130222F3E0D0A3C2F7376673E0D0A0600000066006F006C0064006500 + 72004F0100003C7376672076657273696F6E3D22312220786D6C6E733D226874 + 74703A2F2F7777772E77332E6F72672F323030302F737667222076696577426F + 783D223020302034382034382220656E61626C652D6261636B67726F756E643D + 226E657720302030203438203438223E0D0A202020203C706174682066696C6C + 3D22234646413030302220643D224D34302C31324832326C2D342D344838632D + 322E322C302D342C312E382D342C347638683430762D344334342C31332E382C + 34322E322C31322C34302C31327A222F3E0D0A202020203C706174682066696C + 6C3D22234646434132382220643D224D34302C31324838632D322E322C302D34 + 2C312E382D342C3476323063302C322E322C312E382C342C342C346833326332 + 2E322C302C342D312E382C342D345631364334342C31332E382C34322E322C31 + 322C34302C31327A222F3E0D0A3C2F7376673E0D0A050000006600720061006D + 006500DD0300003C7376672076657273696F6E3D22312220786D6C6E733D2268 + 7474703A2F2F7777772E77332E6F72672F323030302F73766722207669657742 + 6F783D223020302034382034382220656E61626C652D6261636B67726F756E64 + 3D226E657720302030203438203438223E0D0A202020203C706174682066696C + 6C3D22233339343941422220643D224D34302E362C34302E31682D312E34632D + 302E322C302D302E332C302D302E352C306C2D332E312D302E34632D322E342D + 302E332D342E392D302E322D372E332C302E346C2D332E362C302E39632D302E + 352C302E312D312E312C302E312D312E362C30204C31392E362C3430632D322E + 342D302E362D342E382D302E372D372E332D302E346C2D332E312C302E34632D + 302E322C302D302E332C302D302E352C3048372E34632D312E392C302D332E34 + 2D312E352D332E342D332E34763063302D302E342C302E312D302E392C302E32 + 2D312E336C302E322D302E362063312D322E352C312E312D352E332C302E342D + 372E396C2D302E362D32632D302E322D302E372D302E322D312E332C302D326C + 302E332D302E3863302E392D322E372C302E382D352E372D302E322D382E346C + 2D302E312D302E3343342E312C31332E312C342C31322E372C342C31322E3376 + 2D312063302D312E392C312E352D332E342C332E342D332E346C312E342C3063 + 302E322C302C302E332C302C302E352C306C332E312C302E3463322E342C302E + 332C342E392C302E322C372E332D302E346C332E362D302E3963302E352D302E + 312C312E312D302E312C312E362C304C32382E342C382063322E342C302E362C + 342E382C302E372C372E332C302E346C332E312D302E3463302E322C302C302E + 332C302C302E352C306C312E342C3063312E392C302C332E342C312E352C332E + 342C332E34763163302C302E342D302E312C302E392D302E322C312E336C2D30 + 2E312C302E3320632D312E312C322E372D312E322C352E362D302E322C382E34 + 6C302E332C302E3863302E322C302E362C302E322C312E332C302C326C2D302E + 362C32632D302E372C322E362D302E362C352E342C302E342C372E396C302E32 + 2C302E3663302E322C302E342C302E322C302E382C302E322C312E3376302043 + 34342C33382E362C34322E352C34302E312C34302E362C34302E317A222F3E0D + 0A202020203C706174682066696C6C3D22234242444546422220643D224D3338 + 2C3336483130632D302E362C302D312D302E342D312D3156313363302D302E36 + 2C302E342D312C312D3168323863302E362C302C312C302E342C312C31763232 + 4333392C33352E362C33382E362C33362C33382C33367A222F3E0D0A3C2F7376 + 673E0D0A0C000000660075006C006C005F006200610074007400650072007900 + 720100003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 + 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D + 223020302034382034382220656E61626C652D6261636B67726F756E643D226E + 657720302030203438203438223E0D0A202020203C672066696C6C3D22233842 + 43333441223E0D0A20202020202020203C7061746820643D224D33342C343448 + 3134632D312E312C302D322D302E392D322D32563863302D312E312C302E392D + 322C322D3268323063312E312C302C322C302E392C322C327633344333362C34 + 332E312C33352E312C34342C33342C34347A222F3E0D0A20202020202020203C + 7061746820643D224D32382C3133682D38632D302E362C302D312D302E342D31 + 2D31563563302D302E362C302E342D312C312D31683863302E362C302C312C30 + 2E342C312C3176374332392C31322E362C32382E362C31332C32382C31337A22 + 2F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0A000000660075006C00 + 6C005F0074007200610073006800E90100003C7376672076657273696F6E3D22 + 312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32303030 + 2F737667222076696577426F783D223020302034382034382220656E61626C65 + 2D6261636B67726F756E643D226E657720302030203438203438223E0D0A2020 + 20203C706F6C79676F6E2066696C6C3D22234646384136352220706F696E7473 + 3D2232342C32312E332031322E372C31302032362C312E372033382E332C3130 + 222F3E0D0A202020203C706F6C79676F6E2066696C6C3D222346464142393122 + 20706F696E74733D2232342C32312E332031322E372C31302031372C342E3720 + 33382E332C3130222F3E0D0A202020203C706174682066696C6C3D2223423339 + 4444422220643D224D33302E362C34344831372E34632D322C302D332E372D31 + 2E342D342D332E344C392C31316833306C2D342E352C32392E364333342E322C + 34322E362C33322E352C34342C33302E362C34347A222F3E0D0A202020203C70 + 6174682066696C6C3D22233745353743322220643D224D33382C313348313063 + 2D312E312C302D322D302E392D322D32763063302D312E312C302E392D322C32 + 2D3268323863312E312C302C322C302E392C322C3276304334302C31322E312C + 33392E312C31332C33382C31337A222F3E0D0A3C2F7376673E0D0A0700000067 + 0061006C006C00650072007900140200003C7376672076657273696F6E3D2231 + 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F + 737667222076696577426F783D223020302034382034382220656E61626C652D + 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 + 203C706174682066696C6C3D22234536353130302220643D224D34312C343248 + 3133632D322E322C302D342D312E382D342D3456313863302D322E322C312E38 + 2D342C342D3468323863322E322C302C342C312E382C342C347632304334352C + 34302E322C34332E322C34322C34312C34327A222F3E0D0A202020203C706174 + 682066696C6C3D22234635374330302220643D224D33352C33364837632D322E + 322C302D342D312E382D342D3456313263302D322E322C312E382D342C342D34 + 68323863322E322C302C342C312E382C342C347632304333392C33342E322C33 + 372E322C33362C33352C33367A222F3E0D0A202020203C636972636C65206669 + 6C6C3D2223464646394334222063783D223330222063793D2231362220723D22 + 33222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223393432413039 + 2220706F696E74733D2231372C31372E3920382C33312032362C3331222F3E0D + 0A202020203C706F6C79676F6E2066696C6C3D22234246333630432220706F69 + 6E74733D2232382C32332E352032322C33312033342C3331222F3E0D0A3C2F73 + 76673E0D0A09000000670065006E00650061006C006F0067007900EC0200003C + 7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777 + 772E77332E6F72672F323030302F737667222076696577426F783D2230203020 + 34382034382220656E61626C652D6261636B67726F756E643D226E6577203020 + 30203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D222343 + 46443844432220706F696E74733D2234302C392034302C372033312C37203331 + 2C31322032342C31322031352C31322031352C323320382C323320382C323520 + 31352C32352031352C33362032342C33362033312C33362033312C3431203430 + 2C34312034302C33392033332C33392033332C33312034302C33312034302C32 + 392033312C32392033312C33342032342C33342031372C33342031372C313420 + 32342C31342033312C31342033312C31392034302C31392034302C3137203333 + 2C31372033332C39222F3E0D0A202020203C7265637420783D22342220793D22 + 3230222066696C6C3D2223303042434434222077696474683D22382220686569 + 6768743D2238222F3E0D0A202020203C672066696C6C3D222333463531423522 + 3E0D0A20202020202020203C7265637420783D2233362220793D223134222077 + 696474683D223822206865696768743D2238222F3E0D0A20202020202020203C + 7265637420783D2233362220793D2234222077696474683D2238222068656967 + 68743D2238222F3E0D0A20202020202020203C7265637420783D223230222079 + 3D2239222077696474683D223822206865696768743D2238222F3E0D0A202020 + 20202020203C7265637420783D2232302220793D223331222077696474683D22 + 3822206865696768743D2238222F3E0D0A20202020202020203C726563742078 + 3D2233362220793D223336222077696474683D223822206865696768743D2238 + 222F3E0D0A20202020202020203C7265637420783D2233362220793D22323622 + 2077696474683D223822206865696768743D2238222F3E0D0A202020203C2F67 + 3E0D0A3C2F7376673E0D0A13000000670065006E0065007200690063005F0073 + 006F007200740069006E0067005F00610073006300AD0100003C737667207665 + 7273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F + 72672F323030302F737667222076696577426F783D2230203020343820343822 + 20656E61626C652D6261636B67726F756E643D226E6577203020302034382034 + 38223E0D0A202020203C7265637420783D22362220793D2236222066696C6C3D + 2223323139364633222077696474683D223422206865696768743D2234222F3E + 0D0A202020203C7265637420783D22362220793D223134222066696C6C3D2223 + 323139364633222077696474683D22313222206865696768743D2234222F3E0D + 0A202020203C7265637420783D22362220793D223232222066696C6C3D222332 + 3139364633222077696474683D22323022206865696768743D2234222F3E0D0A + 202020203C7265637420783D22362220793D223330222066696C6C3D22233231 + 39364633222077696474683D22323822206865696768743D2234222F3E0D0A20 + 2020203C7265637420783D22362220793D223338222066696C6C3D2223323139 + 364633222077696474683D22333622206865696768743D2234222F3E0D0A3C2F + 7376673E0D0A14000000670065006E0065007200690063005F0073006F007200 + 740069006E0067005F006400650073006300AD0100003C737667207665727369 + 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F + 323030302F737667222076696577426F783D223020302034382034382220656E + 61626C652D6261636B67726F756E643D226E657720302030203438203438223E + 0D0A202020203C7265637420783D22362220793D223338222066696C6C3D2223 + 323139364633222077696474683D223422206865696768743D2234222F3E0D0A + 202020203C7265637420783D22362220793D223330222066696C6C3D22233231 + 39364633222077696474683D22313222206865696768743D2234222F3E0D0A20 + 2020203C7265637420783D22362220793D223232222066696C6C3D2223323139 + 364633222077696474683D22323022206865696768743D2234222F3E0D0A2020 + 20203C7265637420783D22362220793D223134222066696C6C3D222332313936 + 4633222077696474683D22323822206865696768743D2234222F3E0D0A202020 + 203C7265637420783D22362220793D2236222066696C6C3D2223323139364633 + 222077696474683D22333622206865696768743D2234222F3E0D0A3C2F737667 + 3E0D0A0500000067006C006F0062006500530900003C7376672076657273696F + 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 + 3030302F737667222076696577426F783D223020302034382034382220656E61 + 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D + 0A202020203C706174682066696C6C3D22233743423334322220643D224D3234 + 2C344331332C342C342C31332C342C323473392C32302C32302C32307332302D + 392C32302D32305333352C342C32342C347A222F3E0D0A202020203C70617468 + 2066696C6C3D22233032373742442220643D224D34352C323463302C31312E37 + 2D392E352C32312D32312C323153332C33352E372C332C32345331322E332C33 + 2C32342C335334352C31322E332C34352C32347A204D32332E382C33332E3763 + 302D302E342D302E322D302E362D302E362D302E3820632D312E332D302E342D + 322E352D302E342D332E362D312E35632D302E322D302E342D302E322D302E38 + 2D302E342D312E33632D302E342D302E342D312E352D302E362D322E312D302E + 38632D302E382C302D312E372C302D322E372C30632D302E342C302D312E312C + 302D312E352C3020632D302E362D302E322D312E312D312E312D312E352D312E + 3763302D302E322C302D302E362D302E342D302E36632D302E342D302E322D30 + 2E382C302E322D312E332C30632D302E322D302E322D302E322D302E342D302E + 322D302E3663302D302E362C302E342D312E332C302E382D312E372063302E36 + 2D302E342C312E332C302E322C312E392C302E3263302E322C302C302E322C30 + 2C302E342C302E3263302E362C302E322C302E382C312C302E382C312E376330 + 2C302E322C302C302E342C302C302E3463302C302E322C302E322C302E322C30 + 2E342C302E322063302E322D312E312C302E322D322E312C302E342D332E3263 + 302D312E332C312E332D322E352C322E332D322E3963302E342D302E322C302E + 362C302E322C312E312C3063312E332D302E342C342E342D312E372C332E382D + 332E34632D302E342D312E352D312E372D322E392D332E342D322E3720632D30 + 2E342C302E322D302E362C302E342D312C302E36632D302E362C302E342D312E + 392C312E372D322E352C312E37632D312E312D302E322D312E312D312E372D30 + 2E382D322E3363302E322D302E382C322E312D332E362C332E342D332E316330 + 2E322C302E322C302E362C302E362C302E382C302E382063302E342C302E322C + 312E312C302E322C312E372C302E3263302E322C302C302E342C302C302E362D + 302E3263302E322D302E322C302E322D302E322C302E322D302E3463302D302E + 362D302E362D312E332D312D312E37632D302E342D302E342D312E312D302E38 + 2D312E372D312E3120632D322E312D302E362D352E352C302E322D372E312C31 + 2E37732D322E392C342D332E382C362E31632D302E342C312E332D302E382C32 + 2E392D312C342E34632D302E322C312D302E342C312E392C302E322C322E3963 + 302E362C312E332C312E392C322E352C332E322C332E342063302E382C302E36 + 2C322E352C302E362C332E342C312E3763302E362C302E382C302E342C312E39 + 2C302E342C322E3963302C312E332C302E382C322E332C312E332C332E346330 + 2E322C302E362C302E342C312E352C302E362C322E3163302C302E322C302E32 + 2C312E352C302E322C312E372063312E332C302E362C322E332C312E332C332E + 382C312E3763302E322C302C312D312E332C312D312E3563302E362D302E362C + 312E312D312E352C312E372D312E3963302E342D302E322C302E382D302E342C + 312E332D302E3863302E342D302E342C302E362D312E332C302E382D312E3920 + 4332332E382C33352E312C32342C33342E332C32332E382C33332E377A204D32 + 342E322C31342E3363302E322C302C302E342D302E322C302E382D302E346330 + 2E362D302E342C312E332D312E312C312E392D312E3563302E362D302E342C31 + 2E332D312E312C312E372D312E352063302E362D302E342C312E312D312E332C + 312E332D312E3963302E322D302E342C302E382D312E332C302E362D312E3963 + 2D302E322D302E342D312E332D302E362D312E372D302E38632D312E372D302E + 342D332E312D302E362D342E382D302E36632D302E362C302D312E352C302E32 + 2D312E372C302E3820632D302E322C312E312C302E362C302E382C312E352C31 + 2E3163302C302C302E322C312E372C302E322C312E3963302E322C312D302E34 + 2C312E372D302E342C322E3763302C302E362C302C312E372C302E342C322E31 + 4C32342E322C31342E337A204D34312E382C32392063302E322D302E342C302E + 322D312E312C302E342D312E3563302E322D312C302E322D322E312C302E322D + 332E3163302D322E312D302E322D342E322D302E382D362E31632D302E342D30 + 2E362D302E362D312E332D302E382D312E39632D302E342D312E312D312D322E + 312D312E392D322E3920632D302E382D312E312D312E392D342D332E382D332E + 31632D302E362C302E322D312C312D312E352C312E35632D302E342C302E362D + 302E382C312E332D312E332C312E39632D302E322C302E322D302E342C302E36 + 2D302E322C302E3863302C302E322C302E322C302E322C302E342C302E322063 + 302E342C302E322C302E362C302E322C312C302E3463302E322C302C302E342C + 302E322C302E322C302E3463302C302C302C302E322D302E322C302E32632D31 + 2C312E312D322E312C312E392D332E312C322E39632D302E322C302E322D302E + 342C302E362D302E342C302E382063302C302E322C302E322C302E322C302E32 + 2C302E3463302C302E322D302E322C302E322D302E342C302E34632D302E342C + 302E322D302E382C302E342D312E312C302E36632D302E322C302E342C302C31 + 2E312D302E322C312E35632D302E322C312E312D302E382C312E392D312E332C + 322E3920632D302E342C302E362D302E362C312E332D312C312E3963302C302E + 382D302E322C312E352C302E322C322E3163312C312E352C322E392C302E362C + 342E342C312E3363302E342C302E322C302E382C302E322C312E312C302E3663 + 302E362C302E362C302E362C312E372C302E382C322E332063302E322C302E38 + 2C302E342C312E372C302E382C322E3563302E322C312C302E362C322E312C30 + 2E382C322E3963312E392D312E352C332E362D332E312C342E382D352E324334 + 302E362C33322E342C34312E322C33302E372C34312E382C32397A222F3E0D0A + 3C2F7376673E0D0A0D00000067006F006F0064005F0064006500630069007300 + 69006F006E00790200003C7376672076657273696F6E3D22312220786D6C6E73 + 3D22687474703A2F2F7777772E77332E6F72672F323030302F73766722207669 + 6577426F783D223020302034382034382220656E61626C652D6261636B67726F + 756E643D226E657720302030203438203438223E0D0A202020203C672066696C + 6C3D2223464643433830223E0D0A20202020202020203C636972636C65206378 + 3D223338222063793D2232362220723D2234222F3E0D0A20202020202020203C + 636972636C652063783D223130222063793D2232362220723D2234222F3E0D0A + 20202020202020203C7061746820643D224D33392C313963302D31322E372D33 + 302D382E332D33302C3063302C312E382C302C382E322C302C313063302C382E + 332C362E372C31352C31352C31357331352D362E372C31352D31354333392C32 + 372E322C33392C32302E382C33392C31397A222F3E0D0A20202020202020203C + 7061746820643D224D32342C344331352E322C342C382C31312E322C382C3230 + 63302C312E322C302C332E352C302C332E356C322E312C302E365631396C3139 + 2E352D362E336C382E322C362E3376352E316C322E312D302E3663302C302C30 + 2D322E332C302D332E35204334302C31322E352C33342E362C342C32342C347A + 222F3E0D0A202020203C2F673E0D0A202020203C672066696C6C3D2223344341 + 463530223E0D0A20202020202020203C7265637420783D2232322220793D2231 + 36222077696474683D223422206865696768743D223138222F3E0D0A20202020 + 202020203C7265637420783D2231352220793D223233222077696474683D2231 + 3822206865696768743D2234222F3E0D0A202020203C2F673E0D0A3C2F737667 + 3E0D0A0600000067006F006F0067006C006500660500003C3F786D6C20766572 + 73696F6E3D22312E302220656E636F64696E673D227574662D38223F3E0D0A3C + 212D2D2047656E657261746F723A2041646F626520496C6C7573747261746F72 + 2031352E302E302C20535647204578706F727420506C75672D496E202E205356 + 472056657273696F6E3A20362E3030204275696C6420302920202D2D3E0D0A3C + 21444F435459504520737667205055424C494320222D2F2F5733432F2F445444 + 2053564720312E312F2F454E222022687474703A2F2F7777772E77332E6F7267 + 2F47726170686963732F5356472F312E312F4454442F73766731312E64746422 + 3E0D0A3C7376672076657273696F6E3D22312E31222020786D6C6E733D226874 + 74703A2F2F7777772E77332E6F72672F323030302F7376672220786D6C6E733A + 786C696E6B3D22687474703A2F2F7777772E77332E6F72672F313939392F786C + 696E6B2220783D223070782220793D22307078220D0A092077696474683D2234 + 38707822206865696768743D2234387078222076696577426F783D2230203020 + 34382034382220656E61626C652D6261636B67726F756E643D226E6577203020 + 302034382034382220786D6C3A73706163653D227072657365727665223E0D0A + 3C706174682066696C6C3D22234646433130372220643D224D34332E3631312C + 32302E30383348343256323048323476386831312E333033632D312E3634392C + 342E3635372D362E30382C382D31312E3330332C38632D362E3632372C302D31 + 322D352E3337332D31322D31320D0A0963302D362E3632372C352E3337332D31 + 322C31322D313263332E3035392C302C352E3834322C312E3135342C372E3936 + 312C332E3033396C352E3635372D352E3635374333342E3034362C362E303533 + 2C32392E3236382C342C32342C344331322E3935352C342C342C31322E393535 + 2C342C32340D0A0963302C31312E3034352C382E3935352C32302C32302C3230 + 6331312E3034352C302C32302D382E3935352C32302D32304334342C32322E36 + 35392C34332E3836322C32312E33352C34332E3631312C32302E3038337A222F + 3E0D0A3C706174682066696C6C3D22234646334430302220643D224D362E3330 + 362C31342E3639316C362E3537312C342E3831394331342E3635352C31352E31 + 30382C31382E3936312C31322C32342C313263332E3035392C302C352E383432 + 2C312E3135342C372E3936312C332E3033396C352E3635372D352E3635370D0A + 094333342E3034362C362E3035332C32392E3236382C342C32342C344331362E + 3331382C342C392E3635362C382E3333372C362E3330362C31342E3639317A22 + 2F3E0D0A3C706174682066696C6C3D22233443414635302220643D224D32342C + 343463352E3136362C302C392E38362D312E3937372C31332E3430392D352E31 + 39326C2D362E31392D352E3233384332392E3231312C33352E3039312C32362E + 3731352C33362C32342C33360D0A09632D352E3230322C302D392E3631392D33 + 2E3331372D31312E3238332D372E3934366C2D362E3532322C352E3032354339 + 2E3530352C33392E3535362C31362E3232372C34342C32342C34347A222F3E0D + 0A3C706174682066696C6C3D22233139373644322220643D224D34332E363131 + 2C32302E30383348343256323048323476386831312E333033632D302E373932 + 2C322E3233372D322E3233312C342E3136362D342E3038372C352E3537310D0A + 0963302E3030312D302E3030312C302E3030322D302E3030312C302E3030332D + 302E3030326C362E31392C352E3233384333362E3937312C33392E3230352C34 + 342C33342C34342C32344334342C32322E3635392C34332E3836322C32312E33 + 352C34332E3631312C32302E3038337A222F3E0D0A3C2F7376673E0D0A0E0000 + 00670072006100640075006100740069006F006E005F00630061007000E70200 + 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F + 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 + 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 + 302030203438203438223E0D0A202020203C672066696C6C3D22233337343734 + 46223E0D0A20202020202020203C7265637420783D22392220793D2232302220 + 77696474683D22333022206865696768743D223133222F3E0D0A202020202020 + 20203C656C6C697073652063783D223234222063793D223333222072783D2231 + 35222072793D2236222F3E0D0A202020203C2F673E0D0A202020203C70617468 + 2066696C6C3D22233738393039432220643D224D32332E312C382E324C302E36 + 2C31382E31632D302E382C302E342D302E382C312E352C302C312E396C32322E + 352C392E3963302E362C302E322C312E322C302E322C312E382C306C32322E35 + 2D392E3963302E382D302E342C302E382D312E352C302D312E39204C32342E39 + 2C382E324332342E332C372E392C32332E372C372E392C32332E312C382E327A + 222F3E0D0A202020203C672066696C6C3D2223333734373446223E0D0A202020 + 20202020203C7061746820643D224D34332E322C32302E346C2D32302D332E34 + 632D302E352D302E312D312E312C302E332D312E322C302E38632D302E312C30 + 2E352C302E332C312E312C302E382C312E324C34322C32322E3256333763302C + 302E362C302E342C312C312C312073312D302E342C312D315632312E34433434 + 2C32302E392C34332E362C32302E352C34332E322C32302E347A222F3E0D0A20 + 202020202020203C636972636C652063783D223433222063793D223337222072 + 3D2232222F3E0D0A20202020202020203C7061746820643D224D34362C343063 + 302C312E372D332C362D332C36732D332D342E332D332D3673312E332D332C33 + 2D335334362C33382E332C34362C34307A222F3E0D0A202020203C2F673E0D0A + 3C2F7376673E0D0A040000006700720069006400C40100003C73766720766572 + 73696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72 + 672F323030302F737667222076696577426F783D223020302034382034382220 + 656E61626C652D6261636B67726F756E643D226E657720302030203438203438 + 223E0D0A202020203C706174682066696C6C3D22233930434146392220643D22 + 4D372C37763334683334563748377A204D33392C3135682D3656396836563135 + 7A204D32352C31355639683676364832357A204D33312C31377636682D36762D + 364833317A204D32332C3135682D36563968365631357A204D32332C31377636 + 682D36762D36204832337A204D31352C32334839762D3668365632337A204D31 + 352C323576364839762D364831357A204D31372C323568367636682D36563235 + 7A204D32332C33337636682D36762D364832337A204D32352C33336836763668 + 2D365633337A204D32352C3331762D36683676364832357A204D33332C323568 + 367636682D36205632357A204D33332C3233762D36683676364833337A204D31 + 352C397636483956394831357A204D392C33336836763648395633337A204D33 + 332C3339762D36683676364833337A222F3E0D0A3C2F7376673E0D0A07000000 + 6800650061006400730065007400A10100003C7376672076657273696F6E3D22 + 312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32303030 + 2F737667222076696577426F783D223020302034382034382220656E61626C65 + 2D6261636B67726F756E643D226E657720302030203438203438223E0D0A2020 + 20203C706174682066696C6C3D22233030393741372220643D224D32342C3543 + 31342E312C352C362C31332E312C362C3233763135683456323363302D372E37 + 2C362E332D31342C31342D31347331342C362E332C31342C3134763135683456 + 32334334322C31332E312C33332E392C352C32342C357A222F3E0D0A20202020 + 3C706174682066696C6C3D22233337343734462220643D224D33382C3433682D + 34563331683463322E322C302C342C312E382C342C3476344334322C34312E32 + 2C34302E322C34332C33382C34337A222F3E0D0A202020203C70617468206669 + 6C6C3D22233337343734462220643D224D31302C34336834563331682D34632D + 322E322C302D342C312E382D342C34763443362C34312E322C372E382C34332C + 31302C34337A222F3E0D0A3C2F7376673E0D0A0800000068006500610074005F + 006D00610070009F0200003C7376672076657273696F6E3D22312220786D6C6E + 733D22687474703A2F2F7777772E77332E6F72672F323030302F737667222076 + 696577426F783D223020302034382034382220656E61626C652D6261636B6772 + 6F756E643D226E657720302030203438203438223E0D0A202020203C706F6C79 + 676F6E2066696C6C3D22234346443844432220706F696E74733D22392C333920 + 392C3620372C3620372C34312034322C34312034322C3339222F3E0D0A202020 + 203C672066696C6C3D2223303042434434223E0D0A20202020202020203C6369 + 72636C652063783D223134222063793D2231312220723D2232222F3E0D0A2020 + 2020202020203C636972636C652063783D223332222063793D2231312220723D + 2232222F3E0D0A20202020202020203C636972636C652063783D223339222063 + 793D2231312220723D2232222F3E0D0A20202020202020203C636972636C6520 + 63783D223233222063793D2231312220723D2234222F3E0D0A20202020202020 + 203C636972636C652063783D223134222063793D2233332220723D2232222F3E + 0D0A20202020202020203C636972636C652063783D223330222063793D223333 + 2220723D2232222F3E0D0A20202020202020203C636972636C652063783D2232 + 32222063793D2233332220723D2233222F3E0D0A20202020202020203C636972 + 636C652063783D223338222063793D2233332220723D2234222F3E0D0A202020 + 20202020203C636972636C652063783D223134222063793D2232322220723D22 + 32222F3E0D0A20202020202020203C636972636C652063783D22333922206379 + 3D2232322220723D2232222F3E0D0A20202020202020203C636972636C652063 + 783D223332222063793D2232322220723D2233222F3E0D0A202020203C2F673E + 0D0A3C2F7376673E0D0A0C00000068006900670068005F006200610074007400 + 650072007900CD0100003C7376672076657273696F6E3D22312220786D6C6E73 + 3D22687474703A2F2F7777772E77332E6F72672F323030302F73766722207669 + 6577426F783D223020302034382034382220656E61626C652D6261636B67726F + 756E643D226E657720302030203438203438223E0D0A202020203C672066696C + 6C3D2223434644384443223E0D0A20202020202020203C7061746820643D224D + 33342C3434483134632D312E312C302D322D302E392D322D32563863302D312E + 312C302E392D322C322D3268323063312E312C302C322C302E392C322C327633 + 344333362C34332E312C33352E312C34342C33342C34347A222F3E0D0A202020 + 20202020203C7061746820643D224D32382C3133682D38632D302E362C302D31 + 2D302E342D312D31563563302D302E362C302E342D312C312D31683863302E36 + 2C302C312C302E342C312C3176374332392C31322E362C32382E362C31332C32 + 382C31337A222F3E0D0A202020203C2F673E0D0A202020203C70617468206669 + 6C6C3D22233842433334412220643D224D33342C3434483134632D312E312C30 + 2D322D302E392D322D325631336832347632394333362C34332E312C33352E31 + 2C34342C33342C34347A222F3E0D0A3C2F7376673E0D0A0D0000006800690067 + 0068005F007000720069006F007200690074007900B70200003C737667207665 + 7273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F + 72672F323030302F737667222076696577426F783D2230203020343820343822 + 20656E61626C652D6261636B67726F756E643D226E6577203020302034382034 + 38223E0D0A202020203C706174682066696C6C3D22234634343333362220643D + 224D32312E322C34342E386C2D31382D3138632D312E362D312E362D312E362D + 342E312C302D352E376C31382D313863312E362D312E362C342E312D312E362C + 352E372C306C31382C313863312E362C312E362C312E362C342E312C302C352E + 376C2D31382C3138204332352E332C34362E342C32322E372C34362E342C3231 + 2E322C34342E387A222F3E0D0A202020203C706174682066696C6C3D22236666 + 662220643D224D32312E362C33322E3763302D302E332C302E312D302E362C30 + 2E322D302E3963302E312D302E332C302E332D302E352C302E352D302E376330 + 2E322D302E322C302E352D302E342C302E382D302E3573302E362D302E322C31 + 2D302E322073302E372C302E312C312C302E3263302E332C302E312C302E362C + 302E332C302E382C302E3563302E322C302E322C302E342C302E342C302E352C + 302E3763302E312C302E332C302E322C302E362C302E322C302E39732D302E31 + 2C302E362D302E322C302E39732D302E332C302E352D302E352C302E3720632D + 302E322C302E322D302E352C302E342D302E382C302E35632D302E332C302E31 + 2D302E362C302E322D312C302E32732D302E372D302E312D312D302E32732D30 + 2E352D302E332D302E382D302E35632D302E322D302E322D302E342D302E342D + 302E352D302E375332312E362C33332E312C32312E362C33322E377A204D3235 + 2E382C32382E31682D332E364C32312E372C313368342E364C32352E382C3238 + 2E317A222F3E0D0A3C2F7376673E0D0A0400000068006F006D0065009C020000 + 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 + 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 + 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 + 2030203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D2223 + 4538454146362220706F696E74733D2234322C333920362C333920362C323320 + 32342C362034322C3233222F3E0D0A202020203C672066696C6C3D2223433543 + 414539223E0D0A20202020202020203C706F6C79676F6E20706F696E74733D22 + 33392C32312033342C31362033342C392033392C39222F3E0D0A202020202020 + 20203C7265637420783D22362220793D223339222077696474683D2233362220 + 6865696768743D2235222F3E0D0A202020203C2F673E0D0A202020203C706F6C + 79676F6E2066696C6C3D22234237314331432220706F696E74733D2232342C34 + 2E3320342C32322E3920362C32352E312032342C382E342034322C32352E3120 + 34342C32322E39222F3E0D0A202020203C7265637420783D2231382220793D22 + 3238222066696C6C3D2223443834333135222077696474683D22313222206865 + 696768743D223136222F3E0D0A202020203C7265637420783D2232312220793D + 223137222066696C6C3D2223303135373942222077696474683D223622206865 + 696768743D2236222F3E0D0A202020203C706174682066696C6C3D2223464638 + 4136352220643D224D32372E352C33352E35632D302E332C302D302E352C302E + 322D302E352C302E35763263302C302E332C302E322C302E352C302E352C302E + 355332382C33382E332C32382C3338762D324332382C33352E372C32372E382C + 33352E352C32372E352C33352E357A222F3E0D0A3C2F7376673E0D0A0A000000 + 690063006F006E00730038005F00630075007000070300003C73766720766572 + 73696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72 + 672F323030302F737667222076696577426F783D223020302034382034382220 + 656E61626C652D6261636B67726F756E643D226E657720302030203438203438 + 223E0D0A202020203C706174682066696C6C3D22233443414635302220643D22 + 4D34302C313448386C332E382C32382E3363302E312C312C312C312E372C322C + 312E376832302E3563312C302C312E382D302E372C322D312E374C34302C3134 + 7A222F3E0D0A202020203C672066696C6C3D2223383143373834223E0D0A2020 + 2020202020203C7061746820643D224D34322C31344836762D3363302D322E32 + 2C312E382D342C342D3468323863322E322C302C342C312E382C342C34563134 + 7A222F3E0D0A20202020202020203C7061746820643D224D33372E322C313048 + 31302E386C312E372D342E3763302E332D302E382C312D312E332C312E392D31 + 2E336831392E3263302E382C302C312E362C302E352C312E392C312E334C3337 + 2E322C31307A222F3E0D0A202020203C2F673E0D0A202020203C706174682066 + 696C6C3D22234538463545392220643D224D32382C32382E3563312E322D312E + 312C322D322E372C322D342E3563302D332E332D322E372D362D362D36632D33 + 2E332C302D362C322E372D362C3663302C312E382C302E382C332E342C322C34 + 2E35632D312E322C312E312D322C322E372D322C342E352063302C332E332C32 + 2E372C362C362C3663332E332C302C362D322E372C362D364333302C33312E32 + 2C32392E322C32392E362C32382C32382E357A204D32342C3336632D312E372C + 302D332D312E332D332D3363302D312E372C312E332D332C332D3363312E372C + 302C332C312E332C332C33204332372C33342E372C32352E372C33362C32342C + 33367A204D32342C3237632D312E372C302D332D312E332D332D3363302D312E + 372C312E332D332C332D3363312E372C302C332C312E332C332C334332372C32 + 352E372C32352E372C32372C32342C32377A222F3E0D0A3C2F7376673E0D0A04 + 0000006900640065006100160400003C7376672076657273696F6E3D22312220 + 786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376 + 67222076696577426F783D223020302034382034382220656E61626C652D6261 + 636B67726F756E643D226E657720302030203438203438223E0D0A202020203C + 636972636C652066696C6C3D2223464646353944222063783D22323422206379 + 3D2232322220723D223230222F3E0D0A202020203C706174682066696C6C3D22 + 234642433032442220643D224D33372C323263302D372E372D362E362D31332E + 382D31342E352D31322E39632D362C302E372D31302E382C352E352D31312E34 + 2C31312E35632D302E352C342E362C312E342C382E372C342E362C31312E3320 + 63312E342C312E322C322E332C322E392C322E332C342E38563337683132762D + 302E3163302D312E382C302E382D332E362C322E322D342E384333352E312C32 + 392E372C33372C32362E312C33372C32327A222F3E0D0A202020203C70617468 + 2066696C6C3D22234646463539442220643D224D33302E362C32302E326C2D33 + 2D32632D302E332D302E322D302E382D302E322D312E312C304C32342C31392E + 386C2D322E342D312E36632D302E332D302E322D302E382D302E322D312E312C + 306C2D332C3220632D302E322C302E322D302E342C302E342D302E342C302E37 + 73302C302E362C302E322C302E386C332E382C342E3756333768325632366330 + 2D302E322D302E312D302E342D302E322D302E366C2D332E332D342E316C312E + 352D316C322E342C312E3663302E332C302E322C302E382C302E322C312E312C + 30206C322E342D312E366C312E352C316C2D332E332C342E314332352E312C32 + 352E362C32352C32352E382C32352C323676313168325632362E346C332E382D + 342E3763302E322D302E322C302E332D302E352C302E322D302E385333302E38 + 2C32302E332C33302E362C32302E327A222F3E0D0A202020203C636972636C65 + 2066696C6C3D2223354336424330222063783D223234222063793D2234342220 + 723D2233222F3E0D0A202020203C706174682066696C6C3D2223394641384441 + 2220643D224D32362C3435682D34632D322E322C302D342D312E382D342D3476 + 2D3568313276354333302C34332E322C32382E322C34352C32362C34357A222F + 3E0D0A202020203C672066696C6C3D2223354336424330223E0D0A2020202020 + 2020203C7061746820643D224D33302C34316C2D31312E362C312E3663302E33 + 2C302E372C302E392C312E342C312E362C312E386C392E342D312E334332392E + 382C34322E352C33302C34312E382C33302C34317A222F3E0D0A202020202020 + 20203C706F6C79676F6E20706F696E74733D2231382C33382E372031382C3430 + 2E372033302C33392033302C3337222F3E0D0A202020203C2F673E0D0A3C2F73 + 76673E0D0A0A00000069006D006100670065005F00660069006C006500A30100 + 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F + 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 + 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 + 302030203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D22 + 233930434146392220706F696E74733D2234302C343520382C343520382C3320 + 33302C332034302C3133222F3E0D0A202020203C706F6C79676F6E2066696C6C + 3D22234531463546452220706F696E74733D2233382E352C31342032392C3134 + 2032392C342E35222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223 + 3135363543302220706F696E74733D2232312C32332031342C33332032382C33 + 33222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223313937364432 + 2220706F696E74733D2232382C32362E342032332C33332033332C3333222F3E + 0D0A202020203C636972636C652066696C6C3D2223313937364432222063783D + 2233312E35222063793D2232342E352220723D22312E35222F3E0D0A3C2F7376 + 673E0D0A0600000069006D0070006F0072007400710100003C73766720766572 + 73696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72 + 672F323030302F737667222076696577426F783D223020302034382034382220 + 656E61626C652D6261636B67726F756E643D226E657720302030203438203438 + 223E0D0A202020203C706174682066696C6C3D22234638424244302220643D22 + 4D372C3430563863302D322E322C312E382D342C342D3468323463322E322C30 + 2C342C312E382C342C3476333263302C322E322D312E382C342D342C34483131 + 43382E382C34342C372C34322E322C372C34307A222F3E0D0A202020203C6720 + 66696C6C3D2223453931453633223E0D0A20202020202020203C706F6C79676F + 6E20706F696E74733D2231332E332C32342032342C31352032342C3333222F3E + 0D0A20202020202020203C7265637420783D2231392220793D22323122207769 + 6474683D22323322206865696768743D2236222F3E0D0A202020203C2F673E0D + 0A3C2F7376673E0D0A0A00000069006E005F007400720061006E007300690074 + 00E20400003C7376672076657273696F6E3D22312220786D6C6E733D22687474 + 703A2F2F7777772E77332E6F72672F323030302F737667222076696577426F78 + 3D223020302034382034382220656E61626C652D6261636B67726F756E643D22 + 6E657720302030203438203438223E0D0A202020203C706174682066696C6C3D + 22234646433130372220643D224D34342C333648333056313663302D312E312C + 302E392D322C322D32683863302E362C302C312E322C302E332C312E362C302E + 386C362C372E3763302E332C302E342C302E342C302E382C302E342C312E3256 + 3332204334382C33342E322C34362E322C33362C34342C33367A222F3E0D0A20 + 2020203C672066696C6C3D2223393537354344223E0D0A20202020202020203C + 7061746820643D224D382C333668323256313363302D322E322D312E382D342D + 342D34483476323343342C33342E322C352E382C33362C382C33367A222F3E0D + 0A20202020202020203C7265637420793D2239222077696474683D2231302220 + 6865696768743D2232222F3E0D0A20202020202020203C7265637420793D2231 + 34222077696474683D22313022206865696768743D2232222F3E0D0A20202020 + 202020203C7265637420793D223139222077696474683D223130222068656967 + 68743D2232222F3E0D0A20202020202020203C7265637420793D223234222077 + 696474683D22313022206865696768743D2232222F3E0D0A202020203C2F673E + 0D0A202020203C672066696C6C3D2223374535374332223E0D0A202020202020 + 20203C7265637420783D22342220793D223131222077696474683D2231362220 + 6865696768743D2232222F3E0D0A20202020202020203C7265637420783D2234 + 2220793D223136222077696474683D22313222206865696768743D2232222F3E + 0D0A20202020202020203C7265637420783D22342220793D2232312220776964 + 74683D223822206865696768743D2232222F3E0D0A20202020202020203C7265 + 637420783D22342220793D223236222077696474683D22342220686569676874 + 3D2232222F3E0D0A202020203C2F673E0D0A202020203C672066696C6C3D2223 + 333734373446223E0D0A20202020202020203C636972636C652063783D223339 + 222063793D2233362220723D2235222F3E0D0A20202020202020203C63697263 + 6C652063783D223136222063793D2233362220723D2235222F3E0D0A20202020 + 3C2F673E0D0A202020203C672066696C6C3D2223373839303943223E0D0A2020 + 2020202020203C636972636C652063783D223339222063793D2233362220723D + 22322E35222F3E0D0A20202020202020203C636972636C652063783D22313622 + 2063793D2233362220723D22322E35222F3E0D0A202020203C2F673E0D0A2020 + 20203C706174682066696C6C3D22233435354136342220643D224D34342C3236 + 682D332E36632D302E332C302D302E352D302E312D302E372D302E336C2D312E + 342D312E34632D302E322D302E322D302E342D302E332D302E372D302E334833 + 34632D302E362C302D312D302E342D312D31762D362063302D302E362C302E34 + 2D312C312D3168352E3563302E332C302C302E362C302E312C302E382C302E34 + 6C342E352C352E3463302E312C302E322C302E322C302E342C302E322C302E36 + 5632354334352C32352E362C34342E362C32362C34342C32367A222F3E0D0A3C + 2F7376673E0D0A0400000069006E0066006F001B0100003C7376672076657273 + 696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F7267 + 2F323030302F737667222076696577426F783D22302030203438203438222065 + 6E61626C652D6261636B67726F756E643D226E65772030203020343820343822 + 3E0D0A202020203C636972636C652066696C6C3D222332313936463322206378 + 3D223234222063793D2232342220723D223231222F3E0D0A202020203C726563 + 7420783D2232322220793D223232222066696C6C3D2223666666222077696474 + 683D223422206865696768743D223131222F3E0D0A202020203C636972636C65 + 2066696C6C3D2223666666222063783D223234222063793D2231362E35222072 + 3D22322E35222F3E0D0A3C2F7376673E0D0A0A00000069006E00730070006500 + 6300740069006F006E00EF0200003C7376672076657273696F6E3D2231222078 + 6D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F737667 + 222076696577426F783D223020302034382034382220656E61626C652D626163 + 6B67726F756E643D226E657720302030203438203438223E0D0A202020203C70 + 6174682066696C6C3D22233435354136342220643D224D33362C344832366330 + 2C312E312D302E392C322D322C32732D322D302E392D322D3248313243392E38 + 2C342C382C352E382C382C3876333263302C322E322C312E382C342C342C3468 + 323463322E322C302C342D312E382C342D345638204334302C352E382C33382E + 322C342C33362C347A222F3E0D0A202020203C706174682066696C6C3D222366 + 66662220643D224D33362C3431483132632D302E362C302D312D302E342D312D + 31563863302D302E362C302E342D312C312D3168323463302E362C302C312C30 + 2E342C312C317633324333372C34302E362C33362E362C34312C33362C34317A + 222F3E0D0A202020203C672066696C6C3D2223393041344145223E0D0A202020 + 20202020203C7061746820643D224D32362C3463302C312E312D302E392C322D + 322C32732D322D302E392D322D32682D37763463302C312E312C302E392C322C + 322C3268313463312E312C302C322D302E392C322D3256344832367A222F3E0D + 0A20202020202020203C7061746820643D224D32342C30632D322E322C302D34 + 2C312E382D342C3473312E382C342C342C3473342D312E382C342D345332362E + 322C302C32342C307A204D32342C36632D312E312C302D322D302E392D322D32 + 73302E392D322C322D3273322C302E392C322C32205332352E312C362C32342C + 367A222F3E0D0A202020203C2F673E0D0A202020203C706F6C79676F6E206669 + 6C6C3D22233443414635302220706F696E74733D2233302E362C31382E362032 + 312E362C32372E362031372E342C32332E332031342E392C32352E382032312E + 372C33322E352033332E312C32312E31222F3E0D0A3C2F7376673E0D0A110000 + 0069006E00740065006700720061007400650064005F00770065006200630061 + 006D003A0200003C7376672076657273696F6E3D22312220786D6C6E733D2268 + 7474703A2F2F7777772E77332E6F72672F323030302F73766722207669657742 + 6F783D223020302034382034382220656E61626C652D6261636B67726F756E64 + 3D226E657720302030203438203438223E0D0A202020203C706174682066696C + 6C3D22233630374438422220643D224D33382C3432483130632D322E322C302D + 342D312E382D342D3456313063302D322E322C312E382D342C342D3468323863 + 322E322C302C342C312E382C342C347632384334322C34302E322C34302E322C + 34322C33382C34327A222F3E0D0A202020203C636972636C652066696C6C3D22 + 23343535413634222063783D223234222063793D2232342220723D223132222F + 3E0D0A202020203C636972636C652066696C6C3D222334324135463522206378 + 3D223234222063793D2232342220723D2239222F3E0D0A202020203C70617468 + 2066696C6C3D22233930434146392220643D224D32382E382C3231632D312E32 + 2D312E342D332D322E322D342E382D322E32732D332E362C302E382D342E382C + 322E32632D302E352C302E352D302E342C312E332C302E312C312E3863302E35 + 2C302E352C312E332C302E342C312E382D302E312063312E352D312E372C342E + 332D312E372C352E382C3063302E332C302E332C302E362C302E342C312C302E + 3463302E332C302C302E362D302E312C302E392D302E334332392E322C32322E + 342C32392E332C32312E352C32382E382C32317A222F3E0D0A3C2F7376673E0D + 0A0800000069006E007400650072006E0061006C00300100003C737667207665 + 7273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F + 72672F323030302F737667222076696577426F783D2230203020343820343822 + 20656E61626C652D6261636B67726F756E643D226E6577203020302034382034 + 38223E0D0A202020203C636972636C652066696C6C3D22234233453546432220 + 63783D223234222063793D2233302220723D223135222F3E0D0A202020203C67 + 2066696C6C3D2223313536354330223E0D0A20202020202020203C706F6C7967 + 6F6E20706F696E74733D2232342C33382E372031352C32382033332C3238222F + 3E0D0A20202020202020203C7265637420783D2232312220793D223522207769 + 6474683D223622206865696768743D223236222F3E0D0A202020203C2F673E0D + 0A3C2F7376673E0D0A0600000069006E0076006900740065003A0200003C7376 + 672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E + 77332E6F72672F323030302F737667222076696577426F783D22302030203438 + 2034382220656E61626C652D6261636B67726F756E643D226E65772030203020 + 3438203438223E0D0A202020203C706174682066696C6C3D2223373839303943 + 2220643D224D34302C34314838632D322E322C302D342D312E382D342D346C30 + 2D32302E3963302D312E332C302E362D322E352C312E372D332E334C32342C30 + 6C31382E332C31322E3863312E312C302E372C312E372C322C312E372C332E33 + 563337204334342C33392E322C34322E322C34312C34302C34317A222F3E0D0A + 202020203C7265637420783D2231322220793D223131222066696C6C3D222366 + 6666222077696474683D22323422206865696768743D223232222F3E0D0A2020 + 20203C706174682066696C6C3D22234346443844432220643D224D34302C3431 + 4838632D322E322C302D342D312E382D342D346C302D32306C32302C31336C32 + 302D31337632304334342C33392E322C34322E322C34312C34302C34317A222F + 3E0D0A202020203C672066696C6C3D2223344341463530223E0D0A2020202020 + 2020203C7265637420783D2232322220793D223134222077696474683D223422 + 206865696768743D223132222F3E0D0A20202020202020203C7265637420783D + 2231382220793D223138222077696474683D22313222206865696768743D2234 + 222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A040000006900700061 + 006400950100003C7376672076657273696F6E3D22312220786D6C6E733D2268 + 7474703A2F2F7777772E77332E6F72672F323030302F73766722207669657742 + 6F783D223020302034382034382220656E61626C652D6261636B67726F756E64 + 3D226E657720302030203438203438223E0D0A202020203C706174682066696C + 6C3D22234533383933392220643D224D382C3431563763302D322E322C312E38 + 2D342C342D3468323463322E322C302C342C312E382C342C3476333463302C32 + 2E322D312E382C342D342C3448313243392E382C34352C382C34332E322C382C + 34317A222F3E0D0A202020203C706174682066696C6C3D222346464633453022 + 20643D224D33362C36483132632D302E362C302D312C302E342D312C31763331 + 63302C302E362C302E342C312C312C3168323463302E362C302C312D302E342C + 312D3156374333372C362E342C33362E362C362C33362C367A222F3E0D0A2020 + 20203C636972636C652066696C6C3D2223413636343241222063783D22323422 + 2063793D2234322220723D22312E35222F3E0D0A3C2F7376673E0D0A06000000 + 6900700068006F006E006500990100003C7376672076657273696F6E3D223122 + 20786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73 + 7667222076696577426F783D223020302034382034382220656E61626C652D62 + 61636B67726F756E643D226E657720302030203438203438223E0D0A20202020 + 3C706174682066696C6C3D22234533383933392220643D224D31322C34305638 + 63302D322E322C312E382D342C342D3468313663322E322C302C342C312E382C + 342C3476333263302C322E322D312E382C342D342C344831364331332E382C34 + 342C31322C34322E322C31322C34307A222F3E0D0A202020203C706174682066 + 696C6C3D22234646463345302220643D224D33322C37483136632D302E362C30 + 2D312C302E342D312C3176323963302C302E362C302E342C312C312C31683136 + 63302E362C302C312D302E342C312D3156384333332C372E342C33322E362C37 + 2C33322C377A222F3E0D0A202020203C636972636C652066696C6C3D22234136 + 36343241222063783D223234222063793D2234312220723D22312E35222F3E0D + 0A3C2F7376673E0D0A030000006B0065007900AB0200003C7376672076657273 + 696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F7267 + 2F323030302F737667222076696577426F783D22302030203438203438222065 + 6E61626C652D6261636B67726F756E643D226E65772030203020343820343822 + 3E0D0A202020203C672066696C6C3D2223464641303030223E0D0A2020202020 + 2020203C706F6C79676F6E20706F696E74733D2233302C34312032362C343520 + 32322C34352031382C34312031382C32312033302C32312033302C3239203238 + 2C33312033302C33332033302C33352032382C33372033302C3339222F3E0D0A + 20202020202020203C7061746820643D224D33382C372E384333372E352C362C + 33362C342E372C33342E332C342E324333312E392C332E372C32382E322C332C + 32342C33732D372E392C302E372D31302E332C312E324331322C342E372C3130 + 2E352C362C31302C372E3820632D302E352C312E372D312C342E312D312C362E + 3763302C322E362C302E352C352C312C362E3763302E352C312E382C312E392C + 332E312C332E372C332E354331362E312C32352E332C31392E382C32362C3234 + 2C323673372E392D302E372C31302E332D312E322063312E382D302E342C332E + 322D312E382C332E372D332E3563302E352D312E372C312D342E312C312D362E + 374333392C31312E392C33382E352C392E352C33382C372E387A204D32392C31 + 33483139632D312E312C302D322D302E392D322D32563963302D302E362C332E + 312D312C372D3173372C302E342C372C317632204333312C31322E312C33302E + 312C31332C32392C31337A222F3E0D0A202020203C2F673E0D0A202020203C72 + 65637420783D2232332220793D223236222066696C6C3D222344363836303022 + 2077696474683D223222206865696768743D223139222F3E0D0A3C2F7376673E + 0D0A060000006B0069006E0064006C006500C60200003C737667207665727369 + 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F + 323030302F737667222076696577426F783D223020302034382034382220656E + 61626C652D6261636B67726F756E643D226E657720302030203438203438223E + 0D0A202020203C706174682066696C6C3D22233337343734462220643D224D38 + 2C3431563763302D322E322C312E382D342C342D3468323463322E322C302C34 + 2C312E382C342C3476333463302C322E322D312E382C342D342C344831324339 + 2E382C34352C382C34332E322C382C34317A222F3E0D0A202020203C70617468 + 2066696C6C3D22236565652220643D224D33352C36483133632D302E362C302D + 312C302E342D312C3176323963302C302E362C302E342C312C312C3168323263 + 302E362C302C312D302E342C312D3156374333362C362E342C33352E362C362C + 33352C367A222F3E0D0A202020203C7265637420783D2232302220793D223430 + 222066696C6C3D2223353436453741222077696474683D223822206865696768 + 743D2232222F3E0D0A202020203C672066696C6C3D2223413141314131223E0D + 0A20202020202020203C7265637420783D2231362220793D2231312220776964 + 74683D22313622206865696768743D2233222F3E0D0A20202020202020203C72 + 65637420783D2231362220793D223138222077696474683D2231362220686569 + 6768743D2232222F3E0D0A20202020202020203C7265637420783D2231362220 + 793D223232222077696474683D22313222206865696768743D2232222F3E0D0A + 20202020202020203C7265637420783D2231362220793D223236222077696474 + 683D22313622206865696768743D2232222F3E0D0A20202020202020203C7265 + 637420783D2231362220793D223330222077696474683D223132222068656967 + 68743D2232222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A09000000 + 6C0061006E00640073006300610070006500EB0100003C737667207665727369 + 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F + 323030302F737667222076696577426F783D223020302034382034382220656E + 61626C652D6261636B67726F756E643D226E657720302030203438203438223E + 0D0A202020203C672066696C6C3D2223464639383030223E0D0A202020202020 + 20203C7265637420783D2233362E312220793D22382E3122207472616E73666F + 726D3D226D6174726978282E373037202E373037202D2E373037202E37303720 + 32312E323031202D32352E31383429222077696474683D22392E392220686569 + 6768743D22392E39222F3E0D0A20202020202020203C7265637420783D223336 + 2220793D2238222077696474683D22313022206865696768743D223130222F3E + 0D0A202020203C2F673E0D0A202020203C636972636C652066696C6C3D222346 + 4645423342222063783D223431222063793D2231332220723D2233222F3E0D0A + 202020203C706F6C79676F6E2066696C6C3D22233245374433322220706F696E + 74733D2231362E352C313820302C34322033332C3432222F3E0D0A202020203C + 706F6C79676F6E2066696C6C3D22233443414635302220706F696E74733D2233 + 332E362C32342031392E322C34322034382C3432222F3E0D0A3C2F7376673E0D + 0A050000006C006500610076006500180400003C7376672076657273696F6E3D + 22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030 + 302F737667222076696577426F783D223020302034382034382220656E61626C + 652D6261636B67726F756E643D226E657720302030203438203438223E0D0A20 + 2020203C706174682066696C6C3D22234646434444322220643D224D352C3338 + 56313468333876323463302C322E322D312E382C342D342C34483943362E382C + 34322C352C34302E322C352C33387A222F3E0D0A202020203C70617468206669 + 6C6C3D22234634343333362220643D224D34332C313076364835762D3663302D + 322E322C312E382D342C342D346833304334312E322C362C34332C372E382C34 + 332C31307A222F3E0D0A202020203C672066696C6C3D2223423731433143223E + 0D0A20202020202020203C636972636C652063783D223333222063793D223130 + 2220723D2233222F3E0D0A20202020202020203C636972636C652063783D2231 + 35222063793D2231302220723D2233222F3E0D0A202020203C2F673E0D0A2020 + 20203C672066696C6C3D2223424442444244223E0D0A20202020202020203C70 + 61746820643D224D33332C33632D312E312C302D322C302E392D322C32763563 + 302C312E312C302E392C322C322C3273322D302E392C322D3256354333352C33 + 2E392C33342E312C332C33332C337A222F3E0D0A20202020202020203C706174 + 6820643D224D31352C33632D312E312C302D322C302E392D322C32763563302C + 312E312C302E392C322C322C3273322D302E392C322D3256354331372C332E39 + 2C31362E312C332C31352C337A222F3E0D0A202020203C2F673E0D0A20202020 + 3C706174682066696C6C3D22234634343333362220643D224D32322E322C3335 + 2E3363302D302E322C302D302E352C302E312D302E3763302E312D302E322C30 + 2E322D302E342C302E342D302E3573302E332D302E332C302E352D302E336330 + 2E322D302E312C302E352D302E312C302E372D302E312073302E352C302C302E + 372C302E3163302E322C302E312C302E342C302E322C302E362C302E3373302E + 332C302E332C302E342C302E3563302E312C302E322C302E312C302E342C302E + 312C302E3763302C302E322C302C302E352D302E312C302E37632D302E312C30 + 2E322D302E322C302E342D302E342C302E3520632D302E322C302E312D302E33 + 2C302E332D302E362C302E335332342E332C33372C32342C3337732D302E352C + 302D302E372D302E31632D302E322D302E312D302E342D302E322D302E352D30 + 2E33632D302E322D302E312D302E332D302E332D302E342D302E35204332322E + 332C33352E382C32322E322C33352E362C32322E322C33352E337A204D32352E + 332C3331682D322E366C2D302E342D313168332E334C32352E332C33317A222F + 3E0D0A3C2F7376673E0D0A040000006C00650066007400FD0000003C73766720 + 76657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E7733 + 2E6F72672F323030302F737667222076696577426F783D223020302034382034 + 382220656E61626C652D6261636B67726F756E643D226E657720302030203438 + 203438223E0D0A202020203C672066696C6C3D2223334635314235223E0D0A20 + 202020202020203C706F6C79676F6E20706F696E74733D22342C32342031382C + 31322E332031382C33352E37222F3E0D0A20202020202020203C726563742078 + 3D2231352220793D223230222077696474683D22323722206865696768743D22 + 38222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0A0000006C006500 + 660074005F0064006F0077006E0032000E0100003C7376672076657273696F6E + 3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F3230 + 30302F737667222076696577426F783D223020302034382034382220656E6162 + 6C652D6261636B67726F756E643D226E657720302030203438203438223E0D0A + 202020203C706F6C79676F6E2066696C6C3D22233346353142352220706F696E + 74733D2231392C34342033302E372C333020372E332C3330222F3E0D0A202020 + 203C706174682066696C6C3D22233346353142352220643D224D32372C366831 + 337638483237632D322E322C302D342C312E382D342C34763137682D38563138 + 4331352C31312E342C32302E342C362C32372C367A222F3E0D0A3C2F7376673E + 0D0A080000006C006500660074005F00750070003200110100003C7376672076 + 657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E + 6F72672F323030302F737667222076696577426F783D22302030203438203438 + 2220656E61626C652D6261636B67726F756E643D226E65772030203020343820 + 3438223E0D0A202020203C706F6C79676F6E2066696C6C3D2223334635314235 + 2220706F696E74733D2231392C342033302E372C313820372E332C3138222F3E + 0D0A202020203C706174682066696C6C3D22233346353142352220643D224D32 + 372C3432683133762D38483237632D322E322C302D342D312E382D342D345631 + 33682D387631374331352C33362E362C32302E342C34322C32372C34327A222F + 3E0D0A3C2F7376673E0D0A070000006C00690062007200610072007900290400 + 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F + 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 + 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 + 302030203438203438223E0D0A202020203C672066696C6C3D22234646393830 + 30223E0D0A20202020202020203C7265637420783D22312220793D2233382220 + 77696474683D22343622206865696768743D2232222F3E0D0A20202020202020 + 203C7265637420783D2232352220793D223138222077696474683D2234222068 + 65696768743D223136222F3E0D0A20202020202020203C7265637420783D2233 + 312220793D223138222077696474683D223422206865696768743D223136222F + 3E0D0A20202020202020203C7265637420783D2233372220793D223138222077 + 696474683D223422206865696768743D223136222F3E0D0A2020202020202020 + 3C7265637420783D2231392220793D223138222077696474683D223422206865 + 696768743D223136222F3E0D0A20202020202020203C7265637420783D223133 + 2220793D223138222077696474683D223422206865696768743D223136222F3E + 0D0A20202020202020203C7265637420783D22372220793D2231382220776964 + 74683D223422206865696768743D223136222F3E0D0A20202020202020203C70 + 6F6C79676F6E20706F696E74733D2234332C313620352C313620352C31332032 + 342C342034332C3133222F3E0D0A20202020202020203C7265637420783D2235 + 2220793D223334222077696474683D22333822206865696768743D2232222F3E + 0D0A202020203C2F673E0D0A202020203C672066696C6C3D2223454636433030 + 223E0D0A20202020202020203C7265637420783D2232352220793D2231362220 + 77696474683D223422206865696768743D2232222F3E0D0A2020202020202020 + 3C7265637420783D2233312220793D223136222077696474683D223422206865 + 696768743D2232222F3E0D0A20202020202020203C7265637420783D22333722 + 20793D223136222077696474683D223422206865696768743D2232222F3E0D0A + 20202020202020203C7265637420783D2231392220793D223136222077696474 + 683D223422206865696768743D2232222F3E0D0A20202020202020203C726563 + 7420783D2231332220793D223136222077696474683D22342220686569676874 + 3D2232222F3E0D0A20202020202020203C7265637420783D22372220793D2231 + 36222077696474683D223422206865696768743D2232222F3E0D0A2020202020 + 2020203C7265637420783D22332220793D223336222077696474683D22343222 + 206865696768743D2232222F3E0D0A20202020202020203C636972636C652063 + 783D223234222063793D2231312220723D2232222F3E0D0A202020203C2F673E + 0D0A3C2F7376673E0D0A1A0000006C0069006700680074005F00610074005F00 + 7400680065005F0065006E0064005F006F0066005F00740075006E006E006500 + 6C004C0200003C7376672076657273696F6E3D22312220786D6C6E733D226874 + 74703A2F2F7777772E77332E6F72672F323030302F737667222076696577426F + 783D223020302034382034382220656E61626C652D6261636B67726F756E643D + 226E657720302030203438203438223E0D0A202020203C706174682066696C6C + 3D22233346353142352220643D224D362C313076323863302C322E322C312E38 + 2C342C342C3468323863322E322C302C342D312E382C342D3456313063302D32 + 2E322D312E382D342D342D3448313043372E382C362C362C372E382C362C3130 + 7A222F3E0D0A202020203C706174682066696C6C3D2223434346324636222064 + 3D224D32372E392C32382E39682D352E386C2D382E342C372E326C362D372E32 + 762D322E346C2D332C302E386C332D312E39762D312E3563302D302E382C302E + 312D312E372C302E362D322E346C2D372E352D382E336C382E372C372E322063 + 302E372D302E372C312E352D312E312C322E352D312E326C302E362D372E336C + 312E312C372E3363302E332C302C302E362C302E312C302E382C302E316C312E + 322D312E326C2D302E332C312E3763302E332C302E312C302E342C302E332C30 + 2E372C302E366C342E342D322E386C2D332E362C332E392063302E332C302E34 + 2C302E362C312C302E372C312E376C322E322C302E316C2D322E322C302E3863 + 302C302E332C302C312E352C302C312E356C322E362C312E346C2D322E362D30 + 2E3363302C302C302C312E382C302C322E326C362E322C372E314C32372E392C + 32382E397A222F3E0D0A3C2F7376673E0D0A040000006C0069006B0065000D01 + 00003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F + 2F7777772E77332E6F72672F323030302F737667222076696577426F783D2230 + 20302034382034382220656E61626C652D6261636B67726F756E643D226E6577 + 20302030203438203438223E0D0A202020203C706174682066696C6C3D222346 + 34343333362220643D224D33342C39632D342E322C302D372E392C322E312D31 + 302C352E344332312E392C31312E312C31382E322C392C31342C3943372E342C + 392C322C31342E342C322C323163302C31312E392C32322C32342C32322C3234 + 7332322D31322C32322D3234204334362C31342E342C34302E362C392C33342C + 397A222F3E0D0A3C2F7376673E0D0A100000006C0069006B0065005F0070006C + 0061006300650068006F006C006400650072000D0100003C7376672076657273 + 696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F7267 + 2F323030302F737667222076696577426F783D22302030203438203438222065 + 6E61626C652D6261636B67726F756E643D226E65772030203020343820343822 + 3E0D0A202020203C706174682066696C6C3D22234646434444322220643D224D + 33342C39632D342E322C302D372E392C322E312D31302C352E344332312E392C + 31312E312C31382E322C392C31342C3943372E342C392C322C31342E342C322C + 323163302C31312E392C32322C32342C32322C32347332322D31322C32322D32 + 34204334362C31342E342C34302E362C392C33342C397A222F3E0D0A3C2F7376 + 673E0D0A0A0000006C0069006E0065005F006300680061007200740094030000 + 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 + 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 + 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 + 2030203438203438223E0D0A202020203C672066696C6C3D2223334635314235 + 223E0D0A20202020202020203C636972636C652063783D2238222063793D2233 + 382220723D2233222F3E0D0A20202020202020203C636972636C652063783D22 + 3136222063793D2234302220723D2233222F3E0D0A20202020202020203C6369 + 72636C652063783D223234222063793D2233332220723D2233222F3E0D0A2020 + 2020202020203C636972636C652063783D223332222063793D2233352220723D + 2233222F3E0D0A20202020202020203C636972636C652063783D223430222063 + 793D2233312220723D2233222F3E0D0A20202020202020203C706F6C79676F6E + 20706F696E74733D2233392E312C32392E322033312E382C33322E392032332E + 352C33302E382031352E352C33372E3820382E352C33362E3120372E352C3339 + 2E392031362E352C34322E322032342E352C33352E322033322E322C33372E31 + 2034302E392C33322E38222F3E0D0A202020203C2F673E0D0A202020203C6720 + 66696C6C3D2223303042434434223E0D0A20202020202020203C636972636C65 + 2063783D2238222063793D2232302220723D2233222F3E0D0A20202020202020 + 203C636972636C652063783D223136222063793D2232322220723D2233222F3E + 0D0A20202020202020203C636972636C652063783D223234222063793D223135 + 2220723D2233222F3E0D0A20202020202020203C636972636C652063783D2233 + 32222063793D2232302220723D2233222F3E0D0A20202020202020203C636972 + 636C652063783D223430222063793D22382220723D2233222F3E0D0A20202020 + 202020203C7061746820643D224D33382E332C362E39632D322E312C332E322D + 352E332C382D362E392C31302E34632D312E322D302E372D332E312D322D362E + 342D346C2D312E332D302E386C2D382E332C372E336C2D372D312E376C2D312C + 332E396C392C322E336C372E372D362E372063322E362C312E362C352E382C33 + 2E362C362E352C342E316C302E352C302E356C302E392D302E3163312E312D30 + 2E312C312E312D302E312C392E352D31322E394C33382E332C362E397A222F3E + 0D0A202020203C2F673E0D0A3C2F7376673E0D0A040000006C0069006E006B00 + 520200003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 + 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D + 223020302034382034382220656E61626C652D6261636B67726F756E643D226E + 657720302030203438203438223E0D0A202020203C672066696C6C3D22233139 + 37364432223E0D0A20202020202020203C7061746820643D224D33382C313368 + 2D33632D352E352C302D31302C342E352D31302C313073342E352C31302C3130 + 2C3130683363352E352C302C31302D342E352C31302D31305334332E352C3133 + 2C33382C31337A204D33382C3239682D3320632D332E332C302D362D322E372D + 362D3673322E372D362C362D36683363332E332C302C362C322E372C362C3653 + 34312E332C32392C33382C32397A222F3E0D0A20202020202020203C70617468 + 20643D224D31332C3133682D3343342E352C31332C302C31372E352C302C3233 + 73342E352C31302C31302C3130683363352E352C302C31302D342E352C31302D + 31305331382E352C31332C31332C31337A204D31332C3239682D3320632D332E + 332C302D362D322E372D362D3673322E372D362C362D36683363332E332C302C + 362C322E372C362C365331362E332C32392C31332C32397A222F3E0D0A202020 + 203C2F673E0D0A202020203C706174682066696C6C3D22233432413546352220 + 643D224D33332C3231483135632D312E312C302D322C302E392D322C3273302E + 392C322C322C3268313863312E312C302C322D302E392C322D325333342E312C + 32312C33332C32317A222F3E0D0A3C2F7376673E0D0A050000006C0069006E00 + 750078006F0F00003C3F786D6C2076657273696F6E3D22312E302220656E636F + 64696E673D227574662D38223F3E0D0A3C212D2D2047656E657261746F723A20 + 41646F626520496C6C7573747261746F722031392E312E312C20535647204578 + 706F727420506C75672D496E202E205356472056657273696F6E3A20362E3030 + 204275696C6420302920202D2D3E0D0A3C7376672076657273696F6E3D22312E + 31222020786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030 + 302F7376672220786D6C6E733A786C696E6B3D22687474703A2F2F7777772E77 + 332E6F72672F313939392F786C696E6B2220783D223070782220793D22307078 + 220D0A092076696577426F783D223020322034382034382220656E61626C652D + 6261636B67726F756E643D226E6577203020322034382034382220786D6C3A73 + 706163653D227072657365727665223E0D0A3C706F6C79676F6E2066696C6C3D + 22234543454646312220706F696E74733D2232302E312C31382E322032302E32 + 2C32302E352031382E362C32332E352031362E312C32382E342031352E362C33 + 322E352031372E342C33382E332032312E352C34302E362032372E372C34302E + 362033332E352C33362E32200D0A0933362E312C32392E332033302E312C3232 + 2032382E342C31372E3920222F3E0D0A3C706174682066696C6C3D2223323633 + 3233382220643D224D33342E332C32332E39632D312E362D322E332D322E392D + 332E372D332E362D362E36632D302E372D322E392C302E322D322E312D302E34 + 2D342E36632D302E332D312E332D302E382D322E322D312E332D322E390D0A09 + 632D302E362D302E372D312E332D312E312D312E372D312E32632D302E392D30 + 2E352D332D312E332D352E362C302E31632D322E372C312E342D322E342C342E + 342D312E392C31302E3563302C302E342D302E312C302E392D302E332C312E33 + 632D302E342C302E392D312E312C312E372D312E372C322E340D0A09632D302E + 372C312D312E342C322D312E392C332E31632D312E322C322E332D322E332C35 + 2E322D322C362E3363302E352D302E312C362E382C392E352C362E382C392E37 + 63302E342D302E312C322E312D302E312C332E362D302E3163322E312D302E31 + 2C332E332D302E322C352C302E320D0A0963302D302E332D302E312D302E362D + 302E312D302E3963302D302E362C302E312D312E312C302E322D312E3863302E + 312D302E352C302E322D312C302E332D312E36632D312C302E392D322E382C31 + 2E392D342E352C322E32632D312E352C302E332D342D302E322D352E322D312E + 370D0A0963302E312C302C302E332C302C302E342D302E3163302E332D302E31 + 2C302E362D302E322C302E372D302E3463302E332D302E352C302E312D312D30 + 2E312D312E33632D302E322D302E332D312E372D312E342D322E342D32632D30 + 2E372D302E362D312E312D302E392D312E352D312E330D0A0963302C302D302E + 362D302E362D302E382D302E38632D302E322D302E322D302E332D302E342D30 + 2E342D302E35632D302E322D302E352D302E332D312E312D302E322D312E3963 + 302E312D312E312C302E352D322C312D3363302E322D302E342C302E372D312E + 322C302E372D312E320D0A09732D312E372C342E322D302E382C352E3563302C + 302C302E312D312E332C302E352D322E3663302E332D302E392C302E382D322E + 322C312E342D322E3973322E312D332E332C322E322D342E3963302D302E372C + 302E312D312E342C302E312D312E39632D302E342D302E342C362E362D312E34 + 2C372D302E330D0A0963302E312C302E342C312E352C342C322E332C352E3963 + 302E342C302E392C302E392C312E372C312E322C322E3763302E332C312E312C + 302E352C322E362C302E352C342E3163302C302E332C302C302E382D302E312C + 312E3363302E322C302C342E312D342E322D302E352D372E370D0A0963302C30 + 2C322E382C312E332C322E392C332E3963302E312C322E312D302E382C332E38 + 2D312C342E3163302E312C302C322E312C302E392C322E322C302E3963302E34 + 2C302C312E322D302E332C312E322D302E3363302E312D302E332C302E342D31 + 2E312C302E342D312E340D0A094333372E362C32392E392C33352E392C32362E + 322C33342E332C32332E397A222F3E0D0A3C673E0D0A093C656C6C6970736520 + 66696C6C3D2223454345464631222063783D2232312E36222063793D2231352E + 33222072783D22312E33222072793D2232222F3E0D0A093C656C6C6970736520 + 66696C6C3D2223454345464631222063783D2232362E31222063793D2231352E + 32222072783D22312E37222072793D22322E33222F3E0D0A3C2F673E0D0A3C67 + 3E0D0A090D0A09093C656C6C69707365207472616E73666F726D3D226D617472 + 6978282D302E31323534202D302E3939323120302E39393231202D302E313235 + 3420382E393735342033382E3939363929222066696C6C3D2223323132313231 + 222063783D2232312E37222063793D2231352E35222072783D22312E32222072 + 793D22302E37222F3E0D0A093C656C6C697073652066696C6C3D222332313231 + 3231222063783D223236222063793D2231352E36222072783D2231222072793D + 22312E33222F3E0D0A3C2F673E0D0A3C673E0D0A093C706174682066696C6C3D + 22234646433130372220643D224D33392E332C33372E36632D302E342D302E32 + 2D312E312D302E352D312E372D312E34632D302E332D302E352D302E322D312E + 392D302E372D322E35632D302E332D302E342D302E372D302E322D302E382D30 + 2E320D0A0909632D302E392C302E322D332C312E362D342E342C30632D302E32 + 2D302E322D302E352D302E352D312D302E35632D302E352C302D302E372C302E + 322D302E392C302E36732D302E322C302E372D302E322C312E3763302C302E38 + 2C302C312E372D302E312C322E340D0A0909632D302E322C312E372D302E352C + 322E372D302E352C332E3763302C312E312C302E332C312E382C302E372C322E + 3163302E332C302E332C302E382C302E352C312E392C302E3563312E312C302C + 312E382D302E342C322E352D312E3163302E352D302E352C302E392D302E372C + 322E332D312E370D0A090963312E312D302E372C322E382D312E362C332E312D + 312E3963302E322D302E322C302E352D302E332C302E352D302E394334302C33 + 372E392C33392E362C33372E372C33392E332C33372E367A222F3E0D0A093C70 + 6174682066696C6C3D22234646433130372220643D224D31392E322C33372E39 + 632D312D312E362D312E312D312E392D312E382D322E39632D302E362D312D31 + 2E392D322E392D322E372D322E39632D302E362C302D302E392C302E332D312E + 332C302E370D0A0909632D302E342C302E342D302E382C312E332D312E352C31 + 2E38632D302E362C302E352D322E332C302E342D322E372C31632D302E342C30 + 2E362C302E342C312E352C302E342C3363302C302E362D302E352C312D302E36 + 2C312E34632D302E312C302E352D302E322C302E382C302C312E320D0A090963 + 302E342C302E362C302E392C302E382C342E332C312E3563312E382C302E342C + 332E352C312E342C342E362C312E3563312E312C302E312C332C302C332D322E + 374332312C33392E392C32302E312C33392E352C31392E322C33372E397A222F + 3E0D0A093C706174682066696C6C3D22234646433130372220643D224D32312E + 312C31392E384332302E352C31392E342C32302C31392C32302C31382E346330 + 2D302E362C302E342D302E382C312D312E3363302E312D302E312C312E322D31 + 2E312C322E332D312E3173322E342C302E372C322E392C302E390D0A09096330 + 2E392C302E322C312E382C302E342C312E372C312E31632D302E312C312D302E + 322C312E322D312E322C312E37632D302E372C302E322D322C312E332D322E39 + 2C312E33632D302E342C302D312C302D312E342D302E314332322E312C32302E + 382C32312E362C32302E332C32312E312C31392E387A222F3E0D0A3C2F673E0D + 0A3C673E0D0A093C706174682066696C6C3D22233633343730332220643D224D + 32302E392C313963302E322C302E322C302E352C302E342C302E382C302E3563 + 302E322C302E312C302E352C302E322C302E352C302E3263302E342C302C302E + 372C302C302E392C3063302E352C302C312E322D302E322C312E392D302E360D + 0A090963302E372D302E332C302E382D302E352C312E332D302E3763302E352D + 302E332C312D302E362C302E382D302E37632D302E322D302E312D302E342C30 + 2D312E312C302E34632D302E362C302E342D312E312C302E362D312E372C302E + 39632D302E332C302E312D302E372C302E332D312C302E330D0A0909632D302E + 332C302D302E362C302D302E392C30632D302E332C302D302E352D302E312D30 + 2E382D302E32632D302E322D302E312D302E332D302E322D302E342D302E3263 + 2D302E322D302E312D302E362D302E352D302E382D302E3663302C302D302E32 + 2C302D302E312C302E310D0A09094332302E362C31382E372C32302E372C3138 + 2E382C32302E392C31397A222F3E0D0A093C706174682066696C6C3D22233633 + 343730332220643D224D32332E392C31362E3863302E312C302E322C302E332C + 302E322C302E342C302E3363302E312C302E312C302E322C302E312C302E322C + 302E3163302E312D302E312C302D302E332D302E312D302E330D0A0909433234 + 2E342C31362E372C32332E392C31362E372C32332E392C31362E387A222F3E0D + 0A093C706174682066696C6C3D22233633343730332220643D224D32322E332C + 313763302C302E312C302E322C302E322C302E322C302E3163302E312D302E31 + 2C302E322D302E322C302E332D302E3263302E322D302E312C302E312D302E32 + 2D302E322D302E320D0A09094332322E342C31362E382C32322E342C31362E39 + 2C32322E332C31377A222F3E0D0A3C2F673E0D0A3C706174682066696C6C3D22 + 233435354136342220643D224D33322C33342E3763302C302E312C302C302E32 + 2C302C302E3363302E322C302E342C302E372C302E352C312E312C302E356330 + 2E362C302C312E322D302E342C312E352D302E3863302D302E312C302E312D30 + 2E322C302E322D302E330D0A0963302E322D302E332C302E332D302E352C302E + 342D302E3663302C302D302E312D302E312D302E312D302E32632D302E312D30 + 2E322D302E342D302E342D302E382D302E35632D302E332D302E312D302E382D + 302E322D312D302E32632D302E392D302E312D312E342C302E322D312E372C30 + 2E350D0A0963302C302C302E312C302C302E312C302E3163302E322C302E322C + 302E332C302E342C302E332C302E374333322E312C33342E342C33322C33342E + 352C33322C33342E377A222F3E0D0A3C2F7376673E0D0A040000006C00690073 + 007400BE0200003C7376672076657273696F6E3D22312220786D6C6E733D2268 + 7474703A2F2F7777772E77332E6F72672F323030302F73766722207669657742 + 6F783D223020302034382034382220656E61626C652D6261636B67726F756E64 + 3D226E657720302030203438203438223E0D0A202020203C672066696C6C3D22 + 23323139364633223E0D0A20202020202020203C7265637420783D2236222079 + 3D223232222077696474683D223422206865696768743D2234222F3E0D0A2020 + 2020202020203C7265637420783D22362220793D223134222077696474683D22 + 3422206865696768743D2234222F3E0D0A20202020202020203C726563742078 + 3D22362220793D223330222077696474683D223422206865696768743D223422 + 2F3E0D0A20202020202020203C7265637420783D22362220793D223622207769 + 6474683D223422206865696768743D2234222F3E0D0A20202020202020203C72 + 65637420783D22362220793D223338222077696474683D223422206865696768 + 743D2234222F3E0D0A202020203C2F673E0D0A202020203C672066696C6C3D22 + 23323139364633223E0D0A20202020202020203C7265637420783D2231342220 + 793D223232222077696474683D22323822206865696768743D2234222F3E0D0A + 20202020202020203C7265637420783D2231342220793D223134222077696474 + 683D22323822206865696768743D2234222F3E0D0A20202020202020203C7265 + 637420783D2231342220793D223330222077696474683D223238222068656967 + 68743D2234222F3E0D0A20202020202020203C7265637420783D223134222079 + 3D2236222077696474683D22323822206865696768743D2234222F3E0D0A2020 + 2020202020203C7265637420783D2231342220793D223338222077696474683D + 22323822206865696768743D2234222F3E0D0A202020203C2F673E0D0A3C2F73 + 76673E0D0A040000006C006F0063006B00990100003C7376672076657273696F + 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 + 3030302F737667222076696577426F783D223020302034382034382220656E61 + 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D + 0A202020203C706174682066696C6C3D22233432343234322220643D224D3234 + 2C34632D352E352C302D31302C342E352D31302C313076346834762D3463302D + 332E332C322E372D362C362D3673362C322E372C362C3676346834762D344333 + 342C382E352C32392E352C342C32342C347A222F3E0D0A202020203C70617468 + 2066696C6C3D22234642384330302220643D224D33362C3434483132632D322E + 322C302D342D312E382D342D3456323263302D322E322C312E382D342C342D34 + 68323463322E322C302C342C312E382C342C347631384334302C34322E322C33 + 382E322C34342C33362C34347A222F3E0D0A202020203C636972636C65206669 + 6C6C3D2223433736453030222063783D223234222063793D2233312220723D22 + 33222F3E0D0A3C2F7376673E0D0A0E0000006C006F0063006B005F006C006100 + 6E00640073006300610070006500610200003C7376672076657273696F6E3D22 + 312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32303030 + 2F737667222076696577426F783D223020302034382034382220656E61626C65 + 2D6261636B67726F756E643D226E657720302030203438203438223E0D0A2020 + 20203C706174682066696C6C3D22233337343734462220643D224D372C313068 + 333463322E322C302C342C312E382C342C3476323063302C322E322D312E382C + 342D342C344837632D322E322C302D342D312E382D342D3456313443332C3131 + 2E382C342E382C31302C372C31307A222F3E0D0A202020203C70617468206669 + 6C6C3D22234242444546422220643D224D34322C333456313463302D302E362D + 302E342D312D312D314837632D302E362C302D312C302E342D312C3176323063 + 302C302E362C302E342C312C312C316833344334312E362C33352C34322C3334 + 2E362C34322C33347A222F3E0D0A202020203C672066696C6C3D222333463531 + 4235223E0D0A20202020202020203C7061746820643D224D32392C3331483139 + 632D302E362C302D312D302E342D312D31762D3663302D302E362C302E342D31 + 2C312D3168313063302E362C302C312C302E342C312C3176364333302C33302E + 362C32392E362C33312C32392C33317A222F3E0D0A20202020202020203C7061 + 746820643D224D32342C3137632D322E322C302D342C312E382D342C34763368 + 32762D3363302D312E312C302E392D322C322D3273322C302E392C322C327633 + 6832762D334332382C31382E382C32362E322C31372C32342C31377A222F3E0D + 0A202020203C2F673E0D0A3C2F7376673E0D0A0D0000006C006F0063006B005F + 0070006F00720074007200610069007400600200003C7376672076657273696F + 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 + 3030302F737667222076696577426F783D223020302034382034382220656E61 + 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D + 0A202020203C706174682066696C6C3D22233337343734462220643D224D3130 + 2C3431563763302D322E322C312E382D342C342D3468323063322E322C302C34 + 2C312E382C342C3476333463302C322E322D312E382C342D342C344831344331 + 312E382C34352C31302C34332E322C31302C34317A222F3E0D0A202020203C70 + 6174682066696C6C3D22234242444546422220643D224D33342C36483134632D + 302E362C302D312C302E342D312C3176333463302C302E362C302E342C312C31 + 2C3168323063302E362C302C312D302E342C312D3156374333352C362E342C33 + 342E362C362C33342C367A222F3E0D0A202020203C672066696C6C3D22233346 + 35314235223E0D0A20202020202020203C7061746820643D224D32392C333048 + 3139632D302E362C302D312D302E342D312D31762D3663302D302E362C302E34 + 2D312C312D3168313063302E362C302C312C302E342C312C3176364333302C32 + 392E362C32392E362C33302C32392C33307A222F3E0D0A20202020202020203C + 7061746820643D224D32342C3136632D322E322C302D342C312E382D342C3476 + 336832762D3363302D312E312C302E392D322C322D3273322C302E392C322C32 + 76336832762D334332382C31372E382C32362E322C31362C32342C31367A222F + 3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0B0000006C006F0077005F + 006200610074007400650072007900CC0100003C7376672076657273696F6E3D + 22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030 + 302F737667222076696577426F783D223020302034382034382220656E61626C + 652D6261636B67726F756E643D226E657720302030203438203438223E0D0A20 + 2020203C672066696C6C3D2223434644384443223E0D0A20202020202020203C + 7061746820643D224D33342C3434483134632D312E312C302D322D302E392D32 + 2D32563863302D312E312C302E392D322C322D3268323063312E312C302C322C + 302E392C322C327633344333362C34332E312C33352E312C34342C33342C3434 + 7A222F3E0D0A20202020202020203C7061746820643D224D32382C3133682D38 + 632D302E362C302D312D302E342D312D31563563302D302E362C302E342D312C + 312D31683863302E362C302C312C302E342C312C3176374332392C31322E362C + 32382E362C31332C32382C31337A222F3E0D0A202020203C2F673E0D0A202020 + 203C706174682066696C6C3D22233842433334412220643D224D33342C343448 + 3134632D312E312C302D322D302E392D322D32762D3968323476394333362C34 + 332E312C33352E312C34342C33342C34347A222F3E0D0A3C2F7376673E0D0A0C + 0000006C006F0077005F007000720069006F007200690074007900A80100003C + 7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777 + 772E77332E6F72672F323030302F737667222076696577426F783D2230203020 + 34382034382220656E61626C652D6261636B67726F756E643D226E6577203020 + 30203438203438223E0D0A202020203C706174682066696C6C3D222334434146 + 35302220643D224D32312E322C34342E386C2D31382D3138632D312E362D312E + 362D312E362D342E312C302D352E376C31382D313863312E362D312E362C342E + 312D312E362C352E372C306C31382C313863312E362C312E362C312E362C342E + 312C302C352E376C2D31382C3138204332352E332C34362E342C32322E372C34 + 362E342C32312E322C34342E387A222F3E0D0A202020203C672066696C6C3D22 + 23464645423342223E0D0A20202020202020203C706F6C79676F6E20706F696E + 74733D2232342C33332E342031372C32352033312C3235222F3E0D0A20202020 + 202020203C7265637420783D2232322220793D2231342E38222077696474683D + 223422206865696768743D2231322E33222F3E0D0A202020203C2F673E0D0A3C + 2F7376673E0D0A0D0000006D0061006B0065005F006400650063006900730069 + 006F006E00020300003C7376672076657273696F6E3D22312220786D6C6E733D + 22687474703A2F2F7777772E77332E6F72672F323030302F7376672220766965 + 77426F783D223020302034382034382220656E61626C652D6261636B67726F75 + 6E643D226E657720302030203438203438223E0D0A202020203C672066696C6C + 3D2223464643433830223E0D0A20202020202020203C636972636C652063783D + 223338222063793D2232362220723D2234222F3E0D0A20202020202020203C63 + 6972636C652063783D223130222063793D2232362220723D2234222F3E0D0A20 + 202020202020203C7061746820643D224D33392C313963302D31322E372D3330 + 2D382E332D33302C3063302C312E382C302C382E322C302C313063302C382E33 + 2C362E372C31352C31352C31357331352D362E372C31352D31354333392C3237 + 2E322C33392C32302E382C33392C31397A222F3E0D0A20202020202020203C70 + 61746820643D224D32342C344331352E322C342C382C31312E322C382C323063 + 302C312E322C302C332E352C302C332E356C322E312C302E365631396C31392E + 352D362E336C382E322C362E3376352E316C322E312D302E3663302C302C302D + 322E332C302D332E35204334302C31322E352C33342E362C342C32342C347A22 + 2F3E0D0A202020203C2F673E0D0A202020203C706F6C79676F6E2066696C6C3D + 22234646353732322220706F696E74733D2232342C32332E352032342C31322E + 352033302E362C3138222F3E0D0A202020203C706174682066696C6C3D222346 + 46353732322220643D224D32382E392C32342E3463302C302E322C302E312C30 + 2E342C302E312C302E3663302C322E382D322E322C352D352C35732D352D322E + 322D352D3573322E322D352C352D3563302E372C302C312E342C302E322C322C + 302E34762D342E3220632D302E362D302E312D312E332D302E322D322D302E32 + 632D352C302D392C342D392C3973342C392C392C3973392D342C392D3963302D + 312E322D302E322D322E342D302E372D332E344C32382E392C32342E347A222F + 3E0D0A3C2F7376673E0D0A070000006D0061006E0061006700650072004E0300 + 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F + 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 + 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 + 302030203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D22 + 234646393830302220706F696E74733D2232342C33372031392C33312031392C + 32352032392C32352032392C3331222F3E0D0A202020203C672066696C6C3D22 + 23464641373236223E0D0A20202020202020203C636972636C652063783D2233 + 33222063793D2231392220723D2232222F3E0D0A20202020202020203C636972 + 636C652063783D223135222063793D2231392220723D2232222F3E0D0A202020 + 203C2F673E0D0A202020203C706174682066696C6C3D22234646423734442220 + 643D224D33332C313363302D372E362D31382D352D31382C3063302C312E312C + 302C352E392C302C3763302C352C342C392C392C3973392D342C392D39433333 + 2C31382E392C33332C31342E312C33332C31337A222F3E0D0A202020203C7061 + 74682066696C6C3D22234646353732322220643D224D32342C34632D362E312C + 302D31302C342E392D31302C313163302C302E382C302C322E332C302C322E33 + 6C322C312E37762D356C31322D346C342C3476356C322D312E3763302C302C30 + 2D312E352C302D322E3363302D342D312D382D362D396C2D312D32204832347A + 222F3E0D0A202020203C672066696C6C3D2223373834373139223E0D0A202020 + 20202020203C636972636C652063783D223238222063793D2231392220723D22 + 31222F3E0D0A20202020202020203C636972636C652063783D22323022206379 + 3D2231392220723D2231222F3E0D0A202020203C2F673E0D0A202020203C7061 + 74682066696C6C3D22234346443844432220643D224D32392C33314C32392C33 + 316C2D352C316C2D352D3163302C302D31312C322D31312C3133683332433430 + 2C33332C32392C33312C32392C33317A222F3E0D0A202020203C706F6C79676F + 6E2066696C6C3D22233346353142352220706F696E74733D2232332C33352032 + 322C34342032362C34342032352C33352032362C33342032342C33322032322C + 3334222F3E0D0A3C2F7376673E0D0A0F0000006D0065006400690075006D005F + 007000720069006F007200690074007900B90100003C7376672076657273696F + 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 + 3030302F737667222076696577426F783D223020302034382034382220656E61 + 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D + 0A202020203C706174682066696C6C3D22234646433130372220643D224D3231 + 2E322C34342E386C2D31382D3138632D312E362D312E362D312E362D342E312C + 302D352E376C31382D313863312E362D312E362C342E312D312E362C352E372C + 306C31382C313863312E362C312E362C312E362C342E312C302C352E376C2D31 + 382C3138204332352E332C34362E342C32322E372C34362E342C32312E322C34 + 342E387A222F3E0D0A202020203C672066696C6C3D2223333734373446223E0D + 0A20202020202020203C636972636C652063783D223234222063793D22323422 + 20723D2232222F3E0D0A20202020202020203C636972636C652063783D223332 + 222063793D2232342220723D2232222F3E0D0A20202020202020203C63697263 + 6C652063783D223136222063793D2232342220723D2232222F3E0D0A20202020 + 3C2F673E0D0A3C2F7376673E0D0A040000006D0065006E007500320100003C73 + 76672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F777777 + 2E77332E6F72672F323030302F737667222076696577426F783D223020302034 + 382034382220656E61626C652D6261636B67726F756E643D226E657720302030 + 203438203438223E0D0A202020203C672066696C6C3D2223363037443842223E + 0D0A20202020202020203C7265637420783D22362220793D2232322220776964 + 74683D22333622206865696768743D2234222F3E0D0A20202020202020203C72 + 65637420783D22362220793D223130222077696474683D223336222068656967 + 68743D2234222F3E0D0A20202020202020203C7265637420783D22362220793D + 223334222077696474683D22333622206865696768743D2234222F3E0D0A2020 + 20203C2F673E0D0A3C2F7376673E0D0A0E0000006D006900640064006C006500 + 5F006200610074007400650072007900CD0100003C7376672076657273696F6E + 3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F3230 + 30302F737667222076696577426F783D223020302034382034382220656E6162 + 6C652D6261636B67726F756E643D226E657720302030203438203438223E0D0A + 202020203C672066696C6C3D2223434644384443223E0D0A2020202020202020 + 3C7061746820643D224D33342C3434483134632D312E312C302D322D302E392D + 322D32563863302D312E312C302E392D322C322D3268323063312E312C302C32 + 2C302E392C322C327633344333362C34332E312C33352E312C34342C33342C34 + 347A222F3E0D0A20202020202020203C7061746820643D224D32382C3133682D + 38632D302E362C302D312D302E342D312D31563563302D302E362C302E342D31 + 2C312D31683863302E362C302C312C302E342C312C3176374332392C31322E36 + 2C32382E362C31332C32382C31337A222F3E0D0A202020203C2F673E0D0A2020 + 20203C706174682066696C6C3D22233842433334412220643D224D33342C3434 + 483134632D312E312C302D322D302E392D322D32563233683234763139433336 + 2C34332E312C33352E312C34342C33342C34347A222F3E0D0A3C2F7376673E0D + 0A080000006D0069006E0064005F006D00610070003E0200003C737667207665 + 7273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F + 72672F323030302F737667222076696577426F783D2230203020343820343822 + 20656E61626C652D6261636B67726F756E643D226E6577203020302034382034 + 38223E0D0A202020203C706F6C79676F6E2066696C6C3D222343464438444322 + 20706F696E74733D2233392E342C32332033382E362C31392032362C32312E36 + 2032362C382032322C382032322C32302E3320382E312C31312E3320352E392C + 31342E372032312E312C32342E3520392E342C33392E382031322E362C34322E + 322032332E392C32372E342033322E332C34302E312033352E372C33372E3920 + 32372E332C32352E34222F3E0D0A202020203C636972636C652066696C6C3D22 + 23334635314235222063783D223234222063793D2232342220723D2237222F3E + 0D0A202020203C672066696C6C3D2223303042434434223E0D0A202020202020 + 20203C636972636C652063783D223234222063793D22382220723D2235222F3E + 0D0A20202020202020203C636972636C652063783D223339222063793D223231 + 2220723D2235222F3E0D0A20202020202020203C636972636C652063783D2237 + 222063793D2231332220723D2235222F3E0D0A20202020202020203C63697263 + 6C652063783D223131222063793D2234312220723D2235222F3E0D0A20202020 + 202020203C636972636C652063783D223334222063793D2233392220723D2235 + 222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0B0000006D00690073 + 007300650064005F00630061006C006C001D0200003C7376672076657273696F + 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 + 3030302F737667222076696577426F783D223020302034382034382220656E61 + 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D + 0A202020203C672066696C6C3D2223463434333336223E0D0A20202020202020 + 203C706F6C79676F6E20706F696E74733D2233302E332C31322E392032342C31 + 392E322031352E372C31302E392031322E392C31332E372032342C32342E3820 + 33332E312C31352E37222F3E0D0A20202020202020203C706F6C79676F6E2070 + 6F696E74733D2233362C31392032372C31302033362C3130222F3E0D0A202020 + 203C2F673E0D0A202020203C706174682066696C6C3D22233030393638382220 + 643D224D34342E352C33302E386C2D322E342D322E34632D382E352D382E332D + 32382E392D372E312D33362E322C306C2D322E342C322E34632D302E372C302E + 372D302E372C312E372C302C322E346C342E382C342E372063302E372C302E37 + 2C312E372C302E372C322E342C306C352E332D352E316C2D302E342D352E3663 + 312E372D312E372C31352E312D312E372C31362E382C304C33322E312C33336C + 352E312C342E3963302E372C302E372C312E372C302E372C322E342C306C342E + 382D342E37204334352E322C33322E352C34352E322C33312E342C34342E352C + 33302E387A222F3E0D0A3C2F7376673E0D0A030000006D006D00730099010000 + 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 + 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 + 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 + 2030203438203438223E0D0A202020203C706174682066696C6C3D2223453931 + 4536332220643D224D33372C33394831316C2D362C3656313163302D332E332C + 322E372D362C362D3668323663332E332C302C362C322E372C362C3676323243 + 34332C33362E332C34302E332C33392C33372C33397A222F3E0D0A202020203C + 706F6C79676F6E2066696C6C3D22234634384642312220706F696E74733D2232 + 302C31362E352031302C33312033302C3331222F3E0D0A202020203C67206669 + 6C6C3D2223463842424430223E0D0A20202020202020203C636972636C652063 + 783D223334222063793D2231352220723D2233222F3E0D0A2020202020202020 + 3C706F6C79676F6E20706F696E74733D2233302C32312032322C33312033382C + 3331222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0E0000006D006F + 006E00650079005F007400720061006E007300660065007200050300003C7376 + 672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E + 77332E6F72672F323030302F737667222076696577426F783D22302030203438 + 2034382220656E61626C652D6261636B67726F756E643D226E65772030203020 + 3438203438223E0D0A202020203C706174682066696C6C3D2223373839303943 + 2220643D224D34302C34314838632D322E322C302D342D312E382D342D346C30 + 2D32302E3963302D312E332C302E362D322E352C312E372D332E334C32342C30 + 6C31382E332C31322E3863312E312C302E372C312E372C322C312E372C332E33 + 563337204334342C33392E322C34322E322C34312C34302C34317A222F3E0D0A + 202020203C7265637420783D2231342220793D2231222066696C6C3D22234145 + 44353831222077696474683D22323022206865696768743D223331222F3E0D0A + 202020203C672066696C6C3D2223353538423246223E0D0A2020202020202020 + 3C7061746820643D224D31332C3076333368323256304831337A204D33332C33 + 3148313556326831385633317A222F3E0D0A20202020202020203C7061746820 + 643D224D33342C3363302C312E372D302E332C332D322C33632D312E372C302D + 332D312E332D332D3373312E332D322C332D324333332E372C312C33342C312E + 332C33342C337A222F3E0D0A20202020202020203C7061746820643D224D3136 + 2C3163312E372C302C332C302E332C332C32732D312E332C332D332C33732D32 + 2D312E332D322D335331342E332C312C31362C317A222F3E0D0A202020202020 + 20203C636972636C652063783D223234222063793D22382220723D2232222F3E + 0D0A20202020202020203C636972636C652063783D223234222063793D223230 + 2220723D2236222F3E0D0A202020203C2F673E0D0A202020203C706174682066 + 696C6C3D22234346443844432220643D224D34302C34314838632D322E322C30 + 2D342D312E382D342D346C302D32306C32302C31336C32302D31337632304334 + 342C33392E322C34322E322C34312C34302C34317A222F3E0D0A3C2F7376673E + 0D0A100000006D0075006C007400690070006C0065005F00630061006D006500 + 720061007300F40200003C7376672076657273696F6E3D22312220786D6C6E73 + 3D22687474703A2F2F7777772E77332E6F72672F323030302F73766722207669 + 6577426F783D223020302034382034382220656E61626C652D6261636B67726F + 756E643D226E657720302030203438203438223E0D0A202020203C7061746820 + 66696C6C3D22233435354136342220643D224D34322C3431483132632D322E32 + 2C302D342D312E382D342D3456313763302D322E322C312E382D342C342D3468 + 333063322E322C302C342C312E382C342C347632304334362C33392E322C3434 + 2E322C34312C34322C34317A222F3E0D0A202020203C706174682066696C6C3D + 22233738393039432220643D224D33362C33364836632D322E322C302D342D31 + 2E382D342D3456313263302D322E322C312E382D342C342D3468333063322E32 + 2C302C342C312E382C342C347632304334302C33342E322C33382E322C33362C + 33362C33367A222F3E0D0A202020203C636972636C652066696C6C3D22233435 + 35413634222063783D223236222063793D2232322220723D223130222F3E0D0A + 202020203C636972636C652066696C6C3D2223343241354635222063783D2232 + 36222063793D2232322220723D2237222F3E0D0A202020203C70617468206669 + 6C6C3D22233930434146392220643D224D32392E372C31392E37632D312D312E + 312D322E332D312E372D332E372D312E37732D322E382C302E362D332E372C31 + 2E37632D302E342C302E342D302E332C312C302E312C312E3463302E342C302E + 342C312C302E332C312E342D302E312063312E322D312E332C332E332D312E33 + 2C342E352C3063302E322C302E322C302E352C302E332C302E372C302E336330 + 2E322C302C302E352D302E312C302E372D302E334333302E312C32302E372C33 + 302E312C32302E312C32392E372C31392E377A222F3E0D0A202020203C726563 + 7420783D22362220793D223132222066696C6C3D222341444438464222207769 + 6474683D223622206865696768743D2233222F3E0D0A3C2F7376673E0D0A1000 + 00006D0075006C007400690070006C0065005F00640065007600690063006500 + 7300E10200003C7376672076657273696F6E3D22312220786D6C6E733D226874 + 74703A2F2F7777772E77332E6F72672F323030302F737667222076696577426F + 783D223020302034382034382220656E61626C652D6261636B67726F756E643D + 226E657720302030203438203438223E0D0A202020203C706174682066696C6C + 3D22233534364537412220643D224D342C3238563863302D322E322C312E382D + 342C342D3468323863322E322C302C342C312E382C342C3476323063302C322E + 322D312E382C342D342C34483843352E382C33322C342C33302E322C342C3238 + 7A222F3E0D0A202020203C706174682066696C6C3D2223424244454642222064 + 3D224D33362C37483843372E342C372C372C372E342C372C3876323063302C30 + 2E362C302E342C312C312C3168323863302E362C302C312D302E342C312D3156 + 384333372C372E342C33362E362C372C33362C377A222F3E0D0A202020203C70 + 6174682066696C6C3D22233337343734462220643D224D33382C33334836632D + 322E322C302D342D312E382D342D34763068343076304334322C33312E322C34 + 302E322C33332C33382C33337A222F3E0D0A202020203C706174682066696C6C + 3D22234533383933392220643D224D32342C343056313663302D322E322C312E + 382D342C342D3468313263322E322C302C342C312E382C342C3476323463302C + 322E322D312E382C342D342C344832384332352E382C34342C32342C34322E32 + 2C32342C34307A222F3E0D0A202020203C706174682066696C6C3D2223464646 + 3345302220643D224D34302C3135483238632D302E362C302D312C302E342D31 + 2C3176323263302C302E362C302E342C312C312C3168313263302E362C302C31 + 2D302E342C312D315631364334312C31352E342C34302E362C31352C34302C31 + 357A222F3E0D0A202020203C636972636C652066696C6C3D2223413636343241 + 222063783D223334222063793D2234312E352220723D22312E35222F3E0D0A3C + 2F7376673E0D0A0F0000006D0075006C007400690070006C0065005F0069006E + 007000750074007300C00200003C7376672076657273696F6E3D22312220786D + 6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73766722 + 2076696577426F783D223020302034382034382220656E61626C652D6261636B + 67726F756E643D226E657720302030203438203438223E0D0A202020203C7061 + 74682066696C6C3D22233930413441452220643D224D34302C33357635483876 + 2D354834763563302C322E322C312E382C342C342C3468333263322E322C302C + 342D312E382C342D34762D354834307A222F3E0D0A202020203C672066696C6C + 3D2223313536354330223E0D0A20202020202020203C706F6C79676F6E20706F + 696E74733D2232342C32332E342031372C31352033312C3135222F3E0D0A2020 + 2020202020203C7265637420783D2232322220793D2234222077696474683D22 + 3422206865696768743D223134222F3E0D0A20202020202020203C7061746820 + 643D224D33312E352C32362E394C33302E382C32386C332E352C312E396C302E + 362D312E3263312E362D332C322E362D342E372C332E352D352E324333392E33 + 2C32332C34312C32332C34342C3233762D34204333362E332C31392C33352E36 + 2C31392E342C33312E352C32362E397A222F3E0D0A20202020202020203C706F + 6C79676F6E20706F696E74733D2233382E342C33312032392E342C3335203238 + 2C3235222F3E0D0A20202020202020203C7061746820643D224D31362E352C32 + 362E396C302E362C312E324C31332E362C33304C31332C32382E38632D312E36 + 2D332D322E362D342E372D332E352D352E3243382E372C32332C372C32332C34 + 2C3233762D34204331312E372C31392C31322E342C31392E342C31362E352C32 + 362E397A222F3E0D0A20202020202020203C706F6C79676F6E20706F696E7473 + 3D2232302C32352031382E362C333520392E362C3331222F3E0D0A202020203C + 2F673E0D0A3C2F7376673E0D0A140000006D0075006C007400690070006C0065 + 005F0073006D00610072007400700068006F006E0065007300EE0300003C7376 + 672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E + 77332E6F72672F323030302F737667222076696577426F783D22302030203438 + 2034382220656E61626C652D6261636B67726F756E643D226E65772030203020 + 3438203438223E0D0A202020203C706174682066696C6C3D2223343535413634 + 2220643D224D342C3331563863302D322E322C312E382D342C342D3468313263 + 322E322C302C342C312E382C342C3476323363302C322E322D312E382C342D34 + 2C34483843352E382C33352C342C33332E322C342C33317A222F3E0D0A202020 + 203C706174682066696C6C3D22234242444546422220643D224D32302C374838 + 43372E342C372C372C372E342C372C3876323163302C302E362C302E342C312C + 312C3168313263302E362C302C312D302E342C312D3156384332312C372E342C + 32302E362C372C32302C377A222F3E0D0A202020203C636972636C652066696C + 6C3D2223333734373446222063783D223134222063793D2233322E352220723D + 22312E35222F3E0D0A202020203C706174682066696C6C3D2223353436453741 + 2220643D224D31342C333656313363302D322E322C312E382D342C342D346831 + 3263322E322C302C342C312E382C342C3476323363302C322E322D312E382C34 + 2D342C344831384331352E382C34302C31342C33382E322C31342C33367A222F + 3E0D0A202020203C706174682066696C6C3D22234242444546422220643D224D + 33302C3132483138632D302E362C302D312C302E342D312C3176323163302C30 + 2E362C302E342C312C312C3168313263302E362C302C312D302E342C312D3156 + 31334333312C31322E342C33302E362C31322C33302C31327A222F3E0D0A2020 + 20203C636972636C652066696C6C3D2223333734373446222063783D22323422 + 2063793D2233372E352220723D22312E35222F3E0D0A202020203C7061746820 + 66696C6C3D22234533383933392220643D224D32342C343056313863302D322E + 322C312E382D342C342D3468313263322E322C302C342C312E382C342C347632 + 3263302C322E322D312E382C342D342C344832384332352E382C34342C32342C + 34322E322C32342C34307A222F3E0D0A202020203C706174682066696C6C3D22 + 234646463345302220643D224D34302C3137483238632D302E362C302D312C30 + 2E342D312C3176323063302C302E362C302E342C312C312C3168313263302E36 + 2C302C312D302E342C312D315631384334312C31372E342C34302E362C31372C + 34302C31377A222F3E0D0A202020203C636972636C652066696C6C3D22234136 + 36343241222063783D223334222063793D2234312E352220723D22312E35222F + 3E0D0A3C2F7376673E0D0A050000006D007500730069006300FF0000003C7376 + 672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E + 77332E6F72672F323030302F737667222076696577426F783D22302030203438 + 2034382220656E61626C652D6261636B67726F756E643D226E65772030203020 + 3438203438223E0D0A202020203C672066696C6C3D2223453931453633223E0D + 0A20202020202020203C636972636C652063783D223139222063793D22333322 + 20723D2239222F3E0D0A20202020202020203C706F6C79676F6E20706F696E74 + 733D2232342C362032342C33332032382C33332032382C31342033392C313720 + 33392C3130222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A10000000 + 6E00650075007400720061006C005F006400650063006900730069006F006E00 + 8A0200003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 + 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D + 223020302034382034382220656E61626C652D6261636B67726F756E643D226E + 657720302030203438203438223E0D0A202020203C672066696C6C3D22234646 + 43433830223E0D0A20202020202020203C636972636C652063783D2233382220 + 63793D2232362220723D2234222F3E0D0A20202020202020203C636972636C65 + 2063783D223130222063793D2232362220723D2234222F3E0D0A202020202020 + 20203C7061746820643D224D33392C313963302D31322E372D33302D382E332D + 33302C3063302C312E382C302C382E322C302C313063302C382E332C362E372C + 31352C31352C31357331352D362E372C31352D31354333392C32372E322C3339 + 2C32302E382C33392C31397A222F3E0D0A20202020202020203C706174682064 + 3D224D32342C344331352E322C342C382C31312E322C382C323063302C312E32 + 2C302C332E352C302C332E356C322E312C302E365631396C31392E352D362E33 + 6C382E322C362E3376352E316C322E312D302E3663302C302C302D322E332C30 + 2D332E35204334302C31322E352C33342E362C342C32342C347A222F3E0D0A20 + 2020203C2F673E0D0A202020203C672066696C6C3D2223333734373446223E0D + 0A20202020202020203C636972636C652063783D223234222063793D22323522 + 20723D2232222F3E0D0A20202020202020203C636972636C652063783D223332 + 222063793D2232352220723D2232222F3E0D0A20202020202020203C63697263 + 6C652063783D223136222063793D2232352220723D2232222F3E0D0A20202020 + 3C2F673E0D0A3C2F7376673E0D0A0F0000006E00650075007400720061006C00 + 5F00740072006100640069006E0067008E0200003C7376672076657273696F6E + 3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F3230 + 30302F737667222076696577426F783D223020302034382034382220656E6162 + 6C652D6261636B67726F756E643D226E657720302030203438203438223E0D0A + 202020203C672066696C6C3D2223313536354330223E0D0A2020202020202020 + 3C706F6C79676F6E20706F696E74733D2234332E342C31332033352C32302033 + 352C36222F3E0D0A20202020202020203C7265637420783D22342220793D2231 + 31222077696474683D22333422206865696768743D2234222F3E0D0A20202020 + 3C2F673E0D0A202020203C672066696C6C3D2223323139364633223E0D0A2020 + 2020202020203C7265637420783D2234302220793D223233222077696474683D + 223422206865696768743D223139222F3E0D0A20202020202020203C72656374 + 20783D2233342220793D223233222077696474683D223422206865696768743D + 223139222F3E0D0A20202020202020203C7265637420783D2232382220793D22 + 3233222077696474683D223422206865696768743D223139222F3E0D0A202020 + 20202020203C7265637420783D2232322220793D223233222077696474683D22 + 3422206865696768743D223139222F3E0D0A20202020202020203C7265637420 + 783D2231362220793D223233222077696474683D223422206865696768743D22 + 3139222F3E0D0A20202020202020203C7265637420783D2231302220793D2232 + 33222077696474683D223422206865696768743D223139222F3E0D0A20202020 + 202020203C7265637420783D22342220793D223233222077696474683D223422 + 206865696768743D223139222F3E0D0A202020203C2F673E0D0A3C2F7376673E + 0D0A040000006E00650077007300D20300003C7376672076657273696F6E3D22 + 312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32303030 + 2F737667222076696577426F783D223020302034382034382220656E61626C65 + 2D6261636B67726F756E643D226E657720302030203438203438223E0D0A2020 + 20203C706174682066696C6C3D22234646353732322220643D224D33322C3135 + 763238483130632D322E322C302D342D312E382D342D345631354833327A222F + 3E0D0A202020203C706174682066696C6C3D22234646434342432220643D224D + 31342C3576333463302C322E322D312E382C342D342C3468323963322E322C30 + 2C342D312E382C342D3456354831347A222F3E0D0A202020203C672066696C6C + 3D2223464635373232223E0D0A20202020202020203C7265637420783D223230 + 2220793D223130222077696474683D22313822206865696768743D2234222F3E + 0D0A20202020202020203C7265637420783D2232302220793D22313722207769 + 6474683D223822206865696768743D2232222F3E0D0A20202020202020203C72 + 65637420783D2233302220793D223137222077696474683D2238222068656967 + 68743D2232222F3E0D0A20202020202020203C7265637420783D223230222079 + 3D223231222077696474683D223822206865696768743D2232222F3E0D0A2020 + 2020202020203C7265637420783D2233302220793D223231222077696474683D + 223822206865696768743D2232222F3E0D0A20202020202020203C7265637420 + 783D2232302220793D223235222077696474683D223822206865696768743D22 + 32222F3E0D0A20202020202020203C7265637420783D2233302220793D223235 + 222077696474683D223822206865696768743D2232222F3E0D0A202020202020 + 20203C7265637420783D2232302220793D223239222077696474683D22382220 + 6865696768743D2232222F3E0D0A20202020202020203C7265637420783D2233 + 302220793D223239222077696474683D223822206865696768743D2232222F3E + 0D0A20202020202020203C7265637420783D2232302220793D22333322207769 + 6474683D223822206865696768743D2232222F3E0D0A20202020202020203C72 + 65637420783D2233302220793D223333222077696474683D2238222068656967 + 68743D2232222F3E0D0A20202020202020203C7265637420783D223230222079 + 3D223337222077696474683D223822206865696768743D2232222F3E0D0A2020 + 2020202020203C7265637420783D2233302220793D223337222077696474683D + 223822206865696768743D2232222F3E0D0A202020203C2F673E0D0A3C2F7376 + 673E0D0A040000006E00650078007400C80000003C7376672076657273696F6E + 3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F3230 + 30302F737667222076696577426F783D223020302034382034382220656E6162 + 6C652D6261636B67726F756E643D226E657720302030203438203438223E0D0A + 202020203C706F6C79676F6E2066696C6C3D22233231393646332220706F696E + 74733D2231372E312C352031342C382E312032392E392C32342031342C33392E + 392031372E312C34332033362C3234222F3E0D0A3C2F7376673E0D0A08000000 + 6E00660063005F007300690067006E00B10400003C3F786D6C2076657273696F + 6E3D22312E302220656E636F64696E673D227574662D38223F3E0D0A3C212D2D + 2047656E657261746F723A2041646F626520496C6C7573747261746F72203139 + 2E312E312C20535647204578706F727420506C75672D496E202E205356472056 + 657273696F6E3A20362E3030204275696C6420302920202D2D3E0D0A3C737667 + 2076657273696F6E3D22312E31222020786D6C6E733D22687474703A2F2F7777 + 772E77332E6F72672F323030302F7376672220786D6C6E733A786C696E6B3D22 + 687474703A2F2F7777772E77332E6F72672F313939392F786C696E6B2220783D + 223070782220793D22307078220D0A092076696577426F783D22302030203438 + 2034382220656E61626C652D6261636B67726F756E643D226E65772030203020 + 34382034382220786D6C3A73706163653D227072657365727665223E0D0A3C70 + 6174682066696C6C3D22233231393646332220643D224D33372C3432632D302E + 332C302D302E372D302E312D312D302E33632D312D302E352D312E332D312E38 + 2D302E382D322E3763302D302E312C332E372D362E382C332E372D3135533335 + 2E332C392C33352E332C390D0A09632D302E352D312D302E322D322E322C302E + 382D322E3763312D302E352C322E322D302E322C322E372C302E3863302E322C + 302E332C342E332C372E362C342E332C3137732D342E312C31362E372D342E33 + 2C31374333382E342C34312E362C33372E372C34322C33372C34327A204D3332 + 2E382C33352E380D0A0963302E312D302E322C322E322D352C322E322D31312E + 3863302D362E382D322E312D31312E362D322E322D31312E38632D302E342D31 + 2D312E362D312E352D322E362D31632D312C302E342D312E352C312E362D312C + 322E3663302C302C312E382C342E332C312E382C31302E320D0A0963302C352E + 392D312E382C31302E322D312E382C31302E32632D302E342C312C302C322E32 + 2C312C322E3663302E332C302E312C302E352C302E322C302E382C302E324333 + 312E382C33372C33322E352C33362E362C33322E382C33352E387A204D32332E + 332C333363302E362D302E312C312E312D302E352C312E342D310D0A0963302E + 312D302E322C322E332D332E392C322E332D3863302D342E312D322E322D372E + 392D322E332D38632D302E362D312D312E382D312E332D322E372D302E37632D + 312C302E362D312E332C312E382D302E372C322E3763302C302C312E372C332C + 312E372C3663302C312E332D302E332C322E372D302E372C332E370D0A096C2D + 31332D31312E32632D302E352D302E342D312E322D302E362D312E382D302E34 + 632D302E362C302E322D312E322C302E362D312E342C312E3343362E312C3137 + 2E352C352C32302E352C352C323463302C332E352C312E312C362E352C312E31 + 2C362E3763302E342C312C312E352C312E362C322E362C312E320D0A0963312D + 302E342C312E362D312E352C312E322D322E3663302C302D302E392D322E362D + 302E392D352E3363302D302E382C302E312D312E362C302E322D322E336C3132 + 2E352C31302E3863302E342C302E332C302E382C302E352C312E332C302E3543 + 32332E312C33332C32332E322C33332C32332E332C33337A222F3E0D0A3C2F73 + 76673E0D0A0F0000006E0069006700680074005F006C0061006E006400730063 + 00610070006500950100003C7376672076657273696F6E3D22312220786D6C6E + 733D22687474703A2F2F7777772E77332E6F72672F323030302F737667222076 + 696577426F783D223020302034382034382220656E61626C652D6261636B6772 + 6F756E643D226E657720302030203438203438223E0D0A202020203C706F6C79 + 676F6E2066696C6C3D22233637334142372220706F696E74733D2231362E352C + 313820302C34322033332C3432222F3E0D0A202020203C706F6C79676F6E2066 + 696C6C3D22233935373543442220706F696E74733D2233332E362C3234203139 + 2E322C34322034382C3432222F3E0D0A202020203C706174682066696C6C3D22 + 233430433446462220643D224D34322E392C362E334334332E362C372E342C34 + 342C382E362C34342C313063302C332E392D332E312C372D372C37632D302E37 + 2C302D312E332D302E312D312E392D302E3363312E322C322C332E342C332E33 + 2C352E392C332E332063332E392C302C372D332E312C372D374334382C392E38 + 2C34352E392C372E312C34322E392C362E337A222F3E0D0A3C2F7376673E0D0A + 0E0000006E0069006700680074005F0070006F00720074007200610069007400 + 890300003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 + 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D + 223020302034382034382220656E61626C652D6261636B67726F756E643D226E + 657720302030203438203438223E0D0A202020203C706174682066696C6C3D22 + 233430433446462220643D224D34322E392C362E334334332E362C372E342C34 + 342C382E362C34342C313063302C332E392D332E312C372D372C37632D302E37 + 2C302D312E332D302E312D312E392D302E3363312E322C322C332E342C332E33 + 2C352E392C332E332063332E392C302C372D332E312C372D374334382C392E38 + 2C34352E392C372E312C34322E392C362E337A222F3E0D0A202020203C672066 + 696C6C3D2223423339444442223E0D0A20202020202020203C636972636C6520 + 63783D223331222063793D2231392220723D2232222F3E0D0A20202020202020 + 203C636972636C652063783D223133222063793D2231392220723D2232222F3E + 0D0A20202020202020203C706F6C79676F6E20706F696E74733D2232322C3337 + 2031372C33312031372C32352032372C32352032372C3331222F3E0D0A202020 + 203C2F673E0D0A202020203C706174682066696C6C3D22234431433445392220 + 643D224D33312C313363302D372E362D31382D352D31382C3063302C312E312C + 302C352E392C302C3763302C352C342C392C392C3973392D342C392D39433331 + 2C31382E392C33312C31342E312C33312C31337A222F3E0D0A202020203C6720 + 66696C6C3D2223363733414237223E0D0A20202020202020203C636972636C65 + 2063783D223236222063793D2231392220723D2231222F3E0D0A202020202020 + 20203C636972636C652063783D223138222063793D2231392220723D2231222F + 3E0D0A20202020202020203C7061746820643D224D32322C34632D362E312C30 + 2D31302C342E392D31302C313163302C302E382C302C322E332C302C322E336C + 322C312E37762D356C31322D346C342C3476356C322D312E3763302C302C302D + 312E352C302D322E3363302D342D312D382D362D396C2D312D32204832327A22 + 2F3E0D0A20202020202020203C7061746820643D224D32372C33314C32372C33 + 3163302C302D322C312D352C31732D352D312D352D3153362C33332C362C3434 + 6833324333382C33332C32372C33312C32372C33317A222F3E0D0A202020203C + 2F673E0D0A3C2F7376673E0D0A070000006E006F005F00690064006500610058 + 0400003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A + 2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D22 + 3020302034382034382220656E61626C652D6261636B67726F756E643D226E65 + 7720302030203438203438223E0D0A202020203C706174682066696C6C3D2223 + 4642433032442220643D224D33372C323263302D372E372D362E362D31332E38 + 2D31342E352D31322E39632D362C302E372D31302E382C352E352D31312E342C + 31312E35632D302E352C342E362C312E342C382E372C342E362C31312E332063 + 312E342C312E322C322E332C322E392C322E332C342E38563337683132762D30 + 2E3163302D312E382C302E382D332E362C322E322D342E384333352E312C3239 + 2E372C33372C32362E312C33372C32327A222F3E0D0A202020203C7061746820 + 66696C6C3D22234646463539442220643D224D33302E362C32302E326C2D332D + 32632D302E332D302E322D302E382D302E322D312E312C304C32342C31392E38 + 6C2D322E342D312E36632D302E332D302E322D302E382D302E322D312E312C30 + 6C2D332C3220632D302E322C302E322D302E342C302E342D302E342C302E3773 + 302C302E362C302E322C302E386C332E382C342E37563337683256323663302D + 302E322D302E312D302E342D302E322D302E366C2D332E332D342E316C312E35 + 2D316C322E342C312E3663302E332C302E322C302E382C302E322C312E312C30 + 206C322E342D312E366C312E352C316C2D332E332C342E314332352E312C3235 + 2E362C32352C32352E382C32352C323676313168325632362E346C332E382D34 + 2E3763302E322D302E322C302E332D302E352C302E322D302E385333302E382C + 32302E332C33302E362C32302E327A222F3E0D0A202020203C636972636C6520 + 66696C6C3D2223354336424330222063783D223234222063793D223434222072 + 3D2233222F3E0D0A202020203C706174682066696C6C3D222339464138444122 + 20643D224D32362C3435682D34632D322E322C302D342D312E382D342D34762D + 3568313276354333302C34332E322C32382E322C34352C32362C34357A222F3E + 0D0A202020203C672066696C6C3D2223354336424330223E0D0A202020202020 + 20203C7061746820643D224D33302C34316C2D31312E362C312E3663302E332C + 302E372C302E392C312E342C312E362C312E386C392E342D312E334332392E38 + 2C34322E352C33302C34312E382C33302C34317A222F3E0D0A20202020202020 + 203C706F6C79676F6E20706F696E74733D2231382C33382E372031382C34302E + 372033302C33392033302C3337222F3E0D0A202020203C2F673E0D0A20202020 + 3C7265637420783D2232322220793D222D322E3922207472616E73666F726D3D + 226D6174726978282E373037202D2E373037202E373037202E373037202D392E + 39343120323429222066696C6C3D2223333734373446222077696474683D2234 + 22206865696768743D2235332E37222F3E0D0A3C2F7376673E0D0A080000006E + 006F005F0076006900640065006F00B20100003C7376672076657273696F6E3D + 22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030 + 302F737667222076696577426F783D223020302034382034382220656E61626C + 652D6261636B67726F756E643D226E657720302030203438203438223E0D0A20 + 2020203C706174682066696C6C3D22233443414635302220643D224D382C3132 + 68323263322E322C302C342C312E382C342C3476313663302C322E322D312E38 + 2C342D342C344838632D322E322C302D342D312E382D342D3456313643342C31 + 332E382C352E382C31322C382C31327A222F3E0D0A202020203C706F6C79676F + 6E2066696C6C3D22233338384533432220706F696E74733D2234342C33352033 + 342C32392033342C31392034342C3133222F3E0D0A202020203C6C696E652066 + 696C6C3D226E6F6E6522207374726F6B653D222332313231323122207374726F + 6B652D77696474683D223422207374726F6B652D6C696E656A6F696E3D22726F + 756E6422207374726F6B652D6D697465726C696D69743D223130222078313D22 + 35222079313D2235222078323D223433222079323D223433222F3E0D0A3C2F73 + 76673E0D0A040000006E006F006F006B000C0300003C7376672076657273696F + 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 + 3030302F737667222076696577426F783D223020302034382034382220656E61 + 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D + 0A202020203C706174682066696C6C3D22233930413441452220643D224D382C + 3339563963302D332E332C322E372D362C362D3668323063332E332C302C362C + 322E372C362C3676333063302C332E332D322E372C362D362C36483134433130 + 2E372C34352C382C34322E332C382C33397A222F3E0D0A202020203C70617468 + 2066696C6C3D22234543454646312220643D224D33342C37483134632D312E31 + 2C302D322C302E392D322C3276323663302C312E312C302E392C322C322C3268 + 323063312E312C302C322D302E392C322D3256394333362C372E392C33352E31 + 2C372C33342C377A222F3E0D0A202020203C672066696C6C3D22234230424543 + 35223E0D0A20202020202020203C7265637420783D2231362220793D22313222 + 2077696474683D22313622206865696768743D2233222F3E0D0A202020202020 + 20203C7265637420783D2231362220793D223139222077696474683D22313622 + 206865696768743D2232222F3E0D0A20202020202020203C7265637420783D22 + 31362220793D223233222077696474683D22313222206865696768743D223222 + 2F3E0D0A20202020202020203C7265637420783D2231362220793D2232372220 + 77696474683D22313622206865696768743D2232222F3E0D0A20202020202020 + 203C7265637420783D2231362220793D223331222077696474683D2231322220 + 6865696768743D2232222F3E0D0A202020203C2F673E0D0A202020203C706174 + 682066696C6C3D226E6F6E6522207374726F6B653D222365656522207374726F + 6B652D77696474683D223222207374726F6B652D6D697465726C696D69743D22 + 31302220643D224D32322C3433762D3163302D312E312C302E392D322C322D32 + 683063312E312C302C322C302E392C322C327631222F3E0D0A3C2F7376673E0D + 0A140000006E0075006D00650072006900630061006C005F0073006F00720074 + 0069006E0067005F0031003200430300003C7376672076657273696F6E3D2231 + 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F + 737667222076696577426F783D223020302034382034382220656E61626C652D + 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 + 203C706F6C79676F6E2066696C6C3D22233534364537412220706F696E74733D + 2233382C33332033382C352033342C352033342C33332032382C33332033362C + 34332034342C3333222F3E0D0A202020203C672066696C6C3D22233231393646 + 33223E0D0A20202020202020203C7061746820643D224D31362E342C3230682D + 3356382E364C392E392C392E3756372E334C31362C352E3168302E335632307A + 222F3E0D0A20202020202020203C7061746820643D224D31392E342C34334839 + 2E32762D326C342E382D352E3163302E342D302E342C302E372D302E382C302E + 392D312E3163302E322D302E332C302E352D302E362C302E362D302E3963302E + 322D302E332C302E332D302E352C302E332D302E382063302E312D302E322C30 + 2E312D302E352C302E312D302E3763302D302E372D302E322D312E322D302E35 + 2D312E36632D302E332D302E342D302E382D302E362D312E342D302E36632D30 + 2E332C302D302E372C302E312D302E392C302E32632D302E332C302E312D302E + 352C302E332D302E372C302E3520632D302E322C302E322D302E332C302E352D + 302E342C302E38732D302E312C302E362D302E312C31682D3363302D302E372C + 302E312D312E332C302E342D312E3963302E322D302E362C302E362D312E312C + 312D312E3663302E352D302E342C312D302E382C312E362D312E312063302E36 + 2D302E332C312E342D302E342C322E322D302E3463302E382C302C312E352C30 + 2E312C322E312C302E3363302E362C302E322C312E312C302E352C312E352C30 + 2E3873302E372C302E382C302E392C312E3373302E332C312E312C302E332C31 + 2E3863302C302E352D302E312C312D302E322C312E34205331382E332C33342E + 352C31382C3335732D302E362C302E392D312C312E34632D302E342C302E352D + 302E392C312D312E342C312E354C31332C34302E3668362E345634337A222F3E + 0D0A202020203C2F673E0D0A3C2F7376673E0D0A140000006E0075006D006500 + 72006900630061006C005F0073006F007200740069006E0067005F0032003100 + 4F0300003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 + 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D + 223020302034382034382220656E61626C652D6261636B67726F756E643D226E + 657720302030203438203438223E0D0A202020203C706F6C79676F6E2066696C + 6C3D22233534364537412220706F696E74733D2233382C33332033382C352033 + 342C352033342C33332032382C33332033362C34332034342C3333222F3E0D0A + 202020203C672066696C6C3D2223323139364633223E0D0A2020202020202020 + 3C7061746820643D224D31392E322C32304839762D326C342E382D352E316330 + 2E342D302E342C302E372D302E382C302E392D312E3163302E322D302E332C30 + 2E352D302E362C302E362D302E3963302E322D302E332C302E332D302E352C30 + 2E332D302E382063302E312D302E322C302E312D302E352C302E312D302E3763 + 302D302E372D302E322D312E322D302E352D312E36632D302E332D302E342D30 + 2E382D302E362D312E342D302E36632D302E332C302D302E372C302E312D302E + 392C302E32632D302E332C302E312D302E352C302E332D302E372C302E352063 + 2D302E322C302E322D302E332C302E352D302E342C302E38732D302E312C302E + 362D302E312C31682D3363302D302E372C302E312D312E332C302E342D312E39 + 63302E322D302E362C302E362D312E312C312D312E3663302E352D302E342C31 + 2D302E382C312E362D312E312063302E362D302E332C312E342D302E342C322E + 322D302E3463302E382C302C312E352C302E312C322E312C302E3363302E362C + 302E322C312E312C302E352C312E352C302E3873302E372C302E382C302E392C + 312E3363302E322C302E352C302E332C312E312C302E332C312E382063302C30 + 2E352D302E312C312D302E322C312E34732D302E342C302E392D302E372C312E + 34732D302E362C302E392D312C312E34632D302E342C302E352D302E392C312D + 312E342C312E356C2D322E362C322E3868362E345632307A222F3E0D0A202020 + 20202020203C7061746820643D224D31362E322C3433682D335633312E366C2D + 332E352C312E31762D322E346C362E322D322E3268302E335634337A222F3E0D + 0A202020203C2F673E0D0A3C2F7376673E0D0A020000006F006B00090100003C + 7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777 + 772E77332E6F72672F323030302F737667222076696577426F783D2230203020 + 34382034382220656E61626C652D6261636B67726F756E643D226E6577203020 + 30203438203438223E0D0A202020203C636972636C652066696C6C3D22233443 + 41463530222063783D223234222063793D2232342220723D223231222F3E0D0A + 202020203C706F6C79676F6E2066696C6C3D22234343464639302220706F696E + 74733D2233342E362C31342E362032312C32382E322031352E342C32322E3620 + 31322E362C32352E342032312C33332E382033372E342C31372E34222F3E0D0A + 3C2F7376673E0D0A0F0000006F006C0064005F00740069006D0065005F006300 + 61006D006500720061001B0400003C7376672076657273696F6E3D2231222078 + 6D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F737667 + 222076696577426F783D223020302034382034382220656E61626C652D626163 + 6B67726F756E643D226E657720302030203438203438223E0D0A202020203C70 + 6174682066696C6C3D22233534364537412220643D224D31342C31334838762D + 312E3843382C31302E352C382E352C31302C392E322C313068332E3663302E37 + 2C302C312E322C302E352C312E322C312E325631337A222F3E0D0A202020203C + 706174682066696C6C3D22233545333542312220643D224D34302C3430483863 + 2D322E322C302D342D312E382D342D345632326834307631344334342C33382E + 322C34322E322C34302C34302C34307A222F3E0D0A202020203C706174682066 + 696C6C3D22233432323537412220643D224D31322E372C3232632D302E342C31 + 2E332D302E372C322E362D302E372C3463302C362E362C352E342C31322C3132 + 2C31327331322D352E342C31322D313263302D312E342D302E332D322E372D30 + 2E372D344831322E377A222F3E0D0A202020203C706174682066696C6C3D2223 + 3738393039432220643D224D382C313268333263322E322C302C342C312E382C + 342C3476364834762D3643342C31332E382C352E382C31322C382C31327A222F + 3E0D0A202020203C706174682066696C6C3D22233738393039432220643D224D + 33332E392C31332E314831342E324C31372E362C3863302E342D302E362C312D + 302E392C312E372D302E3968392E3663302E372C302C312E332C302E332C312E + 372C302E394C33332E392C31332E317A222F3E0D0A202020203C706174682066 + 696C6C3D22233435354136342220643D224D33352E332C3232632D312E362D34 + 2E372D362E312D382D31312E332D38732D392E372C332E332D31312E332C3848 + 33352E337A222F3E0D0A202020203C636972636C652066696C6C3D2223423338 + 384646222063783D223234222063793D2232362220723D2239222F3E0D0A2020 + 20203C706174682066696C6C3D22234337413746462220643D224D32392C3233 + 632D312E322D312E342D332D322E322D342E382D322E32632D312E382C302D33 + 2E362C302E382D342E382C322E32632D302E352C302E352D302E342C312E332C + 302E312C312E3863302E352C302E352C312E332C302E342C312E382D302E3120 + 63312E352D312E372C342E332D312E372C352E382C3063302E332C302E332C30 + 2E362C302E342C312C302E3463302E332C302C302E362D302E312C302E392D30 + 2E334332392E342C32342E342C32392E352C32332E352C32392C32337A222F3E + 0D0A202020203C7265637420783D2233362220793D223135222066696C6C3D22 + 23444245324535222077696474683D223522206865696768743D2234222F3E0D + 0A3C2F7376673E0D0A0E0000006F006E006C0069006E0065005F007300750070 + 0070006F00720074004C0400003C7376672076657273696F6E3D22312220786D + 6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73766722 + 2076696577426F783D223020302034382034382220656E61626C652D6261636B + 67726F756E643D226E657720302030203438203438223E0D0A202020203C7265 + 637420783D2231332220793D223330222066696C6C3D22234246333630432220 + 77696474683D22323222206865696768743D223132222F3E0D0A202020203C67 + 2066696C6C3D2223464641373236223E0D0A20202020202020203C636972636C + 652063783D223130222063793D2232362220723D2234222F3E0D0A2020202020 + 2020203C636972636C652063783D223338222063793D2232362220723D223422 + 2F3E0D0A202020203C2F673E0D0A202020203C706174682066696C6C3D222346 + 46423734442220643D224D33392C313963302D31322E372D33302D382E332D33 + 302C3063302C312E382C302C382E322C302C313063302C382E332C362E372C31 + 352C31352C31357331352D362E372C31352D31354333392C32372E322C33392C + 32302E382C33392C31397A222F3E0D0A202020203C672066696C6C3D22233738 + 34373139223E0D0A20202020202020203C636972636C652063783D2233302220 + 63793D2232362220723D2232222F3E0D0A20202020202020203C636972636C65 + 2063783D223138222063793D2232362220723D2232222F3E0D0A202020203C2F + 673E0D0A202020203C706174682066696C6C3D22234646353732322220643D22 + 4D32342C324331352E352C322C332C372E382C332C33352E364C31332C343256 + 32346C31362E382D392E384C33352C32317632316C31302D382E3263302D352E + 362D302E392D32392D31352E342D32394C32382E322C324832347A222F3E0D0A + 202020203C706174682066696C6C3D22233735373537352220643D224D34352C + 3234632D302E362C302D312C302E342D312C31762D3763302D382E382D372E32 + 2D31362D31362D3136682D39632D302E362C302D312C302E342D312C3173302E + 342C312C312C31683963372E372C302C31342C362E332C31342C313476313020 + 63302C302E362C302E342C312C312C3173312D302E342C312D31763263302C33 + 2E392D332E312C372D372C37483234632D302E362C302D312C302E342D312C31 + 73302E342C312C312C3168313363352C302C392D342C392D39762D354334362C + 32342E342C34352E362C32342C34352C32347A222F3E0D0A202020203C672066 + 696C6C3D2223333734373446223E0D0A20202020202020203C7061746820643D + 224D34352C3232682D31632D312E312C302D322C302E392D322C32763463302C + 312E312C302E392C322C322C32683163312E312C302C322D302E392C322D3276 + 2D344334372C32322E392C34362E312C32322C34352C32327A222F3E0D0A2020 + 2020202020203C636972636C652063783D223234222063793D2233382220723D + 2232222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0D0000006F0070 + 0065006E00650064005F0066006F006C006400650072007D0100003C73766720 + 76657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E7733 + 2E6F72672F323030302F737667222076696577426F783D223020302034382034 + 382220656E61626C652D6261636B67726F756E643D226E657720302030203438 + 203438223E0D0A202020203C706174682066696C6C3D22234646413030302220 + 643D224D33382C31324832326C2D342D344838632D322E322C302D342C312E38 + 2D342C3476323463302C322E322C312E382C342C342C3468333163312E372C30 + 2C332D312E332C332D335631364334322C31332E382C34302E322C31322C3338 + 2C31327A222F3E0D0A202020203C706174682066696C6C3D2223464643413238 + 2220643D224D34322E322C31384831352E33632D312E392C302D332E362C312E + 342D332E392C332E334C382C34306833312E3763312E392C302C332E362D312E + 342C332E392D332E336C322E352D31344334362E362C32302E332C34342E372C + 31382C34322E322C31387A222F3E0D0A3C2F7376673E0D0A080000006F007200 + 67005F0075006E0069007400BD0100003C7376672076657273696F6E3D223122 + 20786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73 + 7667222076696577426F783D223020302034382034382220656E61626C652D62 + 61636B67726F756E643D226E657720302030203438203438223E0D0A20202020 + 3C706174682066696C6C3D22233930434146392220643D224D31302C31307632 + 386832385631304831307A204D33342C33344831345631346832305633347A22 + 2F3E0D0A202020203C7265637420783D22362220793D2236222066696C6C3D22 + 23443831423630222077696474683D22313222206865696768743D223132222F + 3E0D0A202020203C672066696C6C3D2223323139364633223E0D0A2020202020 + 2020203C7265637420783D2233302220793D2236222077696474683D22313222 + 206865696768743D223132222F3E0D0A20202020202020203C7265637420783D + 22362220793D223330222077696474683D22313222206865696768743D223132 + 222F3E0D0A20202020202020203C7265637420783D2233302220793D22333022 + 2077696474683D22313222206865696768743D223132222F3E0D0A202020203C + 2F673E0D0A3C2F7376673E0D0A0C0000006F007200670061006E0069007A0061 + 00740069006F006E00980300003C7376672076657273696F6E3D22312220786D + 6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73766722 + 2076696577426F783D223020302034382034382220656E61626C652D6261636B + 67726F756E643D226E657720302030203438203438223E0D0A202020203C7061 + 74682066696C6C3D22233930434146392220643D224D34322C34324836563130 + 63302D322E322C312E382D342C342D3468323863322E322C302C342C312E382C + 342C345634327A222F3E0D0A202020203C7265637420783D22362220793D2234 + 32222066696C6C3D2223363442354636222077696474683D2233362220686569 + 6768743D2232222F3E0D0A202020203C672066696C6C3D222331353635433022 + 3E0D0A20202020202020203C7265637420783D2233312220793D223237222077 + 696474683D223622206865696768743D2235222F3E0D0A20202020202020203C + 7265637420783D2232312220793D223237222077696474683D22362220686569 + 6768743D2235222F3E0D0A20202020202020203C7265637420783D2231312220 + 793D223237222077696474683D223622206865696768743D2235222F3E0D0A20 + 202020202020203C7265637420783D2233312220793D22333522207769647468 + 3D223622206865696768743D2235222F3E0D0A20202020202020203C72656374 + 20783D2231312220793D223335222077696474683D223622206865696768743D + 2235222F3E0D0A20202020202020203C7265637420783D2233312220793D2231 + 39222077696474683D223622206865696768743D2235222F3E0D0A2020202020 + 2020203C7265637420783D2232312220793D223139222077696474683D223622 + 206865696768743D2235222F3E0D0A20202020202020203C7265637420783D22 + 31312220793D223139222077696474683D223622206865696768743D2235222F + 3E0D0A20202020202020203C7265637420783D2233312220793D223131222077 + 696474683D223622206865696768743D2235222F3E0D0A20202020202020203C + 7265637420783D2232312220793D223131222077696474683D22362220686569 + 6768743D2235222F3E0D0A20202020202020203C7265637420783D2231312220 + 793D223131222077696474683D223622206865696768743D2235222F3E0D0A20 + 202020202020203C7265637420783D2232312220793D22333522207769647468 + 3D223622206865696768743D2239222F3E0D0A202020203C2F673E0D0A3C2F73 + 76673E0D0A070000007000610063006B00610067006500800100003C73766720 + 76657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E7733 + 2E6F72672F323030302F737667222076696577426F783D223020302034382034 + 382220656E61626C652D6261636B67726F756E643D226E657720302030203438 + 203438223E0D0A202020203C706174682066696C6C3D22234646393830302220 + 643D224D33382C3432483130632D322E322C302D342D312E382D342D34563130 + 63302D322E322C312E382D342C342D3468323863322E322C302C342C312E382C + 342C347632384334322C34302E322C34302E322C34322C33382C34327A222F3E + 0D0A202020203C706174682066696C6C3D22233841353130302220643D224D32 + 392E352C3136682D3131632D302E382C302D312E352D302E372D312E352D312E + 35763063302D302E382C302E372D312E352C312E352D312E3568313163302E38 + 2C302C312E352C302E372C312E352C312E357630204333312C31352E332C3330 + 2E332C31362C32392E352C31367A222F3E0D0A3C2F7376673E0D0A0400000070 + 00610069006400010300003C7376672076657273696F6E3D22312220786D6C6E + 733D22687474703A2F2F7777772E77332E6F72672F323030302F737667222076 + 696577426F783D223020302034382034382220656E61626C652D6261636B6772 + 6F756E643D226E657720302030203438203438223E0D0A202020203C70617468 + 2066696C6C3D22233245374433322220643D224D32352E342C352E36632D302E + 382D302E382D322D302E382D322E382C306C2D31322C3132632D302E382C302E + 382D302E382C322C302C322E384331312C32302E382C31312E352C32312C3132 + 2C323173312D302E322C312E342D302E366C31322D3132204332362E322C372E + 362C32362E322C362E342C32352E342C352E367A222F3E0D0A202020203C7061 + 74682066696C6C3D22233142354532302220643D224D33372E342C31372E366C + 2D31322D3132632D302E382D302E382D322D302E382D322E382C30632D302E38 + 2C302E382D302E382C322C302C322E386C31322C31324333352C32302E382C33 + 352E352C32312C33362C323173312D302E322C312E342D302E36204333382E32 + 2C31392E362C33382E322C31382E342C33372E342C31372E367A222F3E0D0A20 + 2020203C706174682066696C6C3D22233338384533432220643D224D33372E34 + 2C34314831302E36632D312C302D312E382D302E372D322D312E364C352C3231 + 6833386C2D332E372C31382E344333392E312C34302E332C33382E332C34312C + 33372E342C34317A222F3E0D0A202020203C706174682066696C6C3D22233443 + 414635302220643D224D34332C32334835632D312E312C302D322D302E392D32 + 2D32762D3263302D312E312C302E392D322C322D3268333863312E312C302C32 + 2C302E392C322C3276324334352C32322E312C34342E312C32332C34332C3233 + 7A222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223444345444338 + 2220706F696E74733D2233302E382C32342E382032322E392C33322E37203139 + 2E322C32382E392031372C33312E312032322E392C33372033332C32362E3922 + 2F3E0D0A3C2F7376673E0D0A08000000700061006E006F00720061006D006100 + 2C0200003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 + 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D + 223020302034382034382220656E61626C652D6261636B67726F756E643D226E + 657720302030203438203438223E0D0A202020203C706174682066696C6C3D22 + 234635374330302220643D224D342C3976333263302C302C382E342D332C3230 + 2D337332302C332C32302C33563963302C302D362E372C332D32302C3353342C + 392C342C397A222F3E0D0A202020203C706174682066696C6C3D222339343241 + 30392220643D224D32342C333463302E312C302C302E332C302C302E342C304C + 31352C31394C362E392C33362E324331302E332C33352E332C31362E352C3334 + 2C32342C33347A222F3E0D0A202020203C706174682066696C6C3D2223424633 + 3630432220643D224D32342C333463332E332C302C362E332C302E322C392C30 + 2E366C2D382D31312E386C2D372E382C31312E354331392E332C33342E312C32 + 312E362C33342C32342C33347A222F3E0D0A202020203C706174682066696C6C + 3D22234536353130302220643D224D34302E372C33364C33352C32362E356C2D + 352C372E384333342E352C33342E372C33382E322C33352E342C34302E372C33 + 367A222F3E0D0A202020203C656C6C697073652066696C6C3D22234646463943 + 34222063783D223336222063793D2231392E35222072783D2232222072793D22 + 322E35222F3E0D0A3C2F7376673E0D0A0E00000070006100720061006C006C00 + 65006C005F007400610073006B007300FC0100003C7376672076657273696F6E + 3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F3230 + 30302F737667222076696577426F783D223020302034382034382220656E6162 + 6C652D6261636B67726F756E643D226E657720302030203438203438223E0D0A + 202020203C706F6C79676F6E2066696C6C3D22233930434146392220706F696E + 74733D2233362C31332033362C392032322C392032322C32322031332C323220 + 31332C32362032322C32362032322C33392033362C33392033362C3335203236 + 2C33352032362C32362033362C32362033362C32322032362C32322032362C31 + 33222F3E0D0A202020203C7265637420783D22362220793D223137222066696C + 6C3D2223443831423630222077696474683D22313022206865696768743D2231 + 34222F3E0D0A202020203C7265637420783D2233322220793D2236222066696C + 6C3D2223323139364633222077696474683D22313022206865696768743D2231 + 30222F3E0D0A202020203C7265637420783D2233322220793D22333222206669 + 6C6C3D2223323139364633222077696474683D22313022206865696768743D22 + 3130222F3E0D0A202020203C7265637420783D2233322220793D223139222066 + 696C6C3D2223323139364633222077696474683D22313022206865696768743D + 223130222F3E0D0A3C2F7376673E0D0A05000000700068006F006E0065005D01 + 00003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F + 2F7777772E77332E6F72672F323030302F737667222076696577426F783D2230 + 20302034382034382220656E61626C652D6261636B67726F756E643D226E6577 + 20302030203438203438223E0D0A202020203C706174682066696C6C3D222330 + 30393638382220643D224D33392E312C376C2D332E372C304332322E322C372E + 322C372E312C32342E312C372C33352E346C302C332E3763302C312C302E382C + 312E392C312E392C312E396C372E352D302E3163312C302C312E392D302E392C + 312E392D312E396C302E322D382E32206C2D342E372D3463302D322E362C3130 + 2E352D31332E312C31332E322D31332E326C342E332C342E376C372E392D302E + 3263312C302C312E392D302E392C312E392D312E394C34312C382E394334312C + 372E382C34302E322C372C33392E312C377A222F3E0D0A3C2F7376673E0D0A0D + 000000700068006F006E0065005F0061006E00640072006F0069006400A20100 + 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F + 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 + 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 + 302030203438203438223E0D0A202020203C706174682066696C6C3D22233337 + 343734462220643D224D31322C3430563863302D322E322C312E382D342C342D + 3468313663322E322C302C342C312E382C342C3476333263302C322E322D312E + 382C342D342C344831364331332E382C34342C31322C34322E322C31322C3430 + 7A222F3E0D0A202020203C706174682066696C6C3D2223424244454642222064 + 3D224D33322C37483136632D302E362C302D312C302E342D312C317632396330 + 2C302E362C302E342C312C312C3168313663302E362C302C312D302E342C312D + 3156384333332C372E342C33322E362C372C33322C377A222F3E0D0A20202020 + 3C7265637420783D2232312220793D223430222066696C6C3D22233738393039 + 43222077696474683D223622206865696768743D2232222F3E0D0A3C2F737667 + 3E0D0A0A000000700068006F0074006F005F007200650065006C006D0200003C + 7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777 + 772E77332E6F72672F323030302F737667222076696577426F783D2230203020 + 34382034382220656E61626C652D6261636B67726F756E643D226E6577203020 + 30203438203438223E0D0A202020203C706174682066696C6C3D222336373341 + 42372220643D224D31302C39632D322E322C302D342C312E382D342C34763236 + 63302C322E322C312E382C342C342C3468313663322E322C302C342D312E382C + 342D3456313363302D322E322D312E382D342D342D34222F3E0D0A202020203C + 672066696C6C3D2223333131423932223E0D0A20202020202020203C72656374 + 20783D2231342220793D223133222077696474683D223222206865696768743D + 223236222F3E0D0A20202020202020203C7061746820643D224D32342C395637 + 63302D312E322D302E382D322D322D32682D38632D312E322C302D322C302E38 + 2D322C3276324832347A222F3E0D0A202020203C2F673E0D0A202020203C7061 + 74682066696C6C3D22234438343331352220643D224D33302C31334831367632 + 366831345631337A204D32312C3337682D33762D3468335633377A204D32312C + 3139682D33762D3468335631397A204D32372C3337682D33762D346833563337 + 7A204D32342C3139762D34683376344832347A222F3E0D0A202020203C706174 + 682066696C6C3D22234646353732322220643D224D33302C3133763268337634 + 682D3376313468337634682D3376326831325631334833307A204D33392C3337 + 682D33762D3468335633377A204D33392C3139682D33762D3468335631397A22 + 2F3E0D0A3C2F7376673E0D0A0700000070006900630074007500720065009501 + 00003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F + 2F7777772E77332E6F72672F323030302F737667222076696577426F783D2230 + 20302034382034382220656E61626C652D6261636B67726F756E643D226E6577 + 20302030203438203438223E0D0A202020203C706174682066696C6C3D222346 + 35374330302220643D224D34302C34314838632D322E322C302D342D312E382D + 342D3456313163302D322E322C312E382D342C342D3468333263322E322C302C + 342C312E382C342C347632364334342C33392E322C34322E322C34312C34302C + 34317A222F3E0D0A202020203C636972636C652066696C6C3D22234646463943 + 34222063783D223335222063793D2231362220723D2233222F3E0D0A20202020 + 3C706F6C79676F6E2066696C6C3D22233934324130392220706F696E74733D22 + 32302C313620392C33322033312C3332222F3E0D0A202020203C706F6C79676F + 6E2066696C6C3D22234246333630432220706F696E74733D2233312C32322032 + 332C33322033392C3332222F3E0D0A3C2F7376673E0D0A090000007000690065 + 005F0063006800610072007400670100003C7376672076657273696F6E3D2231 + 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F + 737667222076696577426F783D223020302034382034382220656E61626C652D + 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 + 203C706174682066696C6C3D22233030424344342220643D224D32342C364331 + 342E312C362C362C31342E312C362C323473382E312C31382C31382C31386335 + 2E322C302C392E392D322E322C31332E312D352E374C32342C323456367A222F + 3E0D0A202020203C706174682066696C6C3D22233434384146462220643D224D + 34322C323463302D392E392D382E312D31382D31382D31387631384834327A22 + 2F3E0D0A202020203C706174682066696C6C3D22233346353142352220643D22 + 4D32342C32346C31332E312C31322E3363332D332E322C342E392D372E352C34 + 2E392D31322E334832347A222F3E0D0A3C2F7376673E0D0A0700000070006C00 + 61006E006E0065007200D60300003C7376672076657273696F6E3D2231222078 + 6D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F737667 + 222076696577426F783D223020302034382034382220656E61626C652D626163 + 6B67726F756E643D226E657720302030203438203438223E0D0A202020203C70 + 6174682066696C6C3D22234346443844432220643D224D352C33385631346833 + 3876323463302C322E322D312E382C342D342C34483943362E382C34322C352C + 34302E322C352C33387A222F3E0D0A202020203C706174682066696C6C3D2223 + 4634343333362220643D224D34332C313076364835762D3663302D322E322C31 + 2E382D342C342D346833304334312E322C362C34332C372E382C34332C31307A + 222F3E0D0A202020203C672066696C6C3D2223423731433143223E0D0A202020 + 20202020203C636972636C652063783D223333222063793D2231302220723D22 + 33222F3E0D0A20202020202020203C636972636C652063783D22313522206379 + 3D2231302220723D2233222F3E0D0A202020203C2F673E0D0A202020203C6720 + 66696C6C3D2223423042454335223E0D0A20202020202020203C706174682064 + 3D224D33332C33632D312E312C302D322C302E392D322C32763563302C312E31 + 2C302E392C322C322C3273322D302E392C322D3256354333352C332E392C3334 + 2E312C332C33332C337A222F3E0D0A20202020202020203C7061746820643D22 + 4D31352C33632D312E312C302D322C302E392D322C32763563302C312E312C30 + 2E392C322C322C3273322D302E392C322D3256354331372C332E392C31362E31 + 2C332C31352C337A222F3E0D0A202020203C2F673E0D0A202020203C67206669 + 6C6C3D2223423042454335223E0D0A20202020202020203C7265637420783D22 + 31332220793D223231222077696474683D223622206865696768743D2236222F + 3E0D0A20202020202020203C7265637420783D2232312220793D223231222077 + 696474683D223622206865696768743D2236222F3E0D0A20202020202020203C + 7265637420783D2232392220793D223231222077696474683D22362220686569 + 6768743D2236222F3E0D0A20202020202020203C7265637420783D2231332220 + 793D223239222077696474683D223622206865696768743D2236222F3E0D0A20 + 202020202020203C7265637420783D2232312220793D22323922207769647468 + 3D223622206865696768743D2236222F3E0D0A202020203C2F673E0D0A202020 + 203C7265637420783D2232392220793D223239222066696C6C3D222346343433 + 3336222077696474683D223622206865696768743D2236222F3E0D0A3C2F7376 + 673E0D0A0400000070006C0075007300320100003C7376672076657273696F6E + 3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F3230 + 30302F737667222076696577426F783D223020302034382034382220656E6162 + 6C652D6261636B67726F756E643D226E657720302030203438203438223E0D0A + 202020203C636972636C652066696C6C3D2223344341463530222063783D2232 + 34222063793D2232342220723D223231222F3E0D0A202020203C672066696C6C + 3D2223666666223E0D0A20202020202020203C7265637420783D223231222079 + 3D223134222077696474683D223622206865696768743D223230222F3E0D0A20 + 202020202020203C7265637420783D2231342220793D22323122207769647468 + 3D22323022206865696768743D2236222F3E0D0A202020203C2F673E0D0A3C2F + 7376673E0D0A1400000070006F006400690075006D005F007700690074006800 + 5F00610075006400690065006E00630065000C0200003C737667207665727369 + 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F + 323030302F737667222076696577426F783D223020302034382034382220656E + 61626C652D6261636B67726F756E643D226E657720302030203438203438223E + 0D0A202020203C706F6C79676F6E2066696C6C3D22234230424543352220706F + 696E74733D2234312C313220372C313220362C31362031312C313920392C3136 + 2033392C31362033372C31392034322C3136222F3E0D0A202020203C706F6C79 + 676F6E2066696C6C3D22233738393039432220706F696E74733D22392C313620 + 33392C31362033352C32382031332C3238222F3E0D0A202020203C636972636C + 652066696C6C3D2223464642373444222063783D223234222063793D22323822 + 20723D2234222F3E0D0A202020203C636972636C652066696C6C3D2223464642 + 373444222063783D223336222063793D2232382220723D2234222F3E0D0A2020 + 20203C636972636C652066696C6C3D2223464642373444222063783D22313222 + 2063793D2232382220723D2234222F3E0D0A202020203C636972636C65206669 + 6C6C3D2223464642373444222063783D223138222063793D2233372220723D22 + 35222F3E0D0A202020203C636972636C652066696C6C3D222346464237344422 + 2063783D223330222063793D2233372220723D2235222F3E0D0A3C2F7376673E + 0D0A1300000070006F006400690075006D005F0077006900740068005F007300 + 7000650061006B0065007200930100003C7376672076657273696F6E3D223122 + 20786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73 + 7667222076696577426F783D223020302034382034382220656E61626C652D62 + 61636B67726F756E643D226E657720302030203438203438223E0D0A20202020 + 3C636972636C652066696C6C3D2223464642373444222063783D223234222063 + 793D2231312220723D2236222F3E0D0A202020203C706174682066696C6C3D22 + 233630374438422220643D224D33362C32362E3163302C302D332E332D372E31 + 2D31322D372E31732D31322C372E312D31322C372E315633306832345632362E + 317A222F3E0D0A202020203C706F6C79676F6E2066696C6C3D22234230424543 + 352220706F696E74733D2234312C323520372C323520362C32392031312C3332 + 20392C32392033392C32392033372C33322034322C3239222F3E0D0A20202020 + 3C706F6C79676F6E2066696C6C3D22233738393039432220706F696E74733D22 + 392C32392033392C32392033352C34312031332C3431222F3E0D0A3C2F737667 + 3E0D0A1600000070006F006400690075006D005F0077006900740068006F0075 + 0074005F0073007000650061006B0065007200070100003C7376672076657273 + 696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F7267 + 2F323030302F737667222076696577426F783D22302030203438203438222065 + 6E61626C652D6261636B67726F756E643D226E65772030203020343820343822 + 3E0D0A202020203C706F6C79676F6E2066696C6C3D2223423042454335222070 + 6F696E74733D2234332C313620352C313620342C323020392C323320372C3230 + 2034312C32302033392C32332034342C3230222F3E0D0A202020203C706F6C79 + 676F6E2066696C6C3D22233738393039432220706F696E74733D22372C323020 + 34312C32302033372C33362031312C3336222F3E0D0A3C2F7376673E0D0A0D00 + 000070006F007200740072006100690074005F006D006F00640065000E040000 + 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 + 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 + 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 + 2030203438203438223E0D0A202020203C706174682066696C6C3D2223464639 + 3830302220643D224D32322C3338632D342E382C302D352D372D352D37762D36 + 68313076364332372C33312C32362E382C33382C32322C33387A222F3E0D0A20 + 2020203C672066696C6C3D2223464641373236223E0D0A20202020202020203C + 636972636C652063783D223331222063793D2231392220723D2232222F3E0D0A + 20202020202020203C636972636C652063783D223133222063793D2231392220 + 723D2232222F3E0D0A202020203C2F673E0D0A202020203C706174682066696C + 6C3D22234646423734442220643D224D33312C313363302D372E362D31382D35 + 2D31382C3063302C312E312C302C352E392C302C3763302C352C342C392C392C + 3973392D342C392D394333312C31382E392C33312C31342E312C33312C31337A + 222F3E0D0A202020203C706174682066696C6C3D22233432343234322220643D + 224D32322C34632D362E312C302D31302C342E392D31302C313163302C302E38 + 2C302C322E332C302C322E336C322C312E37762D356C31322D346C342C347635 + 6C322D312E3763302C302C302D312E352C302D322E3363302D342D312D382D36 + 2D396C2D312D32204832327A222F3E0D0A202020203C672066696C6C3D222337 + 3834373139223E0D0A20202020202020203C636972636C652063783D22323622 + 2063793D2231392220723D2231222F3E0D0A20202020202020203C636972636C + 652063783D223138222063793D2231392220723D2231222F3E0D0A202020203C + 2F673E0D0A202020203C706174682066696C6C3D22233030393638382220643D + 224D32372C33314C32372C333163302C302D312E382C322D352C32732D352D32 + 2D352D3253362C33332C362C34346833324333382C33332C32372C33312C3237 + 2C33317A222F3E0D0A202020203C672066696C6C3D2223464639383030223E0D + 0A20202020202020203C7265637420783D2233362E312220793D22362E312220 + 7472616E73666F726D3D226D6174726978282E373037202E373037202D2E3730 + 37202E3730372031392E373837202D32352E373729222077696474683D22392E + 3922206865696768743D22392E39222F3E0D0A20202020202020203C72656374 + 20783D2233362220793D2236222077696474683D22313022206865696768743D + 223130222F3E0D0A202020203C2F673E0D0A202020203C636972636C65206669 + 6C6C3D2223464645423342222063783D223431222063793D2231312220723D22 + 33222F3E0D0A3C2F7376673E0D0A08000000700072006500760069006F007500 + 7300C80000003C7376672076657273696F6E3D22312220786D6C6E733D226874 + 74703A2F2F7777772E77332E6F72672F323030302F737667222076696577426F + 783D223020302034382034382220656E61626C652D6261636B67726F756E643D + 226E657720302030203438203438223E0D0A202020203C706F6C79676F6E2066 + 696C6C3D22233231393646332220706F696E74733D2233302E392C3433203334 + 2C33392E392031382E312C32342033342C382E312033302E392C352031322C32 + 34222F3E0D0A3C2F7376673E0D0A050000007000720069006E0074006A030000 + 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 + 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 + 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 + 2030203438203438223E0D0A202020203C7265637420783D22392220793D2231 + 31222066696C6C3D2223343234323432222077696474683D2233302220686569 + 6768743D2233222F3E0D0A202020203C706174682066696C6C3D222336313631 + 36312220643D224D342C3235683430762D3763302D322E322D312E382D342D34 + 2D344838632D322E322C302D342C312E382D342C345632357A222F3E0D0A2020 + 20203C706174682066696C6C3D22233432343234322220643D224D382C333668 + 333263322E322C302C342D312E382C342D34762D384834763843342C33342E32 + 2C352E382C33362C382C33367A222F3E0D0A202020203C636972636C65206669 + 6C6C3D2223303045363736222063783D223430222063793D2231382220723D22 + 31222F3E0D0A202020203C7265637420783D2231312220793D2234222066696C + 6C3D2223393043414639222077696474683D22323622206865696768743D2231 + 30222F3E0D0A202020203C706174682066696C6C3D2223323432343234222064 + 3D224D33372E352C3331682D323743392E372C33312C392C33302E332C392C32 + 392E35763063302D302E382C302E372D312E352C312E352D312E356832376330 + 2E382C302C312E352C302E372C312E352C312E357630204333392C33302E332C + 33382E332C33312C33372E352C33317A222F3E0D0A202020203C726563742078 + 3D2231312220793D223331222066696C6C3D2223393043414639222077696474 + 683D22323622206865696768743D223131222F3E0D0A202020203C7265637420 + 783D2231312220793D223239222066696C6C3D22233432413546352220776964 + 74683D22323622206865696768743D2232222F3E0D0A202020203C672066696C + 6C3D2223313937364432223E0D0A20202020202020203C7265637420783D2231 + 362220793D223333222077696474683D22313722206865696768743D2232222F + 3E0D0A20202020202020203C7265637420783D2231362220793D223337222077 + 696474683D22313322206865696768743D2232222F3E0D0A202020203C2F673E + 0D0A3C2F7376673E0D0A070000007000720069007600610063007900FE010000 + 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 + 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 + 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 + 2030203438203438223E0D0A202020203C706174682066696C6C3D2223343234 + 3234322220643D224D32342C34632D352E352C302D31302C342E352D31302C31 + 3076346834762D3463302D332E332C322E372D362C362D3673362C322E372C36 + 2C3676346834762D344333342C382E352C32392E352C342C32342C347A222F3E + 0D0A202020203C706174682066696C6C3D22234642384330302220643D224D33 + 362C3434483132632D322E322C302D342D312E382D342D3456323263302D322E + 322C312E382D342C342D3468323463322E322C302C342C312E382C342C347631 + 384334302C34322E322C33382E322C34342C33362C34347A222F3E0D0A202020 + 203C636972636C652066696C6C3D2223454645424539222063783D2232342220 + 63793D2233312220723D2236222F3E0D0A202020203C636972636C652066696C + 6C3D2223314538384535222063783D223234222063793D2233312220723D2233 + 222F3E0D0A202020203C636972636C652066696C6C3D2223666666222063783D + 223236222063793D2232392220723D2231222F3E0D0A3C2F7376673E0D0A0700 + 0000700072006F006300650073007300A00300003C7376672076657273696F6E + 3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F3230 + 30302F737667222076696577426F783D223020302034382034382220656E6162 + 6C652D6261636B67726F756E643D226E657720302030203438203438223E0D0A + 202020203C672066696C6C3D2223394332374230223E0D0A2020202020202020 + 3C706F6C79676F6E20706F696E74733D2233312C382034322E392C392E362033 + 332E312C31392E34222F3E0D0A20202020202020203C706F6C79676F6E20706F + 696E74733D2231372C343020352E312C33382E342031342E392C32382E36222F + 3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D22382C3137 + 20392E362C352E312031392E342C31342E39222F3E0D0A20202020202020203C + 7061746820643D224D392E332C32312E324C352E312C323243352C32322E372C + 352C32332E332C352C323463302C342E362C312E362C392C342E362C31322E34 + 6C332D322E364331302E332C33312E312C392C32372E362C392C32342043392C + 32332E312C392E312C32322E312C392E332C32312E327A222F3E0D0A20202020 + 202020203C7061746820643D224D32342C35632D352E342C302D31302E322C32 + 2E332D31332E372C352E396C322E382C322E384331352E392C31302E382C3139 + 2E372C392C32342C3963302E392C302C312E392C302E312C322E382C302E336C + 302E372D332E39204332362E342C352E312C32352E322C352C32342C357A222F + 3E0D0A20202020202020203C7061746820643D224D33382E372C32362E386C34 + 2E322D302E3863302E312D302E372C302E312D312E332C302E312D3263302D34 + 2E342D312E352D382E372D342E332D31322E316C2D332E312C322E3563322E32 + 2C322E372C332E342C362E312C332E342C392E35204333392C32342E392C3338 + 2E392C32352E392C33382E372C32362E387A222F3E0D0A20202020202020203C + 7061746820643D224D33342E392C33342E334333322E312C33372E322C32382E + 332C33392C32342C3339632D302E392C302D312E392D302E312D322E382D302E + 336C2D302E372C332E3963312E322C302E322C322E342C302E332C332E352C30 + 2E332063352E342C302C31302E322D322E332C31332E372D352E394C33342E39 + 2C33342E337A222F3E0D0A20202020202020203C706F6C79676F6E20706F696E + 74733D2234302C33312033382E342C34322E392032382E362C33332E31222F3E + 0D0A202020203C2F673E0D0A3C2F7376673E0D0A06000000700075007A007A00 + 6C006500F30100003C7376672076657273696F6E3D22312220786D6C6E733D22 + 687474703A2F2F7777772E77332E6F72672F323030302F737667222076696577 + 426F783D223020302034382034382220656E61626C652D6261636B67726F756E + 643D226E657720302030203438203438223E0D0A202020203C70617468206669 + 6C6C3D22233842433334412220643D224D33392C313563302D322E322D312E38 + 2D342D342D34682D36632D302E372C302D312E312D302E382D302E372D312E34 + 63302E362D312C302E392D322E322C302E362D332E35632D302E342D322D312E + 392D332E362D332E382D34204332312E382C312E342C31392C332E392C31392C + 3763302C312C302E332C312E382C302E372C322E3663302E342C302E362C302C + 312E342D302E382C312E34682D36632D322E322C302D342C312E382D342C3476 + 3763302C302E372C302E382C312E312C312E342C302E372063312D302E362C32 + 2E322D302E392C332E352D302E3663322C302E342C332E362C312E392C342C33 + 2E3863302E372C332E322D312E382C362E312D342E392C362E31632D312C302D + 312E382D302E332D322E362D302E3743392E382C33302E392C392C33312E332C + 392C3332763663302C322E322C312E382C342C342C342068323263322E322C30 + 2C342D312E382C342D345631357A222F3E0D0A3C2F7376673E0D0A0900000071 + 00750065007300740069006F006E007300560200003C7376672076657273696F + 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 + 3030302F737667222076696577426F783D223020302034382034382220656E61 + 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D + 0A202020203C706F6C79676F6E2066696C6C3D22233432413546352220706F69 + 6E74733D2233362C343420382C343420382C382032382C382033362C3136222F + 3E0D0A202020203C706F6C79676F6E2066696C6C3D2223393043414639222070 + 6F696E74733D2234302C34302031322C34302031322C342033322C342034302C + 3132222F3E0D0A202020203C706F6C79676F6E2066696C6C3D22234531463546 + 452220706F696E74733D2233382E352C31332033312C31332033312C352E3522 + 2F3E0D0A202020203C706174682066696C6C3D22233139373644322220643D22 + 4D32342E352C32382E3363302D342E372C332E362D342E342C332E362D372E32 + 63302D302E372D302E322D322E312D322D322E31632D322C302D322E312C312E + 362D322E312C32682D322E3763302D302E372C302E332D342E322C342E382D34 + 2E322063342E362C302C342E372C332E362C342E372C342E3363302C332E352D + 332E382C342D332E382C372E334832342E357A204D32342E332C33312E386330 + 2D302E322C302D312E352C312E352D312E3563312E342C302C312E352C312E33 + 2C312E352C312E3563302C302E342D302E322C312E342D312E352C312E342043 + 32342E352C33332E322C32342E332C33322E322C32342E332C33312E387A222F + 3E0D0A3C2F7376673E0D0A0A000000720061006400610072005F0070006C006F + 007400600200003C7376672076657273696F6E3D22312220786D6C6E733D2268 + 7474703A2F2F7777772E77332E6F72672F323030302F73766722207669657742 + 6F783D223020302034382034382220656E61626C652D6261636B67726F756E64 + 3D226E657720302030203438203438223E0D0A202020203C706174682066696C + 6C3D22234346443844432220643D224D33382E342C31334C32342E312C362E34 + 4C342E362C31322E316C382E382C31332E326C2D322E322C31352E316832322E + 376C362E362D31332E334C33382E342C31337A204D33322E312C33372E354831 + 342E376C312E382D31322E394C392E342C31332E39206C31342E352D342E334C + 33352E362C31356C312E382C31312E374C33322E312C33372E357A222F3E0D0A + 202020203C672066696C6C3D2223303042434434223E0D0A2020202020202020 + 3C636972636C652063783D223234222063793D22382220723D2234222F3E0D0A + 20202020202020203C636972636C652063783D223337222063793D2231342220 + 723D2234222F3E0D0A20202020202020203C636972636C652063783D22333922 + 2063793D2232372220723D2234222F3E0D0A20202020202020203C636972636C + 652063783D2237222063793D2231332220723D2234222F3E0D0A202020202020 + 20203C636972636C652063783D223133222063793D2233392220723D2234222F + 3E0D0A20202020202020203C636972636C652063783D223135222063793D2232 + 352220723D2234222F3E0D0A20202020202020203C636972636C652063783D22 + 3333222063793D2233392220723D2234222F3E0D0A202020203C2F673E0D0A3C + 2F7376673E0D0A0600000072006100740069006E0067002B0100003C73766720 + 76657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E7733 + 2E6F72672F323030302F737667222076696577426F783D223020302034382034 + 382220656E61626C652D6261636B67726F756E643D226E657720302030203438 + 203438223E0D0A202020203C636972636C652066696C6C3D2223463434333336 + 222063783D223234222063793D2232342220723D223231222F3E0D0A20202020 + 3C706F6C79676F6E2066696C6C3D22234646434132382220706F696E74733D22 + 32342C31312032372E392C31382E392033362E362C32302E322033302E332C32 + 362E332033312E382C33352032342C33302E392031362E322C33352031372E37 + 2C32362E332031312E342C32302E322032302E312C31382E39222F3E0D0A3C2F + 7376673E0D0A0700000072006100740069006E0067007300B90100003C737667 + 2076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77 + 332E6F72672F323030302F737667222076696577426F783D2230203020343820 + 34382220656E61626C652D6261636B67726F756E643D226E6577203020302034 + 38203438223E0D0A202020203C706F6C79676F6E2066696C6C3D222334324135 + 46352220706F696E74733D2233362C343420382C343420382C382032382C3820 + 33362C3136222F3E0D0A202020203C706F6C79676F6E2066696C6C3D22233930 + 434146392220706F696E74733D2234302C34302031322C34302031322C342033 + 322C342034302C3132222F3E0D0A202020203C706F6C79676F6E2066696C6C3D + 22234531463546452220706F696E74733D2233382E352C31332033312C313320 + 33312C352E35222F3E0D0A202020203C706F6C79676F6E2066696C6C3D222331 + 39373644322220706F696E74733D2233342C32302032372C32302032392E342C + 32322E342032372C32342E392032332C32302E392031362E392C32362E392031 + 392E312C32392E312032332C32352E312032372C32392E312033312E362C3234 + 2E362033342C3237222F3E0D0A3C2F7376673E0D0A0700000072006500610064 + 0069006E006700310200003C7376672076657273696F6E3D22312220786D6C6E + 733D22687474703A2F2F7777772E77332E6F72672F323030302F737667222076 + 696577426F783D223020302034382034382220656E61626C652D6261636B6772 + 6F756E643D226E657720302030203438203438223E0D0A202020203C70617468 + 2066696C6C3D22233543364243302220643D224D34302C3430632D362E392C30 + 2D31362C342D31362C3456323263302C302C392D342C31382D344C34302C3430 + 7A222F3E0D0A202020203C706174682066696C6C3D2223373938364342222064 + 3D224D382C343063362E392C302C31362C342C31362C3456323263302C302D39 + 2D342D31382D344C382C34307A222F3E0D0A202020203C672066696C6C3D2223 + 464642373444223E0D0A20202020202020203C636972636C652063783D223234 + 222063793D2231322220723D2238222F3E0D0A20202020202020203C70617468 + 20643D224D34312C3332683163302E362C302C312D302E342C312D31762D3463 + 302D302E362D302E342D312D312D31682D31632D312E372C302D332C312E332D + 332C3376304333382C33302E372C33392E332C33322C34312C33327A222F3E0D + 0A20202020202020203C7061746820643D224D372C32364836632D302E362C30 + 2D312C302E342D312C31763463302C302E362C302E342C312C312C3168316331 + 2E372C302C332D312E332C332D3376304331302C32372E332C382E372C32362C + 372C32367A222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0D000000 + 720065006100640069006E0067005F00650062006F006F006B00220300003C73 + 76672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F777777 + 2E77332E6F72672F323030302F737667222076696577426F783D223020302034 + 382034382220656E61626C652D6261636B67726F756E643D226E657720302030 + 203438203438223E0D0A202020203C706174682066696C6C3D22233231393646 + 332220643D224D33332E352C3237632D322E322D332D352E322D352D392E352D + 35732D372E332C322D392E352C354833332E357A222F3E0D0A202020203C7061 + 74682066696C6C3D22233534364537412220643D224D33342E312C3433483133 + 2E39632D312E312C302D312E392D302E382D322D312E396C2D302E382D313343 + 31312E312C32372C31322C32362C31332E312C32366832312E3863312E322C30 + 2C322E312C312C322C322E316C2D302E382C3133204333362C34322E322C3335 + 2E322C34332C33342E312C34337A222F3E0D0A202020203C636972636C652066 + 696C6C3D2223423042454335222063783D223334222063793D2232392220723D + 2231222F3E0D0A202020203C672066696C6C3D2223464642373444223E0D0A20 + 202020202020203C636972636C652063783D223234222063793D223132222072 + 3D2238222F3E0D0A20202020202020203C7061746820643D224D31362E312C34 + 322E344C31352C34332E35632D302E362C302E362D312E362C302E362D322E32 + 2C306C2D332E332D332E33632D302E362D302E362D302E362D312E362C302D32 + 2E326C312E312D312E3163312E332D312E332C332E312D312E332C342E342C30 + 206C312E312C312E314331372E332C33392E332C31372E332C34312E322C3136 + 2E312C34322E347A222F3E0D0A20202020202020203C7061746820643D224D33 + 312E392C33386C312E312D312E3163312E332D312E332C332E312D312E332C34 + 2E342C306C312E312C312E3163302E362C302E362C302E362C312E362C302C32 + 2E326C2D332E332C332E33632D302E362C302E362D312E362C302E362D322E32 + 2C30206C2D312E312D312E314333302E372C34312E322C33302E372C33392E33 + 2C33312E392C33387A222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A + 06000000720065006400640069007400200B00003C3F786D6C2076657273696F + 6E3D22312E302220656E636F64696E673D227574662D38223F3E0D0A3C212D2D + 2047656E657261746F723A2041646F626520496C6C7573747261746F72203135 + 2E302E302C20535647204578706F727420506C75672D496E202E205356472056 + 657273696F6E3A20362E3030204275696C6420302920202D2D3E0D0A3C21444F + 435459504520737667205055424C494320222D2F2F5733432F2F445444205356 + 4720312E312F2F454E222022687474703A2F2F7777772E77332E6F72672F4772 + 6170686963732F5356472F312E312F4454442F73766731312E647464223E0D0A + 3C7376672076657273696F6E3D22312E31222020786D6C6E733D22687474703A + 2F2F7777772E77332E6F72672F323030302F7376672220786D6C6E733A786C69 + 6E6B3D22687474703A2F2F7777772E77332E6F72672F313939392F786C696E6B + 2220783D223070782220793D22307078220D0A092077696474683D2234387078 + 22206865696768743D2234387078222076696577426F783D2230203020343820 + 34382220656E61626C652D6261636B67726F756E643D226E6577203020302034 + 382034382220786D6C3A73706163653D227072657365727665223E0D0A3C673E + 0D0A093C706174682066696C6C3D22234646464646462220643D224D31322E31 + 39332C31392E353535632D312E39342D312E3734312D342E37392D312E373237 + 2D362E3336352C302E303239632D312E3537362C312E3735362D312E3330312C + 352E3032332C302E3932362C362E3633324C31322E3139332C31392E3535357A + 220D0A09092F3E0D0A093C706174682066696C6C3D2223464646464646222064 + 3D224D33352E3830372C31392E35353563312E3933392D312E3734312C342E37 + 38392D312E3732372C362E3336352C302E30323963312E3537352C312E373536 + 2C312E3330322C352E3032332D302E3932372C362E3633324C33352E3830372C + 31392E3535357A220D0A09092F3E0D0A093C673E0D0A09093C636972636C6520 + 66696C6C3D2223464646464646222063783D2233382E3332222063793D223130 + 2E3437352220723D22332E35222F3E0D0A093C2F673E0D0A093C673E0D0A0909 + 3C656C6C697073652066696C6C3D2223464646464646222063783D2232342E30 + 3835222063793D2232382E363131222072783D2231382E303835222072793D22 + 31322E393436222F3E0D0A093C2F673E0D0A3C2F673E0D0A3C673E0D0A093C63 + 6972636C652066696C6C3D2223443834333135222063783D2233302E33363522 + 2063793D2232362E33392220723D22322E383834222F3E0D0A093C636972636C + 652066696C6C3D2223443834333135222063783D2231372E363335222063793D + 2232362E33392220723D22322E383834222F3E0D0A3C2F673E0D0A3C673E0D0A + 093C706174682066696C6C3D22233337343734462220643D224D32342E303032 + 2C33342E393032632D332E3235322C302D362E31342D302E3734352D382E3030 + 322D312E39303263312E3032342C322E3034342C342E3139362C342C382E3030 + 322C3463332E3830322C302C362E3937362D312E3935362C372E3939382D340D + 0A09094333302E3134332C33342E3135372C32372E3235342C33342E3930322C + 32342E3030322C33342E3930327A222F3E0D0A093C706174682066696C6C3D22 + 233337343734462220643D224D34312E38332C32372E3032366C2D312E31372D + 312E36323163302E3833312D302E362C312E3337332D312E3535362C312E3438 + 382D322E36323363302E3130352D302E39382D302E3135372D312E3930332D30 + 2E3732312D322E3533310D0A0909632D302E3537312D302E3633372D312E3339 + 312D302E39392D322E3330372D302E393934632D302E3932372C302E3031332D + 312E3839342C302E3336352D322E3634362C312E3034316C2D312E3333362D31 + 2E34383863312E3132332D312E3030382C322E3534352D312E3532332C332E39 + 39312D312E3535330D0A090963312E3438382C302E3030372C322E3833332C30 + 2E3539362C332E3738362C312E36353863302E3934322C312E30352C312E3338 + 372C322E3533372C312E3232312C342E3038314334332E3936312C32342E3632 + 362C34332E3132312C32362E3039362C34312E38332C32372E3032367A222F3E + 0D0A093C706174682066696C6C3D22233337343734462220643D224D362E3136 + 392C32372E303236632D312E32392D302E3933322D322E3133312D322E343031 + 2D322E3330362D342E303331632D302E3136362D312E3534332C302E3237392D + 332E30332C312E3232312D342E3037390D0A090963302E3935332D312E303632 + 2C322E3239372D312E3635312C332E3738352D312E36353863302E3030392C30 + 2C302E3031382C302C302E3032372C3063312E3434312C302C322E3834392C30 + 2E3535312C332E3936352C312E3535336C2D312E3333362C312E3438380D0A09 + 09632D302E3735332D302E3637362D312E3638392D312E3030352D322E363436 + 2D312E303431632D302E3931362C302E3030342D312E3733352C302E3335372D + 322E3330362C302E393934632D302E3536332C302E3632382D302E3832362C31 + 2E35352D302E3732312C322E35330D0A090963302E3131352C312E3036372C30 + 2E3635372C322E3032332C312E3438382C322E3632344C362E3136392C32372E + 3032367A222F3E0D0A093C706174682066696C6C3D2223333734373446222064 + 3D224D32352C31362E3834682D3263302D322E3838352C302D31302E3534382C + 342E3937392D31302E35343863322E3135342C302C332E3139332C312E323131 + 2C332E3935322C322E3039360D0A090963302E3632392C302E3733342C302E39 + 36312C312E3038362C312E3631362C312E30383668312E33377632682D312E33 + 37632D312E3630342C302D322E3435332D302E39392D332E3133352D312E3738 + 35632D302E36372D302E3738312D312E3139382D312E3339382D322E3433342D + 312E3339380D0A09094332352E3937352C382E3239322C32352C31312E303838 + 2C32352C31362E38347A222F3E0D0A093C706174682066696C6C3D2223333734 + 3734462220643D224D32342E3038352C31362E393563392E3432312C302C3137 + 2E3038352C352E3233312C31372E3038352C31312E36363163302C362E343331 + 2D372E3636342C31312E3636322D31372E3038352C31312E36363253372C3335 + 2E3034322C372C32382E3631310D0A090943372C32322E3138312C31342E3636 + 342C31362E39352C32342E3038352C31362E3935204D32342E3038352C31342E + 39354331332E3534342C31342E39352C352C32312E3036362C352C32382E3631 + 3163302C372E3534362C382E3534352C31332E3636322C31392E3038352C3133 + 2E3636320D0A09096331302E35342C302C31392E3038352D362E3131362C3139 + 2E3038352D31332E3636324334332E31372C32312E3036362C33342E3632352C + 31342E39352C32342E3038352C31342E39354C32342E3038352C31342E39357A + 222F3E0D0A093C706174682066696C6C3D22233337343734462220643D224D33 + 382E33322C372E39373563312E3337392C302C322E352C312E3132322C322E35 + 2C322E35732D312E3132312C322E352D322E352C322E35732D322E352D312E31 + 32322D322E352D322E355333362E3934312C372E3937352C33382E33322C372E + 3937350D0A0909204D33382E33322C352E393735632D322E3438342C302D342E + 352C322E3031352D342E352C342E3573322E3031362C342E352C342E352C342E + 3563322E3438362C302C342E352D322E3031352C342E352D342E355334302E38 + 30372C352E3937352C33382E33322C352E3937354C33382E33322C352E393735 + 7A222F3E0D0A3C2F673E0D0A3C2F7376673E0D0A040000007200650064006F00 + 310100003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 + 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D + 223020302034382034382220656E61626C652D6261636B67726F756E643D226E + 657720302030203438203438223E0D0A202020203C672066696C6C3D22233030 + 42434434223E0D0A20202020202020203C706F6C79676F6E20706F696E74733D + 2234332C31382032392C362E332032392C32392E37222F3E0D0A202020202020 + 20203C7061746820643D224D32302C31346831327638483230632D322E382C30 + 2D352C322E322D352C3573322E322C352C352C3568337638682D33632D372E32 + 2C302D31332D352E382D31332D31335331322E382C31342C32302C31347A222F + 3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0700000072006500660072 + 006500730068000A0200003C7376672076657273696F6E3D22312220786D6C6E + 733D22687474703A2F2F7777772E77332E6F72672F323030302F737667222076 + 696577426F783D223020302034382034382220656E61626C652D6261636B6772 + 6F756E643D226E657720302030203438203438223E0D0A202020203C67206669 + 6C6C3D2223313536354330223E0D0A20202020202020203C7061746820643D22 + 4D31332C313363302D332E332C322E372D362C362D3668313063332E332C302C + 362C322E372C362C36683463302D352E352D342E352D31302D31302D31304831 + 394331332E352C332C392C372E352C392C31337631312E3268345631337A222F + 3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D22342E362C + 32322031312C33302E342031372E342C3232222F3E0D0A202020203C2F673E0D + 0A202020203C672066696C6C3D2223313536354330223E0D0A20202020202020 + 203C7061746820643D224D33352C333563302C332E332D322E372C362D362C36 + 483139632D332E332C302D362D322E372D362D36483963302C352E352C342E35 + 2C31302C31302C313068313063352E352C302C31302D342E352C31302D313056 + 3233682D345633357A222F3E0D0A20202020202020203C706F6C79676F6E2070 + 6F696E74733D2233302E362C32362033372C31372E362034332E342C3236222F + 3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A1400000072006500670069 + 007300740065007200650064005F00740072006100640065006D00610072006B + 00540200003C7376672076657273696F6E3D22312220786D6C6E733D22687474 + 703A2F2F7777772E77332E6F72672F323030302F737667222076696577426F78 + 3D223020302034382034382220656E61626C652D6261636B67726F756E643D22 + 6E657720302030203438203438223E0D0A202020203C636972636C652066696C + 6C3D2223394332374230222063783D223234222063793D2232342220723D2232 + 31222F3E0D0A202020203C706174682066696C6C3D2223453142454537222064 + 3D224D32352C32362E38682D342E357639682D345631322E3568382E3263312E + 332C302C322E352C302E322C332E362C302E3563312C302E332C312E392C302E + 382C322E362C312E3363302E372C302E362C312E332C312E332C312E362C322E + 322073302E362C312E392C302E362C3363302C312E362D302E342C322E392D31 + 2E312C332E39632D302E382C312D312E382C312E392D332E312C322E346C352E + 322C392E3776302E32682D342E334C32352C32362E387A204D32302E352C3233 + 2E3668342E3263302E372C302C312E342D302E312C312E392D302E332063302E + 352D302E322C312D302E352C312E342D302E3863302E342D302E332C302E362D + 302E372C302E382D312E3263302E322D302E352C302E332D312C302E332D312E + 3663302D302E362D302E312D312E312D302E332D312E36632D302E322D302E35 + 2D302E342D302E392D302E382D312E3220632D302E342D302E332D302E382D30 + 2E362D312E342D302E38632D302E352D302E322D312E322D302E332D322D302E + 33682D342E315632332E367A222F3E0D0A3C2F7376673E0D0A0C000000720065 + 006D006F00760065005F0069006D00610067006500BF0200003C737667207665 + 7273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F + 72672F323030302F737667222076696577426F783D2230203020343820343822 + 20656E61626C652D6261636B67726F756E643D226E6577203020302034382034 + 38223E0D0A202020203C706174682066696C6C3D22233843424344362220643D + 224D34302C34314838632D322E322C302D342D312E382D342D3456313163302D + 322E322C312E382D342C342D3468333263322E322C302C342C312E382C342C34 + 7632364334342C33392E322C34322E322C34312C34302C34317A222F3E0D0A20 + 2020203C636972636C652066696C6C3D2223423344444635222063783D223335 + 222063793D2231362220723D2233222F3E0D0A202020203C706F6C79676F6E20 + 66696C6C3D22233941433945332220706F696E74733D2232302C313620392C33 + 322033312C3332222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223 + 4233444446352220706F696E74733D2233312C32322032332C33322033392C33 + 32222F3E0D0A202020203C636972636C652066696C6C3D222346343433333622 + 2063783D223338222063793D2233382220723D223130222F3E0D0A202020203C + 672066696C6C3D2223666666223E0D0A20202020202020203C7265637420783D + 2233362E352220793D22333222207472616E73666F726D3D226D617472697828 + 2D2E373037202E373037202D2E373037202D2E3730372039312E373420333829 + 222077696474683D223322206865696768743D223132222F3E0D0A2020202020 + 2020203C7265637420783D2233362E352220793D22333222207472616E73666F + 726D3D226D6174726978282D2E373037202D2E373037202E373037202D2E3730 + 372033382039312E373429222077696474683D223322206865696768743D2231 + 32222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0500000072006500 + 750073006500010300003C7376672076657273696F6E3D22312220786D6C6E73 + 3D22687474703A2F2F7777772E77332E6F72672F323030302F73766722207669 + 6577426F783D223020302034382034382220656E61626C652D6261636B67726F + 756E643D226E657720302030203438203438223E0D0A202020203C706F6C7967 + 6F6E2066696C6C3D22233435354136342220706F696E74733D2231322E312C34 + 322031372E322C34322031362E352C31382E322031302E392C32302E32222F3E + 0D0A202020203C636972636C652066696C6C3D2223464642373444222063783D + 2233362E35222063793D2231302220723D2235222F3E0D0A202020203C706F6C + 79676F6E2066696C6C3D22233630374438422220706F696E74733D2231312C34 + 3220362C343220372E382C31382E362031342E322C32302E39222F3E0D0A2020 + 20203C706174682066696C6C3D22233630374438422220643D224D33312E372C + 31352E39632D302E362D322D312E332D342D322E352D352E38632D312E332D31 + 2E362D332E322D332E312D362E312D32632D332E312C312E332D392E322C332E + 362D31312E322C342E3520632D322E332C312E312D342E312C322E372D342E31 + 2C352E3963302C332E342C342E332C352E332C342E332C352E336C31342E372D + 362E316C312E372C342E356C352E332C302E314333332E382C32322E342C3332 + 2E332C31372E392C33312E372C31352E397A222F3E0D0A202020203C70617468 + 2066696C6C3D22234233394444422220643D224D33372E392C3432682D372E39 + 632D312C302D312E382D302E372D322D312E376C2D322E362D31372E31683137 + 6C2D322E362C31372E314333392E382C34312E332C33382E392C34322C33372E + 392C34327A222F3E0D0A202020203C706174682066696C6C3D22233745353743 + 322220643D224D34322C3234483236632D302E362C302D312D302E342D312D31 + 763063302D302E362C302E342D312C312D3168313663302E362C302C312C302E + 342C312C3176304334332C32332E362C34322E362C32342C34322C32347A222F + 3E0D0A3C2F7376673E0D0A0500000072006900670068007400FD0000003C7376 + 672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E + 77332E6F72672F323030302F737667222076696577426F783D22302030203438 + 2034382220656E61626C652D6261636B67726F756E643D226E65772030203020 + 3438203438223E0D0A202020203C672066696C6C3D2223334635314235223E0D + 0A20202020202020203C706F6C79676F6E20706F696E74733D2234342C323420 + 33302C33352E372033302C31322E33222F3E0D0A20202020202020203C726563 + 7420783D22362220793D223230222077696474683D2232372220686569676874 + 3D2238222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0B0000007200 + 69006700680074005F0064006F0077006E0032000C0100003C73766720766572 + 73696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72 + 672F323030302F737667222076696577426F783D223020302034382034382220 + 656E61626C652D6261636B67726F756E643D226E657720302030203438203438 + 223E0D0A202020203C706F6C79676F6E2066696C6C3D22233346353142352220 + 706F696E74733D2232392C34342031372E332C33302034302E372C3330222F3E + 0D0A202020203C706174682066696C6C3D22233346353142352220643D224D32 + 312C364838763868313363322E322C302C342C312E382C342C34763137683856 + 31384333332C31312E342C32372E362C362C32312C367A222F3E0D0A3C2F7376 + 673E0D0A09000000720069006700680074005F007500700032000F0100003C73 + 76672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F777777 + 2E77332E6F72672F323030302F737667222076696577426F783D223020302034 + 382034382220656E61626C652D6261636B67726F756E643D226E657720302030 + 203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D22233346 + 353142352220706F696E74733D2232392C342031372E332C31382034302E372C + 3138222F3E0D0A202020203C706174682066696C6C3D22233346353142352220 + 643D224D32312C34324838762D3868313363322E322C302C342D312E382C342D + 3456313368387631374333332C33362E362C32372E362C34322C32312C34327A + 222F3E0D0A3C2F7376673E0D0A0D00000072006F0074006100740065005F0063 + 0061006D00650072006100540200003C7376672076657273696F6E3D22312220 + 786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376 + 67222076696577426F783D223020302034382034382220656E61626C652D6261 + 636B67726F756E643D226E657720302030203438203438223E0D0A202020203C + 672066696C6C3D2223354533354231223E0D0A20202020202020203C70617468 + 20643D224D33332E392C31322E314831342E324C31372E362C3763302E342D30 + 2E362C312D302E392C312E372D302E3968392E3663302E372C302C312E332C30 + 2E332C312E372C302E394C33332E392C31322E317A222F3E0D0A202020202020 + 20203C7061746820643D224D31342C3131483856392E3243382C382E352C382E + 352C382C392E322C3868332E364331332E352C382C31342C382E352C31342C39 + 2E325631317A222F3E0D0A20202020202020203C7061746820643D224D34302C + 34324838632D322E322C302D342D312E382D342D3456313463302D322E322C31 + 2E382D342C342D3468333263322E322C302C342C312E382C342C347632344334 + 342C34302E322C34322E322C34322C34302C34327A222F3E0D0A202020203C2F + 673E0D0A202020203C706174682066696C6C3D22234538454146362220643D22 + 4D33342C323563302D352E352D342E352D31302D31302D3130732D31302C342E + 352D31302C313073342E352C31302C31302C3130762D32632D342E342C302D38 + 2D332E362D382D3873332E362D382C382D3873382C332E362C382C38682D332E + 35206C342E352C352E366C342E352D352E364833347A222F3E0D0A3C2F737667 + 3E0D0A1300000072006F0074006100740065005F0074006F005F006C0061006E + 00640073006300610070006500180200003C7376672076657273696F6E3D2231 + 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F + 737667222076696577426F783D223020302034382034382220656E61626C652D + 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 + 203C706174682066696C6C3D22233337343734462220643D224D31302C343156 + 3763302D322E322C312E382D342C342D3468323063322E322C302C342C312E38 + 2C342C3476333463302C322E322D312E382C342D342C344831344331312E382C + 34352C31302C34332E322C31302C34317A222F3E0D0A202020203C7061746820 + 66696C6C3D22234633453546352220643D224D33342C36483134632D302E362C + 302D312C302E342D312C3176333463302C302E362C302E342C312C312C316832 + 3063302E362C302C312D302E342C312D3156374333352C362E342C33342E362C + 362C33342C367A222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223 + 3943323742302220706F696E74733D2232322C33342032372E392C3237203136 + 2E312C3237222F3E0D0A202020203C706174682066696C6C3D22233943323742 + 302220643D224D32362C3136632D332E332C302D362C322E372D362C36763668 + 34762D3663302D312E312C302E392D322C322D3273322C302E392C322C327632 + 6834762D324333322C31382E372C32392E332C31362C32362C31367A222F3E0D + 0A3C2F7376673E0D0A1200000072006F0074006100740065005F0074006F005F + 0070006F007200740072006100690074000E0200003C7376672076657273696F + 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 + 3030302F737667222076696577426F783D223020302034382034382220656E61 + 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D + 0A202020203C706174682066696C6C3D22233337343734462220643D224D3431 + 2C33384837632D322E322C302D342D312E382D342D3456313463302D322E322C + 312E382D342C342D3468333463322E322C302C342C312E382C342C3476323043 + 34352C33362E322C34332E322C33382C34312C33387A222F3E0D0A202020203C + 706174682066696C6C3D22234633453546352220643D224D362C313476323063 + 302C302E362C302E342C312C312C3168333463302E362C302C312D302E342C31 + 2D3156313463302D302E362D302E342D312D312D31483743362E342C31332C36 + 2C31332E342C362C31347A222F3E0D0A202020203C706F6C79676F6E2066696C + 6C3D22233943323742302220706F696E74733D2232362C31352032302E312C32 + 322033312E392C3232222F3E0D0A202020203C706174682066696C6C3D222339 + 43323742302220643D224D32342C3231763663302C312E312D302E392C322D32 + 2C32732D322D302E392D322D32762D32682D34763263302C332E332C322E372C + 362C362C3673362D322E372C362D36762D364832347A222F3E0D0A3C2F737667 + 3E0D0A05000000720075006C0065007300530300003C7376672076657273696F + 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 + 3030302F737667222076696577426F783D223020302034382034382220656E61 + 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D + 0A202020203C706174682066696C6C3D22233432413546352220643D224D3339 + 2C3435483963302C302D332D302E312D332D386833364334322C34342E392C33 + 392C34352C33392C34357A222F3E0D0A202020203C7265637420783D22382220 + 793D2233222066696C6C3D2223393043414639222077696474683D2233322220 + 6865696768743D223334222F3E0D0A202020203C672066696C6C3D2223313937 + 364432223E0D0A20202020202020203C7265637420783D2231382220793D2231 + 35222077696474683D22313622206865696768743D2232222F3E0D0A20202020 + 202020203C7265637420783D2231382220793D223139222077696474683D2231 + 3622206865696768743D2232222F3E0D0A20202020202020203C726563742078 + 3D2231382220793D223233222077696474683D22313622206865696768743D22 + 32222F3E0D0A20202020202020203C7265637420783D2231382220793D223237 + 222077696474683D22313622206865696768743D2232222F3E0D0A2020202020 + 2020203C7265637420783D2231382220793D223331222077696474683D223136 + 22206865696768743D2232222F3E0D0A202020203C2F673E0D0A202020203C67 + 2066696C6C3D2223313937364432223E0D0A20202020202020203C7265637420 + 783D2231342220793D223135222077696474683D223222206865696768743D22 + 32222F3E0D0A20202020202020203C7265637420783D2231342220793D223139 + 222077696474683D223222206865696768743D2232222F3E0D0A202020202020 + 20203C7265637420783D2231342220793D223233222077696474683D22322220 + 6865696768743D2232222F3E0D0A20202020202020203C7265637420783D2231 + 342220793D223237222077696474683D223222206865696768743D2232222F3E + 0D0A20202020202020203C7265637420783D2231342220793D22333122207769 + 6474683D223222206865696768743D2232222F3E0D0A202020203C2F673E0D0A + 3C2F7376673E0D0A040000007300610066006500340700003C73766720766572 + 73696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72 + 672F323030302F737667222076696577426F783D223020302034382034382220 + 656E61626C652D6261636B67726F756E643D226E657720302030203438203438 + 223E0D0A202020203C7265637420783D22382220793D223339222066696C6C3D + 2223343535413634222077696474683D223622206865696768743D2233222F3E + 0D0A202020203C7265637420783D2233342220793D223339222066696C6C3D22 + 23343535413634222077696474683D223622206865696768743D2233222F3E0D + 0A202020203C706174682066696C6C3D22233738393039432220643D224D3430 + 2C34314838632D322E322C302D342D312E382D342D3456313163302D322E322C + 312E382D342C342D3468333263322E322C302C342C312E382C342C3476323643 + 34342C33392E322C34322E322C34312C34302C34317A222F3E0D0A202020203C + 706174682066696C6C3D22233930413441452220643D224D34302C3338483863 + 2D302E362C302D312D302E342D312D3156313163302D302E362C302E342D312C + 312D3168333263302E362C302C312C302E342C312C317632364334312C33372E + 362C34302E362C33382C34302C33387A222F3E0D0A202020203C706174682066 + 696C6C3D22233337343734462220643D224D32392C3134632D352E352C302D31 + 302C342E352D31302C313063302C352E352C342E352C31302C31302C31307331 + 302D342E352C31302D31304333392C31382E352C33342E352C31342C32392C31 + 347A204D32392C333120632D332E392C302D372D332E312D372D3763302D332E + 392C332E312D372C372D3773372C332E312C372C374333362C32372E392C3332 + 2E392C33312C32392C33317A222F3E0D0A202020203C672066696C6C3D222342 + 3042454335223E0D0A20202020202020203C7061746820643D224D33352E332C + 31392E316C302E342D302E3463302E342D302E342C302E342D312C302D312E34 + 732D312D302E342D312E342C306C2D302E342C302E344333342E342C31382E31 + 2C33342E392C31382E362C33352E332C31392E317A222F3E0D0A202020202020 + 20203C7061746820643D224D32322E372C31392E3163302E342D302E352C302E + 392D312C312E342D312E346C2D302E342D302E34632D302E342D302E342D312D + 302E342D312E342C30732D302E342C312C302C312E344C32322E372C31392E31 + 7A222F3E0D0A20202020202020203C7061746820643D224D32312C323463302D + 302E332C302D302E372C302E312D31682D302E36632D302E362C302D312C302E + 342D312C3173302E342C312C312C3168302E364332312C32342E372C32312C32 + 342E332C32312C32347A222F3E0D0A20202020202020203C7061746820643D22 + 4D32392C313663302E332C302C302E372C302C312C302E31762D302E3663302D + 302E362D302E342D312D312D31732D312C302E342D312C3176302E364332382E + 332C31362C32382E372C31362C32392C31367A222F3E0D0A2020202020202020 + 3C7061746820643D224D33352E332C32382E39632D302E342C302E352D302E39 + 2C312D312E342C312E346C302E342C302E3463302E322C302E322C302E352C30 + 2E332C302E372C302E3373302E352D302E312C302E372D302E3363302E342D30 + 2E342C302E342D312C302D312E34204C33352E332C32382E397A222F3E0D0A20 + 202020202020203C7061746820643D224D32322E372C32382E396C2D302E342C + 302E34632D302E342C302E342D302E342C312C302C312E3463302E322C302E32 + 2C302E352C302E332C302E372C302E3373302E352D302E312C302E372D302E33 + 6C302E342D302E34204332332E362C32392E392C32332E312C32392E342C3232 + 2E372C32382E397A222F3E0D0A20202020202020203C7061746820643D224D33 + 372E352C3233682D302E3663302C302E332C302E312C302E372C302E312C3173 + 302C302E372D302E312C3168302E3663302E362C302C312D302E342C312D3153 + 33382E312C32332C33372E352C32337A222F3E0D0A20202020202020203C7061 + 746820643D224D32392C3332632D302E332C302D302E372C302D312D302E3176 + 302E3663302C302E362C302E342C312C312C3173312D302E342C312D31762D30 + 2E364332392E372C33322C32392E332C33322C32392C33327A222F3E0D0A2020 + 20203C2F673E0D0A202020203C706174682066696C6C3D222334353541363422 + 20643D224D31322C3230632D312E312C302D322C302E392D322C32763863302C + 312E312C302E392C322C322C3273322D302E392C322D32762D384331342C3230 + 2E392C31332E312C32302C31322C32307A222F3E0D0A202020203C7061746820 + 66696C6C3D22234346443844432220643D224D31322C3138632D312E312C302D + 322C302E392D322C32763863302C312E312C302E392C322C322C3273322D302E + 392C322D32762D384331342C31382E392C31332E312C31382C31322C31387A22 + 2F3E0D0A3C2F7376673E0D0A11000000730061006C00650073005F0070006500 + 720066006F0072006D0061006E0063006500041C00003C737667207665727369 + 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F + 323030302F737667222076696577426F783D223020302034382034382220656E + 61626C652D6261636B67726F756E643D226E657720302030203438203438223E + 0D0A202020203C672066696C6C3D2223464641303030223E0D0A202020202020 + 20203C7061746820643D224D33382C3133632D332E332C302D362D302E392D36 + 2D3263302C302E342C302C312E362C302C3263302C312E312C322E372C322C36 + 2C3273362D302E392C362D3263302D302E342C302D312E362C302D324334342C + 31322E312C34312E332C31332C33382C3133207A222F3E0D0A20202020202020 + 203C7061746820643D224D33382C3130632D332E332C302D362D302E392D362D + 3263302C302E342C302C312E362C302C3263302C312E312C322E372C322C362C + 3273362D302E392C362D3263302D302E342C302D312E362C302D324334342C39 + 2E312C34312E332C31302C33382C31307A222F3E0D0A20202020202020203C70 + 61746820643D224D33382C3136632D332E332C302D362D302E392D362D326330 + 2C302E342C302C312E362C302C3263302C312E312C322E372C322C362C327336 + 2D302E392C362D3263302D302E342C302D312E362C302D324334342C31352E31 + 2C34312E332C31362C33382C3136207A222F3E0D0A20202020202020203C7061 + 746820643D224D33382C3139632D332E332C302D362D302E392D362D3263302C + 302E342C302C312E362C302C3263302C312E312C322E372C322C362C3273362D + 302E392C362D3263302D302E342C302D312E362C302D324334342C31382E312C + 34312E332C31392C33382C3139207A222F3E0D0A20202020202020203C706174 + 6820643D224D33382C3232632D332E332C302D362D302E392D362D3263302C30 + 2E342C302C312E362C302C3263302C312E312C322E372C322C362C3273362D30 + 2E392C362D3263302D302E342C302D312E362C302D324334342C32312E312C34 + 312E332C32322C33382C3232207A222F3E0D0A20202020202020203C70617468 + 20643D224D33382C3235632D332E332C302D362D302E392D362D3263302C302E + 342C302C312E362C302C3263302C312E312C322E372C322C362C3273362D302E + 392C362D3263302D302E342C302D312E362C302D324334342C32342E312C3431 + 2E332C32352C33382C3235207A222F3E0D0A20202020202020203C7061746820 + 643D224D33382C3238632D332E332C302D362D302E392D362D3263302C302E34 + 2C302C312E362C302C3263302C312E312C322E372C322C362C3273362D302E39 + 2C362D3263302D302E342C302D312E362C302D324334342C32372E312C34312E + 332C32382C33382C3238207A222F3E0D0A20202020202020203C706174682064 + 3D224D33382C3331632D332E332C302D362D302E392D362D3263302C302E342C + 302C312E362C302C3263302C312E312C322E372C322C362C3273362D302E392C + 362D3263302D302E342C302D312E362C302D324334342C33302E312C34312E33 + 2C33312C33382C3331207A222F3E0D0A20202020202020203C7061746820643D + 224D33382C3334632D332E332C302D362D302E392D362D3263302C302E342C30 + 2C312E362C302C3263302C312E312C322E372C322C362C3273362D302E392C36 + 2D3263302D302E342C302D312E362C302D324334342C33332E312C34312E332C + 33342C33382C3334207A222F3E0D0A20202020202020203C7061746820643D22 + 4D33382C3337632D332E332C302D362D302E392D362D3263302C302E342C302C + 312E362C302C3263302C312E312C322E372C322C362C3273362D302E392C362D + 3263302D302E342C302D312E362C302D324334342C33362E312C34312E332C33 + 372C33382C3337207A222F3E0D0A20202020202020203C7061746820643D224D + 33382C3430632D332E332C302D362D302E392D362D3263302C302E342C302C31 + 2E362C302C3263302C312E312C322E372C322C362C3273362D302E392C362D32 + 63302D302E342C302D312E362C302D324334342C33392E312C34312E332C3430 + 2C33382C3430207A222F3E0D0A202020203C2F673E0D0A202020203C67206669 + 6C6C3D2223464643313037223E0D0A20202020202020203C656C6C6970736520 + 63783D223338222063793D2238222072783D2236222072793D2232222F3E0D0A + 20202020202020203C7061746820643D224D33382C3132632D322E382C302D35 + 2E312D302E362D352E382D312E354333322E312C31302E372C33322C31302E38 + 2C33322C313163302C312E312C322E372C322C362C3273362D302E392C362D32 + 63302D302E322D302E312D302E332D302E322D302E35204334332E312C31312E + 342C34302E382C31322C33382C31327A222F3E0D0A20202020202020203C7061 + 746820643D224D33382C3135632D322E382C302D352E312D302E362D352E382D + 312E354333322E312C31332E372C33322C31332E382C33322C313463302C312E + 312C322E372C322C362C3273362D302E392C362D3263302D302E322D302E312D + 302E332D302E322D302E35204334332E312C31342E342C34302E382C31352C33 + 382C31357A222F3E0D0A20202020202020203C7061746820643D224D33382C31 + 38632D322E382C302D352E312D302E362D352E382D312E354333322E312C3136 + 2E372C33322C31362E382C33322C313763302C312E312C322E372C322C362C32 + 73362D302E392C362D3263302D302E322D302E312D302E332D302E322D302E35 + 204334332E312C31372E342C34302E382C31382C33382C31387A222F3E0D0A20 + 202020202020203C7061746820643D224D33382C3231632D322E382C302D352E + 312D302E362D352E382D312E354333322E312C31392E372C33322C31392E382C + 33322C323063302C312E312C322E372C322C362C3273362D302E392C362D3263 + 302D302E322D302E312D302E332D302E322D302E35204334332E312C32302E34 + 2C34302E382C32312C33382C32317A222F3E0D0A20202020202020203C706174 + 6820643D224D33382C3234632D322E382C302D352E312D302E362D352E382D31 + 2E354333322E312C32322E372C33322C32322E382C33322C323363302C312E31 + 2C322E372C322C362C3273362D302E392C362D3263302D302E322D302E312D30 + 2E332D302E322D302E35204334332E312C32332E342C34302E382C32342C3338 + 2C32347A222F3E0D0A20202020202020203C7061746820643D224D33382C3237 + 632D322E382C302D352E312D302E362D352E382D312E354333322E312C32352E + 372C33322C32352E382C33322C323663302C312E312C322E372C322C362C3273 + 362D302E392C362D3263302D302E322D302E312D302E332D302E322D302E3520 + 4334332E312C32362E342C34302E382C32372C33382C32377A222F3E0D0A2020 + 2020202020203C7061746820643D224D33382C3330632D322E382C302D352E31 + 2D302E362D352E382D312E354333322E312C32382E372C33322C32382E382C33 + 322C323963302C312E312C322E372C322C362C3273362D302E392C362D326330 + 2D302E322D302E312D302E332D302E322D302E35204334332E312C32392E342C + 34302E382C33302C33382C33307A222F3E0D0A20202020202020203C70617468 + 20643D224D33382C3333632D322E382C302D352E312D302E362D352E382D312E + 354333322E312C33312E372C33322C33312E382C33322C333263302C312E312C + 322E372C322C362C3273362D302E392C362D3263302D302E322D302E312D302E + 332D302E322D302E35204334332E312C33322E342C34302E382C33332C33382C + 33337A222F3E0D0A20202020202020203C7061746820643D224D33382C333663 + 2D322E382C302D352E312D302E362D352E382D312E354333322E312C33342E37 + 2C33322C33342E382C33322C333563302C312E312C322E372C322C362C327336 + 2D302E392C362D3263302D302E322D302E312D302E332D302E322D302E352043 + 34332E312C33352E342C34302E382C33362C33382C33367A222F3E0D0A202020 + 20202020203C7061746820643D224D33382C3339632D322E382C302D352E312D + 302E362D352E382D312E354333322E312C33372E372C33322C33372E382C3332 + 2C333863302C312E312C322E372C322C362C3273362D302E392C362D3263302D + 302E322D302E312D302E332D302E322D302E35204334332E312C33382E342C34 + 302E382C33392C33382C33397A222F3E0D0A202020203C2F673E0D0A20202020 + 3C672066696C6C3D2223464641303030223E0D0A20202020202020203C706174 + 6820643D224D31302C3139632D332E332C302D362D302E392D362D3263302C30 + 2E342C302C312E362C302C3263302C312E312C322E372C322C362C3273362D30 + 2E392C362D3263302D302E342C302D312E362C302D324331362C31382E312C31 + 332E332C31392C31302C3139207A222F3E0D0A20202020202020203C70617468 + 20643D224D31302C3136632D332E332C302D362D302E392D362D3263302C302E + 342C302C312E362C302C3263302C312E312C322E372C322C362C3273362D302E + 392C362D3263302D302E342C302D312E362C302D324331362C31352E312C3133 + 2E332C31362C31302C3136207A222F3E0D0A20202020202020203C7061746820 + 643D224D31302C3232632D332E332C302D362D302E392D362D3263302C302E34 + 2C302C312E362C302C3263302C312E312C322E372C322C362C3273362D302E39 + 2C362D3263302D302E342C302D312E362C302D324331362C32312E312C31332E + 332C32322C31302C3232207A222F3E0D0A20202020202020203C706174682064 + 3D224D31302C3235632D332E332C302D362D302E392D362D3263302C302E342C + 302C312E362C302C3263302C312E312C322E372C322C362C3273362D302E392C + 362D3263302D302E342C302D312E362C302D324331362C32342E312C31332E33 + 2C32352C31302C3235207A222F3E0D0A20202020202020203C7061746820643D + 224D31302C3238632D332E332C302D362D302E392D362D3263302C302E342C30 + 2C312E362C302C3263302C312E312C322E372C322C362C3273362D302E392C36 + 2D3263302D302E342C302D312E362C302D324331362C32372E312C31332E332C + 32382C31302C3238207A222F3E0D0A20202020202020203C7061746820643D22 + 4D31302C3331632D332E332C302D362D302E392D362D3263302C302E342C302C + 312E362C302C3263302C312E312C322E372C322C362C3273362D302E392C362D + 3263302D302E342C302D312E362C302D324331362C33302E312C31332E332C33 + 312C31302C3331207A222F3E0D0A20202020202020203C7061746820643D224D + 31302C3334632D332E332C302D362D302E392D362D3263302C302E342C302C31 + 2E362C302C3263302C312E312C322E372C322C362C3273362D302E392C362D32 + 63302D302E342C302D312E362C302D324331362C33332E312C31332E332C3334 + 2C31302C3334207A222F3E0D0A20202020202020203C7061746820643D224D31 + 302C3337632D332E332C302D362D302E392D362D3263302C302E342C302C312E + 362C302C3263302C312E312C322E372C322C362C3273362D302E392C362D3263 + 302D302E342C302D312E362C302D324331362C33362E312C31332E332C33372C + 31302C3337207A222F3E0D0A20202020202020203C7061746820643D224D3130 + 2C3430632D332E332C302D362D302E392D362D3263302C302E342C302C312E36 + 2C302C3263302C312E312C322E372C322C362C3273362D302E392C362D326330 + 2D302E342C302D312E362C302D324331362C33392E312C31332E332C34302C31 + 302C3430207A222F3E0D0A202020203C2F673E0D0A202020203C672066696C6C + 3D2223464643313037223E0D0A20202020202020203C656C6C69707365206378 + 3D223130222063793D223134222072783D2236222072793D2232222F3E0D0A20 + 202020202020203C7061746820643D224D31302C3138632D322E382C302D352E + 312D302E362D352E382D312E3543342E312C31362E372C342C31362E382C342C + 313763302C312E312C322E372C322C362C3273362D302E392C362D3263302D30 + 2E322D302E312D302E332D302E322D302E35204331352E312C31372E342C3132 + 2E382C31382C31302C31387A222F3E0D0A20202020202020203C706174682064 + 3D224D31302C3231632D322E382C302D352E312D302E362D352E382D312E3543 + 342E312C31392E372C342C31392E382C342C323063302C312E312C322E372C32 + 2C362C3273362D302E392C362D3263302D302E322D302E312D302E332D302E32 + 2D302E35204331352E312C32302E342C31322E382C32312C31302C32317A222F + 3E0D0A20202020202020203C7061746820643D224D31302C3234632D322E382C + 302D352E312D302E362D352E382D312E3543342E312C32322E372C342C32322E + 382C342C323363302C312E312C322E372C322C362C3273362D302E392C362D32 + 63302D302E322D302E312D302E332D302E322D302E35204331352E312C32332E + 342C31322E382C32342C31302C32347A222F3E0D0A20202020202020203C7061 + 746820643D224D31302C3237632D322E382C302D352E312D302E362D352E382D + 312E3543342E312C32352E372C342C32352E382C342C323663302C312E312C32 + 2E372C322C362C3273362D302E392C362D3263302D302E322D302E312D302E33 + 2D302E322D302E35204331352E312C32362E342C31322E382C32372C31302C32 + 377A222F3E0D0A20202020202020203C7061746820643D224D31302C3330632D + 322E382C302D352E312D302E362D352E382D312E3543342E312C32382E372C34 + 2C32382E382C342C323963302C312E312C322E372C322C362C3273362D302E39 + 2C362D3263302D302E322D302E312D302E332D302E322D302E35204331352E31 + 2C32392E342C31322E382C33302C31302C33307A222F3E0D0A20202020202020 + 203C7061746820643D224D31302C3333632D322E382C302D352E312D302E362D + 352E382D312E3543342E312C33312E372C342C33312E382C342C333263302C31 + 2E312C322E372C322C362C3273362D302E392C362D3263302D302E322D302E31 + 2D302E332D302E322D302E35204331352E312C33322E342C31322E382C33332C + 31302C33337A222F3E0D0A20202020202020203C7061746820643D224D31302C + 3336632D322E382C302D352E312D302E362D352E382D312E3543342E312C3334 + 2E372C342C33342E382C342C333563302C312E312C322E372C322C362C327336 + 2D302E392C362D3263302D302E322D302E312D302E332D302E322D302E352043 + 31352E312C33352E342C31322E382C33362C31302C33367A222F3E0D0A202020 + 20202020203C7061746820643D224D31302C3339632D322E382C302D352E312D + 302E362D352E382D312E3543342E312C33372E372C342C33372E382C342C3338 + 63302C312E312C322E372C322C362C3273362D302E392C362D3263302D302E32 + 2D302E312D302E332D302E322D302E35204331352E312C33382E342C31322E38 + 2C33392C31302C33397A222F3E0D0A202020203C2F673E0D0A202020203C6720 + 66696C6C3D2223464641303030223E0D0A20202020202020203C706174682064 + 3D224D32342C3238632D332E332C302D362D302E392D362D3263302C302E342C + 302C312E362C302C3263302C312E312C322E372C322C362C3273362D302E392C + 362D3263302D302E342C302D312E362C302D324333302C32372E312C32372E33 + 2C32382C32342C3238207A222F3E0D0A20202020202020203C7061746820643D + 224D32342C3235632D332E332C302D362D302E392D362D3263302C302E342C30 + 2C312E362C302C3263302C312E312C322E372C322C362C3273362D302E392C36 + 2D3263302D302E342C302D312E362C302D324333302C32342E312C32372E332C + 32352C32342C3235207A222F3E0D0A20202020202020203C7061746820643D22 + 4D32342C3331632D332E332C302D362D302E392D362D3263302C302E342C302C + 312E362C302C3263302C312E312C322E372C322C362C3273362D302E392C362D + 3263302D302E342C302D312E362C302D324333302C33302E312C32372E332C33 + 312C32342C3331207A222F3E0D0A20202020202020203C7061746820643D224D + 32342C3334632D332E332C302D362D302E392D362D3263302C302E342C302C31 + 2E362C302C3263302C312E312C322E372C322C362C3273362D302E392C362D32 + 63302D302E342C302D312E362C302D324333302C33332E312C32372E332C3334 + 2C32342C3334207A222F3E0D0A20202020202020203C7061746820643D224D32 + 342C3337632D332E332C302D362D302E392D362D3263302C302E342C302C312E + 362C302C3263302C312E312C322E372C322C362C3273362D302E392C362D3263 + 302D302E342C302D312E362C302D324333302C33362E312C32372E332C33372C + 32342C3337207A222F3E0D0A20202020202020203C7061746820643D224D3234 + 2C3430632D332E332C302D362D302E392D362D3263302C302E342C302C312E36 + 2C302C3263302C312E312C322E372C322C362C3273362D302E392C362D326330 + 2D302E342C302D312E362C302D324333302C33392E312C32372E332C34302C32 + 342C3430207A222F3E0D0A202020203C2F673E0D0A202020203C672066696C6C + 3D2223464643313037223E0D0A20202020202020203C656C6C69707365206378 + 3D223234222063793D223233222072783D2236222072793D2232222F3E0D0A20 + 202020202020203C7061746820643D224D32342C3237632D322E382C302D352E + 312D302E362D352E382D312E354331382E312C32352E372C31382C32352E382C + 31382C323663302C312E312C322E372C322C362C3273362D302E392C362D3263 + 302D302E322D302E312D302E332D302E322D302E35204332392E312C32362E34 + 2C32362E382C32372C32342C32377A222F3E0D0A20202020202020203C706174 + 6820643D224D32342C3330632D322E382C302D352E312D302E362D352E382D31 + 2E354331382E312C32382E372C31382C32382E382C31382C323963302C312E31 + 2C322E372C322C362C3273362D302E392C362D3263302D302E322D302E312D30 + 2E332D302E322D302E35204332392E312C32392E342C32362E382C33302C3234 + 2C33307A222F3E0D0A20202020202020203C7061746820643D224D32342C3333 + 632D322E382C302D352E312D302E362D352E382D312E354331382E312C33312E + 372C31382C33312E382C31382C333263302C312E312C322E372C322C362C3273 + 362D302E392C362D3263302D302E322D302E312D302E332D302E322D302E3520 + 4332392E312C33322E342C32362E382C33332C32342C33337A222F3E0D0A2020 + 2020202020203C7061746820643D224D32342C3336632D322E382C302D352E31 + 2D302E362D352E382D312E354331382E312C33342E372C31382C33342E382C31 + 382C333563302C312E312C322E372C322C362C3273362D302E392C362D326330 + 2D302E322D302E312D302E332D302E322D302E35204332392E312C33352E342C + 32362E382C33362C32342C33367A222F3E0D0A20202020202020203C70617468 + 20643D224D32342C3339632D322E382C302D352E312D302E362D352E382D312E + 354331382E312C33372E372C31382C33372E382C31382C333863302C312E312C + 322E372C322C362C3273362D302E392C362D3263302D302E322D302E312D302E + 332D302E322D302E35204332392E312C33382E342C32362E382C33392C32342C + 33397A222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0C0000007300 + 6300610074007400650072005F0070006C006F0074004D0200003C7376672076 + 657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E + 6F72672F323030302F737667222076696577426F783D22302030203438203438 + 2220656E61626C652D6261636B67726F756E643D226E65772030203020343820 + 3438223E0D0A202020203C706F6C79676F6E2066696C6C3D2223434644384443 + 2220706F696E74733D22392C333920392C3620372C3620372C34312034322C34 + 312034322C3339222F3E0D0A202020203C672066696C6C3D2223303042434434 + 223E0D0A20202020202020203C636972636C652063783D223339222063793D22 + 31312220723D2233222F3E0D0A20202020202020203C636972636C652063783D + 223331222063793D2231332220723D2233222F3E0D0A20202020202020203C63 + 6972636C652063783D223337222063793D2231392220723D2233222F3E0D0A20 + 202020202020203C636972636C652063783D223334222063793D223236222072 + 3D2233222F3E0D0A20202020202020203C636972636C652063783D2232382220 + 63793D2232302220723D2233222F3E0D0A20202020202020203C636972636C65 + 2063783D223236222063793D2232382220723D2233222F3E0D0A202020202020 + 20203C636972636C652063783D223230222063793D2232332220723D2233222F + 3E0D0A20202020202020203C636972636C652063783D223231222063793D2233 + 332220723D2233222F3E0D0A20202020202020203C636972636C652063783D22 + 3134222063793D2233302220723D2233222F3E0D0A202020203C2F673E0D0A3C + 2F7376673E0D0A06000000730065006100720063006800DA0200003C73766720 + 76657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E7733 + 2E6F72672F323030302F737667222076696577426F783D223020302034382034 + 382220656E61626C652D6261636B67726F756E643D226E657720302030203438 + 203438223E0D0A202020203C672066696C6C3D2223363136313631223E0D0A20 + 202020202020203C7265637420783D2233342E362220793D2232382E31222074 + 72616E73666F726D3D226D6174726978282E373037202D2E373037202E373037 + 202E373037202D31352E3135342033362E35383629222077696474683D223422 + 206865696768743D223137222F3E0D0A20202020202020203C636972636C6520 + 63783D223230222063793D2232302220723D223136222F3E0D0A202020203C2F + 673E0D0A202020203C7265637420783D2233362E322220793D2233322E312220 + 7472616E73666F726D3D226D6174726978282E373037202D2E373037202E3730 + 37202E373037202D31352E3833392033382E32333929222066696C6C3D222333 + 3734373446222077696474683D223422206865696768743D2231322E33222F3E + 0D0A202020203C636972636C652066696C6C3D2223363442354636222063783D + 223230222063793D2232302220723D223133222F3E0D0A202020203C70617468 + 2066696C6C3D22234242444546422220643D224D32362E392C31342E32632D31 + 2E372D322D342E322D332E322D362E392D332E32732D352E322C312E322D362E + 392C332E32632D302E342C302E342D302E332C312E312C302E312C312E346330 + 2E342C302E342C312E312C302E332C312E342D302E31204331362C31332E392C + 31372E392C31332C32302C313373342C302E392C352E342C322E3563302E322C + 302E322C302E352C302E342C302E382C302E3463302E322C302C302E352D302E + 312C302E362D302E324332372E322C31352E332C32372E322C31342E362C3236 + 2E392C31342E327A222F3E0D0A3C2F7376673E0D0A12000000730065006C0066 + 005F0073006500720076006900630065005F006B0069006F0073006B00600200 + 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F + 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 + 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 + 302030203438203438223E0D0A202020203C706174682066696C6C3D22233534 + 364537412220643D224D34342C3330483456313163302D322E322C312E382D34 + 2C342D3468333263322E322C302C342C312E382C342C345633307A222F3E0D0A + 202020203C706174682066696C6C3D22233634423546362220643D224D34302C + 32374838632D302E362C302D312D302E342D312D3156313163302D302E362C30 + 2E342D312C312D3168333263302E362C302C312C302E342C312C317631354334 + 312C32362E362C34302E362C32372C34302C32377A222F3E0D0A202020203C70 + 6174682066696C6C3D22233738393039432220643D224D34302C34314838632D + 322E322C302D342D312E382D342D34762D3768343076374334342C33392E322C + 34322E322C34312C34302C34317A222F3E0D0A202020203C672066696C6C3D22 + 23333734373446223E0D0A20202020202020203C7265637420783D2232372220 + 793D223334222077696474683D22313222206865696768743D2232222F3E0D0A + 20202020202020203C7265637420783D22392220793D22333422207769647468 + 3D22313222206865696768743D2232222F3E0D0A20202020202020203C706174 + 6820643D224D31382C333563302C312E312D312E332C322D332C32732D332D30 + 2E392D332D324831387A222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D + 0A06000000730065006C00660069006500E90400003C7376672076657273696F + 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 + 3030302F737667222076696577426F783D223020302034382034382220656E61 + 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D + 0A202020203C706174682066696C6C3D22234646423734442220643D224D3332 + 2E392C323263302D302E332C302E312D302E372C302E312D3163302D312E312C + 302D352E392C302D3763302D372E362D31382D352D31382C3063302C312E312C + 302C352E392C302C3763302C302E332C302C302E372C302E312C314833322E39 + 7A222F3E0D0A202020203C706174682066696C6C3D2223333734373446222064 + 3D224D34302C34344838632D322E322C302D342D312E382D342D345632366330 + 2D322E322C312E382D342C342D3468333263322E322C302C342C312E382C342C + 347631344334342C34322E322C34322E322C34342C34302C34347A222F3E0D0A + 202020203C706174682066696C6C3D22234242444546422220643D224D372C32 + 3676313463302C302E362C302E342C312C312C3168323963302E362C302C312D + 302E342C312D3156323663302D302E362D302E342D312D312D31483843372E34 + 2C32352C372C32352E342C372C32367A222F3E0D0A202020203C726563742078 + 3D2234302220793D223330222066696C6C3D2223373839303943222077696474 + 683D223222206865696768743D2236222F3E0D0A202020203C7265637420783D + 2231392220793D223332222066696C6C3D222342463336304322207769647468 + 3D223822206865696768743D2239222F3E0D0A202020203C7265637420783D22 + 32302E352220793D2233372E35222066696C6C3D222346463938303022207769 + 6474683D223522206865696768743D22332E35222F3E0D0A202020203C706174 + 682066696C6C3D22234646423734442220643D224D32372E352C333263302D33 + 2E382D392D322E352D392C3063302C302E352C302C332C302C332E3563302C32 + 2E352C322C342E352C342E352C342E3573342E352D322C342E352D342E354332 + 372E352C33352C32372E352C33322E352C32372E352C33327A222F3E0D0A2020 + 20203C672066696C6C3D2223373834373139223E0D0A20202020202020203C63 + 6972636C652063783D223238222063793D2232312220723D2231222F3E0D0A20 + 202020202020203C636972636C652063783D223230222063793D223231222072 + 3D2231222F3E0D0A20202020202020203C636972636C652063783D2232352220 + 63793D2233352E352220723D222E35222F3E0D0A20202020202020203C636972 + 636C652063783D223231222063793D2233352E352220723D222E35222F3E0D0A + 202020203C2F673E0D0A202020203C672066696C6C3D2223464635373232223E + 0D0A20202020202020203C7061746820643D224D32332C3237632D332C302D38 + 2C312E332D382C31316C342C33762D362E356C362D332E356C322C322E355634 + 316C342D3363302D322D302E382D31302D362D31306C2D302E352D314832337A + 222F3E0D0A20202020202020203C7061746820643D224D31362C3232762D336C + 31322D376C342C35763568362E384333382E332C31352E382C33362E312C362C + 32382C366C2D312D32682D334331382E352C342C31302E372C362E382C392E32 + 2C32324831367A222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A0C00 + 0000730065007200690061006C005F007400610073006B007300F40100003C73 + 76672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F777777 + 2E77332E6F72672F323030302F737667222076696577426F783D223020302034 + 382034382220656E61626C652D6261636B67726F756E643D226E657720302030 + 203438203438223E0D0A202020203C706174682066696C6C3D22233930434146 + 392220643D224D33332C39483131763468323263312E312C302C322C302E392C + 322C3276323048323376346831365631354333392C31312E372C33362E332C39 + 2C33332C397A222F3E0D0A202020203C7265637420783D22362220793D223622 + 2066696C6C3D2223443831423630222077696474683D22313022206865696768 + 743D223130222F3E0D0A202020203C672066696C6C3D2223323139364633223E + 0D0A20202020202020203C7265637420783D2233322220793D22313722207769 + 6474683D22313022206865696768743D223130222F3E0D0A2020202020202020 + 3C7265637420783D2231362220793D223332222077696474683D223130222068 + 65696768743D223130222F3E0D0A20202020202020203C636972636C65206378 + 3D223236222063793D2231312220723D2235222F3E0D0A20202020202020203C + 636972636C652063783D223337222063793D2233372220723D2235222F3E0D0A + 202020203C2F673E0D0A3C2F7376673E0D0A0C00000073006500720076006900 + 630065005F006D00610072006B00520200003C7376672076657273696F6E3D22 + 312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32303030 + 2F737667222076696577426F783D223020302034382034382220656E61626C65 + 2D6261636B67726F756E643D226E657720302030203438203438223E0D0A2020 + 20203C636972636C652066696C6C3D2223394332374230222063783D22323422 + 2063793D2232342220723D223231222F3E0D0A202020203C672066696C6C3D22 + 23453142454537223E0D0A20202020202020203C7061746820643D224D31362E + 372C32382E3263302D332E382D372E332D322E322D372E332D382E3163302D30 + 2E372C302E342D342E382C352E352D342E3863352E312C302C352E342C342E35 + 2C352E342C352E33682D332E3563302D302E342C302D322E352D322D322E3520 + 632D312E382C302D312E392C312E372D312E392C3263302C332C372E342C322C + 372E342C382E3163302C322D312E312C342E382D352E332C342E384331302E33 + 2C33332C392C32392E362C392C32372E3368332E3563302C302E352D302E322C + 322E382C322E352C322E38204331362E382C33302E322C31362E372C32382E35 + 2C31362E372C32382E327A222F3E0D0A20202020202020203C7061746820643D + 224D32372E312C31352E364C33302E332C32386C332E322D31322E3468342E35 + 7631372E32682D332E35762D342E366C302E332D372E326C2D332E342C31312E + 38682D322E346C2D332E342D31312E386C302E332C372E3276342E36682D332E + 355631352E36204832372E317A222F3E0D0A202020203C2F673E0D0A3C2F7376 + 673E0D0A0800000073006500720076006900630065007300160600003C737667 + 2076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77 + 332E6F72672F323030302F737667222076696577426F783D2230203020343820 + 34382220656E61626C652D6261636B67726F756E643D226E6577203020302034 + 38203438223E0D0A202020203C706174682066696C6C3D222345363531303022 + 20643D224D32352E362C33342E3463302E312D302E342C302E312D302E392C30 + 2E312D312E3473302D302E392D302E312D312E346C322E382D3263302E332D30 + 2E322C302E342D302E362C302E322D302E396C2D322E372D342E3620632D302E + 322D302E332D302E352D302E342D302E382D302E334C32322C32352E33632D30 + 2E372D302E362D312E352D312D322E342D312E346C2D302E332D332E3463302D + 302E332D302E332D302E362D302E362D302E36682D352E33632D302E332C302D + 302E362C302E332D302E362C302E364C31322E342C323420632D302E392C302E + 332D312E362C302E382D322E342C312E346C2D332E312D312E34632D302E332D + 302E312D302E372C302D302E382C302E336C2D322E372C342E36632D302E322C + 302E332D302E312C302E372C302E322C302E396C322E382C32632D302E312C30 + 2E342D302E312C302E392D302E312C312E342073302C302E392C302E312C312E + 346C2D322E382C32632D302E332C302E322D302E342C302E362D302E322C302E + 396C322E372C342E3663302E322C302E332C302E352C302E342C302E382C302E + 336C332E312D312E3463302E372C302E362C312E352C312C322E342C312E346C + 302E332C332E342063302C302E332C302E332C302E362C302E362C302E366835 + 2E3363302E332C302C302E362D302E332C302E362D302E366C302E332D332E34 + 63302E392D302E332C312E362D302E382C322E342D312E346C332E312C312E34 + 63302E332C302E312C302E372C302C302E382D302E336C322E372D342E362063 + 302E322D302E332C302E312D302E372D302E322D302E394C32352E362C33342E + 347A204D31362C3338632D322E382C302D352D322E322D352D3563302D322E38 + 2C322E322D352C352D3563322E382C302C352C322E322C352C354332312C3335 + 2E382C31382E382C33382C31362C33387A222F3E0D0A202020203C7061746820 + 66696C6C3D22234646413030302220643D224D34312E392C31352E334334322C + 31342E382C34322C31342E342C34322C313473302D302E382D302E312D312E33 + 6C322E352D312E3863302E332D302E322C302E332D302E352C302E322D302E38 + 6C2D322E352D342E3320632D302E322D302E332D302E352D302E342D302E382D + 302E326C2D322E392C312E33632D302E372D302E352D312E342D302E392D322E + 322D312E336C2D302E332D332E314333362C322E322C33352E382C322C33352E + 352C32682D342E39632D302E332C302D302E362C302E322D302E362C302E356C + 2D302E332C332E3120632D302E382C302E332D312E352C302E372D322E322C31 + 2E336C2D322E392D312E33632D302E332D302E312D302E362C302D302E382C30 + 2E326C2D322E352C342E33632D302E322C302E332D302E312C302E362C302E32 + 2C302E386C322E352C312E384332342C31332E322C32342C31332E362C32342C + 31342073302C302E382C302E312C312E336C2D322E352C312E38632D302E332C + 302E322D302E332C302E352D302E322C302E386C322E352C342E3363302E322C + 302E332C302E352C302E342C302E382C302E326C322E392D312E3363302E372C + 302E352C312E342C302E392C322E322C312E336C302E332C332E312063302C30 + 2E332C302E332C302E352C302E362C302E3568342E3963302E332C302C302E36 + 2D302E322C302E362D302E356C302E332D332E3163302E382D302E332C312E35 + 2D302E372C322E322D312E336C322E392C312E3363302E332C302E312C302E36 + 2C302C302E382D302E326C322E352D342E332063302E322D302E332C302E312D + 302E362D302E322D302E384C34312E392C31352E337A204D33332C3139632D32 + 2E382C302D352D322E322D352D3563302D322E382C322E322D352C352D356332 + 2E382C302C352C322E322C352C354333382C31362E382C33352E382C31392C33 + 332C31397A222F3E0D0A3C2F7376673E0D0A0800000073006500740074006900 + 6E0067007300050400003C7376672076657273696F6E3D22312220786D6C6E73 + 3D22687474703A2F2F7777772E77332E6F72672F323030302F73766722207669 + 6577426F783D223020302034382034382220656E61626C652D6261636B67726F + 756E643D226E657720302030203438203438223E0D0A202020203C7061746820 + 66696C6C3D22233630374438422220643D224D33392E362C32372E3263302E31 + 2D302E372C302E322D312E342C302E322D322E32732D302E312D312E352D302E + 322D322E326C342E352D332E3263302E342D302E332C302E362D302E392C302E + 332D312E344C34302C31302E3820632D302E332D302E352D302E382D302E372D + 312E332D302E346C2D352C322E33632D312E322D302E392D322E342D312E362D + 332E382D322E326C2D302E352D352E35632D302E312D302E352D302E352D302E + 392D312D302E39682D382E36632D302E352C302D312C302E342D312C302E396C + 2D302E352C352E3520632D312E342C302E362D322E372C312E332D332E382C32 + 2E326C2D352D322E33632D302E352D302E322D312E312C302D312E332C302E34 + 6C2D342E332C372E34632D302E332C302E352D302E312C312E312C302E332C31 + 2E346C342E352C332E32632D302E312C302E372D302E322C312E342D302E322C + 322E322073302E312C312E352C302E322C322E324C342C33302E34632D302E34 + 2C302E332D302E362C302E392D302E332C312E344C382C33392E3263302E332C + 302E352C302E382C302E372C312E332C302E346C352D322E3363312E322C302E + 392C322E342C312E362C332E382C322E326C302E352C352E352063302E312C30 + 2E352C302E352C302E392C312C302E3968382E3663302E352C302C312D302E34 + 2C312D302E396C302E352D352E3563312E342D302E362C322E372D312E332C33 + 2E382D322E326C352C322E3363302E352C302E322C312E312C302C312E332D30 + 2E346C342E332D372E342063302E332D302E352C302E312D312E312D302E332D + 312E344C33392E362C32372E327A204D32342C3335632D352E352C302D31302D + 342E352D31302D313063302D352E352C342E352D31302C31302D313063352E35 + 2C302C31302C342E352C31302C31304333342C33302E352C32392E352C33352C + 32342C33357A222F3E0D0A202020203C706174682066696C6C3D222334353541 + 36342220643D224D32342C3133632D362E362C302D31322C352E342D31322C31 + 3263302C362E362C352E342C31322C31322C31327331322D352E342C31322D31 + 324333362C31382E342C33302E362C31332C32342C31337A204D32342C333020 + 632D322E382C302D352D322E322D352D3563302D322E382C322E322D352C352D + 3573352C322E322C352C354332392C32372E382C32362E382C33302C32342C33 + 307A222F3E0D0A3C2F7376673E0D0A0500000073006800610072006500FE0100 + 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F + 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 + 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 + 302030203438203438223E0D0A202020203C706174682066696C6C3D22233139 + 373644322220643D224D33382E312C33312E324C31392E342C32346C31382E37 + 2D372E3263312E352D302E362C322E332D322E332C312E372D332E39632D302E + 362D312E352D322E332D322E332D332E392D312E376C2D32362C313043382E38 + 2C32312E362C382C32322E382C382C32342073302E382C322E342C312E392C32 + 2E386C32362C313063302E342C302E312C302E372C302E322C312E312C302E32 + 63312E322C302C322E332D302E372C322E382D312E394334302E342C33332E35 + 2C33392E362C33312E382C33382E312C33312E327A222F3E0D0A202020203C67 + 2066696C6C3D2223314538384535223E0D0A20202020202020203C636972636C + 652063783D223131222063793D2232342220723D2237222F3E0D0A2020202020 + 2020203C636972636C652063783D223337222063793D2231342220723D223722 + 2F3E0D0A20202020202020203C636972636C652063783D223337222063793D22 + 33342220723D2237222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A07 + 0000007300680069007000700065006400240300003C7376672076657273696F + 6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F32 + 3030302F737667222076696577426F783D223020302034382034382220656E61 + 626C652D6261636B67726F756E643D226E657720302030203438203438223E0D + 0A202020203C706174682066696C6C3D22233842433334412220643D224D3433 + 2C33364832395631346831302E3663302E392C302C312E362C302E362C312E39 + 2C312E344C34352C323676384334352C33352E312C34342E312C33362C34332C + 33367A222F3E0D0A202020203C706174682066696C6C3D222333383845334322 + 20643D224D32392C33364835632D312E312C302D322D302E392D322D32563963 + 302D312E312C302E392D322C322D3268323263312E312C302C322C302E392C32 + 2C325633367A222F3E0D0A202020203C672066696C6C3D222333373437344622 + 3E0D0A20202020202020203C636972636C652063783D223337222063793D2233 + 362220723D2235222F3E0D0A20202020202020203C636972636C652063783D22 + 3133222063793D2233362220723D2235222F3E0D0A202020203C2F673E0D0A20 + 2020203C672066696C6C3D2223373839303943223E0D0A20202020202020203C + 636972636C652063783D223337222063793D2233362220723D2232222F3E0D0A + 20202020202020203C636972636C652063783D223133222063793D2233362220 + 723D2232222F3E0D0A202020203C2F673E0D0A202020203C706174682066696C + 6C3D22233337343734462220643D224D34312C3235682D37632D302E362C302D + 312D302E342D312D31762D3763302D302E362C302E342D312C312D3168352E33 + 63302E342C302C302E382C302E332C302E392C302E376C312E372C352E326330 + 2C302E312C302E312C302E322C302E312C302E33563234204334322C32342E36 + 2C34312E362C32352C34312C32357A222F3E0D0A202020203C706F6C79676F6E + 2066696C6C3D22234443454443382220706F696E74733D2232312E382C31332E + 382031332E392C32312E372031302E322C31372E3920382C32302E312031332E + 392C32362032342C31352E39222F3E0D0A3C2F7376673E0D0A04000000730068 + 006F007000DF0500003C7376672076657273696F6E3D22312220786D6C6E733D + 22687474703A2F2F7777772E77332E6F72672F323030302F7376672220766965 + 77426F783D223020302034382034382220656E61626C652D6261636B67726F75 + 6E643D226E657720302030203438203438223E0D0A202020203C726563742078 + 3D22352220793D223139222066696C6C3D222343464438444322207769647468 + 3D22333822206865696768743D223139222F3E0D0A202020203C726563742078 + 3D22352220793D223338222066696C6C3D222342304245433522207769647468 + 3D22333822206865696768743D2234222F3E0D0A202020203C7265637420783D + 2232372220793D223234222066696C6C3D222334353541363422207769647468 + 3D22313222206865696768743D223138222F3E0D0A202020203C726563742078 + 3D22392220793D223234222066696C6C3D222345334632464422207769647468 + 3D22313422206865696768743D223131222F3E0D0A202020203C726563742078 + 3D2231302220793D223235222066696C6C3D2223314538384535222077696474 + 683D22313222206865696768743D2239222F3E0D0A202020203C706174682066 + 696C6C3D22233930413441452220643D224D33362E352C33332E35632D302E33 + 2C302D302E352C302E322D302E352C302E35763263302C302E332C302E322C30 + 2E352C302E352C302E355333372C33362E332C33372C3336762D324333372C33 + 332E372C33362E382C33332E352C33362E352C33332E357A222F3E0D0A202020 + 203C672066696C6C3D2223353538423246223E0D0A20202020202020203C6369 + 72636C652063783D223234222063793D2231392220723D2233222F3E0D0A2020 + 2020202020203C636972636C652063783D223336222063793D2231392220723D + 2233222F3E0D0A20202020202020203C636972636C652063783D223132222063 + 793D2231392220723D2233222F3E0D0A202020203C2F673E0D0A202020203C70 + 6174682066696C6C3D22233743423334322220643D224D34302C36483843362E + 392C362C362C362E392C362C38763368333656384334322C362E392C34312E31 + 2C362C34302C367A222F3E0D0A202020203C7265637420783D2232312220793D + 223131222066696C6C3D2223374342333432222077696474683D223622206865 + 696768743D2238222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223 + 3743423334322220706F696E74733D2233372C31312033322C31312033332C31 + 392033392C3139222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223 + 3743423334322220706F696E74733D2231312C31312031362C31312031352C31 + 3920392C3139222F3E0D0A202020203C672066696C6C3D222346464130303022 + 3E0D0A20202020202020203C636972636C652063783D223330222063793D2231 + 392220723D2233222F3E0D0A20202020202020203C7061746820643D224D3435 + 2C313963302C312E372D312E332C332D332C33732D332D312E332D332D337331 + 2E332D332C332D334C34352C31397A222F3E0D0A20202020202020203C636972 + 636C652063783D223138222063793D2231392220723D2233222F3E0D0A202020 + 20202020203C7061746820643D224D332C313963302C312E372C312E332C332C + 332C3373332D312E332C332D33732D312E332D332D332D334C332C31397A222F + 3E0D0A202020203C2F673E0D0A202020203C672066696C6C3D22234646433130 + 37223E0D0A20202020202020203C706F6C79676F6E20706F696E74733D223332 + 2C31312032372C31312032372C31392033332C3139222F3E0D0A202020202020 + 20203C706F6C79676F6E20706F696E74733D2234322C31312033372C31312033 + 392C31392034352C3139222F3E0D0A20202020202020203C706F6C79676F6E20 + 706F696E74733D2231362C31312032312C31312032312C31392031352C313922 + 2F3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D22362C31 + 312031312C313120392C313920332C3139222F3E0D0A202020203C2F673E0D0A + 3C2F7376673E0D0A08000000730069006D005F006300610072006400F5010000 + 3C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F77 + 77772E77332E6F72672F323030302F737667222076696577426F783D22302030 + 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 + 2030203438203438223E0D0A202020203C706174682066696C6C3D2223303039 + 3638382220643D224D33362C3435483132632D322E322C302D342D312E382D34 + 2D34563763302D322E322C312E382D342C342D346831362E3363312E312C302C + 322E312C302E342C322E382C312E326C372E372C372E3763302E382C302E382C + 312E322C312E382C312E322C322E38205634314334302C34332E322C33382E32 + 2C34352C33362C34357A222F3E0D0A202020203C706174682066696C6C3D2223 + 4646393830302220643D224D33322C3338483136632D312E312C302D322D302E + 392D322D3256323463302D312E312C302E392D322C322D3268313663312E312C + 302C322C302E392C322C327631324333342C33372E312C33332E312C33382C33 + 322C33387A222F3E0D0A202020203C706174682066696C6C3D22234646443534 + 462220643D224D32392C3330763368357632682D357633682D32563232683276 + 36683576324832397A204D31342C3239763268357632682D3576326835763368 + 32762D394831347A222F3E0D0A3C2F7376673E0D0A0D000000730069006D005F + 0063006100720064005F006300680069007000730200003C7376672076657273 + 696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F7267 + 2F323030302F737667222076696577426F783D22302030203438203438222065 + 6E61626C652D6261636B67726F756E643D226E65772030203020343820343822 + 3E0D0A202020203C706174682066696C6C3D22234646393830302220643D224D + 352C333556313363302D322E322C312E382D342C342D3468333063322E322C30 + 2C342C312E382C342C3476323263302C322E322D312E382C342D342C34483943 + 362E382C33392C352C33372E322C352C33357A222F3E0D0A202020203C672066 + 696C6C3D2223464644353446223E0D0A20202020202020203C7061746820643D + 224D34332C3231762D32483331632D312E312C302D322D302E392D322D327330 + 2E392D322C322D326831762D32682D31632D322E322C302D342C312E382D342C + 3473312E382C342C342C3468337636682D33632D322E382C302D352C322E322D + 352C352073322E322C352C352C356832762D32682D32632D312E372C302D332D + 312E332D332D3373312E332D332C332D33683132762D32682D37762D36483433 + 7A222F3E0D0A20202020202020203C7061746820643D224D31372C3237682D33 + 762D36683363322E322C302C342D312E382C342D34732D312E382D342D342D34 + 682D337632683363312E312C302C322C302E392C322C32732D302E392C322D32 + 2C324835763268377636483576326831322063312E372C302C332C312E332C33 + 2C33732D312E332C332D332C33682D327632683263322E382C302C352D322E32 + 2C352D355331392E382C32372C31372C32377A222F3E0D0A202020203C2F673E + 0D0A3C2F7376673E0D0A0D00000073006C0072005F006200610063006B005F00 + 73006900640065004E0300003C7376672076657273696F6E3D22312220786D6C + 6E733D22687474703A2F2F7777772E77332E6F72672F323030302F7376672220 + 76696577426F783D223020302034382034382220656E61626C652D6261636B67 + 726F756E643D226E657720302030203438203438223E0D0A202020203C706174 + 682066696C6C3D22233545333542312220643D224D34302C3130682D372E366C + 2D322D33632D302E342D302E362D312D302E392D312E372D302E39682D392E36 + 632D302E372C302D312E332C302E332D312E372C302E396C2D322C334838632D + 322E322C302D342C312E382D342C347632342063302C322E322C312E382C342C + 342C3468333263322E322C302C342D312E382C342D345631344334342C31312E + 382C34322E322C31302C34302C31307A222F3E0D0A202020203C706174682066 + 696C6C3D22234635374330302220643D224D31312C313668323063302E362C30 + 2C312C302E342C312C3176313663302C302E362D302E342C312D312C31483131 + 632D302E362C302D312D302E342D312D315631374331302C31362E342C31302E + 342C31362C31312C31367A222F3E0D0A202020203C706F6C79676F6E2066696C + 6C3D22233934324130392220706F696E74733D2231382E392C32322031322C33 + 322032352E382C3332222F3E0D0A202020203C636972636C652066696C6C3D22 + 23464646394334222063783D223237222063793D2232312220723D2232222F3E + 0D0A202020203C706F6C79676F6E2066696C6C3D22234246333630432220706F + 696E74733D2232352E322C32362032302E342C33322033302C3332222F3E0D0A + 202020203C672066696C6C3D2223383636374334223E0D0A2020202020202020 + 3C7061746820643D224D33342C3130683656392E324334302C382E352C33392E + 352C382C33382E382C38682D332E364333342E352C382C33342C382E352C3334 + 2C392E325631307A222F3E0D0A20202020202020203C636972636C652063783D + 223338222063793D2231382220723D2232222F3E0D0A20202020202020203C63 + 6972636C652063783D223338222063793D2232342220723D2232222F3E0D0A20 + 202020202020203C636972636C652063783D223338222063793D223330222072 + 3D2232222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A110000007300 + 6D00610072007400700068006F006E0065005F007400610062006C0065007400 + C80200003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 + 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D + 223020302034382034382220656E61626C652D6261636B67726F756E643D226E + 657720302030203438203438223E0D0A202020203C706174682066696C6C3D22 + 233337343734462220643D224D342C3339563763302D322E322C312E382D342C + 342D3468323263322E322C302C342C312E382C342C3476333263302C322E322D + 312E382C342D342C34483843352E382C34332C342C34312E322C342C33397A22 + 2F3E0D0A202020203C706174682066696C6C3D22234242444546422220643D22 + 4D33302C36483843372E342C362C372C362E342C372C3776323963302C302E36 + 2C302E342C312C312C3168323263302E362C302C312D302E342C312D31563743 + 33312C362E342C33302E362C362C33302C367A222F3E0D0A202020203C726563 + 7420783D2231352220793D223339222066696C6C3D2223373839303943222077 + 696474683D223622206865696768743D2232222F3E0D0A202020203C70617468 + 2066696C6C3D22234533383933392220643D224D32342C343156313763302D32 + 2E322C312E382D342C342D3468313263322E322C302C342C312E382C342C3476 + 323463302C322E322D312E382C342D342C344832384332352E382C34352C3234 + 2C34332E322C32342C34317A222F3E0D0A202020203C706174682066696C6C3D + 22234646463345302220643D224D34302C3136483238632D302E362C302D312C + 302E342D312C3176323263302C302E362C302E342C312C312C3168313263302E + 362C302C312D302E342C312D315631374334312C31362E342C34302E362C3136 + 2C34302C31367A222F3E0D0A202020203C636972636C652066696C6C3D222341 + 3636343241222063783D223334222063793D2234322E352220723D22312E3522 + 2F3E0D0A3C2F7376673E0D0A0300000073006D0073007D0100003C7376672076 + 657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E + 6F72672F323030302F737667222076696577426F783D22302030203438203438 + 2220656E61626C652D6261636B67726F756E643D226E65772030203020343820 + 3438223E0D0A202020203C706174682066696C6C3D2223303039363838222064 + 3D224D33372C33394831316C2D362C3656313163302D332E332C322E372D362C + 362D3668323663332E332C302C362C322E372C362C367632324334332C33362E + 332C34302E332C33392C33372C33397A222F3E0D0A202020203C672066696C6C + 3D2223666666223E0D0A20202020202020203C636972636C652063783D223234 + 222063793D2232322220723D2233222F3E0D0A20202020202020203C63697263 + 6C652063783D223334222063793D2232322220723D2233222F3E0D0A20202020 + 202020203C636972636C652063783D223134222063793D2232322220723D2233 + 222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A1900000073006F0075 + 006E0064005F007200650063006F007200640069006E0067005F0063006F0070 + 00790072006900670068007400720200003C7376672076657273696F6E3D2231 + 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F + 737667222076696577426F783D223020302034382034382220656E61626C652D + 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 + 203C636972636C652066696C6C3D2223394332374230222063783D2232342220 + 63793D2232342220723D223231222F3E0D0A202020203C706174682066696C6C + 3D22234531424545372220643D224D32302E372C32372E3276382E34682D332E + 395631322E3968382E3763312E332C302C322E352C302E322C332E352C302E35 + 63312C302E342C312E392C302E392C322E362C312E3563302E372C302E362C31 + 2E322C312E342C312E362C322E332063302E342C302E392C302E362C312E382C + 302E362C322E3963302C312E312D302E322C322E312D302E362C33632D302E34 + 2C302E392D302E392C312E362D312E362C322E32632D302E372C302E362D312E + 362C312E312D322E362C312E34632D312C302E332D322E322C302E352D332E35 + 2C302E354832302E377A204D32302E372C323468342E3763302E382C302C312E + 342D302E312C322D302E3363302E352D302E322C312D302E352C312E342D302E + 3863302E342D302E332C302E362D302E382C302E382D312E3263302E322D302E + 352C302E322D312C302E322D312E3663302D302E352D302E312D312D302E322D + 312E3520632D302E322D302E352D302E342D302E392D302E382D312E33632D30 + 2E342D302E342D302E382D302E372D312E342D302E39632D302E352D302E322D + 312E322D302E332D322D302E33682D342E375632347A222F3E0D0A3C2F737667 + 3E0D0A0700000073007000650061006B0065007200700200003C737667207665 + 7273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F + 72672F323030302F737667222076696577426F783D2230203020343820343822 + 20656E61626C652D6261636B67726F756E643D226E6577203020302034382034 + 38223E0D0A202020203C706174682066696C6C3D22233831443446412220643D + 224D32382C372E31763263372E332C312C31332C372E332C31332C31342E3973 + 2D352E372C31332E392D31332C31342E39763263382E342D312C31352D382E32 + 2C31352D31362E395333362E342C382E312C32382C372E317A222F3E0D0A2020 + 20203C706174682066696C6C3D22233534364537412220643D224D31342C3332 + 4837632D312E312C302D322D302E392D322D3256313863302D312E312C302E39 + 2D322C322D3268375633327A222F3E0D0A202020203C706F6C79676F6E206669 + 6C6C3D22233738393039432220706F696E74733D2232362C34322031342C3332 + 2031342C31362032362C36222F3E0D0A202020203C706174682066696C6C3D22 + 233033413946342220643D224D32382C31372E3376322E3163312E382C302E38 + 2C332C322E352C332C342E36732D312E322C332E382D332C342E3676322E3163 + 322E392D302E392C352D332E352C352D362E375333302E392C31382E322C3238 + 2C31372E337A222F3E0D0A202020203C706174682066696C6C3D222334464333 + 46372220643D224D32382C31322E32763263342E362C302E392C382C352C382C + 392E38732D332E342C382E392D382C392E38763263352E372D312C31302D352E + 392C31302D31312E385333332E372C31332E312C32382C31322E327A222F3E0D + 0A3C2F7376673E0D0A0B000000730070006F007200740073005F006D006F0064 + 006500F90300003C7376672076657273696F6E3D22312220786D6C6E733D2268 + 7474703A2F2F7777772E77332E6F72672F323030302F73766722207669657742 + 6F783D223020302034382034382220656E61626C652D6261636B67726F756E64 + 3D226E657720302030203438203438223E0D0A202020203C636972636C652066 + 696C6C3D2223464639383030222063783D223238222063793D22392220723D22 + 35222F3E0D0A202020203C706174682066696C6C3D2223303037393642222064 + 3D224D32392C32372E336C2D392E322D342E31632D312D302E352D312E352C31 + 2D322C32632D302E352C312D342E312C372E322D332E382C382E3363302E332C + 302E392C312E312C312E342C312E392C312E3463302E322C302C302E342C302C + 302E362D302E31204C32382E382C333163302E382D302E322C312E342D312C31 + 2E342D312E384333302E322C32382E342C32392E372C32372E362C32392C3237 + 2E337A222F3E0D0A202020203C706174682066696C6C3D222330303936383822 + 20643D224D32362E382C31352E326C2D322E322D31632D312E332D302E362D32 + 2E392C302D332E352C312E334C392E322C34312E31632D302E352C312C302C32 + 2E322C312C322E3763302E332C302E312C302E362C302E322C302E392C302E32 + 2063302E382C302C312E352D302E342C312E382D312E3163302C302C392E362D + 31332E332C31302E342D31342E3973342E392D392E332C342E392D392E334332 + 382E372C31372E342C32382E322C31352E382C32362E382C31352E327A222F3E + 0D0A202020203C706174682066696C6C3D22234646393830302220643D224D34 + 302E352C31352E37632D302E372D302E382D322D312D322E382D302E336C2D35 + 2C342E326C2D362E342D332E35632D312E312D302E362D322E362D302E342D33 + 2E332C302E39632D302E382C312E332D302E342C322E392C302E382C332E3420 + 6C382E332C332E3463302E332C302E312C302E362C302E322C302E392C302E32 + 63302E352C302C302E392D302E322C312E332D302E356C362D354334312E312C + 31372E382C34312E322C31362E362C34302E352C31352E377A222F3E0D0A2020 + 20203C706174682066696C6C3D22234646393830302220643D224D31312E372C + 32332E316C332E342D352E316C342E362C302E366C312E352D332E3163302E34 + 2D302E392C312E322D312E342C322E312D312E35632D302E312C302D302E322C + 302D302E322C30682D39632D302E372C302D312E332C302E332D312E372C302E + 39206C2D342C36632D302E362C302E392D302E342C322E322C302E362C322E38 + 43392E322C32332E392C392E362C32342C31302C32344331302E362C32342C31 + 312E332C32332E372C31312E372C32332E317A222F3E0D0A3C2F7376673E0D0A + 0F00000073007400610063006B005F006F0066005F00700068006F0074006F00 + 7300B90500003C7376672076657273696F6E3D22312220786D6C6E733D226874 + 74703A2F2F7777772E77332E6F72672F323030302F737667222076696577426F + 783D223020302034382034382220656E61626C652D6261636B67726F756E643D + 226E657720302030203438203438223E0D0A202020203C7265637420783D2231 + 322E332220793D2231322E3322207472616E73666F726D3D226D617472697828 + 2E393438202E333138202D2E333138202E39343820392E373235202D362E3939 + 3429222066696C6C3D2223363442354636222077696474683D22323822206865 + 696768743D223238222F3E0D0A202020203C7265637420783D2231352E362220 + 793D2231352E3422207472616E73666F726D3D226D6174726978282E39353120 + 2E3331202D2E3331202E39353120392E313736202D362E39373729222066696C + 6C3D2223314538384535222077696474683D22323222206865696768743D2232 + 30222F3E0D0A202020203C7265637420783D22382E312220793D22382E312220 + 7472616E73666F726D3D226D6174726978282E393833202E313831202D2E3138 + 31202E39383320342E333835202D332E363529222066696C6C3D222339304341 + 4639222077696474683D22323822206865696768743D223238222F3E0D0A2020 + 20203C7265637420783D2231312E332220793D2231312E3222207472616E7366 + 6F726D3D226D6174726978282E393835202E313735202D2E313735202E393835 + 20342E303438202D332E35363629222066696C6C3D2223343241354635222077 + 696474683D22323222206865696768743D223230222F3E0D0A202020203C7265 + 637420783D22342220793D2234222066696C6C3D222342424445464222207769 + 6474683D22323822206865696768743D223238222F3E0D0A202020203C726563 + 7420783D22372220793D2237222066696C6C3D22233443414635302220776964 + 74683D22323222206865696768743D223230222F3E0D0A202020203C70617468 + 2066696C6C3D22236666662220643D224D31362C313363302D312E312C302E39 + 2D322C322D3273322C302E392C322C32732D322C342D322C345331362C31342E + 312C31362C31337A222F3E0D0A202020203C706174682066696C6C3D22236666 + 662220643D224D32302C323163302C312E312D302E392C322D322C32732D322D + 302E392D322D3273322D342C322D345332302C31392E392C32302C32317A222F + 3E0D0A202020203C706174682066696C6C3D22236666662220643D224D31332E + 352C31362E37632D312D302E362D312E332D312E382D302E372D322E3763302E + 362D312C312E382D312E332C322E372D302E3763312C302E362C322E352C332E + 372C322E352C332E375331342E352C31372E332C31332E352C31362E377A222F + 3E0D0A202020203C706174682066696C6C3D22236666662220643D224D32322E + 352C31372E3363312C302E362C312E332C312E382C302E372C322E37632D302E + 362C312D312E382C312E332D322E372C302E374331392E352C32302E322C3138 + 2C31372C31382C31375332312E352C31362E372C32322E352C31372E337A222F + 3E0D0A202020203C706174682066696C6C3D22236666662220643D224D32322E + 352C31362E3763312D302E362C312E332D312E382C302E372D322E37632D302E + 362D312D312E382D312E332D322E372D302E374331392E352C31332E382C3138 + 2C31372C31382C31375332312E352C31372E332C32322E352C31362E377A222F + 3E0D0A202020203C706174682066696C6C3D22236666662220643D224D31332E + 352C31372E33632D312C302E362D312E332C312E382D302E372C322E3763302E + 362C312C312E382C312E332C322E372C302E3763312D302E362C322E352D332E + 372C322E352D332E375331342E352C31362E372C31332E352C31372E337A222F + 3E0D0A202020203C636972636C652066696C6C3D222346464331303722206378 + 3D223138222063793D2231372220723D2232222F3E0D0A3C2F7376673E0D0A05 + 00000073007400610072007400260100003C7376672076657273696F6E3D2231 + 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F + 737667222076696577426F783D223020302034382034382220656E61626C652D + 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 + 203C706174682066696C6C3D22234634343333362220643D224D33382C343248 + 3130632D322E322C302D342D312E382D342D3456313063302D322E322C312E38 + 2D342C342D3468323863322E322C302C342C312E382C342C347632384334322C + 34302E322C34302E322C34322C33382C34327A222F3E0D0A202020203C706F6C + 79676F6E2066696C6C3D22236666662220706F696E74733D2233312C32342032 + 302C31362032302C3332222F3E0D0A3C2F7376673E0D0A050000007300740065 + 0061006D00770700003C3F786D6C2076657273696F6E3D22312E302220656E63 + 6F64696E673D227574662D38223F3E0D0A3C212D2D2047656E657261746F723A + 2041646F626520496C6C7573747261746F722031352E302E302C205356472045 + 78706F727420506C75672D496E202E205356472056657273696F6E3A20362E30 + 30204275696C6420302920202D2D3E0D0A3C21444F4354595045207376672050 + 55424C494320222D2F2F5733432F2F4454442053564720312E312F2F454E2220 + 22687474703A2F2F7777772E77332E6F72672F47726170686963732F5356472F + 312E312F4454442F73766731312E647464223E0D0A3C7376672076657273696F + 6E3D22312E31222020786D6C6E733D22687474703A2F2F7777772E77332E6F72 + 672F323030302F7376672220786D6C6E733A786C696E6B3D22687474703A2F2F + 7777772E77332E6F72672F313939392F786C696E6B2220783D22307078222079 + 3D22307078220D0A092077696474683D223438707822206865696768743D2234 + 387078222076696577426F783D223020302034382034382220656E61626C652D + 6261636B67726F756E643D226E6577203020302034382034382220786D6C3A73 + 706163653D227072657365727665223E0D0A3C706174682066696C6C3D222346 + 46464646462220643D224D34322C333863302C322E3230392D312E3739312C34 + 2D342C34483130632D322E3230392C302D342D312E3739312D342D3456313063 + 302D322E3230392C312E3739312D342C342D3468323863322E3230392C302C34 + 2C312E3739312C342C345633387A222F3E0D0A3C673E0D0A093C706174682066 + 696C6C3D22233435354136342220643D224D31382E3435392C33332E36343563 + 2D302E3238382C302D302E35362D302E3035372D302E3832322D302E3134316C + 2D302E3030352C302E30326C2D332E36372D312E3036320D0A090963302E3634 + 342C312E3837382C322E3430362C332E3233372C342E352C332E32333763322E + 3634312C302C342E3737362D322E3133362C342E3737362D342E373736732D32 + 2E3133352D342E3737372D342E3737362D342E373737632D312E3134312C302D + 322E3137352C302E3431382D322E3939382C312E3038370D0A09094C31392C32 + 382E32353563302E3032392C302E3030372C302E3035352C302E3031382C302E + 3038342C302E3032346C302E3034392C302E30313676302E30303263312E3137 + 372C302E3330312C322E3034392C312E3335392C322E3034392C322E3632360D + 0A09094332312E3138342C33322E3432342C31392E3936342C33332E3634352C + 31382E3435392C33332E3634357A222F3E0D0A093C706174682066696C6C3D22 + 233435354136342220643D224D33302E3932332C32342E32393963332E323232 + 2C302C352E3833372D322E3631352C352E3833372D352E38333863302D332E32 + 32322D322E3631352D352E3833372D352E3833372D352E3833370D0A0909632D + 332E3232312C302D352E3833372C322E3631352D352E3833372C352E38333743 + 32352E3038362C32312E3638342C32372E3730322C32342E3239392C33302E39 + 32332C32342E3239397A204D33302E39322C31342E34303963322E32342C302C + 342E3035362C312E3831332C342E3035362C342E3035320D0A090963302C322E + 3234312D312E3831352C342E3035332D342E3035362C342E303533632D322E32 + 33362C302D342E3034392D312E3831322D342E3034392D342E3035334332362E + 3837312C31362E3232332C32382E3638342C31342E3430392C33302E39322C31 + 342E3430397A222F3E0D0A093C706174682066696C6C3D222334353541363422 + 20643D224D33382C36682D322E3735682D32322E35483130632D322E3230392C + 302D342C312E3739312D342C3476322E373576342E32333676372E3530396C37 + 2E3032372C322E3033330D0A090963312E3238372D312E35392C332E3232392D + 322E3632362C352E3433342D322E36323663302E30372C302C302E3133352C30 + 2E30322C302E3230342C302E3032316C332E3837362D352E33353563302D302E + 3033352D302E3030352D302E3037322D302E3030352D302E3130350D0A090963 + 302D342E36332C332E3735352D382E3338382C382E3338372D382E3338386334 + 2E3633332C302C382E3338362C332E3735372C382E3338362C382E3338366330 + 2C342E3633332D332E3735332C382E3338372D382E3338362C382E3338370D0A + 0909632D302E3034342C302D302E3038372D302E3030362D302E3133322D302E + 3030376C2D352E33332C332E38373163302E3030322C302E30372C302E303231 + 2C302E31342C302E3032312C302E32313163302C332E3837382D332E3134322C + 372E3032312D372E3032312C372E3032310D0A0909632D332E3539332C302D36 + 2E35322D322E3730372D362E3933372D362E3138384C362C33302E3135387632 + 2E35383376322E35303956333863302C322E3230392C312E3739312C342C342C + 3468322E37356832322E3548333863322E3230392C302C342D312E3739312C34 + 2D34762D322E3735762D32322E355631300D0A09094334322C372E3739312C34 + 302E3230392C362C33382C367A222F3E0D0A3C2F673E0D0A3C2F7376673E0D0A + 0B0000007300740075006D0062006C006500750070006F006E00B60400003C3F + 786D6C2076657273696F6E3D22312E302220656E636F64696E673D227574662D + 38223F3E0D0A3C212D2D2047656E657261746F723A2041646F626520496C6C75 + 73747261746F722031352E302E302C20535647204578706F727420506C75672D + 496E202E205356472056657273696F6E3A20362E3030204275696C6420302920 + 202D2D3E0D0A3C21444F435459504520737667205055424C494320222D2F2F57 + 33432F2F4454442053564720312E312F2F454E222022687474703A2F2F777777 + 2E77332E6F72672F47726170686963732F5356472F312E312F4454442F737667 + 31312E647464223E0D0A3C7376672076657273696F6E3D22312E31222020786D + 6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73766722 + 20786D6C6E733A786C696E6B3D22687474703A2F2F7777772E77332E6F72672F + 313939392F786C696E6B2220783D223070782220793D22307078220D0A092077 + 696474683D223438707822206865696768743D2234387078222076696577426F + 783D223020302034382034382220656E61626C652D6261636B67726F756E643D + 226E6577203020302034382034382220786D6C3A73706163653D227072657365 + 727665223E0D0A3C706174682066696C6C3D22234536344131392220643D224D + 32342E3030312C35632D31302E3439342C302D31392C382E3530362D31392C31 + 3963302C31302E3439332C382E3530362C31392C31392C31396331302E343933 + 2C302C31392D382E3530372C31392D31390D0A094334332E3030312C31332E35 + 30362C33342E3439342C352C32342E3030312C357A222F3E0D0A3C673E0D0A09 + 3C706174682066696C6C3D22234646464646462220643D224D32342E3030312C + 31394332332E3939382C31392C32342E3030342C31392C32342E3030312C3139 + 632D302E3036322D302E3030342D312C302D312C3176372E3837364332322E39 + 31362C32392E3838382C32312E3530342C33332C31372E3935392C33330D0A09 + 09632D332E3630372C302D342E3935382D332E3036352D342E3935382D342E39 + 35385632346834763463302E3033382C302E3730392C302E3632392C312C312C + 3163302E3636352C302C302E3937322D302E3336312C312D31762D382E313234 + 63302D322E30312C312E3333322D352C352D350D0A090963302E3034352C302C + 302E3038362C302E3030362C302E3133312C302E30303763302C302C342E3836 + 392D302E3030392C342E3836392C352E31313763302C312E3130342D302E3839 + 362C312E3837362D322C312E383736732D322D302E3737312D322D312E383736 + 0D0A09094332352E3030312C31392E3132342C32342E3034312C31392E303033 + 2C32342E3030312C31397A204D33352E3030312C32372E38373663302C322E30 + 312D312E3333312C352E3132342D352C352E313234732D352D332E3131342D35 + 2D352E313234762D332E3433390D0A090963302E3631342C302E3237322C312E + 3238352C302E3433392C322C302E34333963302E3731322C302C312E3338362D + 302E3135342C322D302E34323456323863302E3033382C312C302E3636332C31 + 2C312C3163302E3234372C302C312C302C312D31762D3468345632372E383736 + 7A222F3E0D0A3C2F673E0D0A3C2F7376673E0D0A070000007300750070007000 + 6F0072007400060200003C7376672076657273696F6E3D22312220786D6C6E73 + 3D22687474703A2F2F7777772E77332E6F72672F323030302F73766722207669 + 6577426F783D223020302034382034382220656E61626C652D6261636B67726F + 756E643D226E657720302030203438203438223E0D0A202020203C7061746820 + 66696C6C3D22233630374438422220643D224D34342E372C31314C33362C3139 + 2E3663302C302D322E362C302D352E322D322E36732D322E362D352E322D322E + 362D352E326C382E372D382E37632D342E392D312E322D31302E382C302E342D + 31342E342C3420632D352E342C352E342D302E362C31322E332D322C31332E37 + 4331322E392C32382E372C352E312C33342E372C342E392C3335632D322E332C + 322E332D322E342C362D302E322C382E3263322E322C322E322C352E392C322E + 312C382E322D302E3263302E332D302E332C362E372D382E342C31342E322D31 + 352E392063312E342D312E342C382C332E372C31332E362D312E384334342E32 + 2C32312E372C34352E392C31352E392C34342E372C31317A204D392E342C3431 + 2E31632D312E342C302D322E352D312E312D322E352D322E3543362E392C3337 + 2E312C382C33362C392E342C33362063312E342C302C322E352C312E312C322E + 352C322E354331312E392C33392E392C31302E382C34312E312C392E342C3431 + 2E317A222F3E0D0A3C2F7376673E0D0A06000000730075007200760065007900 + A10300003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 + 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D + 223020302034382034382220656E61626C652D6261636B67726F756E643D226E + 657720302030203438203438223E0D0A202020203C706174682066696C6C3D22 + 233435354136342220643D224D33362C3448323663302C312E312D302E392C32 + 2D322C32732D322D302E392D322D3248313243392E382C342C382C352E382C38 + 2C3876333263302C322E322C312E382C342C342C3468323463322E322C302C34 + 2D312E382C342D345638204334302C352E382C33382E322C342C33362C347A22 + 2F3E0D0A202020203C706174682066696C6C3D22236666662220643D224D3336 + 2C3431483132632D302E362C302D312D302E342D312D31563863302D302E362C + 302E342D312C312D3168323463302E362C302C312C302E342C312C3176333243 + 33372C34302E362C33362E362C34312C33362C34317A222F3E0D0A202020203C + 672066696C6C3D2223393041344145223E0D0A20202020202020203C70617468 + 20643D224D32362C3463302C312E312D302E392C322D322C32732D322D302E39 + 2D322D32682D37763463302C312E312C302E392C322C322C3268313463312E31 + 2C302C322D302E392C322D3256344832367A222F3E0D0A20202020202020203C + 7061746820643D224D32342C30632D322E322C302D342C312E382D342C347331 + 2E382C342C342C3473342D312E382C342D345332362E322C302C32342C307A20 + 4D32342C36632D312E312C302D322D302E392D322D3273302E392D322C322D32 + 73322C302E392C322C32205332352E312C362C32342C367A222F3E0D0A202020 + 203C2F673E0D0A202020203C672066696C6C3D2223434644384443223E0D0A20 + 202020202020203C7265637420783D2232312220793D22323022207769647468 + 3D22313222206865696768743D2232222F3E0D0A20202020202020203C726563 + 7420783D2231352220793D223139222077696474683D22342220686569676874 + 3D2234222F3E0D0A202020203C2F673E0D0A202020203C672066696C6C3D2223 + 303341394634223E0D0A20202020202020203C7265637420783D223231222079 + 3D223239222077696474683D22313222206865696768743D2232222F3E0D0A20 + 202020202020203C7265637420783D2231352220793D22323822207769647468 + 3D223422206865696768743D2234222F3E0D0A202020203C2F673E0D0A3C2F73 + 76673E0D0A0D0000007300770069007400630068005F00630061006D00650072 + 006100F80200003C7376672076657273696F6E3D22312220786D6C6E733D2268 + 7474703A2F2F7777772E77332E6F72672F323030302F73766722207669657742 + 6F783D223020302034382034382220656E61626C652D6261636B67726F756E64 + 3D226E657720302030203438203438223E0D0A202020203C672066696C6C3D22 + 23354533354231223E0D0A20202020202020203C7061746820643D224D33332E + 392C31322E314831342E324C31372E362C3763302E342D302E362C312D302E39 + 2C312E372D302E3968392E3663302E372C302C312E332C302E332C312E372C30 + 2E394C33332E392C31322E317A222F3E0D0A20202020202020203C7061746820 + 643D224D31342C3131483856392E3243382C382E352C382E352C382C392E322C + 3868332E364331332E352C382C31342C382E352C31342C392E325631317A222F + 3E0D0A20202020202020203C7061746820643D224D34302C34324838632D322E + 322C302D342D312E382D342D3456313463302D322E322C312E382D342C342D34 + 68333263322E322C302C342C312E382C342C347632344334342C34302E322C34 + 322E322C34322C34302C34327A222F3E0D0A202020203C2F673E0D0A20202020 + 3C706174682066696C6C3D22234538454146362220643D224D33342C32356330 + 2D352E352D342E352D31302D31302D3130632D322E342C302D342E362C302E38 + 2D362E332C322E326C312E322C312E3663312E342D312E312C332E312D312E38 + 2C352E312D312E3863342E342C302C382C332E362C382C38682D332E35206C34 + 2E352C352E366C342E352D352E364833347A222F3E0D0A202020203C70617468 + 2066696C6C3D22234538454146362220643D224D32392E312C33312E32433237 + 2E372C33322E332C32352E392C33332C32342C3333632D342E342C302D382D33 + 2E362D382D3868332E354C31352C31392E344C31302E352C323548313463302C + 352E352C342E352C31302C31302C31302063322E342C302C342E362D302E382C + 362E332D322E324C32392E312C33312E327A222F3E0D0A3C2F7376673E0D0A0B + 000000730079006E006300680072006F006E0069007A006500700200003C7376 + 672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E + 77332E6F72672F323030302F737667222076696577426F783D22302030203438 + 2034382220656E61626C652D6261636B67726F756E643D226E65772030203020 + 3438203438223E0D0A202020203C706174682066696C6C3D2223464636463030 + 2220643D224D33382E372C31312E396C2D332E312C322E3563322E322C322E37 + 2C332E342C362E312C332E342C392E3563302C382E332D362E372C31352D3135 + 2C3135632D302E392C302D312E392D302E312D322E382D302E336C2D302E372C + 332E392063312E322C302E322C322E342C302E332C332E352C302E336331302E + 352C302C31392D382E352C31392D31394334332C31392E362C34312E352C3135 + 2E332C33382E372C31312E397A222F3E0D0A202020203C706F6C79676F6E2066 + 696C6C3D22234646364630322220706F696E74733D2233312C382034322E392C + 392E362033332E312C31392E34222F3E0D0A202020203C706174682066696C6C + 3D22234646364630302220643D224D32342C354331332E352C352C352C31332E + 352C352C323463302C342E362C312E362C392C342E362C31322E346C332D322E + 364331302E332C33312E312C392C32372E362C392C323463302D382E332C362E + 372D31352C31352D31352063302E392C302C312E392C302E312C322E382C302E + 336C302E372D332E394332362E342C352E312C32352E322C352C32342C357A22 + 2F3E0D0A202020203C706F6C79676F6E2066696C6C3D22234646364630322220 + 706F696E74733D2231372C343020352E312C33382E342031342E392C32382E36 + 222F3E0D0A3C2F7376673E0D0A0E0000007400610062006C00650074005F0061 + 006E00640072006F00690064009E0100003C7376672076657273696F6E3D2231 + 2220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F + 737667222076696577426F783D223020302034382034382220656E61626C652D + 6261636B67726F756E643D226E657720302030203438203438223E0D0A202020 + 203C706174682066696C6C3D22233337343734462220643D224D382C34315637 + 63302D322E322C312E382D342C342D3468323463322E322C302C342C312E382C + 342C3476333463302C322E322D312E382C342D342C3448313243392E382C3435 + 2C382C34332E322C382C34317A222F3E0D0A202020203C706174682066696C6C + 3D22234242444546422220643D224D33362C36483132632D302E362C302D312C + 302E342D312C3176333163302C302E362C302E342C312C312C3168323463302E + 362C302C312D302E342C312D3156374333372C362E342C33362E362C362C3336 + 2C367A222F3E0D0A202020203C7265637420783D2232312220793D2234312220 + 66696C6C3D2223373839303943222077696474683D223622206865696768743D + 2232222F3E0D0A3C2F7376673E0D0A08000000740065006D0070006C00610074 + 0065007F0100003C7376672076657273696F6E3D22312220786D6C6E733D2268 + 7474703A2F2F7777772E77332E6F72672F323030302F73766722207669657742 + 6F783D223020302034382034382220656E61626C652D6261636B67726F756E64 + 3D226E657720302030203438203438223E0D0A202020203C7265637420783D22 + 342220793D2237222066696C6C3D2223424244454642222077696474683D2234 + 3022206865696768743D223334222F3E0D0A202020203C7265637420783D2239 + 2220793D223132222066696C6C3D2223334635314235222077696474683D2233 + 3022206865696768743D2235222F3E0D0A202020203C672066696C6C3D222332 + 3139364633223E0D0A20202020202020203C7265637420783D22392220793D22 + 3231222077696474683D22313322206865696768743D223136222F3E0D0A2020 + 2020202020203C7265637420783D2232362220793D223231222077696474683D + 22313322206865696768743D223136222F3E0D0A202020203C2F673E0D0A3C2F + 7376673E0D0A08000000740069006D0065006C0069006E006500520300003C73 + 76672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F777777 + 2E77332E6F72672F323030302F737667222076696577426F783D223020302034 + 382034382220656E61626C652D6261636B67726F756E643D226E657720302030 + 203438203438223E0D0A202020203C706174682066696C6C3D22233346353142 + 352220643D224D34322C32394832302E38632D302E352C302D312D302E322D31 + 2E342D302E366C2D332E372D332E37632D302E342D302E342D302E342D312C30 + 2D312E346C332E372D332E3763302E342D302E342C302E392D302E362C312E34 + 2D302E364834322063302E362C302C312C302E342C312C3176384334332C3238 + 2E362C34322E362C32392C34322C32397A222F3E0D0A202020203C7265637420 + 783D22392220793D2236222066696C6C3D222343464438444322207769647468 + 3D223222206865696768743D223336222F3E0D0A202020203C672066696C6C3D + 2223393041344145223E0D0A20202020202020203C636972636C652063783D22 + 3130222063793D2231302220723D2233222F3E0D0A20202020202020203C6369 + 72636C652063783D223130222063793D2232342220723D2233222F3E0D0A2020 + 2020202020203C636972636C652063783D223130222063793D2233382220723D + 2233222F3E0D0A202020203C2F673E0D0A202020203C706174682066696C6C3D + 22233434384146462220643D224D33342C34334832302E38632D302E352C302D + 312D302E322D312E342D302E366C2D332E372D332E37632D302E342D302E342D + 302E342D312C302D312E346C332E372D332E3763302E342D302E342C302E392D + 302E362C312E342D302E364833342063302E362C302C312C302E342C312C3176 + 384333352C34322E362C33342E362C34332C33342C34337A222F3E0D0A202020 + 203C706174682066696C6C3D22233030424344342220643D224D33352C313548 + 32302E38632D302E352C302D312D302E322D312E342D302E366C2D332E372D33 + 2E37632D302E342D302E342D302E342D312C302D312E346C332E372D332E3743 + 31392E382C352E322C32302E332C352C32302E382C354833352063302E362C30 + 2C312C302E342C312C3176384333362C31342E362C33352E362C31352C33352C + 31357A222F3E0D0A3C2F7376673E0D0A0900000074006F0064006F005F006C00 + 6900730074004C0200003C7376672076657273696F6E3D22312220786D6C6E73 + 3D22687474703A2F2F7777772E77332E6F72672F323030302F73766722207669 + 6577426F783D223020302034382034382220656E61626C652D6261636B67726F + 756E643D226E657720302030203438203438223E0D0A202020203C672066696C + 6C3D2223334635314235223E0D0A20202020202020203C706F6C79676F6E2070 + 6F696E74733D2231372E382C31382E312031302E342C32352E3420362E322C32 + 312E3320342C32332E352031302E342C32392E392032302C32302E33222F3E0D + 0A20202020202020203C706F6C79676F6E20706F696E74733D2231372E382C35 + 2E312031302E342C31322E3420362E322C382E3320342C31302E352031302E34 + 2C31362E392032302C372E33222F3E0D0A20202020202020203C706F6C79676F + 6E20706F696E74733D2231372E382C33312E312031302E342C33382E3420362E + 322C33342E3320342C33362E352031302E342C34322E392032302C33332E3322 + 2F3E0D0A202020203C2F673E0D0A202020203C672066696C6C3D222339304341 + 4639223E0D0A20202020202020203C7265637420783D2232342220793D223232 + 222077696474683D22323022206865696768743D2234222F3E0D0A2020202020 + 2020203C7265637420783D2232342220793D2239222077696474683D22323022 + 206865696768743D2234222F3E0D0A20202020202020203C7265637420783D22 + 32342220793D223335222077696474683D22323022206865696768743D223422 + 2F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A1600000074006F007500 + 63006800730063007200650065006E005F0073006D0061007200740070006800 + 6F006E006500920200003C7376672076657273696F6E3D22312220786D6C6E73 + 3D22687474703A2F2F7777772E77332E6F72672F323030302F73766722207669 + 6577426F783D223020302034382034382220656E61626C652D6261636B67726F + 756E643D226E657720302030203438203438223E0D0A202020203C7061746820 + 66696C6C3D22234533383933392220643D224D31322C3430563863302D322E32 + 2C312E382D342C342D3468313663322E322C302C342C312E382C342C34763332 + 63302C322E322D312E382C342D342C344831364331332E382C34342C31322C34 + 322E322C31322C34307A222F3E0D0A202020203C706174682066696C6C3D2223 + 4646463345302220643D224D33322C37483136632D302E362C302D312C302E34 + 2D312C3176323963302C302E362C302E342C312C312C3168313663302E362C30 + 2C312D302E342C312D3156384333332C372E342C33322E362C372C33322C377A + 222F3E0D0A202020203C636972636C652066696C6C3D22234136363432412220 + 63783D223234222063793D2234312220723D22312E35222F3E0D0A202020203C + 636972636C652066696C6C3D2223453931453633222063783D22323422206379 + 3D2232332220723D2232222F3E0D0A202020203C636972636C652066696C6C3D + 226E6F6E6522207374726F6B653D222346343846423122207374726F6B652D77 + 696474683D223222207374726F6B652D6D697465726C696D69743D2231302220 + 63783D223234222063793D2232332220723D2234222F3E0D0A202020203C6369 + 72636C652066696C6C3D226E6F6E6522207374726F6B653D2223463842424430 + 22207374726F6B652D6D697465726C696D69743D223130222063783D22323422 + 2063793D2232332220723D22362E35222F3E0D0A3C2F7376673E0D0A09000000 + 740072006100640065006D00610072006B00930100003C737667207665727369 + 6F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F + 323030302F737667222076696577426F783D223020302034382034382220656E + 61626C652D6261636B67726F756E643D226E657720302030203438203438223E + 0D0A202020203C636972636C652066696C6C3D2223394332374230222063783D + 223234222063793D2232342220723D223231222F3E0D0A202020203C67206669 + 6C6C3D2223453142454537223E0D0A20202020202020203C7061746820643D22 + 4D32302E362C31382E35682D342E327631342E32682D332E355631382E354838 + 2E37762D322E396831312E395631382E357A222F3E0D0A20202020202020203C + 7061746820643D224D32372E312C31352E364C33302E332C32386C332E322D31 + 322E3468342E357631372E31682D332E35762D342E366C302E332D372E316C2D + 332E342C31312E38682D322E344C32352E372C32316C302E332C372E3176342E + 36682D332E355631352E36204832372E317A222F3E0D0A202020203C2F673E0D + 0A3C2F7376673E0D0A0E00000074007200650065005F00730074007200750063 + 007400750072006500A00100003C7376672076657273696F6E3D22312220786D + 6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F73766722 + 2076696577426F783D223020302034382034382220656E61626C652D6261636B + 67726F756E643D226E657720302030203438203438223E0D0A202020203C706F + 6C79676F6E2066696C6C3D22233930434146392220706F696E74733D2233362E + 392C31332E382033352E312C31302E3220372E352C32342033352E312C33372E + 382033362E392C33342E322031362E352C3234222F3E0D0A202020203C726563 + 7420783D22362220793D223138222066696C6C3D222344383142363022207769 + 6474683D22313222206865696768743D223132222F3E0D0A202020203C672066 + 696C6C3D2223323139364633223E0D0A20202020202020203C7265637420783D + 2233302220793D2236222077696474683D22313222206865696768743D223132 + 222F3E0D0A20202020202020203C7265637420783D2233302220793D22333022 + 2077696474683D22313222206865696768743D223132222F3E0D0A202020203C + 2F673E0D0A3C2F7376673E0D0A0F000000740077006F005F0073006D00610072 + 007400700068006F006E0065007300C80200003C7376672076657273696F6E3D + 22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030 + 302F737667222076696577426F783D223020302034382034382220656E61626C + 652D6261636B67726F756E643D226E657720302030203438203438223E0D0A20 + 2020203C706174682066696C6C3D22233337343734462220643D224D362C3336 + 563863302D322E322C312E382D342C342D3468313463322E322C302C342C312E + 382C342C3476323863302C322E322D312E382C342D342C3448313043372E382C + 34302C362C33382E322C362C33367A222F3E0D0A202020203C70617468206669 + 6C6C3D22234242444546422220643D224D32342C3748313043392E342C372C39 + 2C372E342C392C3876323563302C302E362C302E342C312C312C316831346330 + 2E362C302C312D302E342C312D3156384332352C372E342C32342E362C372C32 + 342C377A222F3E0D0A202020203C7265637420783D2231342220793D22333622 + 2066696C6C3D2223373839303943222077696474683D22362220686569676874 + 3D2232222F3E0D0A202020203C706174682066696C6C3D222345333839333922 + 20643D224D32302C343056313263302D322E322C312E382D342C342D34683134 + 63322E322C302C342C312E382C342C3476323863302C322E322D312E382C342D + 342C344832344332312E382C34342C32302C34322E322C32302C34307A222F3E + 0D0A202020203C706174682066696C6C3D22234646463345302220643D224D33 + 382C3131483234632D302E362C302D312C302E342D312C3176323563302C302E + 362C302E342C312C312C3168313463302E362C302C312D302E342C312D315631 + 324333392C31312E342C33382E362C31312C33382C31317A222F3E0D0A202020 + 203C636972636C652066696C6C3D2223413636343241222063783D2233312220 + 63793D2234312220723D22312E35222F3E0D0A3C2F7376673E0D0A0400000075 + 006E0064006F002F0100003C7376672076657273696F6E3D22312220786D6C6E + 733D22687474703A2F2F7777772E77332E6F72672F323030302F737667222076 + 696577426F783D223020302034382034382220656E61626C652D6261636B6772 + 6F756E643D226E657720302030203438203438223E0D0A202020203C67206669 + 6C6C3D2223303042434434223E0D0A20202020202020203C706F6C79676F6E20 + 706F696E74733D22352C31382031392C362E332031392C32392E37222F3E0D0A + 20202020202020203C7061746820643D224D32382C3134483136763868313263 + 322E382C302C352C322E322C352C35732D322E322C352D352C35682D33763868 + 3363372E322C302C31332D352E382C31332D31335333352E322C31342C32382C + 31347A222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A060000007500 + 6E006C006F0063006B00940100003C7376672076657273696F6E3D2231222078 + 6D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F737667 + 222076696577426F783D223020302034382034382220656E61626C652D626163 + 6B67726F756E643D226E657720302030203438203438223E0D0A202020203C70 + 6174682066696C6C3D22233432343234322220643D224D32342C34632D352E35 + 2C302D31302C342E352D31302C313076346834762D3463302D332E332C322E37 + 2D362C362D3673362C322E372C362C3668344333342C382E352C32392E352C34 + 2C32342C347A222F3E0D0A202020203C706174682066696C6C3D222346423843 + 30302220643D224D33362C3434483132632D322E322C302D342D312E382D342D + 3456323263302D322E322C312E382D342C342D3468323463322E322C302C342C + 312E382C342C347631384334302C34322E322C33382E322C34342C33362C3434 + 7A222F3E0D0A202020203C636972636C652066696C6C3D222343373645303022 + 2063783D223234222063793D2233312220723D2233222F3E0D0A3C2F7376673E + 0D0A0200000075007000FD0000003C7376672076657273696F6E3D2231222078 + 6D6C6E733D22687474703A2F2F7777772E77332E6F72672F323030302F737667 + 222076696577426F783D223020302034382034382220656E61626C652D626163 + 6B67726F756E643D226E657720302030203438203438223E0D0A202020203C67 + 2066696C6C3D2223334635314235223E0D0A20202020202020203C706F6C7967 + 6F6E20706F696E74733D2232342C342033352E372C31382031322E332C313822 + 2F3E0D0A20202020202020203C7265637420783D2232302220793D2231352220 + 77696474683D223822206865696768743D223237222F3E0D0A202020203C2F67 + 3E0D0A3C2F7376673E0D0A07000000750070005F006C00650066007400100100 + 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F + 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 + 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 + 302030203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D22 + 233346353142352220706F696E74733D22342C31392031382C33302E37203138 + 2C372E33222F3E0D0A202020203C706174682066696C6C3D2223334635314235 + 2220643D224D34322C3237763133682D3856323763302D322E322D312E382D34 + 2D342D34483133762D386831374333362E362C31352C34322C32302E342C3432 + 2C32377A222F3E0D0A3C2F7376673E0D0A08000000750070005F007200690067 + 0068007400A60100003C7376672076657273696F6E3D22312220786D6C6E733D + 22687474703A2F2F7777772E77332E6F72672F323030302F7376672220766965 + 77426F783D223020302034382034382220656E61626C652D6261636B67726F75 + 6E643D226E657720302030203438203438223E0D0A202020203C706F6C79676F + 6E2066696C6C3D22233346353142352220706F696E74733D2234342C31392033 + 302C33302E372033302C372E33222F3E0D0A202020203C706174682066696C6C + 3D22233346353142352220643D224D362C3237763133683856323763302D322E + 322C312E382D342C342D34683137762D384831384331312E342C31352C362C32 + 302E342C362C32377A222F3E0D0A202020203C706F6C79676F6E2066696C6C3D + 22233346353142352220706F696E74733D2234342C31392033302C33302E3720 + 33302C372E33222F3E0D0A202020203C706174682066696C6C3D222333463531 + 42352220643D224D362C3237763133683856323763302D322E322C312E382D34 + 2C342D34683137762D384831384331312E342C31352C362C32302E342C362C32 + 377A222F3E0D0A3C2F7376673E0D0A06000000750070006C006F006100640097 + 0100003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A + 2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D22 + 3020302034382034382220656E61626C652D6261636B67726F756E643D226E65 + 7720302030203438203438223E0D0A202020203C672066696C6C3D2223303039 + 363838223E0D0A20202020202020203C706F6C79676F6E20706F696E74733D22 + 32342C31302E392033352C32342031332C3234222F3E0D0A2020202020202020 + 3C7265637420783D2232302220793D223430222077696474683D223822206865 + 696768743D2234222F3E0D0A20202020202020203C7265637420783D22323022 + 20793D223334222077696474683D223822206865696768743D2234222F3E0D0A + 20202020202020203C7265637420783D2232302220793D223231222077696474 + 683D223822206865696768743D223131222F3E0D0A20202020202020203C7265 + 637420783D22362220793D2234222077696474683D2233362220686569676874 + 3D2234222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A030000007500 + 73006200970800003C3F786D6C2076657273696F6E3D22312E302220656E636F + 64696E673D227574662D38223F3E0D0A3C212D2D2047656E657261746F723A20 + 41646F626520496C6C7573747261746F722031352E302E302C20535647204578 + 706F727420506C75672D496E202E205356472056657273696F6E3A20362E3030 + 204275696C6420302920202D2D3E0D0A3C21444F435459504520737667205055 + 424C494320222D2F2F5733432F2F4454442053564720312E312F2F454E222022 + 687474703A2F2F7777772E77332E6F72672F47726170686963732F5356472F31 + 2E312F4454442F73766731312E647464223E0D0A3C7376672076657273696F6E + 3D22312E31222020786D6C6E733D22687474703A2F2F7777772E77332E6F7267 + 2F323030302F7376672220786D6C6E733A786C696E6B3D22687474703A2F2F77 + 77772E77332E6F72672F313939392F786C696E6B2220783D223070782220793D + 22307078220D0A092077696474683D223438707822206865696768743D223438 + 7078222076696577426F783D223020302034382034382220656E61626C652D62 + 61636B67726F756E643D226E6577203020302034382034382220786D6C3A7370 + 6163653D227072657365727665223E0D0A3C706174682066696C6C3D22233135 + 363543302220643D224D33382E3730312C32342E333535682D322E3138396C2D + 302E3436372C322E32363563302C302C322E3237372C302C322E35312C306330 + 2E3233332C302C312E3534352D302E3136372C312E3534352D312E3236370D0A + 094334302E312C32342E3236362C33382E3730312C32342E3335352C33382E37 + 30312C32342E3335357A204D33392E3532312C32302E333339682D322E31356C + 2D302E3337342C312E37393663302C302C322E3136312C302C322E3333372C30 + 63302E3138382C302C312E3131332D302E3134362C312E3131332D312E303036 + 0D0A094334302E3434372C32302E3237312C33392E3532312C32302E3333392C + 33392E3532312C32302E3333397A204D34342E3036342C32332E31303963302C + 302C312E3433362D302E3734332C312E3433362D332E30393363302D332E3731 + 352D342E3337372D332E3531362D342E3337372D332E353136682D322E383635 + 0D0A096C302E3637342D3363302C302D31322E342C302D32302E3937312C3063 + 2D392E3334342C302D31322E3135382C362E3737342D31322E3135382C362E37 + 37344C352E3733362C32302E3548322E3534376C2D312E3034372C3668332E33 + 376C302E3030312C302E3134330D0A0963302C302D302E3238352C362E383537 + 2C31302E3436332C362E3835376331302E3734372C302C31392E3034322C302C + 31392E3034322C306C302E3637392D3363302E38342C302C322E322C302C342E + 3338392C3063342E3732392C302C352E3539312D332E3335342C352E3539312D + 342E390D0A094334352E3033322C32332E3833382C34342E3036342C32332E31 + 30392C34342E3036342C32332E3130397A222F3E0D0A3C706174682066696C6C + 3D22234646464646462220643D224D33382E3730312C32342E333535682D322E + 3138396C2D302E3436372C322E32363563302C302C322E3237372C302C322E35 + 312C3063302E3233332C302C312E3534352D302E3136372C312E3534352D312E + 3236370D0A094334302E312C32342E3236362C33382E3730312C32342E333535 + 2C33382E3730312C32342E3335357A204D33392E3532312C32302E333339682D + 322E31356C2D302E3337342C312E37393663302C302C322E3136312C302C322E + 3333372C3063302E3138382C302C312E3131332D302E3134362C312E3131332D + 312E3030360D0A094334302E3434372C32302E3237312C33392E3532312C3230 + 2E3333392C33392E3532312C32302E3333397A204D31342E3032322C32392E35 + 632D352E3330362C302D352E3330362D332E3632342D352E3233382D332E3938 + 3663302E3036392D302E3336332C312E3738392D382E3031342C312E3738392D + 382E3031340D0A0968332E38346C2D312E3335382C362E33353463302C302D30 + 2E3937312C322E3732382C312E3235312C322E37323863322E3038312C302C32 + 2E3333362D322E3533352C322E3333362D322E3533356C312E3436352D362E35 + 343368332E3833396C2D312E3538322C362E3937390D0A094332302E3336352C + 32342E34382C32302E3235382C32392E352C31342E3032322C32392E357A204D + 32362E3039382C32392E353231632D322E3637342C302D342E3935382D312E32 + 36322D342E3835362D342E313468332E34333863302C302E3537362C302E3038 + 362C312E3632372C312E3633332C312E3632370D0A0963302E3632372C302C31 + 2E3638382D302E3236362C312E3638382D312E31333363302D312E3633312D35 + 2E3539372D302E3738352D352E3539372D342E353763302D322E3036332C312E + 3839392D332E3738352C342E3938392D332E37383563342E3937362C302C342E + 3631332C332E3734392C342E3631332C332E3734390D0A09682D332E33363963 + 302D312E3034342D302E3636342D312E3230342D312E3436332D312E32303463 + 2D302E382C302D312E3337322C302E3334332D312E3337322C302E3934346330 + 2C312E3437312C352E3633342C302E3435362C352E3633342C342E3533310D0A + 094333312E3433362C32372E3330352C33302E3031322C32392E3532312C3236 + 2E3039382C32392E3532317A204D33392E3336362C32392E35632D302E343139 + 2C302D372E3531352C302D372E3531352C306C322E3630312D313263302C302C + 352E3434342C302C362E3535362C300D0A0963312E3131332C302C332E34332C + 302E3233342C332E34332C322E35343263302C322E3630322D322E3232372C33 + 2E3031332D322E3232372C332E30313373312E3736342C302E3430372C312E37 + 36342C322E3437334334332E3937352C32392E3435372C33392E3737352C3239 + 2E352C33392E3336362C32392E357A220D0A092F3E0D0A3C2F7376673E0D0A0A + 00000076006900640065006F005F00630061006C006C002A0100003C73766720 + 76657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E7733 + 2E6F72672F323030302F737667222076696577426F783D223020302034382034 + 382220656E61626C652D6261636B67726F756E643D226E657720302030203438 + 203438223E0D0A202020203C706174682066696C6C3D22233443414635302220 + 643D224D382C313268323263322E322C302C342C312E382C342C347631366330 + 2C322E322D312E382C342D342C344838632D322E322C302D342D312E382D342D + 3456313643342C31332E382C352E382C31322C382C31327A222F3E0D0A202020 + 203C706F6C79676F6E2066696C6C3D22233338384533432220706F696E74733D + 2234342C33352033342C32392033342C31392034342C3133222F3E0D0A3C2F73 + 76673E0D0A0A00000076006900640065006F005F00660069006C0065002D0100 + 003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F + 7777772E77332E6F72672F323030302F737667222076696577426F783D223020 + 302034382034382220656E61626C652D6261636B67726F756E643D226E657720 + 302030203438203438223E0D0A202020203C706F6C79676F6E2066696C6C3D22 + 233930434146392220706F696E74733D2234302C343520382C343520382C3320 + 33302C332034302C3133222F3E0D0A202020203C706F6C79676F6E2066696C6C + 3D22234531463546452220706F696E74733D2233382E352C31342032392C3134 + 2032392C342E35222F3E0D0A202020203C706F6C79676F6E2066696C6C3D2223 + 3139373644322220706F696E74733D2233302C32382032302C32322032302C33 + 34222F3E0D0A3C2F7376673E0D0A0F00000076006900640065006F005F007000 + 72006F006A006500630074006F007200E80500003C7376672076657273696F6E + 3D22312220786D6C6E733D22687474703A2F2F7777772E77332E6F72672F3230 + 30302F737667222076696577426F783D223020302034382034382220656E6162 + 6C652D6261636B67726F756E643D226E657720302030203438203438223E0D0A + 202020203C672066696C6C3D2223353436453741223E0D0A2020202020202020 + 3C7265637420783D22352220793D223334222077696474683D22362220686569 + 6768743D2233222F3E0D0A20202020202020203C7265637420783D2233372220 + 793D223334222077696474683D223622206865696768743D2233222F3E0D0A20 + 2020203C2F673E0D0A202020203C706174682066696C6C3D2223373839303943 + 2220643D224D34342C33354834632D322E322C302D342D312E382D342D345631 + 3763302D322E322C312E382D342C342D3468343063322E322C302C342C312E38 + 2C342C347631344334382C33332E322C34362E322C33352C34342C33357A222F + 3E0D0A202020203C672066696C6C3D2223333734373446223E0D0A2020202020 + 2020203C7265637420783D22352220793D223139222077696474683D22322220 + 6865696768743D2232222F3E0D0A20202020202020203C7265637420783D2235 + 2220793D223233222077696474683D223222206865696768743D2232222F3E0D + 0A20202020202020203C7265637420783D22352220793D223237222077696474 + 683D223222206865696768743D2232222F3E0D0A20202020202020203C726563 + 7420783D22392220793D223139222077696474683D223222206865696768743D + 2232222F3E0D0A20202020202020203C7265637420783D22392220793D223233 + 222077696474683D223222206865696768743D2232222F3E0D0A202020202020 + 20203C7265637420783D22392220793D223237222077696474683D2232222068 + 65696768743D2232222F3E0D0A20202020202020203C7265637420783D223133 + 2220793D223139222077696474683D223222206865696768743D2232222F3E0D + 0A20202020202020203C7265637420783D2231332220793D2232332220776964 + 74683D223222206865696768743D2232222F3E0D0A20202020202020203C7265 + 637420783D2231332220793D223237222077696474683D223222206865696768 + 743D2232222F3E0D0A20202020202020203C7265637420783D2231372220793D + 223139222077696474683D223222206865696768743D2232222F3E0D0A202020 + 20202020203C7265637420783D2231372220793D223233222077696474683D22 + 3222206865696768743D2232222F3E0D0A20202020202020203C726563742078 + 3D2231372220793D223237222077696474683D223222206865696768743D2232 + 222F3E0D0A20202020202020203C7265637420783D2232312220793D22313922 + 2077696474683D223222206865696768743D2232222F3E0D0A20202020202020 + 203C7265637420783D2232312220793D223233222077696474683D2232222068 + 65696768743D2232222F3E0D0A20202020202020203C7265637420783D223231 + 2220793D223237222077696474683D223222206865696768743D2232222F3E0D + 0A202020203C2F673E0D0A202020203C636972636C652066696C6C3D22233337 + 34373446222063783D223337222063793D2232342220723D2238222F3E0D0A20 + 2020203C636972636C652066696C6C3D2223613066222063783D223337222063 + 793D2232342220723D2236222F3E0D0A202020203C706174682066696C6C3D22 + 234541383046432220643D224D34302E372C32312E37632D312D312E312D322E + 332D312E372D332E372D312E37732D322E382C302E362D332E372C312E37632D + 302E342C302E342D302E332C312C302E312C312E3463302E342C302E342C312C + 302E332C312E342D302E312063312E322D312E332C332E332D312E332C342E35 + 2C3063302E322C302E322C302E352C302E332C302E372C302E3363302E322C30 + 2C302E352D302E312C302E372D302E334334312E312C32322E372C34312E312C + 32322E312C34302E372C32312E377A222F3E0D0A3C2F7376673E0D0A0C000000 + 76006900650077005F00640065007400610069006C007300790200003C737667 + 2076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777772E77 + 332E6F72672F323030302F737667222076696577426F783D2230203020343820 + 34382220656E61626C652D6261636B67726F756E643D226E6577203020302034 + 38203438223E0D0A202020203C7265637420783D22372220793D223422206669 + 6C6C3D2223424244454642222077696474683D22333422206865696768743D22 + 3430222F3E0D0A202020203C672066696C6C3D2223323139364633223E0D0A20 + 202020202020203C7265637420783D2231332220793D22323622207769647468 + 3D223422206865696768743D2234222F3E0D0A20202020202020203C72656374 + 20783D2231332220793D223138222077696474683D223422206865696768743D + 2234222F3E0D0A20202020202020203C7265637420783D2231332220793D2233 + 34222077696474683D223422206865696768743D2234222F3E0D0A2020202020 + 2020203C7265637420783D2231332220793D223130222077696474683D223422 + 206865696768743D2234222F3E0D0A20202020202020203C7265637420783D22 + 32312220793D223236222077696474683D22313422206865696768743D223422 + 2F3E0D0A20202020202020203C7265637420783D2232312220793D2231382220 + 77696474683D22313422206865696768743D2234222F3E0D0A20202020202020 + 203C7265637420783D2232312220793D223334222077696474683D2231342220 + 6865696768743D2234222F3E0D0A20202020202020203C7265637420783D2232 + 312220793D223130222077696474683D22313422206865696768743D2234222F + 3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A030000007600690070003A + 0200003C7376672076657273696F6E3D22312220786D6C6E733D22687474703A + 2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D22 + 3020302034382034382220656E61626C652D6261636B67726F756E643D226E65 + 7720302030203438203438223E0D0A202020203C706174682066696C6C3D2223 + 3838304534462220643D224D33382C3433483130632D322E322C302D342D312E + 382D342D3456313163302D322E322C312E382D342C342D3468323863322E322C + 302C342C312E382C342C347632384334322C34312E322C34302E322C34332C33 + 382C34337A222F3E0D0A202020203C672066696C6C3D2223464644353446223E + 0D0A20202020202020203C7061746820643D224D31352E392C32386C322E312D + 392E3168322E386C2D332E362C31322E36682D322E364C31312C31382E396832 + 2E384C31352E392C32387A222F3E0D0A20202020202020203C7061746820643D + 224D32352E362C33312E35682D322E355631382E3968322E355633312E357A22 + 2F3E0D0A20202020202020203C7061746820643D224D33312E322C32372E3176 + 342E34682D322E355631382E3968342E3363332E372C302C342E312C332E342C + 342E312C342E3263302C312E322D302E352C342D342E312C344833312E327A20 + 4D33312E322C32342E3968312E372063312E332C302C312E352D312E312C312E + 352D312E3963302D312E362D302E392D322E312D312E352D322E31682D312E37 + 5632342E397A222F3E0D0A202020203C2F673E0D0A3C2F7376673E0D0A030000 + 0076006C006300C80600003C3F786D6C2076657273696F6E3D22312E30222065 + 6E636F64696E673D227574662D38223F3E0D0A3C212D2D2047656E657261746F + 723A2041646F626520496C6C7573747261746F722031352E302E302C20535647 + 204578706F727420506C75672D496E202E205356472056657273696F6E3A2036 + 2E3030204275696C6420302920202D2D3E0D0A3C21444F435459504520737667 + 205055424C494320222D2F2F5733432F2F4454442053564720312E312F2F454E + 222022687474703A2F2F7777772E77332E6F72672F47726170686963732F5356 + 472F312E312F4454442F73766731312E647464223E0D0A3C7376672076657273 + 696F6E3D22312E31222020786D6C6E733D22687474703A2F2F7777772E77332E + 6F72672F323030302F7376672220786D6C6E733A786C696E6B3D22687474703A + 2F2F7777772E77332E6F72672F313939392F786C696E6B2220783D2230707822 + 20793D22307078220D0A092077696474683D223438707822206865696768743D + 2234387078222076696577426F783D223020302034382034382220656E61626C + 652D6261636B67726F756E643D226E6577203020302034382034382220786D6C + 3A73706163653D227072657365727665223E0D0A3C706174682066696C6C3D22 + 234635374330302220643D224D33362E3235382C32382E38333763302C302D30 + 2E31312D302E3833372D312E3235372D302E383337632D302E3231362C302D32 + 2E3339322C302D332E3731392C3063302E3739382C322E3637312C312E343937 + 2C352E3133352C312E3439372C352E3237390D0A0963302C322E3338372D332E + 3430312C332E3339332D382E3931372C332E333933632D352E3531352C302D38 + 2E3635312D302E39342D382E3635312D332E33323663302D302E3136372C302E + 3939382D322E3639322C312E3739312D352E333436632D312E3539312C302D33 + 2E3836332C302D342E3036332C300D0A09632D302E3830362C302D302E393337 + 2C302E3734392D302E3933372C302E3734394C382E3135392C34302E3938364C + 382E3831352C34326833302E3635326C302E3337362D312E3031344C33362E32 + 35382C32382E3833377A222F3E0D0A3C706174682066696C6C3D222345304530 + 45302220643D224D32342E3030312C36632D312E3032392C302D312E3836342C + 302E3137392D312E3836342C302E333938632D302E3439322C312E3438332D38 + 2E3132322C32362E3134332D382E3132322C32362E3737340D0A0963302C322E + 3338382C342E3437312C332E3832372C392E3938352C332E38323773392E3938 + 362D312E3433392C392E3938362D332E38323763302D302E3534392D372E3631 + 342D32352E3236382D382E3132322D32362E3737344332352E3836352C362E31 + 37392C32352E3033312C362C32342E3030312C360D0A094C32342E3030312C36 + 7A222F3E0D0A3C673E0D0A093C706174682066696C6C3D222346463938303022 + 20643D224D33332E3139362C33302E3434374333322E3033322C33322E323332 + 2C32382E3334312C33342C32342E3034362C3334632D342E33342C302D382E31 + 35362D312E3639362D392E3238312D332E35310D0A0909632D302E3439392C31 + 2E3438332D302E3839322C322E3634372D302E3839322C332E323863302C322E + 3338362C342E3533332C342E3232392C31302E3132382C342E32323963352E35 + 39352C302C31302E3133312D312E3834342C31302E3133312D342E3232390D0A + 09094333342E3133322C33332E3232322C33332E3731332C33312E3935352C33 + 332E3139362C33302E3434377A222F3E0D0A093C706174682066696C6C3D2223 + 4646393830302220643D224D33312E3338372C32342E3331346C2D322E303734 + 2D362E37393463302C302D312E3835372C312E3437392D352E3331312C312E34 + 3739632D332E3435332C302D352E3331362D312E3437392D352E3331362D312E + 3437396C2D322E3038312C362E3830360D0A090963302C302C322E3036382C32 + 2E3637342C372E3339372C322E3637344332392E3337352C32372C33312E3338 + 372C32342E3331342C33312E3338372C32342E3331347A222F3E0D0A093C7061 + 74682066696C6C3D22234646393830302220643D224D32372E3234312C31302E + 3830396C2D312E3337362D342E343163302C302D302E3038332D302E3339382D + 312E3836342D302E333938632D312E3834342C302D312E3836342C302E333938 + 2D312E3836342C302E3339386C2D312E3337362C342E3430370D0A090963302C + 302C302E3838352C312E3139342C332E3233392C312E3139344332362E333535 + 2C31322C32372E3234312C31302E3830392C32372E3234312C31302E3830397A + 222F3E0D0A3C2F673E0D0A3C2F7376673E0D0A1200000076006F006900630065 + 005F00700072006500730065006E0074006100740069006F006E006B0100003C + 7376672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F7777 + 772E77332E6F72672F323030302F737667222076696577426F783D2230203020 + 34382034382220656E61626C652D6261636B67726F756E643D226E6577203020 + 30203438203438223E0D0A202020203C706174682066696C6C3D222332313936 + 46332220643D224D34302C3232682D386C2D342C3456313263302D322E322C31 + 2E382D342C342D34683863322E322C302C342C312E382C342C3476364334342C + 32302E322C34322E322C32322C34302C32327A222F3E0D0A202020203C636972 + 636C652066696C6C3D2223464641373236222063783D223137222063793D2231 + 392220723D2238222F3E0D0A202020203C706174682066696C6C3D2223363037 + 4438422220643D224D33302C33362E3763302C302D332E362D362E372D31332D + 362E3753342C33362E372C342C33362E375634306832365633362E377A222F3E + 0D0A3C2F7376673E0D0A0900000076006F006900630065006D00610069006C00 + B10100003C7376672076657273696F6E3D22312220786D6C6E733D2268747470 + 3A2F2F7777772E77332E6F72672F323030302F737667222076696577426F783D + 223020302034382034382220656E61626C652D6261636B67726F756E643D226E + 657720302030203438203438223E0D0A202020203C706174682066696C6C3D22 + 233443414635302220643D224D34382C323463302D362E312D342E392D31312D + 31312D3131732D31312C342E392D31312C313163302C322E372C302E392C352E + 312C322E352C37682D3963312E362D312E392C322E352D342E332C322E352D37 + 63302D362E312D342E392D31312D31312D31312053302C31372E392C302C3234 + 73342E392C31312C31312C3131683237762D302E314334332E362C33342E342C + 34382C32392E372C34382C32347A204D342C323463302D332E392C332E312D37 + 2C372D3773372C332E312C372C37732D332E312C372D372C3753342C32372E39 + 2C342C32347A204D33372C333120632D332E392C302D372D332E312D372D3773 + 332E312D372C372D3763332E392C302C372C332E312C372C375334302E392C33 + 312C33372C33317A222F3E0D0A3C2F7376673E0D0A0600000077006500620063 + 0061006D00A20200003C7376672076657273696F6E3D22312220786D6C6E733D + 22687474703A2F2F7777772E77332E6F72672F323030302F7376672220766965 + 77426F783D223020302034382034382220656E61626C652D6261636B67726F75 + 6E643D226E657720302030203438203438223E0D0A202020203C706174682066 + 696C6C3D22233435354136342220643D224D33362E352C34344831312E35632D + 312E312C302D312E382D312E322D312E332D322E324C31332C33376832326C32 + 2E372C342E384333382E332C34322E382C33372E362C34342C33362E352C3434 + 7A222F3E0D0A202020203C636972636C652066696C6C3D222337383930394322 + 2063783D223234222063793D2232332220723D223138222F3E0D0A202020203C + 706174682066696C6C3D22233435354136342220643D224D32342C3335632D36 + 2E362C302D31322D352E342D31322D313263302D362E362C352E342D31322C31 + 322D31327331322C352E342C31322C31324333362C32392E362C33302E362C33 + 352C32342C33357A222F3E0D0A202020203C636972636C652066696C6C3D2223 + 343241354635222063783D223234222063793D2232332220723D2239222F3E0D + 0A202020203C706174682066696C6C3D22233930434146392220643D224D3238 + 2E382C3230632D312E322D312E342D332D322E322D342E382D322E32732D332E + 362C302E382D342E382C322E32632D302E352C302E352D302E342C312E332C30 + 2E312C312E3863302E352C302E352C312E332C302E342C312E382D302E312063 + 312E352D312E372C342E332D312E372C352E382C3063302E332C302E332C302E + 362C302E342C312C302E3463302E332C302C302E362D302E312C302E392D302E + 334332392E322C32312E342C32392E332C32302E352C32382E382C32307A222F + 3E0D0A3C2F7376673E0D0A0A000000770069002D00660069005F006C006F0067 + 006F00170600003C3F786D6C2076657273696F6E3D22312E302220656E636F64 + 696E673D227574662D38223F3E0D0A3C212D2D2047656E657261746F723A2041 + 646F626520496C6C7573747261746F722031352E302E302C2053564720457870 + 6F727420506C75672D496E202E205356472056657273696F6E3A20362E303020 + 4275696C6420302920202D2D3E0D0A3C21444F43545950452073766720505542 + 4C494320222D2F2F5733432F2F4454442053564720312E312F2F454E22202268 + 7474703A2F2F7777772E77332E6F72672F47726170686963732F5356472F312E + 312F4454442F73766731312E647464223E0D0A3C7376672076657273696F6E3D + 22312E31222020786D6C6E733D22687474703A2F2F7777772E77332E6F72672F + 323030302F7376672220786D6C6E733A786C696E6B3D22687474703A2F2F7777 + 772E77332E6F72672F313939392F786C696E6B2220783D223070782220793D22 + 307078220D0A092077696474683D223438707822206865696768743D22343870 + 78222076696577426F783D223020302034382034382220656E61626C652D6261 + 636B67726F756E643D226E6577203020302034382034382220786D6C3A737061 + 63653D227072657365727665223E0D0A3C673E0D0A093C706174682066696C6C + 3D22233346353142352220643D224D34362C32362E343863302C342E3532372D + 332E3236382C372E35322D372E332C372E353248392E32393943352E3236392C + 33342C322C33302E3633342C322C32362E34385632312E353243322C31372E33 + 36362C352E3236392C31342C392E3239392C31340D0A09094833382E3763342E + 3033322C302C372E332C332E3336362C372E332C372E35325632362E34387A22 + 2F3E0D0A093C656C6C697073652066696C6C3D2223334635314235222063783D + 223234222063793D223234222072783D2231342E393032222072793D22313522 + 2F3E0D0A3C2F673E0D0A3C673E0D0A093C706F6C79676F6E2066696C6C3D2223 + 4646464646462220706F696E74733D2231372C31392031342E3236342C313920 + 31332E3432372C32342E3835392031322E3338382C31392E30323820392E3933 + 2C31392E30323820382E3836342C32342E38353920382E3035342C31392E3032 + 3820352E3236362C31392E303238200D0A0909372E3539372C32392031302E30 + 35362C32392031312E31322C32322E3835342031322E3230392C32392031342E + 3639332C32392009222F3E0D0A093C7265637420783D2231392220793D223232 + 222066696C6C3D2223464646464646222077696474683D22322E353038222068 + 65696768743D2237222F3E0D0A093C706174682066696C6C3D22234646464646 + 462220643D224D32312E352C31392E3734374332312E352C32302E34342C3230 + 2E39342C32312C32302E32352C32315331392C32302E34342C31392C31392E37 + 343763302D302E3639362C302E35362D312E3235382C312E32352D312E323538 + 0D0A09095332312E352C31392E3035312C32312E352C31392E3734377A222F3E + 0D0A093C706174682066696C6C3D22234646464646462220643D224D33382E35 + 36312C3136632D342E3831382C302D372E3937392C302D372E3937392C305332 + 352C31362E3139332C32352C32312E39313476342E33333663302C302C302E31 + 30312C322E3934312D332C352E37356831362E3738350D0A090963302C302C35 + 2E3231352C302C352E3231352D352E35353363302D342E3837392C302D342E38 + 37392C302D342E3837395334332E3737322C31362C33382E3536312C31367A20 + 4D33372E3333392C32312E333639682D352E36353176322E32333668352E3039 + 3476322E333434682D352E3039345632394832395631390D0A090968382E3333 + 395632312E3336397A204D34302E32352C31382E34383963302E3638392C302C + 312E32352C302E3536322C312E32352C312E3235384334312E352C32302E3434 + 2C34302E3933392C32312C34302E32352C32315333392C32302E34342C33392C + 31392E3734370D0A09094333392C31392E3035312C33392E3536312C31382E34 + 38392C34302E32352C31382E3438397A204D34312E3530382C3239483339762D + 3768322E3530385632397A222F3E0D0A3C2F673E0D0A3C2F7376673E0D0A0900 + 0000770069006B006900700065006400690061002E0600003C3F786D6C207665 + 7273696F6E3D22312E302220656E636F64696E673D227574662D38223F3E0D0A + 3C212D2D2047656E657261746F723A2041646F626520496C6C7573747261746F + 722031352E302E302C20535647204578706F727420506C75672D496E202E2053 + 56472056657273696F6E3A20362E3030204275696C6420302920202D2D3E0D0A + 3C21444F435459504520737667205055424C494320222D2F2F5733432F2F4454 + 442053564720312E312F2F454E222022687474703A2F2F7777772E77332E6F72 + 672F47726170686963732F5356472F312E312F4454442F73766731312E647464 + 223E0D0A3C7376672076657273696F6E3D22312E31222020786D6C6E733D2268 + 7474703A2F2F7777772E77332E6F72672F323030302F7376672220786D6C6E73 + 3A786C696E6B3D22687474703A2F2F7777772E77332E6F72672F313939392F78 + 6C696E6B2220783D223070782220793D22307078220D0A092077696474683D22 + 3438707822206865696768743D2234387078222076696577426F783D22302030 + 2034382034382220656E61626C652D6261636B67726F756E643D226E65772030 + 20302034382034382220786D6C3A73706163653D227072657365727665223E0D + 0A3C706174682066696C6C3D22234346443844432220643D224D362C31306330 + 2D322E3230392C312E3739312D342C342D3468323863322E3230392C302C342C + 312E3739312C342C3476323863302C322E3230392D312E3739312C342D342C34 + 483130632D322E3230392C302D342D312E3739312D342D345631307A222F3E0D + 0A3C706174682066696C6C3D22233337343734462220643D224D33392C31372E + 32373163302C302E3139312D302E3134382C302E3334392D302E3333342C302E + 333439682D312E3739396C2D382E3136342C31382E313739632D302E3035322C + 302E31322D302E31372C302E322D302E3239372C302E323032682D302E303034 + 0D0A09632D302E3132372C302D302E3234322D302E3037342D302E3239382D30 + 2E3139336C2D332E3837342D382E3033396C2D342E31382C382E303439632D30 + 2E30362C302E3131362D302E3136372C302E3138312D302E3330332C302E3138 + 340D0A09632D302E3132352D302E3030342D302E3233392D302E3038322D302E + 3239322D302E3139396C2D382E3235322D31382E313832682D312E383743392E + 3134392C31372E3631392C392C31372E3436322C392C31372E3237315631362E + 333543392C31362E3135352C392E3134392C31362C392E3333332C313668362E + 3635370D0A0963302E3138342C302C302E3333332C302E3135352C302E333333 + 2C302E333576302E39323163302C302E3139312D302E3134392C302E3334392D + 302E3333332C302E333439682D312E3433336C352E3639362C31332E3734386C + 322E3936342D352E3739336C2D332E3735372D372E393533682D302E3930340D + 0A09632D302E3138342C302D302E3333332D302E3135372D302E3333332D302E + 33355631362E333563302D302E3139312C302E3134392D302E3334382C302E33 + 33332D302E33343868342E39323463302E3138342C302C302E3333332C302E31 + 35362C302E3333332C302E33343876302E3932320D0A0963302C302E3139322D + 302E3134392C302E33352D302E3333332C302E3335682D302E3836376C322E31 + 36322C342E3934386C322E3537322D342E3934384832352E3737632D302E3138 + 372C302D302E3333342D302E3135372D302E3333342D302E33355631362E3335 + 0D0A0963302D302E3139312C302E3134372D302E3334382C302E3333342D302E + 33343868342E37383463302E3138372C302C302E3333332C302E3135362C302E + 3333332C302E33343876302E39323263302C302E3139322D302E3134362C302E + 33352D302E3333332C302E3335682D312E30356C2D332E3735372C372E313431 + 0D0A096C332E3036332C362E3538346C352E3930352D31332E373235682D312E + 383732632D302E3138342C302D302E3333342D302E3135372D302E3333342D30 + 2E33355631362E333563302D302E3139312C302E31352D302E3334382C302E33 + 33342D302E33343868352E3832320D0A0963302E3138362C302C302E3333342C + 302E3135362C302E3333342C302E3334385631372E3237317A222F3E0D0A3C2F + 7376673E0D0A0800000077006F0072006B0066006C006F007700540300003C73 + 76672076657273696F6E3D22312220786D6C6E733D22687474703A2F2F777777 + 2E77332E6F72672F323030302F737667222076696577426F783D223020302034 + 382034382220656E61626C652D6261636B67726F756E643D226E657720302030 + 203438203438223E0D0A202020203C7265637420783D22372220793D22333122 + 2066696C6C3D2223303042434434222077696474683D22313022206865696768 + 743D223130222F3E0D0A202020203C706174682066696C6C3D22233030424344 + 342220643D224D33352E332C31392E336C2D352E362D352E36632D302E342D30 + 2E342D302E342D312C302D312E346C352E362D352E3663302E342D302E342C31 + 2D302E342C312E342C306C352E362C352E3663302E342C302E342C302E342C31 + 2C302C312E34206C2D352E362C352E364333362E332C31392E372C33352E372C + 31392E372C33352E332C31392E337A222F3E0D0A202020203C636972636C6520 + 66696C6C3D2223334635314235222063783D223132222063793D223133222072 + 3D2236222F3E0D0A202020203C636972636C652066696C6C3D22233434384146 + 46222063783D223336222063793D2233362220723D2236222F3E0D0A20202020 + 3C672066696C6C3D2223393041344145223E0D0A20202020202020203C726563 + 7420783D2231312220793D223234222077696474683D22322220686569676874 + 3D2235222F3E0D0A20202020202020203C706F6C79676F6E20706F696E74733D + 2231322C323120392C32352031352C3235222F3E0D0A202020203C2F673E0D0A + 202020203C672066696C6C3D2223393041344145223E0D0A2020202020202020 + 3C7265637420783D2232302220793D223132222077696474683D223522206865 + 696768743D2232222F3E0D0A20202020202020203C706F6C79676F6E20706F69 + 6E74733D2232382C31332032342C31302032342C3136222F3E0D0A202020203C + 2F673E0D0A202020203C672066696C6C3D2223393041344145223E0D0A202020 + 20202020203C7265637420783D2233352220793D223231222077696474683D22 + 3222206865696768743D2235222F3E0D0A20202020202020203C706F6C79676F + 6E20706F696E74733D2233362C32392033392C32352033332C3235222F3E0D0A + 202020203C2F673E0D0A3C2F7376673E0D0A} + end +end diff --git a/Demo/Source/UDataModule.pas b/Demo/Source/UDataModule.pas index 4baaedd3..e46838c8 100644 --- a/Demo/Source/UDataModule.pas +++ b/Demo/Source/UDataModule.pas @@ -1,26 +1,26 @@ -unit UDataModule; - -interface - -uses - System.SysUtils, System.Classes, SVGIconImageCollection; - -type - TImageDataModule = class(TDataModule) - SVGIconImageCollection: TSVGIconImageCollection; - private - { Private declarations } - public - { Public declarations } - end; - -var - ImageDataModule: TImageDataModule; - -implementation - -{%CLASSGROUP 'Vcl.Controls.TControl'} - -{$R *.dfm} - -end. +unit UDataModule; + +interface + +uses + System.SysUtils, System.Classes, SVGIconImageCollection; + +type + TImageDataModule = class(TDataModule) + SVGIconImageCollection: TSVGIconImageCollection; + private + { Private declarations } + public + { Public declarations } + end; + +var + ImageDataModule: TImageDataModule; + +implementation + +{%CLASSGROUP 'Vcl.Controls.TControl'} + +{$R *.dfm} + +end. diff --git a/Demo/Source/UIconPickerFMX.fmx b/Demo/Source/UIconPickerFMX.fmx index 6549085c..b418ad4d 100644 --- a/Demo/Source/UIconPickerFMX.fmx +++ b/Demo/Source/UIconPickerFMX.fmx @@ -1,133 +1,133 @@ -object IconPicker: TIconPicker - Left = 0 - Top = 0 - Caption = 'FMX - SVG Icon Picker' - ClientHeight = 587 - ClientWidth = 548 - FormFactor.Width = 320 - FormFactor.Height = 480 - FormFactor.Devices = [Desktop] - OnCreate = FormCreate - DesignerMasterStyle = 0 - object Preview: TGroupBox - Position.X = 8.000000000000000000 - Position.Y = 296.000000000000000000 - Size.Width = 537.000000000000000000 - Size.Height = 281.000000000000000000 - Size.PlatformDefault = False - Text = 'Preview' - TabOrder = 4 - object Image16x16: TImage - MultiResBitmap = < - item - end> - Position.X = 7.000000000000000000 - Position.Y = 24.000000000000000000 - Size.Width = 16.000000000000000000 - Size.Height = 16.000000000000000000 - Size.PlatformDefault = False - end - object Image32x32: TImage - MultiResBitmap = < - item - end> - Position.X = 25.000000000000000000 - Position.Y = 24.000000000000000000 - Size.Width = 32.000000000000000000 - Size.Height = 32.000000000000000000 - Size.PlatformDefault = False - end - object Image64x64: TImage - MultiResBitmap = < - item - end> - Position.X = 59.000000000000000000 - Position.Y = 24.000000000000000000 - Size.Width = 64.000000000000000000 - Size.Height = 64.000000000000000000 - Size.PlatformDefault = False - end - object Image90x90: TImage - MultiResBitmap = < - item - end> - Position.X = 126.000000000000000000 - Position.Y = 24.000000000000000000 - Size.Width = 90.000000000000000000 - Size.Height = 90.000000000000000000 - Size.PlatformDefault = False - end - object Image120x120: TImage - MultiResBitmap = < - item - end> - Position.X = 219.000000000000000000 - Position.Y = 24.000000000000000000 - Size.Width = 120.000000000000000000 - Size.Height = 120.000000000000000000 - Size.PlatformDefault = False - end - object Image100x100: TImage - MultiResBitmap = < - item - end> - Position.X = 347.000000000000000000 - Position.Y = 24.000000000000000000 - Size.Width = 100.000000000000000000 - Size.Height = 100.000000000000000000 - Size.PlatformDefault = False - end - end - object Label1: TLabel - Position.X = 8.000000000000000000 - Position.Y = 19.000000000000000000 - Text = 'Path' - TabOrder = 2 - end - object edtPath: TEdit - Touch.InteractiveGestures = [LongTap, DoubleTap] - TabOrder = 3 - Text = 'D:\ETHEA\SVGIconImageList\Demo\flat-color-icons\svg\' - Position.X = 8.000000000000000000 - Position.Y = 36.000000000000000000 - Size.Width = 353.000000000000000000 - Size.Height = 22.000000000000000000 - Size.PlatformDefault = False - end - object Label2: TLabel - Position.X = 8.000000000000000000 - Position.Y = 63.000000000000000000 - Text = 'File Name' - TabOrder = 0 - end - object edtFileName: TEdit - Touch.InteractiveGestures = [LongTap, DoubleTap] - TabOrder = 1 - Text = 'about.svg' - Position.X = 8.000000000000000000 - Position.Y = 80.000000000000000000 - Size.Width = 217.000000000000000000 - Size.Height = 22.000000000000000000 - Size.PlatformDefault = False - end - object Memo: TMemo - Touch.InteractiveGestures = [Pan, LongTap, DoubleTap] - DataDetectorTypes = [] - Position.X = 8.000000000000000000 - Position.Y = 112.000000000000000000 - Size.Width = 529.000000000000000000 - Size.Height = 185.000000000000000000 - Size.PlatformDefault = False - TabOrder = 5 - OnExit = MemoExit - Viewport.Width = 525.000000000000000000 - Viewport.Height = 181.000000000000000000 - end - object LoadButton: TButton - Position.X = 288.000000000000000000 - Position.Y = 80.000000000000000000 - TabOrder = 6 - Text = 'LoadButton' - OnClick = LoadButtonClick - end -end +object IconPicker: TIconPicker + Left = 0 + Top = 0 + Caption = 'FMX - SVG Icon Picker' + ClientHeight = 587 + ClientWidth = 548 + FormFactor.Width = 320 + FormFactor.Height = 480 + FormFactor.Devices = [Desktop] + OnCreate = FormCreate + DesignerMasterStyle = 0 + object Preview: TGroupBox + Position.X = 8.000000000000000000 + Position.Y = 296.000000000000000000 + Size.Width = 537.000000000000000000 + Size.Height = 281.000000000000000000 + Size.PlatformDefault = False + Text = 'Preview' + TabOrder = 4 + object Image16x16: TImage + MultiResBitmap = < + item + end> + Position.X = 7.000000000000000000 + Position.Y = 24.000000000000000000 + Size.Width = 16.000000000000000000 + Size.Height = 16.000000000000000000 + Size.PlatformDefault = False + end + object Image32x32: TImage + MultiResBitmap = < + item + end> + Position.X = 25.000000000000000000 + Position.Y = 24.000000000000000000 + Size.Width = 32.000000000000000000 + Size.Height = 32.000000000000000000 + Size.PlatformDefault = False + end + object Image64x64: TImage + MultiResBitmap = < + item + end> + Position.X = 59.000000000000000000 + Position.Y = 24.000000000000000000 + Size.Width = 64.000000000000000000 + Size.Height = 64.000000000000000000 + Size.PlatformDefault = False + end + object Image90x90: TImage + MultiResBitmap = < + item + end> + Position.X = 126.000000000000000000 + Position.Y = 24.000000000000000000 + Size.Width = 90.000000000000000000 + Size.Height = 90.000000000000000000 + Size.PlatformDefault = False + end + object Image120x120: TImage + MultiResBitmap = < + item + end> + Position.X = 219.000000000000000000 + Position.Y = 24.000000000000000000 + Size.Width = 120.000000000000000000 + Size.Height = 120.000000000000000000 + Size.PlatformDefault = False + end + object Image100x100: TImage + MultiResBitmap = < + item + end> + Position.X = 347.000000000000000000 + Position.Y = 24.000000000000000000 + Size.Width = 100.000000000000000000 + Size.Height = 100.000000000000000000 + Size.PlatformDefault = False + end + end + object Label1: TLabel + Position.X = 8.000000000000000000 + Position.Y = 19.000000000000000000 + Text = 'Path' + TabOrder = 2 + end + object edtPath: TEdit + Touch.InteractiveGestures = [LongTap, DoubleTap] + TabOrder = 3 + Text = 'D:\ETHEA\SVGIconImageList\Demo\flat-color-icons\svg\' + Position.X = 8.000000000000000000 + Position.Y = 36.000000000000000000 + Size.Width = 353.000000000000000000 + Size.Height = 22.000000000000000000 + Size.PlatformDefault = False + end + object Label2: TLabel + Position.X = 8.000000000000000000 + Position.Y = 63.000000000000000000 + Text = 'File Name' + TabOrder = 0 + end + object edtFileName: TEdit + Touch.InteractiveGestures = [LongTap, DoubleTap] + TabOrder = 1 + Text = 'about.svg' + Position.X = 8.000000000000000000 + Position.Y = 80.000000000000000000 + Size.Width = 217.000000000000000000 + Size.Height = 22.000000000000000000 + Size.PlatformDefault = False + end + object Memo: TMemo + Touch.InteractiveGestures = [Pan, LongTap, DoubleTap] + DataDetectorTypes = [] + Position.X = 8.000000000000000000 + Position.Y = 112.000000000000000000 + Size.Width = 529.000000000000000000 + Size.Height = 185.000000000000000000 + Size.PlatformDefault = False + TabOrder = 5 + OnExit = MemoExit + Viewport.Width = 525.000000000000000000 + Viewport.Height = 181.000000000000000000 + end + object LoadButton: TButton + Position.X = 288.000000000000000000 + Position.Y = 80.000000000000000000 + TabOrder = 6 + Text = 'LoadButton' + OnClick = LoadButtonClick + end +end diff --git a/Demo/Source/UIconPickerFMX.pas b/Demo/Source/UIconPickerFMX.pas index ace0a422..d9531277 100644 --- a/Demo/Source/UIconPickerFMX.pas +++ b/Demo/Source/UIconPickerFMX.pas @@ -1,185 +1,185 @@ -{******************************************************************************} -{ } -{ Icon Fonts ImageList: An extended ImageList for Delphi/FireMonkey } -{ to simplify use of Icons (resize, colors and more...) } -{ } -{ Copyright (c) 2019-2020 (Ethea S.r.l.) } -{ Author: Carlo Barazzetta } -{ } -{ https://github.com/EtheaDev/IconFontsImageList } -{ } -{******************************************************************************} -{ } -{ Licensed under the Apache License, Version 2.0 (the "License"); } -{ you may not use this file except in compliance with the License. } -{ You may obtain a copy of the License at } -{ } -{ http://www.apache.org/licenses/LICENSE-2.0 } -{ } -{ Unless required by applicable law or agreed to in writing, software } -{ distributed under the License is distributed on an "AS IS" BASIS, } -{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } -{ See the License for the specific language governing permissions and } -{ limitations under the License. } -{ } -{******************************************************************************} -unit UIconPickerFMX; - -interface - -uses - System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, - FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, - System.ImageList, FMX.ImgList, FMX.StdCtrls, FMX.Layouts, FMX.ExtCtrls, - FMX.Colors, FMX.Controls.Presentation, FMX.Edit, FMX.ListBox, FMX.Objects, - FMX.ScrollBox, FMX.Memo, SVG; - -type - TIconPicker = class(TForm) - Preview: TGroupBox; - Image16x16: TImage; - Image32x32: TImage; - Image64x64: TImage; - Label1: TLabel; - edtPath: TEdit; - Image90x90: TImage; - Label2: TLabel; - edtFileName: TEdit; - Image120x120: TImage; - Memo: TMemo; - LoadButton: TButton; - Image100x100: TImage; - procedure LoadButtonClick(Sender: TObject); - procedure FormCreate(Sender: TObject); - procedure MemoExit(Sender: TObject); - private - FSVG: TSVG; - procedure UpdatePreview; - procedure DrawIcon(const Size: Integer; - const ImageViewer: TImage); - public - - { Public declarations } - end; - -var - IconPicker: TIconPicker; - -implementation - -{$R *.fmx} - -uses - Winapi.GDIPOBJ - , Winapi.GDIPAPI - , SVGTypes; - -procedure PaintToBitmap(const ABitmap: TBitmap; const ASVG: TSVG); -var - GPGraphics: TGPGraphics; - GPBitmap: TGPBitmap; - GPRectF: TGPRectF; - RectArray: TRectarray; - GPRect: TGPRect; - GPBitmapData: Winapi.GDIPAPI.TBitmapData; - BitmapData: FMX.Graphics.TBitmapData; - Bitmap: TBitmap; - Source: PByte; - Dest: PByte; - Y: Integer; -begin - GPBitmap := TGPBitmap.Create(ABitmap.Canvas.Width, ABitmap.Canvas.Height); - GPGraphics := TGPGraphics.Create(GPBitmap); - try - GPGraphics.SetSmoothingMode(SmoothingModeAntiAlias); - GPRectF.X := 0; - GPRectF.Y := 0; - GPRectF.Width := ABitmap.Width; - GPRectF.Height := ABitmap.Height; - - RectArray := TRectArray.Create(TRect.Create(0, 0, ABitmap.Width, ABitmap.Height)); - ASVG.PaintTo(GPGraphics, GPRectF, @RectArray, 1); - - GPRect.X := 0; - GPRect.Y := 0; - GPRect.Width := GPBitmap.GetWidth; - GPRect.Height := GPBitmap.GetHeight; - - GPBitmap.LockBits(GPRect, ImageLockModeRead, PixelFormat32bppPARGB, GPBitmapData); - - Bitmap := TBitmap.Create(GPRect.Width, GPRect.Height); - try - Bitmap.Map(TMapAccess.Write, BitmapData); - - Source := GPBitmapData.Scan0; - Dest := BitmapData.Data; - for Y := 0 to GPBitmapData.Height - 1 do - begin - Move(Source^, Dest^, GPBitmapData.Stride); - Source := Source + GPBitmapData.Stride; - Dest := Dest + BitmapData.Pitch; - end; - - Bitmap.Unmap(BitmapData); - ABitmap.Canvas.BeginScene; - Try - ABitmap.Canvas.DrawBitmap(Bitmap, TRectF.Create(0, 0, ABitmap.Width, ABitmap.Height), - TRectF.Create(0, 0, ABitmap.Width, ABitmap.Height), 100); - Finally - ABitmap.Canvas.EndScene; - End; - finally - Bitmap.Free; - end; - - GPBitmap.UnlockBits(GPBitmapData); - finally - GPGraphics.Free; - GPBitmap.Free; - end; -end; - -procedure TIconPicker.DrawIcon(const Size: Integer; - const ImageViewer: TImage); -begin - ImageViewer.Bitmap.Width := Size; - ImageViewer.Bitmap.Height := Size; - PaintToBitmap(ImageViewer.Bitmap, FSVG); -end; - -procedure TIconPicker.FormCreate(Sender: TObject); -begin - FSVG := TSVG.Create; -end; - -procedure TIconPicker.LoadButtonClick(Sender: TObject); -var - LFileName: string; -begin - LFileName := edtPath.Text + edtFileName.Text; - FSVG.LoadFromFile(LFileName); - UpdatePreview; -end; - -procedure TIconPicker.MemoExit(Sender: TObject); -begin - FSVG.LoadFromText(Memo.Lines.Text); - UpdatePreview; -end; - -procedure TIconPicker.UpdatePreview; -begin - Memo.Lines.Text := FSVG.Source; -(* - DrawIcon( 16, Image16x16); - DrawIcon( 32, Image32x32); - DrawIcon( 64, Image64x64); - DrawIcon( 90, Image90x90); - DrawIcon(120, Image120x120); -*) - DrawIcon(100, Image100x100); -end; - - - -end. +{******************************************************************************} +{ } +{ Icon Fonts ImageList: An extended ImageList for Delphi/FireMonkey } +{ to simplify use of Icons (resize, colors and more...) } +{ } +{ Copyright (c) 2019-2020 (Ethea S.r.l.) } +{ Author: Carlo Barazzetta } +{ } +{ https://github.com/EtheaDev/IconFontsImageList } +{ } +{******************************************************************************} +{ } +{ Licensed under the Apache License, Version 2.0 (the "License"); } +{ you may not use this file except in compliance with the License. } +{ You may obtain a copy of the License at } +{ } +{ http://www.apache.org/licenses/LICENSE-2.0 } +{ } +{ Unless required by applicable law or agreed to in writing, software } +{ distributed under the License is distributed on an "AS IS" BASIS, } +{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } +{ See the License for the specific language governing permissions and } +{ limitations under the License. } +{ } +{******************************************************************************} +unit UIconPickerFMX; + +interface + +uses + System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, + FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, + System.ImageList, FMX.ImgList, FMX.StdCtrls, FMX.Layouts, FMX.ExtCtrls, + FMX.Colors, FMX.Controls.Presentation, FMX.Edit, FMX.ListBox, FMX.Objects, + FMX.ScrollBox, FMX.Memo, SVG; + +type + TIconPicker = class(TForm) + Preview: TGroupBox; + Image16x16: TImage; + Image32x32: TImage; + Image64x64: TImage; + Label1: TLabel; + edtPath: TEdit; + Image90x90: TImage; + Label2: TLabel; + edtFileName: TEdit; + Image120x120: TImage; + Memo: TMemo; + LoadButton: TButton; + Image100x100: TImage; + procedure LoadButtonClick(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure MemoExit(Sender: TObject); + private + FSVG: TSVG; + procedure UpdatePreview; + procedure DrawIcon(const Size: Integer; + const ImageViewer: TImage); + public + + { Public declarations } + end; + +var + IconPicker: TIconPicker; + +implementation + +{$R *.fmx} + +uses + Winapi.GDIPOBJ + , Winapi.GDIPAPI + , SVGTypes; + +procedure PaintToBitmap(const ABitmap: TBitmap; const ASVG: TSVG); +var + GPGraphics: TGPGraphics; + GPBitmap: TGPBitmap; + GPRectF: TGPRectF; + RectArray: TRectarray; + GPRect: TGPRect; + GPBitmapData: Winapi.GDIPAPI.TBitmapData; + BitmapData: FMX.Graphics.TBitmapData; + Bitmap: TBitmap; + Source: PByte; + Dest: PByte; + Y: Integer; +begin + GPBitmap := TGPBitmap.Create(ABitmap.Canvas.Width, ABitmap.Canvas.Height); + GPGraphics := TGPGraphics.Create(GPBitmap); + try + GPGraphics.SetSmoothingMode(SmoothingModeAntiAlias); + GPRectF.X := 0; + GPRectF.Y := 0; + GPRectF.Width := ABitmap.Width; + GPRectF.Height := ABitmap.Height; + + RectArray := TRectArray.Create(TRect.Create(0, 0, ABitmap.Width, ABitmap.Height)); + ASVG.PaintTo(GPGraphics, GPRectF, @RectArray, 1); + + GPRect.X := 0; + GPRect.Y := 0; + GPRect.Width := GPBitmap.GetWidth; + GPRect.Height := GPBitmap.GetHeight; + + GPBitmap.LockBits(GPRect, ImageLockModeRead, PixelFormat32bppPARGB, GPBitmapData); + + Bitmap := TBitmap.Create(GPRect.Width, GPRect.Height); + try + Bitmap.Map(TMapAccess.Write, BitmapData); + + Source := GPBitmapData.Scan0; + Dest := BitmapData.Data; + for Y := 0 to GPBitmapData.Height - 1 do + begin + Move(Source^, Dest^, GPBitmapData.Stride); + Source := Source + GPBitmapData.Stride; + Dest := Dest + BitmapData.Pitch; + end; + + Bitmap.Unmap(BitmapData); + ABitmap.Canvas.BeginScene; + Try + ABitmap.Canvas.DrawBitmap(Bitmap, TRectF.Create(0, 0, ABitmap.Width, ABitmap.Height), + TRectF.Create(0, 0, ABitmap.Width, ABitmap.Height), 100); + Finally + ABitmap.Canvas.EndScene; + End; + finally + Bitmap.Free; + end; + + GPBitmap.UnlockBits(GPBitmapData); + finally + GPGraphics.Free; + GPBitmap.Free; + end; +end; + +procedure TIconPicker.DrawIcon(const Size: Integer; + const ImageViewer: TImage); +begin + ImageViewer.Bitmap.Width := Size; + ImageViewer.Bitmap.Height := Size; + PaintToBitmap(ImageViewer.Bitmap, FSVG); +end; + +procedure TIconPicker.FormCreate(Sender: TObject); +begin + FSVG := TSVG.Create; +end; + +procedure TIconPicker.LoadButtonClick(Sender: TObject); +var + LFileName: string; +begin + LFileName := edtPath.Text + edtFileName.Text; + FSVG.LoadFromFile(LFileName); + UpdatePreview; +end; + +procedure TIconPicker.MemoExit(Sender: TObject); +begin + FSVG.LoadFromText(Memo.Lines.Text); + UpdatePreview; +end; + +procedure TIconPicker.UpdatePreview; +begin + Memo.Lines.Text := FSVG.Source; +(* + DrawIcon( 16, Image16x16); + DrawIcon( 32, Image32x32); + DrawIcon( 64, Image64x64); + DrawIcon( 90, Image90x90); + DrawIcon(120, Image120x120); +*) + DrawIcon(100, Image100x100); +end; + + + +end. diff --git a/Demo/Source/USVGIconImageFMX.fmx b/Demo/Source/USVGIconImageFMX.fmx index 4b637000..ae050840 100644 --- a/Demo/Source/USVGIconImageFMX.fmx +++ b/Demo/Source/USVGIconImageFMX.fmx @@ -1,57 +1,57 @@ -object SVGIconImageForm: TSVGIconImageForm - Left = 0 - Top = 0 - Caption = - 'SVGIcon Image Demo - Copyright (c) Ethea S.r.l. - Apache 2.0 Ope' + - 'n Source License' - ClientHeight = 228 - ClientWidth = 201 - FormFactor.Width = 320 - FormFactor.Height = 480 - FormFactor.Devices = [Desktop] - OnCreate = FormCreate - DesignerMasterStyle = 0 - object SVGIconImage: TSVGIconImage - MultiResBitmap.Height = 16 - MultiResBitmap.Width = 16 - MultiResBitmap = < - item - Opacity = 1.000000000000000000 - Size = 182 - IconName = 'low-priority' - SVGText = - ' ' - end> - Align = Client - DisableInterpolation = True - Size.Width = 201.000000000000000000 - Size.Height = 182.000000000000000000 - Size.PlatformDefault = False - OnResize = SVGIconImageResize - BitmapSize = 201 - end - object Panel1: TPanel - Align = Bottom - Position.Y = 182.000000000000000000 - Size.Width = 201.000000000000000000 - Size.Height = 46.000000000000000000 - Size.PlatformDefault = False - TabOrder = 1 - object Button: TButton - Position.X = 8.000000000000000000 - Position.Y = 8.000000000000000000 - Size.Width = 89.000000000000000000 - Size.Height = 33.000000000000000000 - Size.PlatformDefault = False - TabOrder = 1 - Text = 'Next Icon...' - OnClick = ButtonClick - end - end -end +object SVGIconImageForm: TSVGIconImageForm + Left = 0 + Top = 0 + Caption = + 'SVGIcon Image Demo - Copyright (c) Ethea S.r.l. - Apache 2.0 Ope' + + 'n Source License' + ClientHeight = 228 + ClientWidth = 201 + FormFactor.Width = 320 + FormFactor.Height = 480 + FormFactor.Devices = [Desktop] + OnCreate = FormCreate + DesignerMasterStyle = 0 + object SVGIconImage: TSVGIconImage + MultiResBitmap.Height = 16 + MultiResBitmap.Width = 16 + MultiResBitmap = < + item + Opacity = 1.000000000000000000 + Size = 182 + IconName = 'low-priority' + SVGText = + ' ' + end> + Align = Client + DisableInterpolation = True + Size.Width = 201.000000000000000000 + Size.Height = 182.000000000000000000 + Size.PlatformDefault = False + OnResize = SVGIconImageResize + BitmapSize = 201 + end + object Panel1: TPanel + Align = Bottom + Position.Y = 182.000000000000000000 + Size.Width = 201.000000000000000000 + Size.Height = 46.000000000000000000 + Size.PlatformDefault = False + TabOrder = 1 + object Button: TButton + Position.X = 8.000000000000000000 + Position.Y = 8.000000000000000000 + Size.Width = 89.000000000000000000 + Size.Height = 33.000000000000000000 + Size.PlatformDefault = False + TabOrder = 1 + Text = 'Next Icon...' + OnClick = ButtonClick + end + end +end diff --git a/Demo/Source/USVGIconImageFMX.pas b/Demo/Source/USVGIconImageFMX.pas index b36a66e6..1a6a7fa9 100644 --- a/Demo/Source/USVGIconImageFMX.pas +++ b/Demo/Source/USVGIconImageFMX.pas @@ -1,75 +1,75 @@ -unit USVGIconImageFMX; - -interface - -uses - System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, - FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, - FMX.Controls.Presentation, FMX.StdCtrls, FMX.ImgList, - FMX.Objects, FMX.MultiresBitmap, System.Rtti, System.Messaging, - FMX.ListBox, FMX.Colors, FMX.SVGIconImage; - -type - TSVGIconImageForm = class(TForm) - SVGIconImage: TSVGIconImage; - Button: TButton; - Panel1: TPanel; - procedure FormCreate(Sender: TObject); - procedure ButtonClick(Sender: TObject); - procedure SVGIconImageResize(Sender: TObject); - private - FSVGList: TStringDynArray; - FIndex: Integer; - public - { Public declarations } - end; - -var - SVGIconImageForm: TSVGIconImageForm; - -implementation - -uses - System.Math - , SVG - , System.IOUtils - , FMX.Consts; - -{$R *.fmx} - -procedure TSVGIconImageForm.ButtonClick(Sender: TObject); -var - I: Integer; - LFileName: string; - LItem: TSVGIconFixedBitmapItem; -begin - Inc(FIndex); - if FIndex > High(FSVGList) then - FIndex := 0; - LFileName := FSVGList[FIndex]; - LItem := SVGIconImage.MultiResBitmap[0] as TSVGIconFixedBitmapItem; - LItem.SVG.LoadFromFile(LFileName); - LItem.DrawSVGIcon; - SVGIconImage.Repaint; -end; - -procedure TSVGIconImageForm.FormCreate(Sender: TObject); -var - LPath, LFileName: string; - I: Integer; -begin - LPath := GetCurrentDir+PathDelim+'..\flat-color-icons\svg\'; - TDirectory.SetCurrentDirectory(LPath); - FSVGList := TDirectory.GetFiles(LPath, '*.svg'); - FIndex := 0; -end; - -procedure TSVGIconImageForm.SVGIconImageResize(Sender: TObject); -begin - ; -end; - -initialization - ReportMemoryLeaksOnShutdown := True; - -end. +unit USVGIconImageFMX; + +interface + +uses + System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants, + FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, + FMX.Controls.Presentation, FMX.StdCtrls, FMX.ImgList, + FMX.Objects, FMX.MultiresBitmap, System.Rtti, System.Messaging, + FMX.ListBox, FMX.Colors, FMX.SVGIconImage; + +type + TSVGIconImageForm = class(TForm) + SVGIconImage: TSVGIconImage; + Button: TButton; + Panel1: TPanel; + procedure FormCreate(Sender: TObject); + procedure ButtonClick(Sender: TObject); + procedure SVGIconImageResize(Sender: TObject); + private + FSVGList: TStringDynArray; + FIndex: Integer; + public + { Public declarations } + end; + +var + SVGIconImageForm: TSVGIconImageForm; + +implementation + +uses + System.Math + , SVG + , System.IOUtils + , FMX.Consts; + +{$R *.fmx} + +procedure TSVGIconImageForm.ButtonClick(Sender: TObject); +var + I: Integer; + LFileName: string; + LItem: TSVGIconFixedBitmapItem; +begin + Inc(FIndex); + if FIndex > High(FSVGList) then + FIndex := 0; + LFileName := FSVGList[FIndex]; + LItem := SVGIconImage.MultiResBitmap[0] as TSVGIconFixedBitmapItem; + LItem.SVG.LoadFromFile(LFileName); + LItem.DrawSVGIcon; + SVGIconImage.Repaint; +end; + +procedure TSVGIconImageForm.FormCreate(Sender: TObject); +var + LPath, LFileName: string; + I: Integer; +begin + LPath := GetCurrentDir+PathDelim+'..\flat-color-icons\svg\'; + TDirectory.SetCurrentDirectory(LPath); + FSVGList := TDirectory.GetFiles(LPath, '*.svg'); + FIndex := 0; +end; + +procedure TSVGIconImageForm.SVGIconImageResize(Sender: TObject); +begin + ; +end; + +initialization + ReportMemoryLeaksOnShutdown := True; + +end. diff --git a/Demo/flat-color-icons/LICENSE.md b/Demo/flat-color-icons/LICENSE.md index 37a1cbc7..f3acd541 100644 --- a/Demo/flat-color-icons/LICENSE.md +++ b/Demo/flat-color-icons/LICENSE.md @@ -1,14 +1,14 @@ -#Good Boy License -We’ve released the icon pack under either MIT or the [Good Boy License](https://icons8.com/good-boy-license/). We invented it. Please do _whatever your mom would approve of:_ - -##Permitted Use - -* Download in any format -* Change -* Fork - -##Prohibited Use - -* No tattoos -* No touching with unwashed hands -* No exchanging for drugs. +#Good Boy License +We’ve released the icon pack under either MIT or the [Good Boy License](https://icons8.com/good-boy-license/). We invented it. Please do _whatever your mom would approve of:_ + +##Permitted Use + +* Download in any format +* Change +* Fork + +##Prohibited Use + +* No tattoos +* No touching with unwashed hands +* No exchanging for drugs. diff --git a/Demo/flat-color-icons/README.md b/Demo/flat-color-icons/README.md index 5a79f735..f8a35803 100644 --- a/Demo/flat-color-icons/README.md +++ b/Demo/flat-color-icons/README.md @@ -1,58 +1,58 @@ -# Icons8 Flat Color Icons - -**For High-Class Bitches** - -You must be spoiled by expensive gifts and won't be impressed. Stop reading. - -**For the Rest of Us** - -Now that we are alone, let us give you something: 312 free icons for personal and commercial use. No credits required. - -But hey, don't get spoiled too quickly. Next time, when we present you with a Tiffany ring, at least pretend you're impressed! - -[![Preview of Flat Icons from Icons8](https://cdnd.icons8.com/download/images/flat-color-icons.png)](https://icons8.github.io/flat-color-icons/) - -There is available a live [preview](https://icons8.github.io/flat-color-icons/) of the icon set. - -##Good Boy License -We’ve released the icon pack either under MIT or the [Good Boy License](https://icons8.com/good-boy-license/). We invented it. Please do _whatever your mom would approve of:_ -* Download -* Change -* Fork - -No tattoos! - -## More Color Icons - -These 317 icons are the part of a bigger pack available for a fee: https://icons8.com/color-icons (4500 icons as of February 2017). - -## Author - -* [Home Page](https://icons8.com/color-icons) -* [Project Blog](https://icons8.com/blog) -* [Twitter](https://twitter.com/icons_8) -* [Facebook Page](https://www.facebook.com/Icons8) -* [Dribbble](https://dribbble.com/icons8) - -## Installing Icons8 flat color icons - -You can install this package locally either with `npm`, `bower`, or `jspm`. - -### npm - -```shell -npm install flat-color-icons -``` - -### bower - -```shell -bower install flat-color-icons -``` - -## Questions or Ideas? - -If you have any questions or ideas about icons, please feel free to contact us any way you'd prefer -* create an [issue](https://github.com/icons8/flat-color-icons/issues) on github -* tweet us [@Icons_8](https://twitter.com/icons_8) -* drop a comment on [icons8.com](https://icons8.com/c). +# Icons8 Flat Color Icons + +**For High-Class Bitches** + +You must be spoiled by expensive gifts and won't be impressed. Stop reading. + +**For the Rest of Us** + +Now that we are alone, let us give you something: 312 free icons for personal and commercial use. No credits required. + +But hey, don't get spoiled too quickly. Next time, when we present you with a Tiffany ring, at least pretend you're impressed! + +[![Preview of Flat Icons from Icons8](https://cdnd.icons8.com/download/images/flat-color-icons.png)](https://icons8.github.io/flat-color-icons/) + +There is available a live [preview](https://icons8.github.io/flat-color-icons/) of the icon set. + +##Good Boy License +We’ve released the icon pack either under MIT or the [Good Boy License](https://icons8.com/good-boy-license/). We invented it. Please do _whatever your mom would approve of:_ +* Download +* Change +* Fork + +No tattoos! + +## More Color Icons + +These 317 icons are the part of a bigger pack available for a fee: https://icons8.com/color-icons (4500 icons as of February 2017). + +## Author + +* [Home Page](https://icons8.com/color-icons) +* [Project Blog](https://icons8.com/blog) +* [Twitter](https://twitter.com/icons_8) +* [Facebook Page](https://www.facebook.com/Icons8) +* [Dribbble](https://dribbble.com/icons8) + +## Installing Icons8 flat color icons + +You can install this package locally either with `npm`, `bower`, or `jspm`. + +### npm + +```shell +npm install flat-color-icons +``` + +### bower + +```shell +bower install flat-color-icons +``` + +## Questions or Ideas? + +If you have any questions or ideas about icons, please feel free to contact us any way you'd prefer +* create an [issue](https://github.com/icons8/flat-color-icons/issues) on github +* tweet us [@Icons_8](https://twitter.com/icons_8) +* drop a comment on [icons8.com](https://icons8.com/c). diff --git a/Demo/flat-color-icons/bower.json b/Demo/flat-color-icons/bower.json index 62ff3743..2b77f2cf 100644 --- a/Demo/flat-color-icons/bower.json +++ b/Demo/flat-color-icons/bower.json @@ -1,15 +1,15 @@ -{ - "name": "flat-color-icons", - "version": "1.0.2", - "author": "Icons8", - "description": "A collection of flat color icons", - "keywords": [ - "icons", - "material", - "flat", - "color", - "Icons8" - ], - "license": "CC-BY-4.0", - "homepage": "https://github.com/icons8/flat-color-icons" +{ + "name": "flat-color-icons", + "version": "1.0.2", + "author": "Icons8", + "description": "A collection of flat color icons", + "keywords": [ + "icons", + "material", + "flat", + "color", + "Icons8" + ], + "license": "CC-BY-4.0", + "homepage": "https://github.com/icons8/flat-color-icons" } \ No newline at end of file diff --git a/Demo/flat-color-icons/index.html b/Demo/flat-color-icons/index.html index 04df95ee..19747ece 100644 --- a/Demo/flat-color-icons/index.html +++ b/Demo/flat-color-icons/index.html @@ -1,402 +1,402 @@ - - - - - - - - Yay! Icons8 has been colored. - - - - -

Flat Color Icons by Icons8

- -

Photo and Video

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- -

Very Basic

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- -

Business

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- -

Industry

-

- - - - - - - - - - - - - - - - - - - - - - - - - - -

- -

Mobile

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- -

Arrows

-

- - - - - - - - - - - - - - - - - - - - - - -

- -

Data

-

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

- - -

- icons8.com -
-
- GitHub -      - Twitter -      - Facebook -      - Google+ -

- - - - + + + + + + + + Yay! Icons8 has been colored. + + + + +

Flat Color Icons by Icons8

+ +

Photo and Video

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ +

Very Basic

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ +

Business

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ +

Industry

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + +

+ +

Mobile

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ +

Arrows

+

+ + + + + + + + + + + + + + + + + + + + + + +

+ +

Data

+

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+ + +

+ icons8.com +
+
+ GitHub +      + Twitter +      + Facebook +      + Google+ +

+ + + + diff --git a/Demo/flat-color-icons/package.json b/Demo/flat-color-icons/package.json index 63cbfb83..83bb35cb 100644 --- a/Demo/flat-color-icons/package.json +++ b/Demo/flat-color-icons/package.json @@ -1,23 +1,23 @@ -{ - "name": "flat-color-icons", - "version": "1.0.2", - "description": "Icons8 has been colored", - "main": "index.html", - "repository": { - "type": "git", - "url": "https://github.com/icons8/flat-color-icons" - }, - "keywords": [ - "icons", - "material", - "flat", - "color", - "Icons8" - ], - "author": "Icons8", - "license": "MIT OR Good-Boy", - "bugs": { - "url": "https://github.com/icons8/flat-color-icons/issues" - }, - "homepage": "https://github.com/icons8/flat-color-icons" -} +{ + "name": "flat-color-icons", + "version": "1.0.2", + "description": "Icons8 has been colored", + "main": "index.html", + "repository": { + "type": "git", + "url": "https://github.com/icons8/flat-color-icons" + }, + "keywords": [ + "icons", + "material", + "flat", + "color", + "Icons8" + ], + "author": "Icons8", + "license": "MIT OR Good-Boy", + "bugs": { + "url": "https://github.com/icons8/flat-color-icons/issues" + }, + "homepage": "https://github.com/icons8/flat-color-icons" +} diff --git a/Demo/flat-color-icons/svg/about.svg b/Demo/flat-color-icons/svg/about.svg index 103d75b2..0f597b68 100644 --- a/Demo/flat-color-icons/svg/about.svg +++ b/Demo/flat-color-icons/svg/about.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/accept_database.svg b/Demo/flat-color-icons/svg/accept_database.svg index 53525640..2197ef36 100644 --- a/Demo/flat-color-icons/svg/accept_database.svg +++ b/Demo/flat-color-icons/svg/accept_database.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/add_column.svg b/Demo/flat-color-icons/svg/add_column.svg index c1b8f65d..1c179be2 100644 --- a/Demo/flat-color-icons/svg/add_column.svg +++ b/Demo/flat-color-icons/svg/add_column.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/add_database.svg b/Demo/flat-color-icons/svg/add_database.svg index 06d349a2..7866c59e 100644 --- a/Demo/flat-color-icons/svg/add_database.svg +++ b/Demo/flat-color-icons/svg/add_database.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/add_image.svg b/Demo/flat-color-icons/svg/add_image.svg index b78248c0..f755261f 100644 --- a/Demo/flat-color-icons/svg/add_image.svg +++ b/Demo/flat-color-icons/svg/add_image.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/add_row.svg b/Demo/flat-color-icons/svg/add_row.svg index f29717a9..3d254c4b 100644 --- a/Demo/flat-color-icons/svg/add_row.svg +++ b/Demo/flat-color-icons/svg/add_row.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/address_book.svg b/Demo/flat-color-icons/svg/address_book.svg index ed90c848..d300c8eb 100644 --- a/Demo/flat-color-icons/svg/address_book.svg +++ b/Demo/flat-color-icons/svg/address_book.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Demo/flat-color-icons/svg/advance.svg b/Demo/flat-color-icons/svg/advance.svg index b214160b..3f5dbb3d 100644 --- a/Demo/flat-color-icons/svg/advance.svg +++ b/Demo/flat-color-icons/svg/advance.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/advertising.svg b/Demo/flat-color-icons/svg/advertising.svg index a5ba71c3..dd8c1400 100644 --- a/Demo/flat-color-icons/svg/advertising.svg +++ b/Demo/flat-color-icons/svg/advertising.svg @@ -1,13 +1,13 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/alarm_clock.svg b/Demo/flat-color-icons/svg/alarm_clock.svg index 6ba198c7..73794ec7 100644 --- a/Demo/flat-color-icons/svg/alarm_clock.svg +++ b/Demo/flat-color-icons/svg/alarm_clock.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/alphabetical_sorting_az.svg b/Demo/flat-color-icons/svg/alphabetical_sorting_az.svg index 66a4a4c3..28e97a29 100644 --- a/Demo/flat-color-icons/svg/alphabetical_sorting_az.svg +++ b/Demo/flat-color-icons/svg/alphabetical_sorting_az.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/alphabetical_sorting_za.svg b/Demo/flat-color-icons/svg/alphabetical_sorting_za.svg index 63d9a7e6..8a8e5391 100644 --- a/Demo/flat-color-icons/svg/alphabetical_sorting_za.svg +++ b/Demo/flat-color-icons/svg/alphabetical_sorting_za.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/android_os.svg b/Demo/flat-color-icons/svg/android_os.svg index 27b4571e..028c485f 100644 --- a/Demo/flat-color-icons/svg/android_os.svg +++ b/Demo/flat-color-icons/svg/android_os.svg @@ -1,21 +1,21 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/answers.svg b/Demo/flat-color-icons/svg/answers.svg index 336cb46b..229a90e6 100644 --- a/Demo/flat-color-icons/svg/answers.svg +++ b/Demo/flat-color-icons/svg/answers.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/approval.svg b/Demo/flat-color-icons/svg/approval.svg index c2cd45a8..0fc8b8c9 100644 --- a/Demo/flat-color-icons/svg/approval.svg +++ b/Demo/flat-color-icons/svg/approval.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/approve.svg b/Demo/flat-color-icons/svg/approve.svg index 79a96c89..624db8ab 100644 --- a/Demo/flat-color-icons/svg/approve.svg +++ b/Demo/flat-color-icons/svg/approve.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/area_chart.svg b/Demo/flat-color-icons/svg/area_chart.svg index 57a93524..c40864dc 100644 --- a/Demo/flat-color-icons/svg/area_chart.svg +++ b/Demo/flat-color-icons/svg/area_chart.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/assistant.svg b/Demo/flat-color-icons/svg/assistant.svg index 3f344d52..9f63d6f6 100644 --- a/Demo/flat-color-icons/svg/assistant.svg +++ b/Demo/flat-color-icons/svg/assistant.svg @@ -1,17 +1,17 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/audio_file.svg b/Demo/flat-color-icons/svg/audio_file.svg index b5fb1cae..35f7950f 100644 --- a/Demo/flat-color-icons/svg/audio_file.svg +++ b/Demo/flat-color-icons/svg/audio_file.svg @@ -1,15 +1,15 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/automatic.svg b/Demo/flat-color-icons/svg/automatic.svg index cefdfd7f..2b3e2f9e 100644 --- a/Demo/flat-color-icons/svg/automatic.svg +++ b/Demo/flat-color-icons/svg/automatic.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/automotive.svg b/Demo/flat-color-icons/svg/automotive.svg index afd35a96..6d4b655c 100644 --- a/Demo/flat-color-icons/svg/automotive.svg +++ b/Demo/flat-color-icons/svg/automotive.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/bad_decision.svg b/Demo/flat-color-icons/svg/bad_decision.svg index 2ea9fcf6..8263573c 100644 --- a/Demo/flat-color-icons/svg/bad_decision.svg +++ b/Demo/flat-color-icons/svg/bad_decision.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/bar_chart.svg b/Demo/flat-color-icons/svg/bar_chart.svg index eefa5925..6136b5e4 100644 --- a/Demo/flat-color-icons/svg/bar_chart.svg +++ b/Demo/flat-color-icons/svg/bar_chart.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/bbc.svg b/Demo/flat-color-icons/svg/bbc.svg index 3c2ef611..92ee4310 100644 --- a/Demo/flat-color-icons/svg/bbc.svg +++ b/Demo/flat-color-icons/svg/bbc.svg @@ -1,13 +1,13 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/bearish.svg b/Demo/flat-color-icons/svg/bearish.svg index e1ec8734..f7f83938 100644 --- a/Demo/flat-color-icons/svg/bearish.svg +++ b/Demo/flat-color-icons/svg/bearish.svg @@ -1,15 +1,15 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/binoculars.svg b/Demo/flat-color-icons/svg/binoculars.svg index dfc4b2a4..d4e2ace7 100644 --- a/Demo/flat-color-icons/svg/binoculars.svg +++ b/Demo/flat-color-icons/svg/binoculars.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/biohazard.svg b/Demo/flat-color-icons/svg/biohazard.svg index f787daba..5deb9e7d 100644 --- a/Demo/flat-color-icons/svg/biohazard.svg +++ b/Demo/flat-color-icons/svg/biohazard.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/biomass.svg b/Demo/flat-color-icons/svg/biomass.svg index 398147c3..0f4cbde0 100644 --- a/Demo/flat-color-icons/svg/biomass.svg +++ b/Demo/flat-color-icons/svg/biomass.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/biotech.svg b/Demo/flat-color-icons/svg/biotech.svg index ff74791a..81aaa461 100644 --- a/Demo/flat-color-icons/svg/biotech.svg +++ b/Demo/flat-color-icons/svg/biotech.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/bookmark.svg b/Demo/flat-color-icons/svg/bookmark.svg index c2158e25..141d6013 100644 --- a/Demo/flat-color-icons/svg/bookmark.svg +++ b/Demo/flat-color-icons/svg/bookmark.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Demo/flat-color-icons/svg/briefcase.svg b/Demo/flat-color-icons/svg/briefcase.svg index 094ba81c..8c0d70ae 100644 --- a/Demo/flat-color-icons/svg/briefcase.svg +++ b/Demo/flat-color-icons/svg/briefcase.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/broken_link.svg b/Demo/flat-color-icons/svg/broken_link.svg index bc47a299..c220f362 100644 --- a/Demo/flat-color-icons/svg/broken_link.svg +++ b/Demo/flat-color-icons/svg/broken_link.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/bullish.svg b/Demo/flat-color-icons/svg/bullish.svg index 74e403d6..9a234588 100644 --- a/Demo/flat-color-icons/svg/bullish.svg +++ b/Demo/flat-color-icons/svg/bullish.svg @@ -1,15 +1,15 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/business.svg b/Demo/flat-color-icons/svg/business.svg index a5aa79db..f4da0b3d 100644 --- a/Demo/flat-color-icons/svg/business.svg +++ b/Demo/flat-color-icons/svg/business.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/business_contact.svg b/Demo/flat-color-icons/svg/business_contact.svg index b6a5d616..13fb0228 100644 --- a/Demo/flat-color-icons/svg/business_contact.svg +++ b/Demo/flat-color-icons/svg/business_contact.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/businessman.svg b/Demo/flat-color-icons/svg/businessman.svg index b9666fa4..041a6ef2 100644 --- a/Demo/flat-color-icons/svg/businessman.svg +++ b/Demo/flat-color-icons/svg/businessman.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/businesswoman.svg b/Demo/flat-color-icons/svg/businesswoman.svg index 61b90231..143e964a 100644 --- a/Demo/flat-color-icons/svg/businesswoman.svg +++ b/Demo/flat-color-icons/svg/businesswoman.svg @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/butting_in.svg b/Demo/flat-color-icons/svg/butting_in.svg index 64383104..dd07cb74 100644 --- a/Demo/flat-color-icons/svg/butting_in.svg +++ b/Demo/flat-color-icons/svg/butting_in.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/cable_release.svg b/Demo/flat-color-icons/svg/cable_release.svg index a2090496..682a291a 100644 --- a/Demo/flat-color-icons/svg/cable_release.svg +++ b/Demo/flat-color-icons/svg/cable_release.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Demo/flat-color-icons/svg/calculator.svg b/Demo/flat-color-icons/svg/calculator.svg index 776f1786..00fb4960 100644 --- a/Demo/flat-color-icons/svg/calculator.svg +++ b/Demo/flat-color-icons/svg/calculator.svg @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/calendar.svg b/Demo/flat-color-icons/svg/calendar.svg index f5332b16..e11125e5 100644 --- a/Demo/flat-color-icons/svg/calendar.svg +++ b/Demo/flat-color-icons/svg/calendar.svg @@ -1,26 +1,26 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/call_transfer.svg b/Demo/flat-color-icons/svg/call_transfer.svg index 5ed2675b..84ce4cb4 100644 --- a/Demo/flat-color-icons/svg/call_transfer.svg +++ b/Demo/flat-color-icons/svg/call_transfer.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/callback.svg b/Demo/flat-color-icons/svg/callback.svg index 668b5682..11d80b79 100644 --- a/Demo/flat-color-icons/svg/callback.svg +++ b/Demo/flat-color-icons/svg/callback.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/camcorder.svg b/Demo/flat-color-icons/svg/camcorder.svg index 40a34308..7befe36a 100644 --- a/Demo/flat-color-icons/svg/camcorder.svg +++ b/Demo/flat-color-icons/svg/camcorder.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/camcorder_pro.svg b/Demo/flat-color-icons/svg/camcorder_pro.svg index 888e303d..bc732c20 100644 --- a/Demo/flat-color-icons/svg/camcorder_pro.svg +++ b/Demo/flat-color-icons/svg/camcorder_pro.svg @@ -1,15 +1,15 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/camera.svg b/Demo/flat-color-icons/svg/camera.svg index 02760fcf..4cdaf812 100644 --- a/Demo/flat-color-icons/svg/camera.svg +++ b/Demo/flat-color-icons/svg/camera.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/camera_addon.svg b/Demo/flat-color-icons/svg/camera_addon.svg index ab332707..27df2f62 100644 --- a/Demo/flat-color-icons/svg/camera_addon.svg +++ b/Demo/flat-color-icons/svg/camera_addon.svg @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/camera_identification.svg b/Demo/flat-color-icons/svg/camera_identification.svg index 68336349..beceb41d 100644 --- a/Demo/flat-color-icons/svg/camera_identification.svg +++ b/Demo/flat-color-icons/svg/camera_identification.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/cancel.svg b/Demo/flat-color-icons/svg/cancel.svg index 22ee42a9..bb3b3b6c 100644 --- a/Demo/flat-color-icons/svg/cancel.svg +++ b/Demo/flat-color-icons/svg/cancel.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Demo/flat-color-icons/svg/candle_sticks.svg b/Demo/flat-color-icons/svg/candle_sticks.svg index 65516512..b50059eb 100644 --- a/Demo/flat-color-icons/svg/candle_sticks.svg +++ b/Demo/flat-color-icons/svg/candle_sticks.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/capacitor.svg b/Demo/flat-color-icons/svg/capacitor.svg index c4d8c362..30e652e2 100644 --- a/Demo/flat-color-icons/svg/capacitor.svg +++ b/Demo/flat-color-icons/svg/capacitor.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/cd_logo.svg b/Demo/flat-color-icons/svg/cd_logo.svg index e03bfcad..f8e99c06 100644 --- a/Demo/flat-color-icons/svg/cd_logo.svg +++ b/Demo/flat-color-icons/svg/cd_logo.svg @@ -1,40 +1,40 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/cell_phone.svg b/Demo/flat-color-icons/svg/cell_phone.svg index 6fb9b381..1283c6a4 100644 --- a/Demo/flat-color-icons/svg/cell_phone.svg +++ b/Demo/flat-color-icons/svg/cell_phone.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/charge_battery.svg b/Demo/flat-color-icons/svg/charge_battery.svg index 1c706bfb..d3dc77f4 100644 --- a/Demo/flat-color-icons/svg/charge_battery.svg +++ b/Demo/flat-color-icons/svg/charge_battery.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/checkmark.svg b/Demo/flat-color-icons/svg/checkmark.svg index 044cc1e5..05fac780 100644 --- a/Demo/flat-color-icons/svg/checkmark.svg +++ b/Demo/flat-color-icons/svg/checkmark.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Demo/flat-color-icons/svg/circuit.svg b/Demo/flat-color-icons/svg/circuit.svg index 64b3262c..aa3ff065 100644 --- a/Demo/flat-color-icons/svg/circuit.svg +++ b/Demo/flat-color-icons/svg/circuit.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/clapperboard.svg b/Demo/flat-color-icons/svg/clapperboard.svg index c6851abf..d198cc8c 100644 --- a/Demo/flat-color-icons/svg/clapperboard.svg +++ b/Demo/flat-color-icons/svg/clapperboard.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/clear_filters.svg b/Demo/flat-color-icons/svg/clear_filters.svg index 978f5882..a74c630f 100644 --- a/Demo/flat-color-icons/svg/clear_filters.svg +++ b/Demo/flat-color-icons/svg/clear_filters.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/clock.svg b/Demo/flat-color-icons/svg/clock.svg index e84d2c85..793327b1 100644 --- a/Demo/flat-color-icons/svg/clock.svg +++ b/Demo/flat-color-icons/svg/clock.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/close_up_mode.svg b/Demo/flat-color-icons/svg/close_up_mode.svg index 7bc47e1d..12c81890 100644 --- a/Demo/flat-color-icons/svg/close_up_mode.svg +++ b/Demo/flat-color-icons/svg/close_up_mode.svg @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/cloth.svg b/Demo/flat-color-icons/svg/cloth.svg index fe4c55d1..16baa607 100644 --- a/Demo/flat-color-icons/svg/cloth.svg +++ b/Demo/flat-color-icons/svg/cloth.svg @@ -1,66 +1,66 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/collaboration.svg b/Demo/flat-color-icons/svg/collaboration.svg index 653c08c0..5d68055f 100644 --- a/Demo/flat-color-icons/svg/collaboration.svg +++ b/Demo/flat-color-icons/svg/collaboration.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/collapse.svg b/Demo/flat-color-icons/svg/collapse.svg index 8ce1c0f7..f49046f3 100644 --- a/Demo/flat-color-icons/svg/collapse.svg +++ b/Demo/flat-color-icons/svg/collapse.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Demo/flat-color-icons/svg/collect.svg b/Demo/flat-color-icons/svg/collect.svg index e8425e86..7cc53bc5 100644 --- a/Demo/flat-color-icons/svg/collect.svg +++ b/Demo/flat-color-icons/svg/collect.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/combo_chart.svg b/Demo/flat-color-icons/svg/combo_chart.svg index 0c1362b2..0285ca38 100644 --- a/Demo/flat-color-icons/svg/combo_chart.svg +++ b/Demo/flat-color-icons/svg/combo_chart.svg @@ -1,17 +1,17 @@ - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/command_line.svg b/Demo/flat-color-icons/svg/command_line.svg index b8ab3a82..6566ed76 100644 --- a/Demo/flat-color-icons/svg/command_line.svg +++ b/Demo/flat-color-icons/svg/command_line.svg @@ -1,24 +1,24 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/comments.svg b/Demo/flat-color-icons/svg/comments.svg index c823ffa5..0eca875b 100644 --- a/Demo/flat-color-icons/svg/comments.svg +++ b/Demo/flat-color-icons/svg/comments.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Demo/flat-color-icons/svg/compact_camera.svg b/Demo/flat-color-icons/svg/compact_camera.svg index c7058920..1b2c44e9 100644 --- a/Demo/flat-color-icons/svg/compact_camera.svg +++ b/Demo/flat-color-icons/svg/compact_camera.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/conference_call.svg b/Demo/flat-color-icons/svg/conference_call.svg index 08aea613..cf8e4cf9 100644 --- a/Demo/flat-color-icons/svg/conference_call.svg +++ b/Demo/flat-color-icons/svg/conference_call.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/contacts.svg b/Demo/flat-color-icons/svg/contacts.svg index 517a8518..e30d0f86 100644 --- a/Demo/flat-color-icons/svg/contacts.svg +++ b/Demo/flat-color-icons/svg/contacts.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/copyleft.svg b/Demo/flat-color-icons/svg/copyleft.svg index 43620647..10165ee0 100644 --- a/Demo/flat-color-icons/svg/copyleft.svg +++ b/Demo/flat-color-icons/svg/copyleft.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/copyright.svg b/Demo/flat-color-icons/svg/copyright.svg index f2757491..1f5a654b 100644 --- a/Demo/flat-color-icons/svg/copyright.svg +++ b/Demo/flat-color-icons/svg/copyright.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/crystal_oscillator.svg b/Demo/flat-color-icons/svg/crystal_oscillator.svg index d0786c2c..c8eab8ca 100644 --- a/Demo/flat-color-icons/svg/crystal_oscillator.svg +++ b/Demo/flat-color-icons/svg/crystal_oscillator.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/currency_exchange.svg b/Demo/flat-color-icons/svg/currency_exchange.svg index be50ba94..df23e7af 100644 --- a/Demo/flat-color-icons/svg/currency_exchange.svg +++ b/Demo/flat-color-icons/svg/currency_exchange.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/cursor.svg b/Demo/flat-color-icons/svg/cursor.svg index 8b3f0976..efe5eae5 100644 --- a/Demo/flat-color-icons/svg/cursor.svg +++ b/Demo/flat-color-icons/svg/cursor.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/customer_support.svg b/Demo/flat-color-icons/svg/customer_support.svg index fd4a0bd2..53224194 100644 --- a/Demo/flat-color-icons/svg/customer_support.svg +++ b/Demo/flat-color-icons/svg/customer_support.svg @@ -1,13 +1,13 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/dam.svg b/Demo/flat-color-icons/svg/dam.svg index 3af26d57..d2364b0f 100644 --- a/Demo/flat-color-icons/svg/dam.svg +++ b/Demo/flat-color-icons/svg/dam.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/data_backup.svg b/Demo/flat-color-icons/svg/data_backup.svg index e0ecc971..3e4b68c1 100644 --- a/Demo/flat-color-icons/svg/data_backup.svg +++ b/Demo/flat-color-icons/svg/data_backup.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/data_configuration.svg b/Demo/flat-color-icons/svg/data_configuration.svg index 2cdb75ce..db4e7b9f 100644 --- a/Demo/flat-color-icons/svg/data_configuration.svg +++ b/Demo/flat-color-icons/svg/data_configuration.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/data_encryption.svg b/Demo/flat-color-icons/svg/data_encryption.svg index 7987905d..69359f9c 100644 --- a/Demo/flat-color-icons/svg/data_encryption.svg +++ b/Demo/flat-color-icons/svg/data_encryption.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/data_protection.svg b/Demo/flat-color-icons/svg/data_protection.svg index f6996678..50b945e7 100644 --- a/Demo/flat-color-icons/svg/data_protection.svg +++ b/Demo/flat-color-icons/svg/data_protection.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/data_recovery.svg b/Demo/flat-color-icons/svg/data_recovery.svg index 8f94298f..09cffde9 100644 --- a/Demo/flat-color-icons/svg/data_recovery.svg +++ b/Demo/flat-color-icons/svg/data_recovery.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/data_sheet.svg b/Demo/flat-color-icons/svg/data_sheet.svg index b7872fa9..b1da8199 100644 --- a/Demo/flat-color-icons/svg/data_sheet.svg +++ b/Demo/flat-color-icons/svg/data_sheet.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Demo/flat-color-icons/svg/database.svg b/Demo/flat-color-icons/svg/database.svg index ecbaaa1c..582035ce 100644 --- a/Demo/flat-color-icons/svg/database.svg +++ b/Demo/flat-color-icons/svg/database.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/debian.svg b/Demo/flat-color-icons/svg/debian.svg index 0d72e807..40ebe97b 100644 --- a/Demo/flat-color-icons/svg/debian.svg +++ b/Demo/flat-color-icons/svg/debian.svg @@ -1,44 +1,44 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/debt.svg b/Demo/flat-color-icons/svg/debt.svg index 2a42f1de..5c024e9b 100644 --- a/Demo/flat-color-icons/svg/debt.svg +++ b/Demo/flat-color-icons/svg/debt.svg @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/decision.svg b/Demo/flat-color-icons/svg/decision.svg index 0aea0007..8f3f75c4 100644 --- a/Demo/flat-color-icons/svg/decision.svg +++ b/Demo/flat-color-icons/svg/decision.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/delete_column.svg b/Demo/flat-color-icons/svg/delete_column.svg index 9003ca2b..289cdee6 100644 --- a/Demo/flat-color-icons/svg/delete_column.svg +++ b/Demo/flat-color-icons/svg/delete_column.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/delete_database.svg b/Demo/flat-color-icons/svg/delete_database.svg index f5d69c63..da934aa6 100644 --- a/Demo/flat-color-icons/svg/delete_database.svg +++ b/Demo/flat-color-icons/svg/delete_database.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/delete_row.svg b/Demo/flat-color-icons/svg/delete_row.svg index 9079e24f..811d4636 100644 --- a/Demo/flat-color-icons/svg/delete_row.svg +++ b/Demo/flat-color-icons/svg/delete_row.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/department.svg b/Demo/flat-color-icons/svg/department.svg index 7a7b49fc..1f756118 100644 --- a/Demo/flat-color-icons/svg/department.svg +++ b/Demo/flat-color-icons/svg/department.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/deployment.svg b/Demo/flat-color-icons/svg/deployment.svg index 8ec36417..4601c516 100644 --- a/Demo/flat-color-icons/svg/deployment.svg +++ b/Demo/flat-color-icons/svg/deployment.svg @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/diploma_1.svg b/Demo/flat-color-icons/svg/diploma_1.svg index 3194c3ae..f64a90c0 100644 --- a/Demo/flat-color-icons/svg/diploma_1.svg +++ b/Demo/flat-color-icons/svg/diploma_1.svg @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/diploma_2.svg b/Demo/flat-color-icons/svg/diploma_2.svg index ea8d5534..da0a0918 100644 --- a/Demo/flat-color-icons/svg/diploma_2.svg +++ b/Demo/flat-color-icons/svg/diploma_2.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/disapprove.svg b/Demo/flat-color-icons/svg/disapprove.svg index 0c146242..1c7ea5cc 100644 --- a/Demo/flat-color-icons/svg/disapprove.svg +++ b/Demo/flat-color-icons/svg/disapprove.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/disclaimer.svg b/Demo/flat-color-icons/svg/disclaimer.svg index c48a1f8d..0ec7a91e 100644 --- a/Demo/flat-color-icons/svg/disclaimer.svg +++ b/Demo/flat-color-icons/svg/disclaimer.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/dislike.svg b/Demo/flat-color-icons/svg/dislike.svg index 36a9f3ee..fee8b1ca 100644 --- a/Demo/flat-color-icons/svg/dislike.svg +++ b/Demo/flat-color-icons/svg/dislike.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/display.svg b/Demo/flat-color-icons/svg/display.svg index 7ee9f1fa..d0bfb8db 100644 --- a/Demo/flat-color-icons/svg/display.svg +++ b/Demo/flat-color-icons/svg/display.svg @@ -1,13 +1,13 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/do_not_inhale.svg b/Demo/flat-color-icons/svg/do_not_inhale.svg index 3620b6b6..571f89d6 100644 --- a/Demo/flat-color-icons/svg/do_not_inhale.svg +++ b/Demo/flat-color-icons/svg/do_not_inhale.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/do_not_insert.svg b/Demo/flat-color-icons/svg/do_not_insert.svg index 0da319c6..578ba3e7 100644 --- a/Demo/flat-color-icons/svg/do_not_insert.svg +++ b/Demo/flat-color-icons/svg/do_not_insert.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/do_not_mix.svg b/Demo/flat-color-icons/svg/do_not_mix.svg index dde058f7..e27351b3 100644 --- a/Demo/flat-color-icons/svg/do_not_mix.svg +++ b/Demo/flat-color-icons/svg/do_not_mix.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/document.svg b/Demo/flat-color-icons/svg/document.svg index 7b392f85..38880243 100644 --- a/Demo/flat-color-icons/svg/document.svg +++ b/Demo/flat-color-icons/svg/document.svg @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/donate.svg b/Demo/flat-color-icons/svg/donate.svg index dc785fa3..acb32571 100644 --- a/Demo/flat-color-icons/svg/donate.svg +++ b/Demo/flat-color-icons/svg/donate.svg @@ -1,13 +1,13 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/doughnut_chart.svg b/Demo/flat-color-icons/svg/doughnut_chart.svg index 82f03e1e..4da3b365 100644 --- a/Demo/flat-color-icons/svg/doughnut_chart.svg +++ b/Demo/flat-color-icons/svg/doughnut_chart.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Demo/flat-color-icons/svg/down.svg b/Demo/flat-color-icons/svg/down.svg index 58ff53d9..a98ebd75 100644 --- a/Demo/flat-color-icons/svg/down.svg +++ b/Demo/flat-color-icons/svg/down.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/down_left.svg b/Demo/flat-color-icons/svg/down_left.svg index 19a51980..74f70900 100644 --- a/Demo/flat-color-icons/svg/down_left.svg +++ b/Demo/flat-color-icons/svg/down_left.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/down_right.svg b/Demo/flat-color-icons/svg/down_right.svg index 7dbc517d..5080dbeb 100644 --- a/Demo/flat-color-icons/svg/down_right.svg +++ b/Demo/flat-color-icons/svg/down_right.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/download.svg b/Demo/flat-color-icons/svg/download.svg index 90513b75..bc9a11fc 100644 --- a/Demo/flat-color-icons/svg/download.svg +++ b/Demo/flat-color-icons/svg/download.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/dribbble.svg b/Demo/flat-color-icons/svg/dribbble.svg index ea1e5a6f..70973366 100644 --- a/Demo/flat-color-icons/svg/dribbble.svg +++ b/Demo/flat-color-icons/svg/dribbble.svg @@ -1,16 +1,16 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/dvd_logo.svg b/Demo/flat-color-icons/svg/dvd_logo.svg index 662650a9..e97a1d25 100644 --- a/Demo/flat-color-icons/svg/dvd_logo.svg +++ b/Demo/flat-color-icons/svg/dvd_logo.svg @@ -1,19 +1,19 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/edit_image.svg b/Demo/flat-color-icons/svg/edit_image.svg index 3dd2020e..9788a2b5 100644 --- a/Demo/flat-color-icons/svg/edit_image.svg +++ b/Demo/flat-color-icons/svg/edit_image.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/electrical_sensor.svg b/Demo/flat-color-icons/svg/electrical_sensor.svg index 54249565..11762b3f 100644 --- a/Demo/flat-color-icons/svg/electrical_sensor.svg +++ b/Demo/flat-color-icons/svg/electrical_sensor.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/electrical_threshold.svg b/Demo/flat-color-icons/svg/electrical_threshold.svg index 827d39e5..d4ed4a38 100644 --- a/Demo/flat-color-icons/svg/electrical_threshold.svg +++ b/Demo/flat-color-icons/svg/electrical_threshold.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Demo/flat-color-icons/svg/electricity.svg b/Demo/flat-color-icons/svg/electricity.svg index 355229cf..ccaed1db 100644 --- a/Demo/flat-color-icons/svg/electricity.svg +++ b/Demo/flat-color-icons/svg/electricity.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Demo/flat-color-icons/svg/electro_devices.svg b/Demo/flat-color-icons/svg/electro_devices.svg index 7d9fa3ae..5b60c0e9 100644 --- a/Demo/flat-color-icons/svg/electro_devices.svg +++ b/Demo/flat-color-icons/svg/electro_devices.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/electronics.svg b/Demo/flat-color-icons/svg/electronics.svg index eb6a3c98..6ed29d41 100644 --- a/Demo/flat-color-icons/svg/electronics.svg +++ b/Demo/flat-color-icons/svg/electronics.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Demo/flat-color-icons/svg/empty_battery.svg b/Demo/flat-color-icons/svg/empty_battery.svg index b1e61c3f..aae969ba 100644 --- a/Demo/flat-color-icons/svg/empty_battery.svg +++ b/Demo/flat-color-icons/svg/empty_battery.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/empty_filter.svg b/Demo/flat-color-icons/svg/empty_filter.svg index 7952c75b..1bdd5959 100644 --- a/Demo/flat-color-icons/svg/empty_filter.svg +++ b/Demo/flat-color-icons/svg/empty_filter.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/empty_trash.svg b/Demo/flat-color-icons/svg/empty_trash.svg index cd48e961..440ac6e9 100644 --- a/Demo/flat-color-icons/svg/empty_trash.svg +++ b/Demo/flat-color-icons/svg/empty_trash.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/end_call.svg b/Demo/flat-color-icons/svg/end_call.svg index 056c0858..27243b94 100644 --- a/Demo/flat-color-icons/svg/end_call.svg +++ b/Demo/flat-color-icons/svg/end_call.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/engineering.svg b/Demo/flat-color-icons/svg/engineering.svg index 76a7a6a0..e911782a 100644 --- a/Demo/flat-color-icons/svg/engineering.svg +++ b/Demo/flat-color-icons/svg/engineering.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/entering_heaven_alive.svg b/Demo/flat-color-icons/svg/entering_heaven_alive.svg index d318230c..ca9bebd4 100644 --- a/Demo/flat-color-icons/svg/entering_heaven_alive.svg +++ b/Demo/flat-color-icons/svg/entering_heaven_alive.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/expand.svg b/Demo/flat-color-icons/svg/expand.svg index 40d49179..b8fdc988 100644 --- a/Demo/flat-color-icons/svg/expand.svg +++ b/Demo/flat-color-icons/svg/expand.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Demo/flat-color-icons/svg/expired.svg b/Demo/flat-color-icons/svg/expired.svg index 0b22296c..183b43c0 100644 --- a/Demo/flat-color-icons/svg/expired.svg +++ b/Demo/flat-color-icons/svg/expired.svg @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/export.svg b/Demo/flat-color-icons/svg/export.svg index e5d1928f..f93674ad 100644 --- a/Demo/flat-color-icons/svg/export.svg +++ b/Demo/flat-color-icons/svg/export.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/external.svg b/Demo/flat-color-icons/svg/external.svg index eac6c037..6c8e1ec4 100644 --- a/Demo/flat-color-icons/svg/external.svg +++ b/Demo/flat-color-icons/svg/external.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/factory.svg b/Demo/flat-color-icons/svg/factory.svg index 12eb6656..d8ff81ae 100644 --- a/Demo/flat-color-icons/svg/factory.svg +++ b/Demo/flat-color-icons/svg/factory.svg @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/factory_breakdown.svg b/Demo/flat-color-icons/svg/factory_breakdown.svg index 881e0276..0de09d09 100644 --- a/Demo/flat-color-icons/svg/factory_breakdown.svg +++ b/Demo/flat-color-icons/svg/factory_breakdown.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/faq.svg b/Demo/flat-color-icons/svg/faq.svg index dae5cf71..7eeb5590 100644 --- a/Demo/flat-color-icons/svg/faq.svg +++ b/Demo/flat-color-icons/svg/faq.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/feed_in.svg b/Demo/flat-color-icons/svg/feed_in.svg index 1d5903fa..6c0688e9 100644 --- a/Demo/flat-color-icons/svg/feed_in.svg +++ b/Demo/flat-color-icons/svg/feed_in.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/feedback.svg b/Demo/flat-color-icons/svg/feedback.svg index a5da4fa6..f6dab95d 100644 --- a/Demo/flat-color-icons/svg/feedback.svg +++ b/Demo/flat-color-icons/svg/feedback.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/file.svg b/Demo/flat-color-icons/svg/file.svg index e7d2f40e..04ff2b29 100644 --- a/Demo/flat-color-icons/svg/file.svg +++ b/Demo/flat-color-icons/svg/file.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/filing_cabinet.svg b/Demo/flat-color-icons/svg/filing_cabinet.svg index 07acffc0..ef38124f 100644 --- a/Demo/flat-color-icons/svg/filing_cabinet.svg +++ b/Demo/flat-color-icons/svg/filing_cabinet.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/filled_filter.svg b/Demo/flat-color-icons/svg/filled_filter.svg index 744bf3f8..0509354d 100644 --- a/Demo/flat-color-icons/svg/filled_filter.svg +++ b/Demo/flat-color-icons/svg/filled_filter.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/film.svg b/Demo/flat-color-icons/svg/film.svg index 50758008..ad6313ca 100644 --- a/Demo/flat-color-icons/svg/film.svg +++ b/Demo/flat-color-icons/svg/film.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Demo/flat-color-icons/svg/film_reel.svg b/Demo/flat-color-icons/svg/film_reel.svg index 785dd5a2..98af6ebf 100644 --- a/Demo/flat-color-icons/svg/film_reel.svg +++ b/Demo/flat-color-icons/svg/film_reel.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/fine_print.svg b/Demo/flat-color-icons/svg/fine_print.svg index e7381e1e..bdce14d5 100644 --- a/Demo/flat-color-icons/svg/fine_print.svg +++ b/Demo/flat-color-icons/svg/fine_print.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/flash_auto.svg b/Demo/flat-color-icons/svg/flash_auto.svg index 98ce7095..15224760 100644 --- a/Demo/flat-color-icons/svg/flash_auto.svg +++ b/Demo/flat-color-icons/svg/flash_auto.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/flash_off.svg b/Demo/flat-color-icons/svg/flash_off.svg index e77160fa..8486e6d2 100644 --- a/Demo/flat-color-icons/svg/flash_off.svg +++ b/Demo/flat-color-icons/svg/flash_off.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/flash_on.svg b/Demo/flat-color-icons/svg/flash_on.svg index e8e5ad67..8a41b843 100644 --- a/Demo/flat-color-icons/svg/flash_on.svg +++ b/Demo/flat-color-icons/svg/flash_on.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Demo/flat-color-icons/svg/flow_chart.svg b/Demo/flat-color-icons/svg/flow_chart.svg index 2928a6ee..63b5b681 100644 --- a/Demo/flat-color-icons/svg/flow_chart.svg +++ b/Demo/flat-color-icons/svg/flow_chart.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/folder.svg b/Demo/flat-color-icons/svg/folder.svg index 66b2e3b2..00a33552 100644 --- a/Demo/flat-color-icons/svg/folder.svg +++ b/Demo/flat-color-icons/svg/folder.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/frame.svg b/Demo/flat-color-icons/svg/frame.svg index 92937eae..911838a6 100644 --- a/Demo/flat-color-icons/svg/frame.svg +++ b/Demo/flat-color-icons/svg/frame.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/full_battery.svg b/Demo/flat-color-icons/svg/full_battery.svg index 5ce27440..02a8782a 100644 --- a/Demo/flat-color-icons/svg/full_battery.svg +++ b/Demo/flat-color-icons/svg/full_battery.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/full_trash.svg b/Demo/flat-color-icons/svg/full_trash.svg index bcd9a520..97c9f332 100644 --- a/Demo/flat-color-icons/svg/full_trash.svg +++ b/Demo/flat-color-icons/svg/full_trash.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/gallery.svg b/Demo/flat-color-icons/svg/gallery.svg index 2b895679..a3f1998a 100644 --- a/Demo/flat-color-icons/svg/gallery.svg +++ b/Demo/flat-color-icons/svg/gallery.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/genealogy.svg b/Demo/flat-color-icons/svg/genealogy.svg index adadfbda..1c484b22 100644 --- a/Demo/flat-color-icons/svg/genealogy.svg +++ b/Demo/flat-color-icons/svg/genealogy.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/generic_sorting_asc.svg b/Demo/flat-color-icons/svg/generic_sorting_asc.svg index 50dcbdbf..fe2aa84b 100644 --- a/Demo/flat-color-icons/svg/generic_sorting_asc.svg +++ b/Demo/flat-color-icons/svg/generic_sorting_asc.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/generic_sorting_desc.svg b/Demo/flat-color-icons/svg/generic_sorting_desc.svg index d78bcf3e..f7b86f4c 100644 --- a/Demo/flat-color-icons/svg/generic_sorting_desc.svg +++ b/Demo/flat-color-icons/svg/generic_sorting_desc.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/globe.svg b/Demo/flat-color-icons/svg/globe.svg index b6faa3a3..56004879 100644 --- a/Demo/flat-color-icons/svg/globe.svg +++ b/Demo/flat-color-icons/svg/globe.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/good_decision.svg b/Demo/flat-color-icons/svg/good_decision.svg index 9721b1aa..e99d48bc 100644 --- a/Demo/flat-color-icons/svg/good_decision.svg +++ b/Demo/flat-color-icons/svg/good_decision.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/google.svg b/Demo/flat-color-icons/svg/google.svg index 80efd14e..79bdbe8a 100644 --- a/Demo/flat-color-icons/svg/google.svg +++ b/Demo/flat-color-icons/svg/google.svg @@ -1,15 +1,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/graduation_cap.svg b/Demo/flat-color-icons/svg/graduation_cap.svg index bb4c0d9b..79c57395 100644 --- a/Demo/flat-color-icons/svg/graduation_cap.svg +++ b/Demo/flat-color-icons/svg/graduation_cap.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/grid.svg b/Demo/flat-color-icons/svg/grid.svg index f263eaf6..9908d13e 100644 --- a/Demo/flat-color-icons/svg/grid.svg +++ b/Demo/flat-color-icons/svg/grid.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Demo/flat-color-icons/svg/headset.svg b/Demo/flat-color-icons/svg/headset.svg index cd9791f7..ca5cfdb4 100644 --- a/Demo/flat-color-icons/svg/headset.svg +++ b/Demo/flat-color-icons/svg/headset.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Demo/flat-color-icons/svg/heat_map.svg b/Demo/flat-color-icons/svg/heat_map.svg index b4dd33bc..0b32a8fc 100644 --- a/Demo/flat-color-icons/svg/heat_map.svg +++ b/Demo/flat-color-icons/svg/heat_map.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/high_battery.svg b/Demo/flat-color-icons/svg/high_battery.svg index 150dc7c7..93cd83bf 100644 --- a/Demo/flat-color-icons/svg/high_battery.svg +++ b/Demo/flat-color-icons/svg/high_battery.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/high_priority.svg b/Demo/flat-color-icons/svg/high_priority.svg index 58ac7d5b..bd397ccb 100644 --- a/Demo/flat-color-icons/svg/high_priority.svg +++ b/Demo/flat-color-icons/svg/high_priority.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/home.svg b/Demo/flat-color-icons/svg/home.svg index f4167601..262cb1c2 100644 --- a/Demo/flat-color-icons/svg/home.svg +++ b/Demo/flat-color-icons/svg/home.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/icons8_cup.svg b/Demo/flat-color-icons/svg/icons8_cup.svg index 7055bdb8..c2ebb498 100644 --- a/Demo/flat-color-icons/svg/icons8_cup.svg +++ b/Demo/flat-color-icons/svg/icons8_cup.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/idea.svg b/Demo/flat-color-icons/svg/idea.svg index c88cb275..2e1bfcbb 100644 --- a/Demo/flat-color-icons/svg/idea.svg +++ b/Demo/flat-color-icons/svg/idea.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/image_file.svg b/Demo/flat-color-icons/svg/image_file.svg index d6a23144..36be71d6 100644 --- a/Demo/flat-color-icons/svg/image_file.svg +++ b/Demo/flat-color-icons/svg/image_file.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/import.svg b/Demo/flat-color-icons/svg/import.svg index 1696a780..38b24438 100644 --- a/Demo/flat-color-icons/svg/import.svg +++ b/Demo/flat-color-icons/svg/import.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/in_transit.svg b/Demo/flat-color-icons/svg/in_transit.svg index 26b4ce7a..07d4e8cf 100644 --- a/Demo/flat-color-icons/svg/in_transit.svg +++ b/Demo/flat-color-icons/svg/in_transit.svg @@ -1,25 +1,25 @@ - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/info.svg b/Demo/flat-color-icons/svg/info.svg index 0842a79c..47771cbe 100644 --- a/Demo/flat-color-icons/svg/info.svg +++ b/Demo/flat-color-icons/svg/info.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Demo/flat-color-icons/svg/inspection.svg b/Demo/flat-color-icons/svg/inspection.svg index 4885aeac..d14664c0 100644 --- a/Demo/flat-color-icons/svg/inspection.svg +++ b/Demo/flat-color-icons/svg/inspection.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/integrated_webcam.svg b/Demo/flat-color-icons/svg/integrated_webcam.svg index 0026a6d3..4b228a08 100644 --- a/Demo/flat-color-icons/svg/integrated_webcam.svg +++ b/Demo/flat-color-icons/svg/integrated_webcam.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/internal.svg b/Demo/flat-color-icons/svg/internal.svg index 7be0c1f5..cf436212 100644 --- a/Demo/flat-color-icons/svg/internal.svg +++ b/Demo/flat-color-icons/svg/internal.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/invite.svg b/Demo/flat-color-icons/svg/invite.svg index 9f012ad6..cf7d4805 100644 --- a/Demo/flat-color-icons/svg/invite.svg +++ b/Demo/flat-color-icons/svg/invite.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/ipad.svg b/Demo/flat-color-icons/svg/ipad.svg index addb7738..ca5f358b 100644 --- a/Demo/flat-color-icons/svg/ipad.svg +++ b/Demo/flat-color-icons/svg/ipad.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Demo/flat-color-icons/svg/iphone.svg b/Demo/flat-color-icons/svg/iphone.svg index 128b5d70..040de17a 100644 --- a/Demo/flat-color-icons/svg/iphone.svg +++ b/Demo/flat-color-icons/svg/iphone.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Demo/flat-color-icons/svg/key.svg b/Demo/flat-color-icons/svg/key.svg index a5f47e90..7012d9f8 100644 --- a/Demo/flat-color-icons/svg/key.svg +++ b/Demo/flat-color-icons/svg/key.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/kindle.svg b/Demo/flat-color-icons/svg/kindle.svg index 8a5e6145..f5065ddb 100644 --- a/Demo/flat-color-icons/svg/kindle.svg +++ b/Demo/flat-color-icons/svg/kindle.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/landscape.svg b/Demo/flat-color-icons/svg/landscape.svg index dfe42d17..3db1c3b9 100644 --- a/Demo/flat-color-icons/svg/landscape.svg +++ b/Demo/flat-color-icons/svg/landscape.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/leave.svg b/Demo/flat-color-icons/svg/leave.svg index 5ccfd51f..66a12ccf 100644 --- a/Demo/flat-color-icons/svg/leave.svg +++ b/Demo/flat-color-icons/svg/leave.svg @@ -1,13 +1,13 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/left.svg b/Demo/flat-color-icons/svg/left.svg index c845cc96..62773db4 100644 --- a/Demo/flat-color-icons/svg/left.svg +++ b/Demo/flat-color-icons/svg/left.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/left_down.svg b/Demo/flat-color-icons/svg/left_down.svg index 61a2f0a8..75455aaf 100644 --- a/Demo/flat-color-icons/svg/left_down.svg +++ b/Demo/flat-color-icons/svg/left_down.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/left_down2.svg b/Demo/flat-color-icons/svg/left_down2.svg index a7183aaf..085c65c5 100644 --- a/Demo/flat-color-icons/svg/left_down2.svg +++ b/Demo/flat-color-icons/svg/left_down2.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/left_up.svg b/Demo/flat-color-icons/svg/left_up.svg index 56eed193..e0347cf0 100644 --- a/Demo/flat-color-icons/svg/left_up.svg +++ b/Demo/flat-color-icons/svg/left_up.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/left_up2.svg b/Demo/flat-color-icons/svg/left_up2.svg index c71db15b..0cb049cd 100644 --- a/Demo/flat-color-icons/svg/left_up2.svg +++ b/Demo/flat-color-icons/svg/left_up2.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/library.svg b/Demo/flat-color-icons/svg/library.svg index 14dde6af..aba53623 100644 --- a/Demo/flat-color-icons/svg/library.svg +++ b/Demo/flat-color-icons/svg/library.svg @@ -1,23 +1,23 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/light_at_the_end_of_tunnel.svg b/Demo/flat-color-icons/svg/light_at_the_end_of_tunnel.svg index 0ce73146..faf8e121 100644 --- a/Demo/flat-color-icons/svg/light_at_the_end_of_tunnel.svg +++ b/Demo/flat-color-icons/svg/light_at_the_end_of_tunnel.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/like.svg b/Demo/flat-color-icons/svg/like.svg index 880f5920..e31b0316 100644 --- a/Demo/flat-color-icons/svg/like.svg +++ b/Demo/flat-color-icons/svg/like.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Demo/flat-color-icons/svg/like_placeholder.svg b/Demo/flat-color-icons/svg/like_placeholder.svg index a5050d8b..9e41db75 100644 --- a/Demo/flat-color-icons/svg/like_placeholder.svg +++ b/Demo/flat-color-icons/svg/like_placeholder.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Demo/flat-color-icons/svg/line_chart.svg b/Demo/flat-color-icons/svg/line_chart.svg index fcd0a783..c5ca8e98 100644 --- a/Demo/flat-color-icons/svg/line_chart.svg +++ b/Demo/flat-color-icons/svg/line_chart.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/link.svg b/Demo/flat-color-icons/svg/link.svg index 43c700f5..bef36e7b 100644 --- a/Demo/flat-color-icons/svg/link.svg +++ b/Demo/flat-color-icons/svg/link.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/linux.svg b/Demo/flat-color-icons/svg/linux.svg index 5164df65..d53d2ae3 100644 --- a/Demo/flat-color-icons/svg/linux.svg +++ b/Demo/flat-color-icons/svg/linux.svg @@ -1,50 +1,50 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/list.svg b/Demo/flat-color-icons/svg/list.svg index f5c8082c..f03bff91 100644 --- a/Demo/flat-color-icons/svg/list.svg +++ b/Demo/flat-color-icons/svg/list.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/lock.svg b/Demo/flat-color-icons/svg/lock.svg index 8d0a9b88..8ed20a19 100644 --- a/Demo/flat-color-icons/svg/lock.svg +++ b/Demo/flat-color-icons/svg/lock.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Demo/flat-color-icons/svg/lock_landscape.svg b/Demo/flat-color-icons/svg/lock_landscape.svg index 740f80d9..a91a9ea9 100644 --- a/Demo/flat-color-icons/svg/lock_landscape.svg +++ b/Demo/flat-color-icons/svg/lock_landscape.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/lock_portrait.svg b/Demo/flat-color-icons/svg/lock_portrait.svg index 5d52cf49..21faf70d 100644 --- a/Demo/flat-color-icons/svg/lock_portrait.svg +++ b/Demo/flat-color-icons/svg/lock_portrait.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/low_battery.svg b/Demo/flat-color-icons/svg/low_battery.svg index 7225f260..54bdca5d 100644 --- a/Demo/flat-color-icons/svg/low_battery.svg +++ b/Demo/flat-color-icons/svg/low_battery.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/low_priority.svg b/Demo/flat-color-icons/svg/low_priority.svg index 96ff311c..61e73964 100644 --- a/Demo/flat-color-icons/svg/low_priority.svg +++ b/Demo/flat-color-icons/svg/low_priority.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/make_decision.svg b/Demo/flat-color-icons/svg/make_decision.svg index 149774df..e8e9c4fc 100644 --- a/Demo/flat-color-icons/svg/make_decision.svg +++ b/Demo/flat-color-icons/svg/make_decision.svg @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/manager.svg b/Demo/flat-color-icons/svg/manager.svg index b392a586..c048c6f2 100644 --- a/Demo/flat-color-icons/svg/manager.svg +++ b/Demo/flat-color-icons/svg/manager.svg @@ -1,15 +1,15 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/medium_priority.svg b/Demo/flat-color-icons/svg/medium_priority.svg index bcd9ca9d..e433707b 100644 --- a/Demo/flat-color-icons/svg/medium_priority.svg +++ b/Demo/flat-color-icons/svg/medium_priority.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/menu.svg b/Demo/flat-color-icons/svg/menu.svg index 1ab7df53..9c4e3cff 100644 --- a/Demo/flat-color-icons/svg/menu.svg +++ b/Demo/flat-color-icons/svg/menu.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/middle_battery.svg b/Demo/flat-color-icons/svg/middle_battery.svg index a483b093..83e078a9 100644 --- a/Demo/flat-color-icons/svg/middle_battery.svg +++ b/Demo/flat-color-icons/svg/middle_battery.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/mind_map.svg b/Demo/flat-color-icons/svg/mind_map.svg index a534b6ba..750b9734 100644 --- a/Demo/flat-color-icons/svg/mind_map.svg +++ b/Demo/flat-color-icons/svg/mind_map.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/minus.svg b/Demo/flat-color-icons/svg/minus.svg index c50f43c3..470c34a5 100644 --- a/Demo/flat-color-icons/svg/minus.svg +++ b/Demo/flat-color-icons/svg/minus.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Demo/flat-color-icons/svg/missed_call.svg b/Demo/flat-color-icons/svg/missed_call.svg index 19602f65..cb5bf262 100644 --- a/Demo/flat-color-icons/svg/missed_call.svg +++ b/Demo/flat-color-icons/svg/missed_call.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/mms.svg b/Demo/flat-color-icons/svg/mms.svg index 23f75fd2..8dfb8f31 100644 --- a/Demo/flat-color-icons/svg/mms.svg +++ b/Demo/flat-color-icons/svg/mms.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/money_transfer.svg b/Demo/flat-color-icons/svg/money_transfer.svg index 7804c6d9..03d824ac 100644 --- a/Demo/flat-color-icons/svg/money_transfer.svg +++ b/Demo/flat-color-icons/svg/money_transfer.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/multiple_cameras.svg b/Demo/flat-color-icons/svg/multiple_cameras.svg index 029fc84f..ca0098eb 100644 --- a/Demo/flat-color-icons/svg/multiple_cameras.svg +++ b/Demo/flat-color-icons/svg/multiple_cameras.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/multiple_devices.svg b/Demo/flat-color-icons/svg/multiple_devices.svg index f8fbfac6..91f4a36b 100644 --- a/Demo/flat-color-icons/svg/multiple_devices.svg +++ b/Demo/flat-color-icons/svg/multiple_devices.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/multiple_inputs.svg b/Demo/flat-color-icons/svg/multiple_inputs.svg index a403cbd3..a9ac5904 100644 --- a/Demo/flat-color-icons/svg/multiple_inputs.svg +++ b/Demo/flat-color-icons/svg/multiple_inputs.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/multiple_smartphones.svg b/Demo/flat-color-icons/svg/multiple_smartphones.svg index df3a507e..e07d64af 100644 --- a/Demo/flat-color-icons/svg/multiple_smartphones.svg +++ b/Demo/flat-color-icons/svg/multiple_smartphones.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/music.svg b/Demo/flat-color-icons/svg/music.svg index 6a445119..38238563 100644 --- a/Demo/flat-color-icons/svg/music.svg +++ b/Demo/flat-color-icons/svg/music.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/negative_dynamic.svg b/Demo/flat-color-icons/svg/negative_dynamic.svg index 51e2b69b..e6d4a2e2 100644 --- a/Demo/flat-color-icons/svg/negative_dynamic.svg +++ b/Demo/flat-color-icons/svg/negative_dynamic.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/neutral_decision.svg b/Demo/flat-color-icons/svg/neutral_decision.svg index 7a543935..5cc1a3b2 100644 --- a/Demo/flat-color-icons/svg/neutral_decision.svg +++ b/Demo/flat-color-icons/svg/neutral_decision.svg @@ -1,13 +1,13 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/neutral_trading.svg b/Demo/flat-color-icons/svg/neutral_trading.svg index f8c0d2e2..a273d049 100644 --- a/Demo/flat-color-icons/svg/neutral_trading.svg +++ b/Demo/flat-color-icons/svg/neutral_trading.svg @@ -1,15 +1,15 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/news.svg b/Demo/flat-color-icons/svg/news.svg index 052f42b9..d668438b 100644 --- a/Demo/flat-color-icons/svg/news.svg +++ b/Demo/flat-color-icons/svg/news.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/next.svg b/Demo/flat-color-icons/svg/next.svg index 2986bf95..2099cb5d 100644 --- a/Demo/flat-color-icons/svg/next.svg +++ b/Demo/flat-color-icons/svg/next.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Demo/flat-color-icons/svg/nfc_sign.svg b/Demo/flat-color-icons/svg/nfc_sign.svg index 919fab53..89421bdf 100644 --- a/Demo/flat-color-icons/svg/nfc_sign.svg +++ b/Demo/flat-color-icons/svg/nfc_sign.svg @@ -1,12 +1,12 @@ - - - - - + + + + + diff --git a/Demo/flat-color-icons/svg/night_landscape.svg b/Demo/flat-color-icons/svg/night_landscape.svg index a25366fa..03affcf4 100644 --- a/Demo/flat-color-icons/svg/night_landscape.svg +++ b/Demo/flat-color-icons/svg/night_landscape.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Demo/flat-color-icons/svg/night_portrait.svg b/Demo/flat-color-icons/svg/night_portrait.svg index 41c3267d..cb1398ad 100644 --- a/Demo/flat-color-icons/svg/night_portrait.svg +++ b/Demo/flat-color-icons/svg/night_portrait.svg @@ -1,15 +1,15 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/no_idea.svg b/Demo/flat-color-icons/svg/no_idea.svg index 7496b854..14fc8c67 100644 --- a/Demo/flat-color-icons/svg/no_idea.svg +++ b/Demo/flat-color-icons/svg/no_idea.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/no_video.svg b/Demo/flat-color-icons/svg/no_video.svg index 7db6c245..b357a8d7 100644 --- a/Demo/flat-color-icons/svg/no_video.svg +++ b/Demo/flat-color-icons/svg/no_video.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Demo/flat-color-icons/svg/nook.svg b/Demo/flat-color-icons/svg/nook.svg index 0951a951..754e1122 100644 --- a/Demo/flat-color-icons/svg/nook.svg +++ b/Demo/flat-color-icons/svg/nook.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/numerical_sorting_12.svg b/Demo/flat-color-icons/svg/numerical_sorting_12.svg index 54c00bc0..950976e3 100644 --- a/Demo/flat-color-icons/svg/numerical_sorting_12.svg +++ b/Demo/flat-color-icons/svg/numerical_sorting_12.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/numerical_sorting_21.svg b/Demo/flat-color-icons/svg/numerical_sorting_21.svg index 70a34f5d..dc17c246 100644 --- a/Demo/flat-color-icons/svg/numerical_sorting_21.svg +++ b/Demo/flat-color-icons/svg/numerical_sorting_21.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/ok.svg b/Demo/flat-color-icons/svg/ok.svg index 9eb8075c..a76f9fc9 100644 --- a/Demo/flat-color-icons/svg/ok.svg +++ b/Demo/flat-color-icons/svg/ok.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/old_time_camera.svg b/Demo/flat-color-icons/svg/old_time_camera.svg index c0198e42..8ed0e234 100644 --- a/Demo/flat-color-icons/svg/old_time_camera.svg +++ b/Demo/flat-color-icons/svg/old_time_camera.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/online_support.svg b/Demo/flat-color-icons/svg/online_support.svg index f1ec50d4..8afe7d30 100644 --- a/Demo/flat-color-icons/svg/online_support.svg +++ b/Demo/flat-color-icons/svg/online_support.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/opened_folder.svg b/Demo/flat-color-icons/svg/opened_folder.svg index 8ec91946..be652ccf 100644 --- a/Demo/flat-color-icons/svg/opened_folder.svg +++ b/Demo/flat-color-icons/svg/opened_folder.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/org_unit.svg b/Demo/flat-color-icons/svg/org_unit.svg index 16207cce..ee2f539d 100644 --- a/Demo/flat-color-icons/svg/org_unit.svg +++ b/Demo/flat-color-icons/svg/org_unit.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/organization.svg b/Demo/flat-color-icons/svg/organization.svg index f3b253b5..853786fd 100644 --- a/Demo/flat-color-icons/svg/organization.svg +++ b/Demo/flat-color-icons/svg/organization.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/overtime.svg b/Demo/flat-color-icons/svg/overtime.svg index 948316ca..b21e357b 100644 --- a/Demo/flat-color-icons/svg/overtime.svg +++ b/Demo/flat-color-icons/svg/overtime.svg @@ -1,23 +1,23 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/package.svg b/Demo/flat-color-icons/svg/package.svg index 2b7e96b2..ac4b8e72 100644 --- a/Demo/flat-color-icons/svg/package.svg +++ b/Demo/flat-color-icons/svg/package.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/paid.svg b/Demo/flat-color-icons/svg/paid.svg index b74fea0d..a2048298 100644 --- a/Demo/flat-color-icons/svg/paid.svg +++ b/Demo/flat-color-icons/svg/paid.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/panorama.svg b/Demo/flat-color-icons/svg/panorama.svg index e3cb71d4..6071b21b 100644 --- a/Demo/flat-color-icons/svg/panorama.svg +++ b/Demo/flat-color-icons/svg/panorama.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/parallel_tasks.svg b/Demo/flat-color-icons/svg/parallel_tasks.svg index ecd9a80f..65d7db76 100644 --- a/Demo/flat-color-icons/svg/parallel_tasks.svg +++ b/Demo/flat-color-icons/svg/parallel_tasks.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/phone.svg b/Demo/flat-color-icons/svg/phone.svg index 703c4d64..724b9a91 100644 --- a/Demo/flat-color-icons/svg/phone.svg +++ b/Demo/flat-color-icons/svg/phone.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Demo/flat-color-icons/svg/phone_android.svg b/Demo/flat-color-icons/svg/phone_android.svg index e602e931..4abe9333 100644 --- a/Demo/flat-color-icons/svg/phone_android.svg +++ b/Demo/flat-color-icons/svg/phone_android.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Demo/flat-color-icons/svg/photo_reel.svg b/Demo/flat-color-icons/svg/photo_reel.svg index 0f06cfb3..c069a7c0 100644 --- a/Demo/flat-color-icons/svg/photo_reel.svg +++ b/Demo/flat-color-icons/svg/photo_reel.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/picture.svg b/Demo/flat-color-icons/svg/picture.svg index a6d488d9..4c35996b 100644 --- a/Demo/flat-color-icons/svg/picture.svg +++ b/Demo/flat-color-icons/svg/picture.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/pie_chart.svg b/Demo/flat-color-icons/svg/pie_chart.svg index 0220fba3..f858f6eb 100644 --- a/Demo/flat-color-icons/svg/pie_chart.svg +++ b/Demo/flat-color-icons/svg/pie_chart.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Demo/flat-color-icons/svg/planner.svg b/Demo/flat-color-icons/svg/planner.svg index d66c231c..a1d0f3bc 100644 --- a/Demo/flat-color-icons/svg/planner.svg +++ b/Demo/flat-color-icons/svg/planner.svg @@ -1,20 +1,20 @@ - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/plus.svg b/Demo/flat-color-icons/svg/plus.svg index 37f75e1b..279aedd9 100644 --- a/Demo/flat-color-icons/svg/plus.svg +++ b/Demo/flat-color-icons/svg/plus.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/podium_with_audience.svg b/Demo/flat-color-icons/svg/podium_with_audience.svg index 73d1812a..811f046d 100644 --- a/Demo/flat-color-icons/svg/podium_with_audience.svg +++ b/Demo/flat-color-icons/svg/podium_with_audience.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/podium_with_speaker.svg b/Demo/flat-color-icons/svg/podium_with_speaker.svg index f13192d6..bfc26bb9 100644 --- a/Demo/flat-color-icons/svg/podium_with_speaker.svg +++ b/Demo/flat-color-icons/svg/podium_with_speaker.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/podium_without_speaker.svg b/Demo/flat-color-icons/svg/podium_without_speaker.svg index 034653c8..b6c68882 100644 --- a/Demo/flat-color-icons/svg/podium_without_speaker.svg +++ b/Demo/flat-color-icons/svg/podium_without_speaker.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/portrait_mode.svg b/Demo/flat-color-icons/svg/portrait_mode.svg index a04070d2..1900798c 100644 --- a/Demo/flat-color-icons/svg/portrait_mode.svg +++ b/Demo/flat-color-icons/svg/portrait_mode.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/positive_dynamic.svg b/Demo/flat-color-icons/svg/positive_dynamic.svg index 01f62aca..4f5629ce 100644 --- a/Demo/flat-color-icons/svg/positive_dynamic.svg +++ b/Demo/flat-color-icons/svg/positive_dynamic.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/previous.svg b/Demo/flat-color-icons/svg/previous.svg index 25baeb89..4a0a068e 100644 --- a/Demo/flat-color-icons/svg/previous.svg +++ b/Demo/flat-color-icons/svg/previous.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Demo/flat-color-icons/svg/print.svg b/Demo/flat-color-icons/svg/print.svg index 2387fc5a..aca13848 100644 --- a/Demo/flat-color-icons/svg/print.svg +++ b/Demo/flat-color-icons/svg/print.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/privacy.svg b/Demo/flat-color-icons/svg/privacy.svg index 2132ecf5..ea7c6d98 100644 --- a/Demo/flat-color-icons/svg/privacy.svg +++ b/Demo/flat-color-icons/svg/privacy.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/process.svg b/Demo/flat-color-icons/svg/process.svg index 33b74d4f..c0315b8a 100644 --- a/Demo/flat-color-icons/svg/process.svg +++ b/Demo/flat-color-icons/svg/process.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/puzzle.svg b/Demo/flat-color-icons/svg/puzzle.svg index e5bc590a..7f2a15fe 100644 --- a/Demo/flat-color-icons/svg/puzzle.svg +++ b/Demo/flat-color-icons/svg/puzzle.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Demo/flat-color-icons/svg/questions.svg b/Demo/flat-color-icons/svg/questions.svg index 6c1b7a21..f02d69ef 100644 --- a/Demo/flat-color-icons/svg/questions.svg +++ b/Demo/flat-color-icons/svg/questions.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/radar_plot.svg b/Demo/flat-color-icons/svg/radar_plot.svg index 32c9a756..1b6899e4 100644 --- a/Demo/flat-color-icons/svg/radar_plot.svg +++ b/Demo/flat-color-icons/svg/radar_plot.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/rating.svg b/Demo/flat-color-icons/svg/rating.svg index d104890b..90b931b6 100644 --- a/Demo/flat-color-icons/svg/rating.svg +++ b/Demo/flat-color-icons/svg/rating.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/ratings.svg b/Demo/flat-color-icons/svg/ratings.svg index e1db30dd..2f9dc4bf 100644 --- a/Demo/flat-color-icons/svg/ratings.svg +++ b/Demo/flat-color-icons/svg/ratings.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/reading.svg b/Demo/flat-color-icons/svg/reading.svg index d2ddffe4..60fe87f6 100644 --- a/Demo/flat-color-icons/svg/reading.svg +++ b/Demo/flat-color-icons/svg/reading.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/reading_ebook.svg b/Demo/flat-color-icons/svg/reading_ebook.svg index ebffdf1d..4ad0f634 100644 --- a/Demo/flat-color-icons/svg/reading_ebook.svg +++ b/Demo/flat-color-icons/svg/reading_ebook.svg @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/reddit.svg b/Demo/flat-color-icons/svg/reddit.svg index e4a09809..13689bb2 100644 --- a/Demo/flat-color-icons/svg/reddit.svg +++ b/Demo/flat-color-icons/svg/reddit.svg @@ -1,41 +1,41 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/redo.svg b/Demo/flat-color-icons/svg/redo.svg index fe7a19fd..3fc0fe66 100644 --- a/Demo/flat-color-icons/svg/redo.svg +++ b/Demo/flat-color-icons/svg/redo.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/refresh.svg b/Demo/flat-color-icons/svg/refresh.svg index 5cae4cef..bea41072 100644 --- a/Demo/flat-color-icons/svg/refresh.svg +++ b/Demo/flat-color-icons/svg/refresh.svg @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/registered_trademark.svg b/Demo/flat-color-icons/svg/registered_trademark.svg index 3fc6cf40..0972fc38 100644 --- a/Demo/flat-color-icons/svg/registered_trademark.svg +++ b/Demo/flat-color-icons/svg/registered_trademark.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/remove_image.svg b/Demo/flat-color-icons/svg/remove_image.svg index d64f21b9..24923231 100644 --- a/Demo/flat-color-icons/svg/remove_image.svg +++ b/Demo/flat-color-icons/svg/remove_image.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/reuse.svg b/Demo/flat-color-icons/svg/reuse.svg index f86be4b0..5f74b31f 100644 --- a/Demo/flat-color-icons/svg/reuse.svg +++ b/Demo/flat-color-icons/svg/reuse.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/right.svg b/Demo/flat-color-icons/svg/right.svg index 2747f210..d2084120 100644 --- a/Demo/flat-color-icons/svg/right.svg +++ b/Demo/flat-color-icons/svg/right.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/right_down.svg b/Demo/flat-color-icons/svg/right_down.svg index 93dbdd64..eafa437b 100644 --- a/Demo/flat-color-icons/svg/right_down.svg +++ b/Demo/flat-color-icons/svg/right_down.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/right_down2.svg b/Demo/flat-color-icons/svg/right_down2.svg index 83df62d3..6574db80 100644 --- a/Demo/flat-color-icons/svg/right_down2.svg +++ b/Demo/flat-color-icons/svg/right_down2.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/right_up.svg b/Demo/flat-color-icons/svg/right_up.svg index 4e8337d6..70b0fc12 100644 --- a/Demo/flat-color-icons/svg/right_up.svg +++ b/Demo/flat-color-icons/svg/right_up.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/right_up2.svg b/Demo/flat-color-icons/svg/right_up2.svg index 54a166b7..07bcfb43 100644 --- a/Demo/flat-color-icons/svg/right_up2.svg +++ b/Demo/flat-color-icons/svg/right_up2.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/rotate_camera.svg b/Demo/flat-color-icons/svg/rotate_camera.svg index f6c0a0ba..7f5bac60 100644 --- a/Demo/flat-color-icons/svg/rotate_camera.svg +++ b/Demo/flat-color-icons/svg/rotate_camera.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/rotate_to_landscape.svg b/Demo/flat-color-icons/svg/rotate_to_landscape.svg index 6365afe8..ca1e8565 100644 --- a/Demo/flat-color-icons/svg/rotate_to_landscape.svg +++ b/Demo/flat-color-icons/svg/rotate_to_landscape.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/rotate_to_portrait.svg b/Demo/flat-color-icons/svg/rotate_to_portrait.svg index 26e9cd41..a3c0c8fd 100644 --- a/Demo/flat-color-icons/svg/rotate_to_portrait.svg +++ b/Demo/flat-color-icons/svg/rotate_to_portrait.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/ruler.svg b/Demo/flat-color-icons/svg/ruler.svg index e3cb6d60..306ba827 100644 --- a/Demo/flat-color-icons/svg/ruler.svg +++ b/Demo/flat-color-icons/svg/ruler.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/rules.svg b/Demo/flat-color-icons/svg/rules.svg index 2923c9ec..e4acb07b 100644 --- a/Demo/flat-color-icons/svg/rules.svg +++ b/Demo/flat-color-icons/svg/rules.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/safe.svg b/Demo/flat-color-icons/svg/safe.svg index a6ae173e..2f813899 100644 --- a/Demo/flat-color-icons/svg/safe.svg +++ b/Demo/flat-color-icons/svg/safe.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/sales_performance.svg b/Demo/flat-color-icons/svg/sales_performance.svg index 2fbf035a..a5be2da6 100644 --- a/Demo/flat-color-icons/svg/sales_performance.svg +++ b/Demo/flat-color-icons/svg/sales_performance.svg @@ -1,66 +1,66 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/scatter_plot.svg b/Demo/flat-color-icons/svg/scatter_plot.svg index c280f169..a84d440a 100644 --- a/Demo/flat-color-icons/svg/scatter_plot.svg +++ b/Demo/flat-color-icons/svg/scatter_plot.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/search.svg b/Demo/flat-color-icons/svg/search.svg index 78a902d9..9b311da5 100644 --- a/Demo/flat-color-icons/svg/search.svg +++ b/Demo/flat-color-icons/svg/search.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/self_service_kiosk.svg b/Demo/flat-color-icons/svg/self_service_kiosk.svg index 83cdc8a6..b62c7106 100644 --- a/Demo/flat-color-icons/svg/self_service_kiosk.svg +++ b/Demo/flat-color-icons/svg/self_service_kiosk.svg @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/selfie.svg b/Demo/flat-color-icons/svg/selfie.svg index 6c1960c7..f7306754 100644 --- a/Demo/flat-color-icons/svg/selfie.svg +++ b/Demo/flat-color-icons/svg/selfie.svg @@ -1,19 +1,19 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/serial_tasks.svg b/Demo/flat-color-icons/svg/serial_tasks.svg index 71d92cdf..a7ea3081 100644 --- a/Demo/flat-color-icons/svg/serial_tasks.svg +++ b/Demo/flat-color-icons/svg/serial_tasks.svg @@ -1,10 +1,10 @@ - - - - - - - - - - + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/service_mark.svg b/Demo/flat-color-icons/svg/service_mark.svg index 9bb2199a..bf552b0b 100644 --- a/Demo/flat-color-icons/svg/service_mark.svg +++ b/Demo/flat-color-icons/svg/service_mark.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/services.svg b/Demo/flat-color-icons/svg/services.svg index c1e76ae0..53055823 100644 --- a/Demo/flat-color-icons/svg/services.svg +++ b/Demo/flat-color-icons/svg/services.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/settings.svg b/Demo/flat-color-icons/svg/settings.svg index 84502343..e10d4e2b 100644 --- a/Demo/flat-color-icons/svg/settings.svg +++ b/Demo/flat-color-icons/svg/settings.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/share.svg b/Demo/flat-color-icons/svg/share.svg index dd9f708d..a7f7f5bd 100644 --- a/Demo/flat-color-icons/svg/share.svg +++ b/Demo/flat-color-icons/svg/share.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/shipped.svg b/Demo/flat-color-icons/svg/shipped.svg index deb3e127..c5071199 100644 --- a/Demo/flat-color-icons/svg/shipped.svg +++ b/Demo/flat-color-icons/svg/shipped.svg @@ -1,14 +1,14 @@ - - - - - - - - - - - - - - + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/shop.svg b/Demo/flat-color-icons/svg/shop.svg index cc7b1fcb..d2675752 100644 --- a/Demo/flat-color-icons/svg/shop.svg +++ b/Demo/flat-color-icons/svg/shop.svg @@ -1,29 +1,29 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/signature.svg b/Demo/flat-color-icons/svg/signature.svg index bf2480f7..4604eff2 100644 --- a/Demo/flat-color-icons/svg/signature.svg +++ b/Demo/flat-color-icons/svg/signature.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/sim_card.svg b/Demo/flat-color-icons/svg/sim_card.svg index abb59dab..b1ccb2c7 100644 --- a/Demo/flat-color-icons/svg/sim_card.svg +++ b/Demo/flat-color-icons/svg/sim_card.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Demo/flat-color-icons/svg/sim_card_chip.svg b/Demo/flat-color-icons/svg/sim_card_chip.svg index e267215b..b73493bf 100644 --- a/Demo/flat-color-icons/svg/sim_card_chip.svg +++ b/Demo/flat-color-icons/svg/sim_card_chip.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/slr_back_side.svg b/Demo/flat-color-icons/svg/slr_back_side.svg index e5d771b3..cd8f0f4d 100644 --- a/Demo/flat-color-icons/svg/slr_back_side.svg +++ b/Demo/flat-color-icons/svg/slr_back_side.svg @@ -1,13 +1,13 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/smartphone_tablet.svg b/Demo/flat-color-icons/svg/smartphone_tablet.svg index 5eec678c..57818a2e 100644 --- a/Demo/flat-color-icons/svg/smartphone_tablet.svg +++ b/Demo/flat-color-icons/svg/smartphone_tablet.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/sms.svg b/Demo/flat-color-icons/svg/sms.svg index 72a6e4c2..5bfb6654 100644 --- a/Demo/flat-color-icons/svg/sms.svg +++ b/Demo/flat-color-icons/svg/sms.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/sound_recording_copyright.svg b/Demo/flat-color-icons/svg/sound_recording_copyright.svg index 4d27d586..4685546e 100644 --- a/Demo/flat-color-icons/svg/sound_recording_copyright.svg +++ b/Demo/flat-color-icons/svg/sound_recording_copyright.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/speaker.svg b/Demo/flat-color-icons/svg/speaker.svg index f5f0a935..ba49fd66 100644 --- a/Demo/flat-color-icons/svg/speaker.svg +++ b/Demo/flat-color-icons/svg/speaker.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/sports_mode.svg b/Demo/flat-color-icons/svg/sports_mode.svg index e670522b..69d7b96d 100644 --- a/Demo/flat-color-icons/svg/sports_mode.svg +++ b/Demo/flat-color-icons/svg/sports_mode.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/stack_of_photos.svg b/Demo/flat-color-icons/svg/stack_of_photos.svg index 10d17163..3ff4a155 100644 --- a/Demo/flat-color-icons/svg/stack_of_photos.svg +++ b/Demo/flat-color-icons/svg/stack_of_photos.svg @@ -1,15 +1,15 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/start.svg b/Demo/flat-color-icons/svg/start.svg index af1dc73e..bfd7cd7e 100644 --- a/Demo/flat-color-icons/svg/start.svg +++ b/Demo/flat-color-icons/svg/start.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/statistics.svg b/Demo/flat-color-icons/svg/statistics.svg index ac943fb3..fe1fe7da 100644 --- a/Demo/flat-color-icons/svg/statistics.svg +++ b/Demo/flat-color-icons/svg/statistics.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/steam.svg b/Demo/flat-color-icons/svg/steam.svg index 6d8b350c..1c37fa26 100644 --- a/Demo/flat-color-icons/svg/steam.svg +++ b/Demo/flat-color-icons/svg/steam.svg @@ -1,22 +1,22 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/stumbleupon.svg b/Demo/flat-color-icons/svg/stumbleupon.svg index 949e9a32..a7521ac3 100644 --- a/Demo/flat-color-icons/svg/stumbleupon.svg +++ b/Demo/flat-color-icons/svg/stumbleupon.svg @@ -1,15 +1,15 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/support.svg b/Demo/flat-color-icons/svg/support.svg index 192c8f36..96362846 100644 --- a/Demo/flat-color-icons/svg/support.svg +++ b/Demo/flat-color-icons/svg/support.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Demo/flat-color-icons/svg/survey.svg b/Demo/flat-color-icons/svg/survey.svg index 366eb2fd..fbf1248f 100644 --- a/Demo/flat-color-icons/svg/survey.svg +++ b/Demo/flat-color-icons/svg/survey.svg @@ -1,16 +1,16 @@ - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/switch_camera.svg b/Demo/flat-color-icons/svg/switch_camera.svg index 65d2a998..0ca61e41 100644 --- a/Demo/flat-color-icons/svg/switch_camera.svg +++ b/Demo/flat-color-icons/svg/switch_camera.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/synchronize.svg b/Demo/flat-color-icons/svg/synchronize.svg index e788e4ba..79e4770a 100644 --- a/Demo/flat-color-icons/svg/synchronize.svg +++ b/Demo/flat-color-icons/svg/synchronize.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/tablet_android.svg b/Demo/flat-color-icons/svg/tablet_android.svg index edd9e87c..7c4d4314 100644 --- a/Demo/flat-color-icons/svg/tablet_android.svg +++ b/Demo/flat-color-icons/svg/tablet_android.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Demo/flat-color-icons/svg/template.svg b/Demo/flat-color-icons/svg/template.svg index f4514d59..d39671a1 100644 --- a/Demo/flat-color-icons/svg/template.svg +++ b/Demo/flat-color-icons/svg/template.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/timeline.svg b/Demo/flat-color-icons/svg/timeline.svg index 9935399b..534ef79f 100644 --- a/Demo/flat-color-icons/svg/timeline.svg +++ b/Demo/flat-color-icons/svg/timeline.svg @@ -1,11 +1,11 @@ - - - - - - - - - - - + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/todo_list.svg b/Demo/flat-color-icons/svg/todo_list.svg index 403d3ce3..bd9e5a0b 100644 --- a/Demo/flat-color-icons/svg/todo_list.svg +++ b/Demo/flat-color-icons/svg/todo_list.svg @@ -1,12 +1,12 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/touchscreen_smartphone.svg b/Demo/flat-color-icons/svg/touchscreen_smartphone.svg index 13f527cf..0442742e 100644 --- a/Demo/flat-color-icons/svg/touchscreen_smartphone.svg +++ b/Demo/flat-color-icons/svg/touchscreen_smartphone.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/trademark.svg b/Demo/flat-color-icons/svg/trademark.svg index 121a27d1..b1eb16af 100644 --- a/Demo/flat-color-icons/svg/trademark.svg +++ b/Demo/flat-color-icons/svg/trademark.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/tree_structure.svg b/Demo/flat-color-icons/svg/tree_structure.svg index 54303eae..e151928a 100644 --- a/Demo/flat-color-icons/svg/tree_structure.svg +++ b/Demo/flat-color-icons/svg/tree_structure.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/two_smartphones.svg b/Demo/flat-color-icons/svg/two_smartphones.svg index d62d5495..13acfd37 100644 --- a/Demo/flat-color-icons/svg/two_smartphones.svg +++ b/Demo/flat-color-icons/svg/two_smartphones.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/undo.svg b/Demo/flat-color-icons/svg/undo.svg index 3287135e..07bc5af5 100644 --- a/Demo/flat-color-icons/svg/undo.svg +++ b/Demo/flat-color-icons/svg/undo.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/unlock.svg b/Demo/flat-color-icons/svg/unlock.svg index 35c03c6f..b2281761 100644 --- a/Demo/flat-color-icons/svg/unlock.svg +++ b/Demo/flat-color-icons/svg/unlock.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Demo/flat-color-icons/svg/up.svg b/Demo/flat-color-icons/svg/up.svg index 27042d80..ef4713d5 100644 --- a/Demo/flat-color-icons/svg/up.svg +++ b/Demo/flat-color-icons/svg/up.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/up_left.svg b/Demo/flat-color-icons/svg/up_left.svg index 85b8d2fb..0299190e 100644 --- a/Demo/flat-color-icons/svg/up_left.svg +++ b/Demo/flat-color-icons/svg/up_left.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/up_right.svg b/Demo/flat-color-icons/svg/up_right.svg index 511fba0b..3a5ee384 100644 --- a/Demo/flat-color-icons/svg/up_right.svg +++ b/Demo/flat-color-icons/svg/up_right.svg @@ -1,6 +1,6 @@ - - - - - - + + + + + + diff --git a/Demo/flat-color-icons/svg/upload.svg b/Demo/flat-color-icons/svg/upload.svg index 0308c404..5f19e2db 100644 --- a/Demo/flat-color-icons/svg/upload.svg +++ b/Demo/flat-color-icons/svg/upload.svg @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/usb.svg b/Demo/flat-color-icons/svg/usb.svg index f862c791..fc2956f7 100644 --- a/Demo/flat-color-icons/svg/usb.svg +++ b/Demo/flat-color-icons/svg/usb.svg @@ -1,22 +1,22 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/video_call.svg b/Demo/flat-color-icons/svg/video_call.svg index 0b395acf..2126f7d2 100644 --- a/Demo/flat-color-icons/svg/video_call.svg +++ b/Demo/flat-color-icons/svg/video_call.svg @@ -1,4 +1,4 @@ - - - - + + + + diff --git a/Demo/flat-color-icons/svg/video_file.svg b/Demo/flat-color-icons/svg/video_file.svg index b795234a..fe1d86d1 100644 --- a/Demo/flat-color-icons/svg/video_file.svg +++ b/Demo/flat-color-icons/svg/video_file.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Demo/flat-color-icons/svg/video_projector.svg b/Demo/flat-color-icons/svg/video_projector.svg index dcdf3ee4..1a69d28c 100644 --- a/Demo/flat-color-icons/svg/video_projector.svg +++ b/Demo/flat-color-icons/svg/video_projector.svg @@ -1,27 +1,27 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/view_details.svg b/Demo/flat-color-icons/svg/view_details.svg index caf24e31..150f3fbf 100644 --- a/Demo/flat-color-icons/svg/view_details.svg +++ b/Demo/flat-color-icons/svg/view_details.svg @@ -1,13 +1,13 @@ - - - - - - - - - - - - - + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/vip.svg b/Demo/flat-color-icons/svg/vip.svg index 6754eb0f..fdd3d82d 100644 --- a/Demo/flat-color-icons/svg/vip.svg +++ b/Demo/flat-color-icons/svg/vip.svg @@ -1,8 +1,8 @@ - - - - - - - - + + + + + + + + diff --git a/Demo/flat-color-icons/svg/vlc.svg b/Demo/flat-color-icons/svg/vlc.svg index 22ce4524..b72aae25 100644 --- a/Demo/flat-color-icons/svg/vlc.svg +++ b/Demo/flat-color-icons/svg/vlc.svg @@ -1,21 +1,21 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/voice_presentation.svg b/Demo/flat-color-icons/svg/voice_presentation.svg index bbc12069..691f34d0 100644 --- a/Demo/flat-color-icons/svg/voice_presentation.svg +++ b/Demo/flat-color-icons/svg/voice_presentation.svg @@ -1,5 +1,5 @@ - - - - - + + + + + diff --git a/Demo/flat-color-icons/svg/voicemail.svg b/Demo/flat-color-icons/svg/voicemail.svg index ea57b086..b3fb2e1d 100644 --- a/Demo/flat-color-icons/svg/voicemail.svg +++ b/Demo/flat-color-icons/svg/voicemail.svg @@ -1,3 +1,3 @@ - - - + + + diff --git a/Demo/flat-color-icons/svg/webcam.svg b/Demo/flat-color-icons/svg/webcam.svg index 929dc388..7aec31ed 100644 --- a/Demo/flat-color-icons/svg/webcam.svg +++ b/Demo/flat-color-icons/svg/webcam.svg @@ -1,7 +1,7 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/wi-fi_logo.svg b/Demo/flat-color-icons/svg/wi-fi_logo.svg index f91230a8..097cee2e 100644 --- a/Demo/flat-color-icons/svg/wi-fi_logo.svg +++ b/Demo/flat-color-icons/svg/wi-fi_logo.svg @@ -1,22 +1,22 @@ - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/Demo/flat-color-icons/svg/wikipedia.svg b/Demo/flat-color-icons/svg/wikipedia.svg index 5265c984..6b0b5dc2 100644 --- a/Demo/flat-color-icons/svg/wikipedia.svg +++ b/Demo/flat-color-icons/svg/wikipedia.svg @@ -1,16 +1,16 @@ - - - - - - - + + + + + + + diff --git a/Demo/flat-color-icons/svg/workflow.svg b/Demo/flat-color-icons/svg/workflow.svg index 858cb46a..6ad2c0ed 100644 --- a/Demo/flat-color-icons/svg/workflow.svg +++ b/Demo/flat-color-icons/svg/workflow.svg @@ -1,18 +1,18 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + diff --git a/Demo/svg_examples/butterfly.svg b/Demo/svg_examples/butterfly.svg index 9460faad..d1da4caa 100644 --- a/Demo/svg_examples/butterfly.svg +++ b/Demo/svg_examples/butterfly.svg @@ -1,212 +1,212 @@ - - - - -]> - - - - - + + + + +]> + + + + + diff --git a/Demo/svg_examples/cowboy.svg b/Demo/svg_examples/cowboy.svg index e36ae8c8..6ffbe116 100644 --- a/Demo/svg_examples/cowboy.svg +++ b/Demo/svg_examples/cowboy.svg @@ -1,6385 +1,6385 @@ - - - - -]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Demo/svg_examples/lion.svg b/Demo/svg_examples/lion.svg index 701dda01..63c697eb 100644 --- a/Demo/svg_examples/lion.svg +++ b/Demo/svg_examples/lion.svg @@ -1,337 +1,337 @@ - - - - -]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Demo/svg_examples/tiger.svg b/Demo/svg_examples/tiger.svg index a065d92e..8051b11e 100644 --- a/Demo/svg_examples/tiger.svg +++ b/Demo/svg_examples/tiger.svg @@ -1,1195 +1,1195 @@ - - - - -]> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + +]> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Packages/D10_1/SVGIconImageList.dpk b/Packages/D10_1/SVGIconImageList.dpk index 9c98fbf7..1e75f618 100644 --- a/Packages/D10_1/SVGIconImageList.dpk +++ b/Packages/D10_1/SVGIconImageList.dpk @@ -1,46 +1,46 @@ -package SVGIconImageList; - -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} -{$LIBSUFFIX '_D10_1'} -{$RUNONLY} -{$IMPLICITBUILD OFF} - -requires - vcl, - SVGIconPackage; - -contains - SVGIconImage in '..\..\Source\SVGIconImage.pas', - SVGIconImageList in '..\..\Source\SVGIconImageList.pas', - SVGIconUtils in '..\..\Source\SVGIconUtils.pas', - SVGIconImageCollection in '..\..\Source\SVGIconImageCollection.pas', - SVGIconItems in '..\..\Source\SVGIconItems.pas', - SVGIconVirtualImageList in '..\..\Source\SVGIconVirtualImageList.pas', - SVGIconImageListBase in '..\..\Source\SVGIconImageListBase.pas'; - -end. +package SVGIconImageList; + +{$R *.res} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} +{$LIBSUFFIX '_D10_1'} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + vcl, + SVGIconPackage; + +contains + SVGIconImage in '..\..\Source\SVGIconImage.pas', + SVGIconImageList in '..\..\Source\SVGIconImageList.pas', + SVGIconUtils in '..\..\Source\SVGIconUtils.pas', + SVGIconImageCollection in '..\..\Source\SVGIconImageCollection.pas', + SVGIconItems in '..\..\Source\SVGIconItems.pas', + SVGIconVirtualImageList in '..\..\Source\SVGIconVirtualImageList.pas', + SVGIconImageListBase in '..\..\Source\SVGIconImageListBase.pas'; + +end. diff --git a/Packages/D10_1/SVGIconImageList.dproj b/Packages/D10_1/SVGIconImageList.dproj index 9a9aede7..3ff8d49d 100644 --- a/Packages/D10_1/SVGIconImageList.dproj +++ b/Packages/D10_1/SVGIconImageList.dproj @@ -1,138 +1,138 @@ - - - {85598B37-A092-41F0-A93A-165F781C3BD7} - SVGIconImageList.dpk - 18.8 - VCL - True - Release - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\..\Lib\D10_1\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - All - SVGIconImageList - 1040 - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= - Ethea SVGIconImageList VCL components - true - _D10_1 - ..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) - true - - - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - - MainSource - - - - - - - - - - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - - - - Delphi.Personality.12 - Package - - - - SVGIconImageList.dpk - - - - - - True - False - - - 12 - - - - + + + {85598B37-A092-41F0-A93A-165F781C3BD7} + SVGIconImageList.dpk + 18.8 + VCL + True + Release + Win32 + 1 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\..\Lib\D10_1\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + All + SVGIconImageList + 1040 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= + Ethea SVGIconImageList VCL components + true + _D10_1 + ..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) + true + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + + MainSource + + + + + + + + + + + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + + + + Delphi.Personality.12 + Package + + + + SVGIconImageList.dpk + + + + + + True + False + + + 12 + + + + diff --git a/Packages/D10_1/SVGIconImageListGroupPackages.groupproj b/Packages/D10_1/SVGIconImageListGroupPackages.groupproj index a2a15b64..b5b4cc51 100644 --- a/Packages/D10_1/SVGIconImageListGroupPackages.groupproj +++ b/Packages/D10_1/SVGIconImageListGroupPackages.groupproj @@ -1,60 +1,60 @@ - - - {A4AA5F6B-3848-4ACC-B8ED-A532CE648BC2} - - - - - - - - - - - - - - Default.Personality.12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + {A4AA5F6B-3848-4ACC-B8ED-A532CE648BC2} + + + + + + + + + + + + + + Default.Personality.12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Packages/D10_1/SVGIconPackage.dpk b/Packages/D10_1/SVGIconPackage.dpk index dfb768aa..5c567ccb 100644 --- a/Packages/D10_1/SVGIconPackage.dpk +++ b/Packages/D10_1/SVGIconPackage.dpk @@ -1,52 +1,52 @@ -package SVGIconPackage; - -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'SVG Package for Ethea SVGIcon Components'} -{$LIBSUFFIX '_D10_1'} -{$RUNONLY} -{$IMPLICITBUILD OFF} - -requires - rtl, - xmlrtl, - vcl; - -contains - SVG in '..\..\svg\SVG.pas', - SVGColor in '..\..\Svg\SVGColor.pas', - SVGCommon in '..\..\Svg\SVGCommon.pas', - SVGPaint in '..\..\Svg\SVGPaint.pas', - SVGParse in '..\..\Svg\SVGParse.pas', - SVGPath in '..\..\Svg\SVGPath.pas', - SVGProperties in '..\..\Svg\SVGProperties.pas', - SVGStyle in '..\..\Svg\SVGStyle.pas', - SVGTypes in '..\..\Svg\SVGTypes.pas', - GDIPKerning in '..\..\Svg\GDIPKerning.pas', - GDIPOBJ2 in '..\..\Svg\GDIPOBJ2.pas', - GDIPPathText in '..\..\Svg\GDIPPathText.pas'; - -end. +package SVGIconPackage; + +{$R *.res} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'SVG Package for Ethea SVGIcon Components'} +{$LIBSUFFIX '_D10_1'} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + rtl, + xmlrtl, + vcl; + +contains + SVG in '..\..\svg\SVG.pas', + SVGColor in '..\..\Svg\SVGColor.pas', + SVGCommon in '..\..\Svg\SVGCommon.pas', + SVGPaint in '..\..\Svg\SVGPaint.pas', + SVGParse in '..\..\Svg\SVGParse.pas', + SVGPath in '..\..\Svg\SVGPath.pas', + SVGProperties in '..\..\Svg\SVGProperties.pas', + SVGStyle in '..\..\Svg\SVGStyle.pas', + SVGTypes in '..\..\Svg\SVGTypes.pas', + GDIPKerning in '..\..\Svg\GDIPKerning.pas', + GDIPOBJ2 in '..\..\Svg\GDIPOBJ2.pas', + GDIPPathText in '..\..\Svg\GDIPPathText.pas'; + +end. diff --git a/Packages/D10_1/SVGIconPackage.dproj b/Packages/D10_1/SVGIconPackage.dproj index df172a23..38ecfd9c 100644 --- a/Packages/D10_1/SVGIconPackage.dproj +++ b/Packages/D10_1/SVGIconPackage.dproj @@ -1,144 +1,144 @@ - - - {46514153-8634-40EA-997A-A6011BDFE639} - SVGIconPackage.dpk - 18.8 - VCL - True - Release - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\..\Lib\D10_1\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - All - SVGIconPackage - 1040 - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= - Ethea SVGIconImageList VCL components - true - _D10_1 - ..\..\svg;$(DCC_UnitSearchPath) - true - - - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - - MainSource - - - - - - - - - - - - - - - - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - - - - Delphi.Personality.12 - Package - - - - SVGIconPackage.dpk - - - - - - True - False - - - 12 - - - - + + + {46514153-8634-40EA-997A-A6011BDFE639} + SVGIconPackage.dpk + 18.8 + VCL + True + Release + Win32 + 1 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\..\Lib\D10_1\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + All + SVGIconPackage + 1040 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= + Ethea SVGIconImageList VCL components + true + _D10_1 + ..\..\svg;$(DCC_UnitSearchPath) + true + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + + MainSource + + + + + + + + + + + + + + + + + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + + + + Delphi.Personality.12 + Package + + + + SVGIconPackage.dpk + + + + + + True + False + + + 12 + + + + diff --git a/Packages/D10_2/SVGIconImageList.dpk b/Packages/D10_2/SVGIconImageList.dpk index 971f189d..cf7cef76 100644 --- a/Packages/D10_2/SVGIconImageList.dpk +++ b/Packages/D10_2/SVGIconImageList.dpk @@ -1,46 +1,46 @@ -package SVGIconImageList; - -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} -{$LIBSUFFIX '_D10_2'} -{$RUNONLY} -{$IMPLICITBUILD OFF} - -requires - vcl, - SVGIconPackage; - -contains - SVGIconImage in '..\..\Source\SVGIconImage.pas', - SVGIconImageList in '..\..\Source\SVGIconImageList.pas', - SVGIconUtils in '..\..\Source\SVGIconUtils.pas', - SVGIconImageCollection in '..\..\Source\SVGIconImageCollection.pas', - SVGIconItems in '..\..\Source\SVGIconItems.pas', - SVGIconVirtualImageList in '..\..\Source\SVGIconVirtualImageList.pas', - SVGIconImageListBase in '..\..\Source\SVGIconImageListBase.pas'; - -end. +package SVGIconImageList; + +{$R *.res} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} +{$LIBSUFFIX '_D10_2'} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + vcl, + SVGIconPackage; + +contains + SVGIconImage in '..\..\Source\SVGIconImage.pas', + SVGIconImageList in '..\..\Source\SVGIconImageList.pas', + SVGIconUtils in '..\..\Source\SVGIconUtils.pas', + SVGIconImageCollection in '..\..\Source\SVGIconImageCollection.pas', + SVGIconItems in '..\..\Source\SVGIconItems.pas', + SVGIconVirtualImageList in '..\..\Source\SVGIconVirtualImageList.pas', + SVGIconImageListBase in '..\..\Source\SVGIconImageListBase.pas'; + +end. diff --git a/Packages/D10_2/SVGIconImageList.dproj b/Packages/D10_2/SVGIconImageList.dproj index 65f7d372..f6d515af 100644 --- a/Packages/D10_2/SVGIconImageList.dproj +++ b/Packages/D10_2/SVGIconImageList.dproj @@ -1,140 +1,140 @@ - - - {85598B37-A092-41F0-A93A-165F781C3BD7} - SVGIconImageList.dpk - 18.8 - VCL - True - Release - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\..\Lib\D10_2\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - All - SVGIconImageList - 1040 - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= - Ethea SVGIconImageList VCL components - true - _D10_2 - ..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) - true - - - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - - MainSource - - - - - - - - - - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - - - - Delphi.Personality.12 - Package - - - - SVGIconImageList.dpk - - - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components - - - - True - False - - - 12 - - - - + + + {85598B37-A092-41F0-A93A-165F781C3BD7} + SVGIconImageList.dpk + 18.8 + VCL + True + Release + Win32 + 1 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\..\Lib\D10_2\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + All + SVGIconImageList + 1040 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= + Ethea SVGIconImageList VCL components + true + _D10_2 + ..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) + true + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + + MainSource + + + + + + + + + + + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + + + + Delphi.Personality.12 + Package + + + + SVGIconImageList.dpk + + + Microsoft Office 2000 Sample Automation Server Wrapper Components + Microsoft Office XP Sample Automation Server Wrapper Components + + + + True + False + + + 12 + + + + diff --git a/Packages/D10_2/SVGIconImageListGroupPackages.groupproj b/Packages/D10_2/SVGIconImageListGroupPackages.groupproj index ab48081b..aa628da6 100644 --- a/Packages/D10_2/SVGIconImageListGroupPackages.groupproj +++ b/Packages/D10_2/SVGIconImageListGroupPackages.groupproj @@ -1,60 +1,60 @@ - - - {4A408524-4ECB-4DDC-B43F-4314D858031B} - - - - - - - - - - - - - - Default.Personality.12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + {4A408524-4ECB-4DDC-B43F-4314D858031B} + + + + + + + + + + + + + + Default.Personality.12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Packages/D10_2/SVGIconPackage.dpk b/Packages/D10_2/SVGIconPackage.dpk index 0f2e0280..68ab5f6f 100644 --- a/Packages/D10_2/SVGIconPackage.dpk +++ b/Packages/D10_2/SVGIconPackage.dpk @@ -1,52 +1,52 @@ -package SVGIconPackage; - -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'SVG Package for Ethea SVGIcon Components'} -{$LIBSUFFIX '_D10_2'} -{$RUNONLY} -{$IMPLICITBUILD OFF} - -requires - rtl, - xmlrtl, - vcl; - -contains - SVG in '..\..\svg\SVG.pas', - SVGColor in '..\..\Svg\SVGColor.pas', - SVGCommon in '..\..\Svg\SVGCommon.pas', - SVGPaint in '..\..\Svg\SVGPaint.pas', - SVGParse in '..\..\Svg\SVGParse.pas', - SVGPath in '..\..\Svg\SVGPath.pas', - SVGProperties in '..\..\Svg\SVGProperties.pas', - SVGStyle in '..\..\Svg\SVGStyle.pas', - SVGTypes in '..\..\Svg\SVGTypes.pas', - GDIPKerning in '..\..\Svg\GDIPKerning.pas', - GDIPOBJ2 in '..\..\Svg\GDIPOBJ2.pas', - GDIPPathText in '..\..\Svg\GDIPPathText.pas'; - -end. +package SVGIconPackage; + +{$R *.res} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'SVG Package for Ethea SVGIcon Components'} +{$LIBSUFFIX '_D10_2'} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + rtl, + xmlrtl, + vcl; + +contains + SVG in '..\..\svg\SVG.pas', + SVGColor in '..\..\Svg\SVGColor.pas', + SVGCommon in '..\..\Svg\SVGCommon.pas', + SVGPaint in '..\..\Svg\SVGPaint.pas', + SVGParse in '..\..\Svg\SVGParse.pas', + SVGPath in '..\..\Svg\SVGPath.pas', + SVGProperties in '..\..\Svg\SVGProperties.pas', + SVGStyle in '..\..\Svg\SVGStyle.pas', + SVGTypes in '..\..\Svg\SVGTypes.pas', + GDIPKerning in '..\..\Svg\GDIPKerning.pas', + GDIPOBJ2 in '..\..\Svg\GDIPOBJ2.pas', + GDIPPathText in '..\..\Svg\GDIPPathText.pas'; + +end. diff --git a/Packages/D10_2/SVGIconPackage.dproj b/Packages/D10_2/SVGIconPackage.dproj index 5ddfd21b..47638e68 100644 --- a/Packages/D10_2/SVGIconPackage.dproj +++ b/Packages/D10_2/SVGIconPackage.dproj @@ -1,144 +1,144 @@ - - - {0F9E2015-50ED-4E52-AEC0-F8DB41C51845} - SVGIconPackage.dpk - 18.8 - VCL - True - Release - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\..\Lib\D10_2\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - All - SVGIconPackage - 1040 - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= - Ethea SVGIconImageList VCL components - true - _D10_2 - ..\..\svg;$(DCC_UnitSearchPath) - true - - - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - - MainSource - - - - - - - - - - - - - - - - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - - - - Delphi.Personality.12 - Package - - - - SVGIconPackage.dpk - - - - - - True - False - - - 12 - - - - + + + {0F9E2015-50ED-4E52-AEC0-F8DB41C51845} + SVGIconPackage.dpk + 18.8 + VCL + True + Release + Win32 + 1 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\..\Lib\D10_2\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + All + SVGIconPackage + 1040 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= + Ethea SVGIconImageList VCL components + true + _D10_2 + ..\..\svg;$(DCC_UnitSearchPath) + true + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + + MainSource + + + + + + + + + + + + + + + + + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + + + + Delphi.Personality.12 + Package + + + + SVGIconPackage.dpk + + + + + + True + False + + + 12 + + + + diff --git a/Packages/D10_2/dclSVGIconImageList.dpk b/Packages/D10_2/dclSVGIconImageList.dpk index 9e9de30d..6a694eff 100644 --- a/Packages/D10_2/dclSVGIconImageList.dpk +++ b/Packages/D10_2/dclSVGIconImageList.dpk @@ -1,45 +1,45 @@ -package dclSVGIconImageList; - -{$R *.res} -{$R '..\SVGIconImageListNew.dcr'} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} -{$LIBSUFFIX '_D10_2'} -{$DESIGNONLY} -{$IMPLICITBUILD OFF} - -requires - DesignIDE, - SVGIconPackage, - SVGIconImageList, - VclSmp; - -contains - SVGIconImageListEditorUnit in '..\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, - SVGIconImageRegister in '..\SVGIconImageRegister.pas', - SVGTextPropertyEditorUnit in '..\SVGTextPropertyEditorUnit.pas' {SVGTextPropertyEditorForm}; - -end. +package dclSVGIconImageList; + +{$R *.res} +{$R '..\SVGIconImageListNew.dcr'} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} +{$LIBSUFFIX '_D10_2'} +{$DESIGNONLY} +{$IMPLICITBUILD OFF} + +requires + DesignIDE, + SVGIconPackage, + SVGIconImageList, + VclSmp; + +contains + SVGIconImageListEditorUnit in '..\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, + SVGIconImageRegister in '..\SVGIconImageRegister.pas', + SVGTextPropertyEditorUnit in '..\SVGTextPropertyEditorUnit.pas' {SVGTextPropertyEditorForm}; + +end. diff --git a/Packages/D10_2/dclSVGIconImageList.dproj b/Packages/D10_2/dclSVGIconImageList.dproj index c127b58b..6d526083 100644 --- a/Packages/D10_2/dclSVGIconImageList.dproj +++ b/Packages/D10_2/dclSVGIconImageList.dproj @@ -1,142 +1,142 @@ - - - {3DFB080A-B607-4FFE-9AC0-D9204CDB8E38} - dclSVGIconImageList.dpk - 18.8 - VCL - True - Release - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\..\Lib\D10_2\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - All - dclSVGIconImageList - 1040 - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= - Ethea SVGIconImageList VCL components - true - _D10_2 - ..\..\svg;..\..\GDIP;..\..\Source;$(DCC_UnitSearchPath) - true - - - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - SVGIconImageList;VclSmp;SVGIconPackage;$(DCC_UsePackage) - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - - MainSource - - - - - - - -
SVGIconImageListEditor
-
- - -
SVGTextPropertyEditorForm
- dfm -
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Package - - - - dclSVGIconImageList.dpk - - - - - True - False - - - 12 - - - -
+ + + {3DFB080A-B607-4FFE-9AC0-D9204CDB8E38} + dclSVGIconImageList.dpk + 18.8 + VCL + True + Release + Win32 + 1 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\..\Lib\D10_2\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + All + dclSVGIconImageList + 1040 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= + Ethea SVGIconImageList VCL components + true + _D10_2 + ..\..\svg;..\..\GDIP;..\..\Source;$(DCC_UnitSearchPath) + true + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + SVGIconImageList;VclSmp;SVGIconPackage;$(DCC_UsePackage) + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + + MainSource + + + + + + + +
SVGIconImageListEditor
+
+ + +
SVGTextPropertyEditorForm
+ dfm +
+ + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + Delphi.Personality.12 + Package + + + + dclSVGIconImageList.dpk + + + + + True + False + + + 12 + + + +
diff --git a/Packages/D10_3/SVGIconImageList.dpk b/Packages/D10_3/SVGIconImageList.dpk index 7b210fdc..fd9559f6 100644 --- a/Packages/D10_3/SVGIconImageList.dpk +++ b/Packages/D10_3/SVGIconImageList.dpk @@ -1,47 +1,47 @@ -package SVGIconImageList; - -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} -{$LIBSUFFIX '_D10_3'} -{$RUNONLY} -{$IMPLICITBUILD OFF} - -requires - vcl, - SVGIconPackage, - vclwinx; - -contains - SVGIconImage in '..\..\Source\SVGIconImage.pas', - SVGIconImageList in '..\..\Source\SVGIconImageList.pas', - SVGIconUtils in '..\..\Source\SVGIconUtils.pas', - SVGIconImageCollection in '..\..\Source\SVGIconImageCollection.pas', - SVGIconItems in '..\..\Source\SVGIconItems.pas', - SVGIconVirtualImageList in '..\..\Source\SVGIconVirtualImageList.pas', - SVGIconImageListBase in '..\..\Source\SVGIconImageListBase.pas'; - -end. +package SVGIconImageList; + +{$R *.res} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} +{$LIBSUFFIX '_D10_3'} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + vcl, + SVGIconPackage, + vclwinx; + +contains + SVGIconImage in '..\..\Source\SVGIconImage.pas', + SVGIconImageList in '..\..\Source\SVGIconImageList.pas', + SVGIconUtils in '..\..\Source\SVGIconUtils.pas', + SVGIconImageCollection in '..\..\Source\SVGIconImageCollection.pas', + SVGIconItems in '..\..\Source\SVGIconItems.pas', + SVGIconVirtualImageList in '..\..\Source\SVGIconVirtualImageList.pas', + SVGIconImageListBase in '..\..\Source\SVGIconImageListBase.pas'; + +end. diff --git a/Packages/D10_3/SVGIconImageList.dproj b/Packages/D10_3/SVGIconImageList.dproj index 0a7c48b5..9ce29a57 100644 --- a/Packages/D10_3/SVGIconImageList.dproj +++ b/Packages/D10_3/SVGIconImageList.dproj @@ -1,897 +1,897 @@ - - - {34B85FB5-2389-4BF1-BCEC-C24DA971F5DE} - SVGIconImageList.dpk - 18.8 - VCL - True - Release - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\..\Lib\D10_3\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - All - SVGIconImageList - 1040 - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= - Ethea SVGIconImageList VCL components - true - _D10_3 - ..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) - true - - - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - - MainSource - - - - - - - - - - - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - - - - Delphi.Personality.12 - Package - - - - SVGIconImageList.dpk - - - - - True - False - - - - - SVGIconImageList.bpl - true - - - - - 1 - - - 0 - - - - - classes - 1 - - - classes - 1 - - - - - res\xml - 1 - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - library\lib\armeabi - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\mips - 1 - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\values-v21 - 1 - - - res\values-v21 - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - res\drawable-small - 1 - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - res\drawable-xlarge - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - 1 - - - 1 - - - 0 - - - - - 1 - .framework - - - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - - - - 1 - - - 1 - - - 1 - - - - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 0 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - - 12 - - - - - + + + {34B85FB5-2389-4BF1-BCEC-C24DA971F5DE} + SVGIconImageList.dpk + 18.8 + VCL + True + Release + Win32 + 1 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\..\Lib\D10_3\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + All + SVGIconImageList + 1040 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= + Ethea SVGIconImageList VCL components + true + _D10_3 + ..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) + true + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + + MainSource + + + + + + + + + + + + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + + + + Delphi.Personality.12 + Package + + + + SVGIconImageList.dpk + + + + + True + False + + + + + SVGIconImageList.bpl + true + + + + + 1 + + + 0 + + + + + classes + 1 + + + classes + 1 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\armeabi + 1 + + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\mips + 1 + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-small + 1 + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + 1 + + + 1 + + + 0 + + + + + 1 + .framework + + + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + + + + 1 + + + 1 + + + 1 + + + + + + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + + + + + + + + + + + 12 + + + + + diff --git a/Packages/D10_3/SVGIconImageListFMX.dpk b/Packages/D10_3/SVGIconImageListFMX.dpk index 9425f8e6..dce650ca 100644 --- a/Packages/D10_3/SVGIconImageListFMX.dpk +++ b/Packages/D10_3/SVGIconImageListFMX.dpk @@ -1,41 +1,41 @@ -package SVGIconImageListFMX; - -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'Ethea SVGIconImageList FMX components'} -{$LIBSUFFIX '_D10_3'} -{$RUNONLY} -{$IMPLICITBUILD OFF} - -requires - fmx, - SVGIconPackage; - -contains - FMX.SVGIconImageList in '..\..\Source\FMX.SVGIconImageList.pas', - FMX.SVGIconImage in '..\..\Source\FMX.SVGIconImage.pas'; - -end. +package SVGIconImageListFMX; + +{$R *.res} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'Ethea SVGIconImageList FMX components'} +{$LIBSUFFIX '_D10_3'} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + fmx, + SVGIconPackage; + +contains + FMX.SVGIconImageList in '..\..\Source\FMX.SVGIconImageList.pas', + FMX.SVGIconImage in '..\..\Source\FMX.SVGIconImage.pas'; + +end. diff --git a/Packages/D10_3/SVGIconImageListFMX.dproj b/Packages/D10_3/SVGIconImageListFMX.dproj index eea4f598..6f3636fb 100644 --- a/Packages/D10_3/SVGIconImageListFMX.dproj +++ b/Packages/D10_3/SVGIconImageListFMX.dproj @@ -1,899 +1,899 @@ - - - {2CD11B99-3805-4F90-B598-3652213872B2} - SVGIconImageListFMX.dpk - 18.8 - FMX - True - Release - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - ..\..\Lib\D10_3\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) - All - SVGIconImageListFMX - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - Ethea SVGIconImageList FMX components - true - true - _D10_3 - - - Debug - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - - MainSource - - - - - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - - - - Delphi.Personality.12 - Package - - - - SVGIconImageListFMX.dpk - - - Chrome Tabs - Microsoft Office 2000 Sample Automation Server Wrapper Components - - - - - - true - - - - - true - - - - - true - - - - - SVGIconImageListFMX.bpl - true - - - - - SVGIconImageListFMX.bpl - true - - - - - 1 - - - 0 - - - - - classes - 1 - - - classes - 1 - - - - - res\xml - 1 - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - library\lib\armeabi - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\mips - 1 - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\values-v21 - 1 - - - res\values-v21 - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - res\drawable-small - 1 - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - res\drawable-xlarge - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - 1 - - - 1 - - - 0 - - - - - 1 - .framework - - - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - - - - 1 - - - 1 - - - 1 - - - - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 0 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - - True - False - - - 12 - - - - - + + + {2CD11B99-3805-4F90-B598-3652213872B2} + SVGIconImageListFMX.dpk + 18.8 + FMX + True + Release + Win32 + 1 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + ..\..\Lib\D10_3\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + All + SVGIconImageListFMX + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + Ethea SVGIconImageList FMX components + true + true + _D10_3 + + + Debug + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + + MainSource + + + + + + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + + + + Delphi.Personality.12 + Package + + + + SVGIconImageListFMX.dpk + + + Chrome Tabs + Microsoft Office 2000 Sample Automation Server Wrapper Components + + + + + + true + + + + + true + + + + + true + + + + + SVGIconImageListFMX.bpl + true + + + + + SVGIconImageListFMX.bpl + true + + + + + 1 + + + 0 + + + + + classes + 1 + + + classes + 1 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\armeabi + 1 + + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\mips + 1 + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-small + 1 + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + 1 + + + 1 + + + 0 + + + + + 1 + .framework + + + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + + + + 1 + + + 1 + + + 1 + + + + + + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + + + + + + + + + + + True + False + + + 12 + + + + + diff --git a/Packages/D10_3/SVGIconImageListGroupPackages.groupproj b/Packages/D10_3/SVGIconImageListGroupPackages.groupproj index b70789d5..5505f556 100644 --- a/Packages/D10_3/SVGIconImageListGroupPackages.groupproj +++ b/Packages/D10_3/SVGIconImageListGroupPackages.groupproj @@ -1,84 +1,84 @@ - - - {7A7B58A9-B22F-4708-9C72-ACB5ED7884D5} - - - - - - - - - - - - - - - - - - - - Default.Personality.12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + {7A7B58A9-B22F-4708-9C72-ACB5ED7884D5} + + + + + + + + + + + + + + + + + + + + Default.Personality.12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Packages/D10_3/SVGIconPackage.dpk b/Packages/D10_3/SVGIconPackage.dpk index 93a167a9..38c84ac2 100644 --- a/Packages/D10_3/SVGIconPackage.dpk +++ b/Packages/D10_3/SVGIconPackage.dpk @@ -1,52 +1,52 @@ -package SVGIconPackage; - -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'SVG Package for Ethea SVGIcon Components'} -{$LIBSUFFIX '_D10_3'} -{$RUNONLY} -{$IMPLICITBUILD OFF} - -requires - rtl, - xmlrtl, - vcl; - -contains - SVG in '..\..\svg\SVG.pas', - SVGColor in '..\..\Svg\SVGColor.pas', - SVGCommon in '..\..\Svg\SVGCommon.pas', - SVGPaint in '..\..\Svg\SVGPaint.pas', - SVGParse in '..\..\Svg\SVGParse.pas', - SVGPath in '..\..\Svg\SVGPath.pas', - SVGProperties in '..\..\Svg\SVGProperties.pas', - SVGStyle in '..\..\Svg\SVGStyle.pas', - SVGTypes in '..\..\Svg\SVGTypes.pas', - GDIPKerning in '..\..\Svg\GDIPKerning.pas', - GDIPOBJ2 in '..\..\Svg\GDIPOBJ2.pas', - GDIPPathText in '..\..\Svg\GDIPPathText.pas'; - -end. +package SVGIconPackage; + +{$R *.res} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'SVG Package for Ethea SVGIcon Components'} +{$LIBSUFFIX '_D10_3'} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + rtl, + xmlrtl, + vcl; + +contains + SVG in '..\..\svg\SVG.pas', + SVGColor in '..\..\Svg\SVGColor.pas', + SVGCommon in '..\..\Svg\SVGCommon.pas', + SVGPaint in '..\..\Svg\SVGPaint.pas', + SVGParse in '..\..\Svg\SVGParse.pas', + SVGPath in '..\..\Svg\SVGPath.pas', + SVGProperties in '..\..\Svg\SVGProperties.pas', + SVGStyle in '..\..\Svg\SVGStyle.pas', + SVGTypes in '..\..\Svg\SVGTypes.pas', + GDIPKerning in '..\..\Svg\GDIPKerning.pas', + GDIPOBJ2 in '..\..\Svg\GDIPOBJ2.pas', + GDIPPathText in '..\..\Svg\GDIPPathText.pas'; + +end. diff --git a/Packages/D10_3/SVGIconPackage.dproj b/Packages/D10_3/SVGIconPackage.dproj index eb0fc5d2..97b4cfd6 100644 --- a/Packages/D10_3/SVGIconPackage.dproj +++ b/Packages/D10_3/SVGIconPackage.dproj @@ -1,143 +1,143 @@ - - - {099DEF19-06D1-4B7C-A46A-EE1940BAF102} - SVGIconPackage.dpk - 18.8 - VCL - True - Release - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\..\Lib\D10_3\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - All - SVGIconPackage - 1040 - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= - Ethea SVGIconImageList VCL components - true - _D10_3 - ..\..\svg;$(DCC_UnitSearchPath) - true - - - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - - MainSource - - - - - - - - - - - - - - - - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - - - - Delphi.Personality.12 - Package - - - - SVGIconPackage.dpk - - - - - True - False - - - 12 - - - - + + + {099DEF19-06D1-4B7C-A46A-EE1940BAF102} + SVGIconPackage.dpk + 18.8 + VCL + True + Release + Win32 + 1 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\..\Lib\D10_3\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + All + SVGIconPackage + 1040 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= + Ethea SVGIconImageList VCL components + true + _D10_3 + ..\..\svg;$(DCC_UnitSearchPath) + true + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + + MainSource + + + + + + + + + + + + + + + + + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + + + + Delphi.Personality.12 + Package + + + + SVGIconPackage.dpk + + + + + True + False + + + 12 + + + + diff --git a/Packages/D10_3/dclSVGIconImageList.dpk b/Packages/D10_3/dclSVGIconImageList.dpk index 1b1e462f..20301bd1 100644 --- a/Packages/D10_3/dclSVGIconImageList.dpk +++ b/Packages/D10_3/dclSVGIconImageList.dpk @@ -1,45 +1,45 @@ -package dclSVGIconImageList; - -{$R *.res} -{$R '..\SVGIconImageListNew.dcr'} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} -{$LIBSUFFIX '_D10_3'} -{$DESIGNONLY} -{$IMPLICITBUILD OFF} - -requires - DesignIDE, - SVGIconPackage, - SVGIconImageList, - VclSmp; - -contains - SVGIconImageListEditorUnit in '..\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, - SVGIconImageRegister in '..\SVGIconImageRegister.pas', - SVGTextPropertyEditorUnit in '..\SVGTextPropertyEditorUnit.pas' {SVGTextPropertyEditorForm}; - -end. +package dclSVGIconImageList; + +{$R *.res} +{$R '..\SVGIconImageListNew.dcr'} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} +{$LIBSUFFIX '_D10_3'} +{$DESIGNONLY} +{$IMPLICITBUILD OFF} + +requires + DesignIDE, + SVGIconPackage, + SVGIconImageList, + VclSmp; + +contains + SVGIconImageListEditorUnit in '..\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, + SVGIconImageRegister in '..\SVGIconImageRegister.pas', + SVGTextPropertyEditorUnit in '..\SVGTextPropertyEditorUnit.pas' {SVGTextPropertyEditorForm}; + +end. diff --git a/Packages/D10_3/dclSVGIconImageList.dproj b/Packages/D10_3/dclSVGIconImageList.dproj index 82b09d41..f610d87f 100644 --- a/Packages/D10_3/dclSVGIconImageList.dproj +++ b/Packages/D10_3/dclSVGIconImageList.dproj @@ -1,142 +1,142 @@ - - - {FA437B6D-858F-4043-B55D-168E434B48AA} - dclSVGIconImageList.dpk - 18.8 - VCL - True - Release - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\..\Lib\D10_3\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - All - dclSVGIconImageList - 1040 - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= - Ethea SVGIconImageList VCL components - true - _D10_3 - ..\..\svg;..\..\GDIP;..\..\Source;$(DCC_UnitSearchPath) - true - - - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - SVGIconImageList;VclSmp;SVGIconPackage;$(DCC_UsePackage) - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - - MainSource - - - - - - - -
SVGIconImageListEditor
-
- - -
SVGTextPropertyEditorForm
- dfm -
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Package - - - - dclSVGIconImageList.dpk - - - - - True - False - - - 12 - - - -
+ + + {FA437B6D-858F-4043-B55D-168E434B48AA} + dclSVGIconImageList.dpk + 18.8 + VCL + True + Release + Win32 + 1 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\..\Lib\D10_3\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + All + dclSVGIconImageList + 1040 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= + Ethea SVGIconImageList VCL components + true + _D10_3 + ..\..\svg;..\..\GDIP;..\..\Source;$(DCC_UnitSearchPath) + true + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + SVGIconImageList;VclSmp;SVGIconPackage;$(DCC_UsePackage) + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + + MainSource + + + + + + + +
SVGIconImageListEditor
+
+ + +
SVGTextPropertyEditorForm
+ dfm +
+ + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + Delphi.Personality.12 + Package + + + + dclSVGIconImageList.dpk + + + + + True + False + + + 12 + + + +
diff --git a/Packages/D10_3/dclSVGIconImageListFMX.dpk b/Packages/D10_3/dclSVGIconImageListFMX.dpk index 69cc4e49..d1be601f 100644 --- a/Packages/D10_3/dclSVGIconImageListFMX.dpk +++ b/Packages/D10_3/dclSVGIconImageListFMX.dpk @@ -1,44 +1,44 @@ -package dclSVGIconImageListFMX; - -{$R *.res} -{$R '..\SVGIconImageListNew.dcr'} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'Ethea SVGIconImageList FMX components'} -{$LIBSUFFIX '_D10_3'} -{$DESIGNONLY} -{$IMPLICITBUILD ON} - -requires - DesignIDE, - dclfmxstd, - SVGIconPackage, - SVGIconImageListFMX; - -contains - FMX.SVGIconImageRegister in '..\FMX.SVGIconImageRegister.pas', - FMX.SVGIconImageListEditorUnit in '..\FMX.SVGIconImageListEditorUnit.pas' {SVGIconImageListEditorFMX}; - -end. +package dclSVGIconImageListFMX; + +{$R *.res} +{$R '..\SVGIconImageListNew.dcr'} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'Ethea SVGIconImageList FMX components'} +{$LIBSUFFIX '_D10_3'} +{$DESIGNONLY} +{$IMPLICITBUILD ON} + +requires + DesignIDE, + dclfmxstd, + SVGIconPackage, + SVGIconImageListFMX; + +contains + FMX.SVGIconImageRegister in '..\FMX.SVGIconImageRegister.pas', + FMX.SVGIconImageListEditorUnit in '..\FMX.SVGIconImageListEditorUnit.pas' {SVGIconImageListEditorFMX}; + +end. diff --git a/Packages/D10_3/dclSVGIconImageListFMX.dproj b/Packages/D10_3/dclSVGIconImageListFMX.dproj index c9ad4038..41d4e223 100644 --- a/Packages/D10_3/dclSVGIconImageListFMX.dproj +++ b/Packages/D10_3/dclSVGIconImageListFMX.dproj @@ -1,912 +1,912 @@ - - - {AC5E58B2-BDF0-4A77-9084-92441FBD9BC2} - dclSVGIconImageListFMX.dpk - 18.8 - FMX - True - Release - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - ..\..\Lib\D10_3\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) - All - dclSVGIconImageListFMX - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - _D10_3 - Ethea SVGIconImageList FMX components - true - 1033 - - - Debug - rtl;IconFontsImageListFMX;SVGIconImageListFMX;SVGIconPackage;$(DCC_UsePackage) - - - rtl;$(DCC_UsePackage) - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - - MainSource - - - - - - - - -
SVGIconImageListEditorFMX
-
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Package - - - - dclSVGIconImageListFMX.dpk - - - Chrome Tabs - Microsoft Office 2000 Sample Automation Server Wrapper Components - - - - - - true - - - - - true - - - - - true - - - - - dclSVGIconImageListFMX.bpl - true - - - - - dclSVGIconImageListFMX.bpl - true - - - - - 1 - - - 0 - - - - - classes - 1 - - - classes - 1 - - - - - res\xml - 1 - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - library\lib\armeabi - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\mips - 1 - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\values-v21 - 1 - - - res\values-v21 - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - res\drawable-small - 1 - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - res\drawable-xlarge - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - 1 - - - 1 - - - 0 - - - - - 1 - .framework - - - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - - - - 1 - - - 1 - - - 1 - - - - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 0 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - - True - False - - - 12 - - - - -
+ + + {AC5E58B2-BDF0-4A77-9084-92441FBD9BC2} + dclSVGIconImageListFMX.dpk + 18.8 + FMX + True + Release + Win32 + 1 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + ..\..\Lib\D10_3\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + All + dclSVGIconImageListFMX + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + _D10_3 + Ethea SVGIconImageList FMX components + true + 1033 + + + Debug + rtl;IconFontsImageListFMX;SVGIconImageListFMX;SVGIconPackage;$(DCC_UsePackage) + + + rtl;$(DCC_UsePackage) + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + + MainSource + + + + + + + + +
SVGIconImageListEditorFMX
+
+ + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + Delphi.Personality.12 + Package + + + + dclSVGIconImageListFMX.dpk + + + Chrome Tabs + Microsoft Office 2000 Sample Automation Server Wrapper Components + + + + + + true + + + + + true + + + + + true + + + + + dclSVGIconImageListFMX.bpl + true + + + + + dclSVGIconImageListFMX.bpl + true + + + + + 1 + + + 0 + + + + + classes + 1 + + + classes + 1 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\armeabi + 1 + + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\mips + 1 + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-small + 1 + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + 1 + + + 1 + + + 0 + + + + + 1 + .framework + + + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + + + + 1 + + + 1 + + + 1 + + + + + + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + + + + + + + + + + + True + False + + + 12 + + + + +
diff --git a/Packages/D10_4/SVGIconImageList.dpk b/Packages/D10_4/SVGIconImageList.dpk index 48c3bcf3..4dd74803 100644 --- a/Packages/D10_4/SVGIconImageList.dpk +++ b/Packages/D10_4/SVGIconImageList.dpk @@ -1,47 +1,47 @@ -package SVGIconImageList; - -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} -{$LIBSUFFIX '_D10_4'} -{$RUNONLY} -{$IMPLICITBUILD OFF} - -requires - vcl, - SVGIconPackage, - vclwinx; - -contains - SVGIconImage in '..\..\Source\SVGIconImage.pas', - SVGIconImageList in '..\..\Source\SVGIconImageList.pas', - SVGIconUtils in '..\..\Source\SVGIconUtils.pas', - SVGIconImageCollection in '..\..\Source\SVGIconImageCollection.pas', - SVGIconItems in '..\..\Source\SVGIconItems.pas', - SVGIconVirtualImageList in '..\..\Source\SVGIconVirtualImageList.pas', - SVGIconImageListBase in '..\..\Source\SVGIconImageListBase.pas'; - -end. +package SVGIconImageList; + +{$R *.res} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} +{$LIBSUFFIX '_D10_4'} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + vcl, + SVGIconPackage, + vclwinx; + +contains + SVGIconImage in '..\..\Source\SVGIconImage.pas', + SVGIconImageList in '..\..\Source\SVGIconImageList.pas', + SVGIconUtils in '..\..\Source\SVGIconUtils.pas', + SVGIconImageCollection in '..\..\Source\SVGIconImageCollection.pas', + SVGIconItems in '..\..\Source\SVGIconItems.pas', + SVGIconVirtualImageList in '..\..\Source\SVGIconVirtualImageList.pas', + SVGIconImageListBase in '..\..\Source\SVGIconImageListBase.pas'; + +end. diff --git a/Packages/D10_4/SVGIconImageListFMX.dpk b/Packages/D10_4/SVGIconImageListFMX.dpk index 840347fe..da8459b5 100644 --- a/Packages/D10_4/SVGIconImageListFMX.dpk +++ b/Packages/D10_4/SVGIconImageListFMX.dpk @@ -1,41 +1,41 @@ -package SVGIconImageListFMX; - -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'Ethea SVGIconImageList FMX components'} -{$LIBSUFFIX '_D10_4'} -{$RUNONLY} -{$IMPLICITBUILD OFF} - -requires - fmx, - SVGIconPackage; - -contains - FMX.SVGIconImageList in '..\..\Source\FMX.SVGIconImageList.pas', - FMX.SVGIconImage in '..\..\Source\FMX.SVGIconImage.pas'; - -end. +package SVGIconImageListFMX; + +{$R *.res} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'Ethea SVGIconImageList FMX components'} +{$LIBSUFFIX '_D10_4'} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + fmx, + SVGIconPackage; + +contains + FMX.SVGIconImageList in '..\..\Source\FMX.SVGIconImageList.pas', + FMX.SVGIconImage in '..\..\Source\FMX.SVGIconImage.pas'; + +end. diff --git a/Packages/D10_4/SVGIconImageListFMX.dproj b/Packages/D10_4/SVGIconImageListFMX.dproj index b36ce58e..ac84d604 100644 --- a/Packages/D10_4/SVGIconImageListFMX.dproj +++ b/Packages/D10_4/SVGIconImageListFMX.dproj @@ -1,899 +1,899 @@ - - - {2CD11B99-3805-4F90-B598-3652213872B2} - SVGIconImageListFMX.dpk - 19.0 - FMX - True - Release - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - ..\..\Lib\D10_4\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) - All - SVGIconImageListFMX - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - Ethea SVGIconImageList FMX components - true - true - _D10_4 - - - Debug - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - - MainSource - - - - - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - - - - Delphi.Personality.12 - Package - - - - SVGIconImageListFMX.dpk - - - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components - - - - - - true - - - - - true - - - - - true - - - - - SVGIconImageListFMX.bpl - true - - - - - SVGIconImageListFMX.bpl - true - - - - - 1 - - - 0 - - - - - classes - 1 - - - classes - 1 - - - - - res\xml - 1 - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - library\lib\armeabi - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\mips - 1 - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\values-v21 - 1 - - - res\values-v21 - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - res\drawable-small - 1 - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - res\drawable-xlarge - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - 1 - - - 1 - - - 0 - - - - - 1 - .framework - - - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - - - - 1 - - - 1 - - - 1 - - - - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 0 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - - True - False - - - 12 - - - - - + + + {2CD11B99-3805-4F90-B598-3652213872B2} + SVGIconImageListFMX.dpk + 19.0 + FMX + True + Release + Win32 + 1 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + ..\..\Lib\D10_4\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + All + SVGIconImageListFMX + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + Ethea SVGIconImageList FMX components + true + true + _D10_4 + + + Debug + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + + MainSource + + + + + + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + + + + Delphi.Personality.12 + Package + + + + SVGIconImageListFMX.dpk + + + Microsoft Office 2000 Sample Automation Server Wrapper Components + Microsoft Office XP Sample Automation Server Wrapper Components + + + + + + true + + + + + true + + + + + true + + + + + SVGIconImageListFMX.bpl + true + + + + + SVGIconImageListFMX.bpl + true + + + + + 1 + + + 0 + + + + + classes + 1 + + + classes + 1 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\armeabi + 1 + + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\mips + 1 + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-small + 1 + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + 1 + + + 1 + + + 0 + + + + + 1 + .framework + + + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + + + + 1 + + + 1 + + + 1 + + + + + + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + + + + + + + + + + + True + False + + + 12 + + + + + diff --git a/Packages/D10_4/SVGIconImageListGroupPackages.groupproj b/Packages/D10_4/SVGIconImageListGroupPackages.groupproj index 3c8845be..d77c5eb9 100644 --- a/Packages/D10_4/SVGIconImageListGroupPackages.groupproj +++ b/Packages/D10_4/SVGIconImageListGroupPackages.groupproj @@ -1,84 +1,84 @@ - - - {23E38E32-FA2D-4698-B906-A5C6A5F40068} - - - - - - - - - - - - - - - - - - - - Default.Personality.12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + {23E38E32-FA2D-4698-B906-A5C6A5F40068} + + + + + + + + + + + + + + + + + + + + Default.Personality.12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Packages/D10_4/SVGIconPackage.dpk b/Packages/D10_4/SVGIconPackage.dpk index 5f864ecb..0db7efa0 100644 --- a/Packages/D10_4/SVGIconPackage.dpk +++ b/Packages/D10_4/SVGIconPackage.dpk @@ -1,52 +1,52 @@ -package SVGIconPackage; - -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'SVG Package for Ethea SVGIcon Components'} -{$LIBSUFFIX '_D10_4'} -{$RUNONLY} -{$IMPLICITBUILD OFF} - -requires - rtl, - xmlrtl, - vcl; - -contains - SVG in '..\..\svg\SVG.pas', - SVGColor in '..\..\Svg\SVGColor.pas', - SVGCommon in '..\..\Svg\SVGCommon.pas', - SVGPaint in '..\..\Svg\SVGPaint.pas', - SVGParse in '..\..\Svg\SVGParse.pas', - SVGPath in '..\..\Svg\SVGPath.pas', - SVGProperties in '..\..\Svg\SVGProperties.pas', - SVGStyle in '..\..\Svg\SVGStyle.pas', - SVGTypes in '..\..\Svg\SVGTypes.pas', - GDIPKerning in '..\..\Svg\GDIPKerning.pas', - GDIPOBJ2 in '..\..\Svg\GDIPOBJ2.pas', - GDIPPathText in '..\..\Svg\GDIPPathText.pas'; - -end. +package SVGIconPackage; + +{$R *.res} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'SVG Package for Ethea SVGIcon Components'} +{$LIBSUFFIX '_D10_4'} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + rtl, + xmlrtl, + vcl; + +contains + SVG in '..\..\svg\SVG.pas', + SVGColor in '..\..\Svg\SVGColor.pas', + SVGCommon in '..\..\Svg\SVGCommon.pas', + SVGPaint in '..\..\Svg\SVGPaint.pas', + SVGParse in '..\..\Svg\SVGParse.pas', + SVGPath in '..\..\Svg\SVGPath.pas', + SVGProperties in '..\..\Svg\SVGProperties.pas', + SVGStyle in '..\..\Svg\SVGStyle.pas', + SVGTypes in '..\..\Svg\SVGTypes.pas', + GDIPKerning in '..\..\Svg\GDIPKerning.pas', + GDIPOBJ2 in '..\..\Svg\GDIPOBJ2.pas', + GDIPPathText in '..\..\Svg\GDIPPathText.pas'; + +end. diff --git a/Packages/D10_4/dclSVGIconImageList.dpk b/Packages/D10_4/dclSVGIconImageList.dpk index 613cfcfb..11c35e3b 100644 --- a/Packages/D10_4/dclSVGIconImageList.dpk +++ b/Packages/D10_4/dclSVGIconImageList.dpk @@ -1,45 +1,45 @@ -package dclSVGIconImageList; - -{$R *.res} -{$R '..\SVGIconImageListNew.dcr'} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} -{$LIBSUFFIX '_D10_4'} -{$DESIGNONLY} -{$IMPLICITBUILD OFF} - -requires - DesignIDE, - SVGIconPackage, - SVGIconImageList, - VclSmp; - -contains - SVGIconImageListEditorUnit in '..\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, - SVGIconImageRegister in '..\SVGIconImageRegister.pas', - SVGTextPropertyEditorUnit in '..\SVGTextPropertyEditorUnit.pas' {SVGTextPropertyEditorForm}; - -end. +package dclSVGIconImageList; + +{$R *.res} +{$R '..\SVGIconImageListNew.dcr'} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} +{$LIBSUFFIX '_D10_4'} +{$DESIGNONLY} +{$IMPLICITBUILD OFF} + +requires + DesignIDE, + SVGIconPackage, + SVGIconImageList, + VclSmp; + +contains + SVGIconImageListEditorUnit in '..\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, + SVGIconImageRegister in '..\SVGIconImageRegister.pas', + SVGTextPropertyEditorUnit in '..\SVGTextPropertyEditorUnit.pas' {SVGTextPropertyEditorForm}; + +end. diff --git a/Packages/D10_4/dclSVGIconImageListFMX.dpk b/Packages/D10_4/dclSVGIconImageListFMX.dpk index 7620db59..076e86a7 100644 --- a/Packages/D10_4/dclSVGIconImageListFMX.dpk +++ b/Packages/D10_4/dclSVGIconImageListFMX.dpk @@ -1,44 +1,44 @@ -package dclSVGIconImageListFMX; - -{$R *.res} -{$R '..\SVGIconImageListNew.dcr'} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'Ethea SVGIconImageList FMX components'} -{$LIBSUFFIX '_D10_4'} -{$DESIGNONLY} -{$IMPLICITBUILD ON} - -requires - DesignIDE, - dclfmxstd, - SVGIconPackage, - SVGIconImageListFMX; - -contains - FMX.SVGIconImageRegister in '..\FMX.SVGIconImageRegister.pas', - FMX.SVGIconImageListEditorUnit in '..\FMX.SVGIconImageListEditorUnit.pas' {SVGIconImageListEditorFMX}; - -end. +package dclSVGIconImageListFMX; + +{$R *.res} +{$R '..\SVGIconImageListNew.dcr'} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'Ethea SVGIconImageList FMX components'} +{$LIBSUFFIX '_D10_4'} +{$DESIGNONLY} +{$IMPLICITBUILD ON} + +requires + DesignIDE, + dclfmxstd, + SVGIconPackage, + SVGIconImageListFMX; + +contains + FMX.SVGIconImageRegister in '..\FMX.SVGIconImageRegister.pas', + FMX.SVGIconImageListEditorUnit in '..\FMX.SVGIconImageListEditorUnit.pas' {SVGIconImageListEditorFMX}; + +end. diff --git a/Packages/D10_4/dclSVGIconImageListFMX.dproj b/Packages/D10_4/dclSVGIconImageListFMX.dproj index 401f7ffd..fe74afdf 100644 --- a/Packages/D10_4/dclSVGIconImageListFMX.dproj +++ b/Packages/D10_4/dclSVGIconImageListFMX.dproj @@ -1,973 +1,973 @@ - - - {AC5E58B2-BDF0-4A77-9084-92441FBD9BC2} - dclSVGIconImageListFMX.dpk - 19.0 - FMX - True - Release - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - ..\..\Lib\D10_4\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) - All - dclSVGIconImageListFMX - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - _D10_4 - Ethea SVGIconImageList FMX components - true - 1033 - - - Debug - rtl;IconFontsImageListFMX;SVGIconImageListFMX;SVGIconPackage;$(DCC_UsePackage) - - - rtl;$(DCC_UsePackage) - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - - MainSource - - - - - - - - -
SVGIconImageListEditorFMX
-
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Package - - - - dclSVGIconImageListFMX.dpk - - - Microsoft Office 2000 Sample Automation Server Wrapper Components - Microsoft Office XP Sample Automation Server Wrapper Components - - - - - - true - - - - - true - - - - - true - - - - - dclSVGIconImageListFMX.bpl - true - - - - - dclSVGIconImageListFMX.bpl - true - - - - - 1 - - - 0 - - - - - classes - 1 - - - classes - 1 - - - - - res\xml - 1 - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - library\lib\armeabi - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\mips - 1 - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\values-v21 - 1 - - - res\values-v21 - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - res\drawable-small - 1 - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - res\drawable-xlarge - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - 1 - - - 1 - - - 0 - - - - - 1 - .framework - - - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - - - - - 1 - - - 1 - - - 1 - - - - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - 0 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - - True - False - - - 12 - - - - -
+ + + {AC5E58B2-BDF0-4A77-9084-92441FBD9BC2} + dclSVGIconImageListFMX.dpk + 19.0 + FMX + True + Release + Win32 + 1 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + ..\..\Lib\D10_4\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + System;Xml;Data;Datasnap;Web;Soap;$(DCC_Namespace) + All + dclSVGIconImageListFMX + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + _D10_4 + Ethea SVGIconImageList FMX components + true + 1033 + + + Debug + rtl;IconFontsImageListFMX;SVGIconImageListFMX;SVGIconPackage;$(DCC_UsePackage) + + + rtl;$(DCC_UsePackage) + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + + MainSource + + + + + + + + +
SVGIconImageListEditorFMX
+
+ + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + Delphi.Personality.12 + Package + + + + dclSVGIconImageListFMX.dpk + + + Microsoft Office 2000 Sample Automation Server Wrapper Components + Microsoft Office XP Sample Automation Server Wrapper Components + + + + + + true + + + + + true + + + + + true + + + + + dclSVGIconImageListFMX.bpl + true + + + + + dclSVGIconImageListFMX.bpl + true + + + + + 1 + + + 0 + + + + + classes + 1 + + + classes + 1 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\armeabi + 1 + + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\mips + 1 + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-small + 1 + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + 1 + + + 1 + + + 0 + + + + + 1 + .framework + + + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + + + + + 1 + + + 1 + + + 1 + + + + + + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + + + + + + + + + + + True + False + + + 12 + + + + +
diff --git a/Packages/DXE6/SVGIconImageList.dpk b/Packages/DXE6/SVGIconImageList.dpk index 84c90fb0..c2cdc6f9 100644 --- a/Packages/DXE6/SVGIconImageList.dpk +++ b/Packages/DXE6/SVGIconImageList.dpk @@ -1,46 +1,46 @@ -package SVGIconImageList; - -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} -{$LIBSUFFIX '_DXE6'} -{$RUNONLY} -{$IMPLICITBUILD OFF} - -requires - vcl, - SVGIconPackage; - -contains - SVGIconImage in '..\..\Source\SVGIconImage.pas', - SVGIconImageList in '..\..\Source\SVGIconImageList.pas', - SVGIconUtils in '..\..\Source\SVGIconUtils.pas', - SVGIconImageCollection in '..\..\Source\SVGIconImageCollection.pas', - SVGIconItems in '..\..\Source\SVGIconItems.pas', - SVGIconVirtualImageList in '..\..\Source\SVGIconVirtualImageList.pas', - SVGIconImageListBase in '..\..\Source\SVGIconImageListBase.pas'; - -end. +package SVGIconImageList; + +{$R *.res} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} +{$LIBSUFFIX '_DXE6'} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + vcl, + SVGIconPackage; + +contains + SVGIconImage in '..\..\Source\SVGIconImage.pas', + SVGIconImageList in '..\..\Source\SVGIconImageList.pas', + SVGIconUtils in '..\..\Source\SVGIconUtils.pas', + SVGIconImageCollection in '..\..\Source\SVGIconImageCollection.pas', + SVGIconItems in '..\..\Source\SVGIconItems.pas', + SVGIconVirtualImageList in '..\..\Source\SVGIconVirtualImageList.pas', + SVGIconImageListBase in '..\..\Source\SVGIconImageListBase.pas'; + +end. diff --git a/Packages/DXE6/SVGIconImageList.dproj b/Packages/DXE6/SVGIconImageList.dproj index 3af00f0c..f09f4724 100644 --- a/Packages/DXE6/SVGIconImageList.dproj +++ b/Packages/DXE6/SVGIconImageList.dproj @@ -1,138 +1,138 @@ - - - {BB186742-0FB8-47BA-A0F9-33CC45218EF5} - SVGIconImageList.dpk - 18.8 - VCL - True - Release - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\..\Lib\DXE6\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - All - SVGIconImageList - 1040 - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= - Ethea SVGIconImageList VCL components - true - _DXE6 - ..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) - true - - - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - - MainSource - - - - - - - - - - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - - - - Delphi.Personality.12 - Package - - - - SVGIconImageList.dpk - - - - - - True - False - - - 12 - - - - + + + {BB186742-0FB8-47BA-A0F9-33CC45218EF5} + SVGIconImageList.dpk + 18.8 + VCL + True + Release + Win32 + 1 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\..\Lib\DXE6\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + All + SVGIconImageList + 1040 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= + Ethea SVGIconImageList VCL components + true + _DXE6 + ..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) + true + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + + MainSource + + + + + + + + + + + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + + + + Delphi.Personality.12 + Package + + + + SVGIconImageList.dpk + + + + + + True + False + + + 12 + + + + diff --git a/Packages/DXE6/SVGIconImageListGroupPackages.groupproj b/Packages/DXE6/SVGIconImageListGroupPackages.groupproj index e65a5d5b..2f231b9b 100644 --- a/Packages/DXE6/SVGIconImageListGroupPackages.groupproj +++ b/Packages/DXE6/SVGIconImageListGroupPackages.groupproj @@ -1,60 +1,60 @@ - - - {25059111-8F77-429C-A2F2-CB529411BC99} - - - - - - - - - - - - - - Default.Personality.12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + {25059111-8F77-429C-A2F2-CB529411BC99} + + + + + + + + + + + + + + Default.Personality.12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Packages/DXE6/SVGIconPackage.dpk b/Packages/DXE6/SVGIconPackage.dpk index e79971ec..4e7d7598 100644 --- a/Packages/DXE6/SVGIconPackage.dpk +++ b/Packages/DXE6/SVGIconPackage.dpk @@ -1,56 +1,56 @@ -package SVGIconPackage; - -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} -{$LIBSUFFIX '_DXE6'} -{$RUNONLY} -{$IMPLICITBUILD OFF} - -requires - rtl, - xmlrtl, - vcl, - IndySystem, - IndyProtocols, - IndyCore; - -contains - SVG in '..\..\svg\SVG.pas', - SVGColor in '..\..\Svg\SVGColor.pas', - SVGCommon in '..\..\Svg\SVGCommon.pas', - SVGPaint in '..\..\Svg\SVGPaint.pas', - SVGParse in '..\..\Svg\SVGParse.pas', - SVGPath in '..\..\Svg\SVGPath.pas', - SVGProperties in '..\..\Svg\SVGProperties.pas', - SVGStyle in '..\..\Svg\SVGStyle.pas', - SVGTypes in '..\..\Svg\SVGTypes.pas', - GDIPKerning in '..\..\GDIP\GDIPKerning.pas', - GDIPOBJ2 in '..\..\GDIP\GDIPOBJ2.pas', - GDIPPathText in '..\..\GDIP\GDIPPathText.pas', - GDIPUtils in '..\..\GDIP\GDIPUtils.pas'; - -end. +package SVGIconPackage; + +{$R *.res} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} +{$LIBSUFFIX '_DXE6'} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + rtl, + xmlrtl, + vcl, + IndySystem, + IndyProtocols, + IndyCore; + +contains + SVG in '..\..\svg\SVG.pas', + SVGColor in '..\..\Svg\SVGColor.pas', + SVGCommon in '..\..\Svg\SVGCommon.pas', + SVGPaint in '..\..\Svg\SVGPaint.pas', + SVGParse in '..\..\Svg\SVGParse.pas', + SVGPath in '..\..\Svg\SVGPath.pas', + SVGProperties in '..\..\Svg\SVGProperties.pas', + SVGStyle in '..\..\Svg\SVGStyle.pas', + SVGTypes in '..\..\Svg\SVGTypes.pas', + GDIPKerning in '..\..\GDIP\GDIPKerning.pas', + GDIPOBJ2 in '..\..\GDIP\GDIPOBJ2.pas', + GDIPPathText in '..\..\GDIP\GDIPPathText.pas', + GDIPUtils in '..\..\GDIP\GDIPUtils.pas'; + +end. diff --git a/Packages/DXE6/SVGIconPackage.dproj b/Packages/DXE6/SVGIconPackage.dproj index 5cb44dba..c11e75e9 100644 --- a/Packages/DXE6/SVGIconPackage.dproj +++ b/Packages/DXE6/SVGIconPackage.dproj @@ -1,145 +1,145 @@ - - - {91801225-3901-4C8C-9D06-118BDACC9754} - SVGIconPackage.dpk - 18.8 - VCL - True - Release - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\..\Lib\DXE6\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - All - SVGIconPackage - 1040 - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= - Ethea SVGIconImageList VCL components - true - _DXE6 - ..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) - true - - - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - - MainSource - - - - - - - - - - - - - - - - - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - - - - Delphi.Personality.12 - Package - - - - SVGIconPackage.dpk - - - - - - True - False - - - 12 - - - - + + + {91801225-3901-4C8C-9D06-118BDACC9754} + SVGIconPackage.dpk + 18.8 + VCL + True + Release + Win32 + 1 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\..\Lib\DXE6\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + All + SVGIconPackage + 1040 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= + Ethea SVGIconImageList VCL components + true + _DXE6 + ..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) + true + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + + MainSource + + + + + + + + + + + + + + + + + + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + + + + Delphi.Personality.12 + Package + + + + SVGIconPackage.dpk + + + + + + True + False + + + 12 + + + + diff --git a/Packages/DXE6/dclSVGIconImageList.dpk b/Packages/DXE6/dclSVGIconImageList.dpk index ae42cd27..2e6f5f06 100644 --- a/Packages/DXE6/dclSVGIconImageList.dpk +++ b/Packages/DXE6/dclSVGIconImageList.dpk @@ -1,45 +1,45 @@ -package dclSVGIconImageList; - -{$R *.res} -{$R '..\SVGIconImageList.dcr'} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} -{$LIBSUFFIX '_DXE6'} -{$DESIGNONLY} -{$IMPLICITBUILD OFF} - -requires - DesignIDE, - SVGIconPackage, - SVGIconImageList, - VclSmp; - -contains - SVGIconImageListEditorUnit in '..\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, - SVGIconImageRegister in '..\SVGIconImageRegister.pas', - SVGTextPropertyEditorUnit in '..\SVGTextPropertyEditorUnit.pas' {SVGTextPropertyEditorForm}; - -end. +package dclSVGIconImageList; + +{$R *.res} +{$R '..\SVGIconImageList.dcr'} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} +{$LIBSUFFIX '_DXE6'} +{$DESIGNONLY} +{$IMPLICITBUILD OFF} + +requires + DesignIDE, + SVGIconPackage, + SVGIconImageList, + VclSmp; + +contains + SVGIconImageListEditorUnit in '..\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, + SVGIconImageRegister in '..\SVGIconImageRegister.pas', + SVGTextPropertyEditorUnit in '..\SVGTextPropertyEditorUnit.pas' {SVGTextPropertyEditorForm}; + +end. diff --git a/Packages/DXE6/dclSVGIconImageList.dproj b/Packages/DXE6/dclSVGIconImageList.dproj index 702e99de..e8fb939d 100644 --- a/Packages/DXE6/dclSVGIconImageList.dproj +++ b/Packages/DXE6/dclSVGIconImageList.dproj @@ -1,142 +1,142 @@ - - - {EF07DC0D-1DAD-4252-BFF5-C9A9BD9A06F4} - dclSVGIconImageList.dpk - 18.8 - VCL - True - Release - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\..\Lib\DXE6\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - All - dclSVGIconImageList - 1040 - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= - Ethea SVGIconImageList VCL components - true - _DXE6 - ..\..\svg;..\..\GDIP;..\..\Source;$(DCC_UnitSearchPath) - true - - - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - SVGIconImageList;VclSmp;SVGIconPackage;$(DCC_UsePackage) - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - - MainSource - - - - - - - -
SVGIconImageListEditor
-
- - -
SVGTextPropertyEditorForm
- dfm -
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Package - - - - dclSVGIconImageList.dpk - - - - - True - False - - - 12 - - - -
+ + + {EF07DC0D-1DAD-4252-BFF5-C9A9BD9A06F4} + dclSVGIconImageList.dpk + 18.8 + VCL + True + Release + Win32 + 1 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\..\Lib\DXE6\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + All + dclSVGIconImageList + 1040 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= + Ethea SVGIconImageList VCL components + true + _DXE6 + ..\..\svg;..\..\GDIP;..\..\Source;$(DCC_UnitSearchPath) + true + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + SVGIconImageList;VclSmp;SVGIconPackage;$(DCC_UsePackage) + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + + MainSource + + + + + + + +
SVGIconImageListEditor
+
+ + +
SVGTextPropertyEditorForm
+ dfm +
+ + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + Delphi.Personality.12 + Package + + + + dclSVGIconImageList.dpk + + + + + True + False + + + 12 + + + +
diff --git a/Packages/DXE7/SVGIconImageList.dpk b/Packages/DXE7/SVGIconImageList.dpk index 0820f532..6a8e8c16 100644 --- a/Packages/DXE7/SVGIconImageList.dpk +++ b/Packages/DXE7/SVGIconImageList.dpk @@ -1,46 +1,46 @@ -package SVGIconImageList; - -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} -{$LIBSUFFIX '_DXE7'} -{$RUNONLY} -{$IMPLICITBUILD OFF} - -requires - vcl, - SVGIconPackage; - -contains - SVGIconImage in '..\..\Source\SVGIconImage.pas', - SVGIconImageList in '..\..\Source\SVGIconImageList.pas', - SVGIconUtils in '..\..\Source\SVGIconUtils.pas', - SVGIconImageCollection in '..\..\Source\SVGIconImageCollection.pas', - SVGIconItems in '..\..\Source\SVGIconItems.pas', - SVGIconVirtualImageList in '..\..\Source\SVGIconVirtualImageList.pas', - SVGIconImageListBase in '..\..\Source\SVGIconImageListBase.pas'; - -end. +package SVGIconImageList; + +{$R *.res} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} +{$LIBSUFFIX '_DXE7'} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + vcl, + SVGIconPackage; + +contains + SVGIconImage in '..\..\Source\SVGIconImage.pas', + SVGIconImageList in '..\..\Source\SVGIconImageList.pas', + SVGIconUtils in '..\..\Source\SVGIconUtils.pas', + SVGIconImageCollection in '..\..\Source\SVGIconImageCollection.pas', + SVGIconItems in '..\..\Source\SVGIconItems.pas', + SVGIconVirtualImageList in '..\..\Source\SVGIconVirtualImageList.pas', + SVGIconImageListBase in '..\..\Source\SVGIconImageListBase.pas'; + +end. diff --git a/Packages/DXE7/SVGIconImageList.dproj b/Packages/DXE7/SVGIconImageList.dproj index 2863c69d..1383b5c4 100644 --- a/Packages/DXE7/SVGIconImageList.dproj +++ b/Packages/DXE7/SVGIconImageList.dproj @@ -1,139 +1,139 @@ - - - {BB186742-0FB8-47BA-A0F9-33CC45218EF5} - SVGIconImageList.dpk - 16.1 - VCL - True - Release - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\..\Lib\DXE7\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - All - SVGIconImageList - 1040 - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= - Ethea SVGIconImageList VCL components - true - _DXE7 - ..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) - true - - - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - - MainSource - - - - - - - - - - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - - - - Delphi.Personality.12 - Package - - - - SVGIconImageList.dpk - - - IP Abstraction Indy Implementation Design Time - - - - True - False - - - 12 - - - - + + + {BB186742-0FB8-47BA-A0F9-33CC45218EF5} + SVGIconImageList.dpk + 16.1 + VCL + True + Release + Win32 + 1 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\..\Lib\DXE7\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + All + SVGIconImageList + 1040 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= + Ethea SVGIconImageList VCL components + true + _DXE7 + ..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) + true + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + + MainSource + + + + + + + + + + + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + + + + Delphi.Personality.12 + Package + + + + SVGIconImageList.dpk + + + IP Abstraction Indy Implementation Design Time + + + + True + False + + + 12 + + + + diff --git a/Packages/DXE7/SVGIconImageListGroupPackages.groupproj b/Packages/DXE7/SVGIconImageListGroupPackages.groupproj index e65a5d5b..2f231b9b 100644 --- a/Packages/DXE7/SVGIconImageListGroupPackages.groupproj +++ b/Packages/DXE7/SVGIconImageListGroupPackages.groupproj @@ -1,60 +1,60 @@ - - - {25059111-8F77-429C-A2F2-CB529411BC99} - - - - - - - - - - - - - - Default.Personality.12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + {25059111-8F77-429C-A2F2-CB529411BC99} + + + + + + + + + + + + + + Default.Personality.12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Packages/DXE7/SVGIconPackage.dpk b/Packages/DXE7/SVGIconPackage.dpk index e5323aa5..c2898967 100644 --- a/Packages/DXE7/SVGIconPackage.dpk +++ b/Packages/DXE7/SVGIconPackage.dpk @@ -1,53 +1,53 @@ -package SVGIconPackage; - -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} -{$LIBSUFFIX '_DXE7'} -{$RUNONLY} -{$IMPLICITBUILD OFF} - -requires - rtl, - xmlrtl, - vcl; - -contains - SVG in '..\..\svg\SVG.pas', - SVGColor in '..\..\Svg\SVGColor.pas', - SVGCommon in '..\..\Svg\SVGCommon.pas', - SVGPaint in '..\..\Svg\SVGPaint.pas', - SVGParse in '..\..\Svg\SVGParse.pas', - SVGPath in '..\..\Svg\SVGPath.pas', - SVGProperties in '..\..\Svg\SVGProperties.pas', - SVGStyle in '..\..\Svg\SVGStyle.pas', - SVGTypes in '..\..\Svg\SVGTypes.pas', - GDIPKerning in '..\..\GDIP\GDIPKerning.pas', - GDIPOBJ2 in '..\..\GDIP\GDIPOBJ2.pas', - GDIPPathText in '..\..\GDIP\GDIPPathText.pas', - GDIPUtils in '..\..\GDIP\GDIPUtils.pas'; - -end. +package SVGIconPackage; + +{$R *.res} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} +{$LIBSUFFIX '_DXE7'} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + rtl, + xmlrtl, + vcl; + +contains + SVG in '..\..\svg\SVG.pas', + SVGColor in '..\..\Svg\SVGColor.pas', + SVGCommon in '..\..\Svg\SVGCommon.pas', + SVGPaint in '..\..\Svg\SVGPaint.pas', + SVGParse in '..\..\Svg\SVGParse.pas', + SVGPath in '..\..\Svg\SVGPath.pas', + SVGProperties in '..\..\Svg\SVGProperties.pas', + SVGStyle in '..\..\Svg\SVGStyle.pas', + SVGTypes in '..\..\Svg\SVGTypes.pas', + GDIPKerning in '..\..\GDIP\GDIPKerning.pas', + GDIPOBJ2 in '..\..\GDIP\GDIPOBJ2.pas', + GDIPPathText in '..\..\GDIP\GDIPPathText.pas', + GDIPUtils in '..\..\GDIP\GDIPUtils.pas'; + +end. diff --git a/Packages/DXE7/SVGIconPackage.dproj b/Packages/DXE7/SVGIconPackage.dproj index a9216546..d33ede5c 100644 --- a/Packages/DXE7/SVGIconPackage.dproj +++ b/Packages/DXE7/SVGIconPackage.dproj @@ -1,147 +1,147 @@ - - - {91801225-3901-4C8C-9D06-118BDACC9754} - SVGIconPackage.dpk - 16.1 - VCL - True - Release - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\..\Lib\DXE7\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - All - SVGIconPackage - 1040 - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= - Ethea SVGIconImageList VCL components - true - _DXE6 - ..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) - true - - - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - _DXE7 - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - - MainSource - - - - - - - - - - - - - - - - - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - - - - Delphi.Personality.12 - Package - - - - SVGIconPackage.dpk - - - IP Abstraction Indy Implementation Design Time - - - - True - False - - - 12 - - - - + + + {91801225-3901-4C8C-9D06-118BDACC9754} + SVGIconPackage.dpk + 16.1 + VCL + True + Release + Win32 + 1 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\..\Lib\DXE7\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + All + SVGIconPackage + 1040 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= + Ethea SVGIconImageList VCL components + true + _DXE6 + ..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) + true + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + _DXE7 + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + + MainSource + + + + + + + + + + + + + + + + + + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + + + + Delphi.Personality.12 + Package + + + + SVGIconPackage.dpk + + + IP Abstraction Indy Implementation Design Time + + + + True + False + + + 12 + + + + diff --git a/Packages/DXE7/dclSVGIconImageList.dpk b/Packages/DXE7/dclSVGIconImageList.dpk index ec04270b..7df783ba 100644 --- a/Packages/DXE7/dclSVGIconImageList.dpk +++ b/Packages/DXE7/dclSVGIconImageList.dpk @@ -1,45 +1,45 @@ -package dclSVGIconImageList; - -{$R *.res} -{$R '..\SVGIconImageList.dcr'} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} -{$LIBSUFFIX '_DXE7'} -{$DESIGNONLY} -{$IMPLICITBUILD OFF} - -requires - DesignIDE, - SVGIconPackage, - SVGIconImageList, - VclSmp; - -contains - SVGIconImageListEditorUnit in '..\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, - SVGIconImageRegister in '..\SVGIconImageRegister.pas', - SVGTextPropertyEditorUnit in '..\SVGTextPropertyEditorUnit.pas' {SVGTextPropertyEditorForm}; - -end. +package dclSVGIconImageList; + +{$R *.res} +{$R '..\SVGIconImageList.dcr'} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} +{$LIBSUFFIX '_DXE7'} +{$DESIGNONLY} +{$IMPLICITBUILD OFF} + +requires + DesignIDE, + SVGIconPackage, + SVGIconImageList, + VclSmp; + +contains + SVGIconImageListEditorUnit in '..\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, + SVGIconImageRegister in '..\SVGIconImageRegister.pas', + SVGTextPropertyEditorUnit in '..\SVGTextPropertyEditorUnit.pas' {SVGTextPropertyEditorForm}; + +end. diff --git a/Packages/DXE7/dclSVGIconImageList.dproj b/Packages/DXE7/dclSVGIconImageList.dproj index 051fd2b9..0f6527aa 100644 --- a/Packages/DXE7/dclSVGIconImageList.dproj +++ b/Packages/DXE7/dclSVGIconImageList.dproj @@ -1,145 +1,145 @@ - - - {EF07DC0D-1DAD-4252-BFF5-C9A9BD9A06F4} - dclSVGIconImageList.dpk - 16.1 - VCL - True - Release - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\..\Lib\DXE7\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - All - dclSVGIconImageList - 1040 - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= - Ethea SVGIconImageList VCL components - true - _DXE6 - ..\..\svg;..\..\GDIP;..\..\Source;$(DCC_UnitSearchPath) - true - - - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - SVGIconImageList;VclSmp;SVGIconPackage;$(DCC_UsePackage) - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - _DXE7 - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - - MainSource - - - - - - - -
SVGIconImageListEditor
-
- - -
SVGTextPropertyEditorForm
- dfm -
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Package - - - - dclSVGIconImageList.dpk - - - IP Abstraction Indy Implementation Design Time - - - - True - False - - - 12 - - - -
+ + + {EF07DC0D-1DAD-4252-BFF5-C9A9BD9A06F4} + dclSVGIconImageList.dpk + 16.1 + VCL + True + Release + Win32 + 1 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\..\Lib\DXE7\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + All + dclSVGIconImageList + 1040 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= + Ethea SVGIconImageList VCL components + true + _DXE6 + ..\..\svg;..\..\GDIP;..\..\Source;$(DCC_UnitSearchPath) + true + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + SVGIconImageList;VclSmp;SVGIconPackage;$(DCC_UsePackage) + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + _DXE7 + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + + MainSource + + + + + + + +
SVGIconImageListEditor
+
+ + +
SVGTextPropertyEditorForm
+ dfm +
+ + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + Delphi.Personality.12 + Package + + + + dclSVGIconImageList.dpk + + + IP Abstraction Indy Implementation Design Time + + + + True + False + + + 12 + + + +
diff --git a/Packages/DXE8/SVGIconImageList.dpk b/Packages/DXE8/SVGIconImageList.dpk index ab74fdd9..b9f3a275 100644 --- a/Packages/DXE8/SVGIconImageList.dpk +++ b/Packages/DXE8/SVGIconImageList.dpk @@ -1,46 +1,46 @@ -package SVGIconImageList; - -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} -{$LIBSUFFIX '_DXE8'} -{$RUNONLY} -{$IMPLICITBUILD OFF} - -requires - vcl, - SVGIconPackage; - -contains - SVGIconImage in '..\..\Source\SVGIconImage.pas', - SVGIconImageList in '..\..\Source\SVGIconImageList.pas', - SVGIconUtils in '..\..\Source\SVGIconUtils.pas', - SVGIconImageCollection in '..\..\Source\SVGIconImageCollection.pas', - SVGIconItems in '..\..\Source\SVGIconItems.pas', - SVGIconVirtualImageList in '..\..\Source\SVGIconVirtualImageList.pas', - SVGIconImageListBase in '..\..\Source\SVGIconImageListBase.pas'; - -end. +package SVGIconImageList; + +{$R *.res} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} +{$LIBSUFFIX '_DXE8'} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + vcl, + SVGIconPackage; + +contains + SVGIconImage in '..\..\Source\SVGIconImage.pas', + SVGIconImageList in '..\..\Source\SVGIconImageList.pas', + SVGIconUtils in '..\..\Source\SVGIconUtils.pas', + SVGIconImageCollection in '..\..\Source\SVGIconImageCollection.pas', + SVGIconItems in '..\..\Source\SVGIconItems.pas', + SVGIconVirtualImageList in '..\..\Source\SVGIconVirtualImageList.pas', + SVGIconImageListBase in '..\..\Source\SVGIconImageListBase.pas'; + +end. diff --git a/Packages/DXE8/SVGIconImageList.dproj b/Packages/DXE8/SVGIconImageList.dproj index 13451285..2871acc4 100644 --- a/Packages/DXE8/SVGIconImageList.dproj +++ b/Packages/DXE8/SVGIconImageList.dproj @@ -1,138 +1,138 @@ - - - {85171451-55E6-43E5-8241-572342FA535C} - SVGIconImageList.dpk - 18.8 - VCL - True - Release - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\..\Lib\DXE8\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - All - SVGIconImageList - 1040 - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= - Ethea SVGIconImageList VCL components - true - _DXE8 - ..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) - true - - - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - - MainSource - - - - - - - - - - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - - - - Delphi.Personality.12 - Package - - - - SVGIconImageList.dpk - - - - - - True - False - - - 12 - - - - + + + {85171451-55E6-43E5-8241-572342FA535C} + SVGIconImageList.dpk + 18.8 + VCL + True + Release + Win32 + 1 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\..\Lib\DXE8\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + All + SVGIconImageList + 1040 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= + Ethea SVGIconImageList VCL components + true + _DXE8 + ..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) + true + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + + MainSource + + + + + + + + + + + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + + + + Delphi.Personality.12 + Package + + + + SVGIconImageList.dpk + + + + + + True + False + + + 12 + + + + diff --git a/Packages/DXE8/SVGIconImageListGroupPackages.groupproj b/Packages/DXE8/SVGIconImageListGroupPackages.groupproj index 6d6cb63e..238fd1d5 100644 --- a/Packages/DXE8/SVGIconImageListGroupPackages.groupproj +++ b/Packages/DXE8/SVGIconImageListGroupPackages.groupproj @@ -1,60 +1,60 @@ - - - {43558AC6-3EF5-4323-9448-1656FF056E82} - - - - - - - - - - - - - - Default.Personality.12 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + {43558AC6-3EF5-4323-9448-1656FF056E82} + + + + + + + + + + + + + + Default.Personality.12 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Packages/DXE8/SVGIconPackage.dpk b/Packages/DXE8/SVGIconPackage.dpk index e412e667..83298f73 100644 --- a/Packages/DXE8/SVGIconPackage.dpk +++ b/Packages/DXE8/SVGIconPackage.dpk @@ -1,53 +1,53 @@ -package SVGIconPackage; - -{$R *.res} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} -{$LIBSUFFIX '_DXE8'} -{$RUNONLY} -{$IMPLICITBUILD OFF} - -requires - rtl, - xmlrtl, - vcl; - -contains - SVG in '..\..\svg\SVG.pas', - SVGColor in '..\..\Svg\SVGColor.pas', - SVGCommon in '..\..\Svg\SVGCommon.pas', - SVGPaint in '..\..\Svg\SVGPaint.pas', - SVGParse in '..\..\Svg\SVGParse.pas', - SVGPath in '..\..\Svg\SVGPath.pas', - SVGProperties in '..\..\Svg\SVGProperties.pas', - SVGStyle in '..\..\Svg\SVGStyle.pas', - SVGTypes in '..\..\Svg\SVGTypes.pas', - GDIPKerning in '..\..\GDIP\GDIPKerning.pas', - GDIPOBJ2 in '..\..\GDIP\GDIPOBJ2.pas', - GDIPPathText in '..\..\GDIP\GDIPPathText.pas', - GDIPUtils in '..\..\GDIP\GDIPUtils.pas'; - -end. +package SVGIconPackage; + +{$R *.res} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} +{$LIBSUFFIX '_DXE8'} +{$RUNONLY} +{$IMPLICITBUILD OFF} + +requires + rtl, + xmlrtl, + vcl; + +contains + SVG in '..\..\svg\SVG.pas', + SVGColor in '..\..\Svg\SVGColor.pas', + SVGCommon in '..\..\Svg\SVGCommon.pas', + SVGPaint in '..\..\Svg\SVGPaint.pas', + SVGParse in '..\..\Svg\SVGParse.pas', + SVGPath in '..\..\Svg\SVGPath.pas', + SVGProperties in '..\..\Svg\SVGProperties.pas', + SVGStyle in '..\..\Svg\SVGStyle.pas', + SVGTypes in '..\..\Svg\SVGTypes.pas', + GDIPKerning in '..\..\GDIP\GDIPKerning.pas', + GDIPOBJ2 in '..\..\GDIP\GDIPOBJ2.pas', + GDIPPathText in '..\..\GDIP\GDIPPathText.pas', + GDIPUtils in '..\..\GDIP\GDIPUtils.pas'; + +end. diff --git a/Packages/DXE8/SVGIconPackage.dproj b/Packages/DXE8/SVGIconPackage.dproj index 5564c849..787cf3d3 100644 --- a/Packages/DXE8/SVGIconPackage.dproj +++ b/Packages/DXE8/SVGIconPackage.dproj @@ -1,145 +1,145 @@ - - - {4EAE5FD6-C187-4569-9129-F7E85B30BE78} - SVGIconPackage.dpk - 18.8 - VCL - True - Release - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\..\Lib\DXE8\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - All - SVGIconPackage - 1040 - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= - Ethea SVGIconImageList VCL components - true - _DXE8 - ..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) - true - - - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - - MainSource - - - - - - - - - - - - - - - - - - - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - - - - Delphi.Personality.12 - Package - - - - SVGIconPackage.dpk - - - - - - True - False - - - 12 - - - - + + + {4EAE5FD6-C187-4569-9129-F7E85B30BE78} + SVGIconPackage.dpk + 18.8 + VCL + True + Release + Win32 + 1 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\..\Lib\DXE8\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + All + SVGIconPackage + 1040 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= + Ethea SVGIconImageList VCL components + true + _DXE8 + ..\..\svg;..\..\GDIP;$(DCC_UnitSearchPath) + true + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + + MainSource + + + + + + + + + + + + + + + + + + + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + + + + Delphi.Personality.12 + Package + + + + SVGIconPackage.dpk + + + + + + True + False + + + 12 + + + + diff --git a/Packages/DXE8/dclSVGIconImageList.dpk b/Packages/DXE8/dclSVGIconImageList.dpk index a3bc1963..dd97d01b 100644 --- a/Packages/DXE8/dclSVGIconImageList.dpk +++ b/Packages/DXE8/dclSVGIconImageList.dpk @@ -1,45 +1,45 @@ -package dclSVGIconImageList; - -{$R *.res} -{$R '..\SVGIconImageList.dcr'} -{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} -{$ALIGN 8} -{$ASSERTIONS ON} -{$BOOLEVAL OFF} -{$DEBUGINFO OFF} -{$EXTENDEDSYNTAX ON} -{$IMPORTEDDATA ON} -{$IOCHECKS ON} -{$LOCALSYMBOLS OFF} -{$LONGSTRINGS ON} -{$OPENSTRINGS ON} -{$OPTIMIZATION ON} -{$OVERFLOWCHECKS OFF} -{$RANGECHECKS OFF} -{$REFERENCEINFO OFF} -{$SAFEDIVIDE OFF} -{$STACKFRAMES OFF} -{$TYPEDADDRESS OFF} -{$VARSTRINGCHECKS ON} -{$WRITEABLECONST OFF} -{$MINENUMSIZE 1} -{$IMAGEBASE $400000} -{$DEFINE RELEASE} -{$ENDIF IMPLICITBUILDING} -{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} -{$LIBSUFFIX '_DXE8'} -{$DESIGNONLY} -{$IMPLICITBUILD OFF} - -requires - DesignIDE, - SVGIconPackage, - SVGIconImageList, - VclSmp; - -contains - SVGIconImageListEditorUnit in '..\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, - SVGIconImageRegister in '..\SVGIconImageRegister.pas', - SVGTextPropertyEditorUnit in '..\SVGTextPropertyEditorUnit.pas' {SVGTextPropertyEditorForm}; - -end. +package dclSVGIconImageList; + +{$R *.res} +{$R '..\SVGIconImageList.dcr'} +{$IFDEF IMPLICITBUILDING This IFDEF should not be used by users} +{$ALIGN 8} +{$ASSERTIONS ON} +{$BOOLEVAL OFF} +{$DEBUGINFO OFF} +{$EXTENDEDSYNTAX ON} +{$IMPORTEDDATA ON} +{$IOCHECKS ON} +{$LOCALSYMBOLS OFF} +{$LONGSTRINGS ON} +{$OPENSTRINGS ON} +{$OPTIMIZATION ON} +{$OVERFLOWCHECKS OFF} +{$RANGECHECKS OFF} +{$REFERENCEINFO OFF} +{$SAFEDIVIDE OFF} +{$STACKFRAMES OFF} +{$TYPEDADDRESS OFF} +{$VARSTRINGCHECKS ON} +{$WRITEABLECONST OFF} +{$MINENUMSIZE 1} +{$IMAGEBASE $400000} +{$DEFINE RELEASE} +{$ENDIF IMPLICITBUILDING} +{$DESCRIPTION 'Ethea SVGIconImageList VCL components'} +{$LIBSUFFIX '_DXE8'} +{$DESIGNONLY} +{$IMPLICITBUILD OFF} + +requires + DesignIDE, + SVGIconPackage, + SVGIconImageList, + VclSmp; + +contains + SVGIconImageListEditorUnit in '..\SVGIconImageListEditorUnit.pas' {SVGIconImageListEditor}, + SVGIconImageRegister in '..\SVGIconImageRegister.pas', + SVGTextPropertyEditorUnit in '..\SVGTextPropertyEditorUnit.pas' {SVGTextPropertyEditorForm}; + +end. diff --git a/Packages/DXE8/dclSVGIconImageList.dproj b/Packages/DXE8/dclSVGIconImageList.dproj index 7f8fb647..564297db 100644 --- a/Packages/DXE8/dclSVGIconImageList.dproj +++ b/Packages/DXE8/dclSVGIconImageList.dproj @@ -1,143 +1,143 @@ - - - {300DF810-4356-40EE-A771-A3EC12B9FC1E} - dclSVGIconImageList.dpk - 18.8 - VCL - True - Release - Win32 - 1 - Package - - - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - ..\..\Lib\DXE8\$(Platform)\$(Config) - .\$(Platform)\$(Config) - false - false - false - false - false - true - true - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - All - dclSVGIconImageList - 1040 - CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= - Ethea SVGIconImageList VCL components - true - _DXE8 - ..\..\svg;..\..\GDIP;..\..\Source;$(DCC_UnitSearchPath) - true - - - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - 1033 - SVGIconImageList;VclSmp;SVGIconPackage;$(DCC_UsePackage) - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - 1033 - CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= - - - - MainSource - - - - - - - -
SVGIconImageListEditor
-
- - -
SVGTextPropertyEditorForm
- dfm -
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Package - - - - dclSVGIconImageList.dpk - - - - - - True - False - - - 12 - - - -
+ + + {300DF810-4356-40EE-A771-A3EC12B9FC1E} + dclSVGIconImageList.dpk + 18.8 + VCL + True + Release + Win32 + 1 + Package + + + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + ..\..\Lib\DXE8\$(Platform)\$(Config) + .\$(Platform)\$(Config) + false + false + false + false + false + true + true + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + All + dclSVGIconImageList + 1040 + CompanyName=;FileDescription=;FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=;ProductVersion=1.0;Comments= + Ethea SVGIconImageList VCL components + true + _DXE8 + ..\..\svg;..\..\GDIP;..\..\Source;$(DCC_UnitSearchPath) + true + + + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + 1033 + SVGIconImageList;VclSmp;SVGIconPackage;$(DCC_UsePackage) + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + 1033 + CompanyName=;FileDescription=$(MSBuildProjectName);FileVersion=1.0.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=com.embarcadero.$(MSBuildProjectName);ProductName=$(MSBuildProjectName);ProductVersion=1.0.0.0;Comments= + + + + MainSource + + + + + + + +
SVGIconImageListEditor
+
+ + +
SVGTextPropertyEditorForm
+ dfm +
+ + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + Delphi.Personality.12 + Package + + + + dclSVGIconImageList.dpk + + + + + + True + False + + + 12 + + + +
diff --git a/Packages/FMX.SVGIconImageListEditorUnit.pas b/Packages/FMX.SVGIconImageListEditorUnit.pas index 8b9acf46..346a8846 100644 --- a/Packages/FMX.SVGIconImageListEditorUnit.pas +++ b/Packages/FMX.SVGIconImageListEditorUnit.pas @@ -1,596 +1,596 @@ -{******************************************************************************} -{ } -{ SVG Icon ImageList: An extended ImageList for Delphi/VLC+FMX } -{ to simplify use of Icons (resize, opacity and more...) } -{ } -{ Copyright (c) 2019-2020 (Ethea S.r.l.) } -{ Author: Carlo Barazzetta } -{ Contributors: } -{ } -{ https://github.com/EtheaDev/SVGIconImageList } -{ } -{******************************************************************************} -{ } -{ Licensed under the Apache License, Version 2.0 (the "License"); } -{ you may not use this file except in compliance with the License. } -{ You may obtain a copy of the License at } -{ } -{ http://www.apache.org/licenses/LICENSE-2.0 } -{ } -{ Unless required by applicable law or agreed to in writing, software } -{ distributed under the License is distributed on an "AS IS" BASIS, } -{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } -{ See the License for the specific language governing permissions and } -{ limitations under the License. } -{ } -{******************************************************************************} -unit FMX.SVGIconImageListEditorUnit; - -interface - -{$INCLUDE ..\Source\SVGIconImageList.inc} - -uses - System.SysUtils, System.Types, System.UITypes, FMX.Controls, System.Classes, - System.Actions, FMX.Forms, FMX.Graphics, FMX.ActnList, FMX.StdCtrls, FMX.Colors, FMX.ListBox, - FMX.Controls.Presentation, FMX.ImgList, FMX.Types, FMX.Layouts, - System.ImageList, FMX.SVGIconImageList, FMX.Edit, FMX.EditBox, FMX.SpinBox, - FMX.ScrollBox, FMX.Memo, FMX.Dialogs; - -type - TSVGIconImageListEditorFMX = class(TForm) - PaButtons: TPanel; - AddButton: TButton; - DeleteButton: TButton; - ClearAllButton: TButton; - paTop: TPanel; - Panel4: TPanel; - OKButton: TButton; - CancelButton: TButton; - HelpButton: TButton; - paClient: TPanel; - ImageListGroupBox: TGroupBox; - AutoSizeCheckBox: TCheckBox; - DefaultOpacitySpinBox: TSpinBox; - DefaultOpacityLabel: TLabel; - ItemGroupBox: TGroupBox; - IconName: TEdit; - IconNameLabel: TLabel; - OpacityLabel: TLabel; - OpacitySpinBox: TSpinBox; - IconPanel: TPanel; - IconImage: TGlyph; - ListBoxItemStyleBook: TStyleBook; - SizeSpinBox: TSpinBox; - SizeLabel: TLabel; - IconsGroupBox: TGroupBox; - ImageView: TListBox; - TopSplitter: TSplitter; - SVGText: TMemo; - NewButton: TButton; - OpenDialog: TOpenDialog; - FixedColorComboBox: TComboBox; - FixedColorLabel: TLabel; - GrayScaleCheckBox: TCheckBox; - GrayScaleItemCheckBox: TCheckBox; - FixedColorItemLabel: TLabel; - FixedColorItemComboBox: TComboBox; - procedure ClearAllButtonClick(Sender: TObject); - procedure DeleteButtonClick(Sender: TObject); - procedure AddButtonClick(Sender: TObject); - procedure FormDestroy(Sender: TObject); - procedure FormShow(Sender: TObject); - procedure HelpButtonClick(Sender: TObject); - procedure IconNameExit(Sender: TObject); - procedure ImageViewSelectItem(Sender: TObject); - procedure FormClose(Sender: TObject; var Action: TCloseAction); - procedure AutoSizeCheckBoxClick(Sender: TObject); - procedure FormCreate(Sender: TObject); - procedure DefaultOpacitySpinBoxChange(Sender: TObject); - procedure OpacitySpinBoxChange(Sender: TObject); - procedure SizeChange(Sender: TObject); - procedure FormResize(Sender: TObject); - procedure NewButtonClick(Sender: TObject); - procedure FixedColorComboBoxChange(Sender: TObject); - procedure GrayScaleCheckBoxChange(Sender: TObject); - procedure SVGTextExit(Sender: TObject); - procedure GrayScaleItemCheckBoxChange(Sender: TObject); - procedure FixedColorItemComboBoxChange(Sender: TObject); - procedure ImageViewDragOver(Sender: TObject; const Data: TDragObject; - const Point: TPointF; var Operation: TDragOperation); - procedure ImageViewDragChange(SourceItem, DestItem: TListBoxItem; - var Allow: Boolean); - procedure ImageViewDragDrop(Sender: TObject; const Data: TDragObject; - const Point: TPointF); - private - FIconIndexLabel: string; - FTotIconsLabel: string; - FUpdating: Boolean; - SVGIconImageList: TSVGIconImageList; - procedure AddNewItem; - procedure DeleteSelectedItem; - procedure ClearAllImages; - procedure UpdateGUI; - procedure SetImageOpacity(Opacity: Single); - procedure SetImageIconName(IconName: String); - function SelectedSVGIcon: TSVGIconSourceItem; - public - destructor Destroy; override; - end; - -function EditSVGIconImageList(const AImageList: TSVGIconImageList): Boolean; - -implementation - -{$R *.fmx} - -uses - Winapi.Messages - , Winapi.Windows - , Winapi.shellApi - , SVG - , SVGColor; - -var - SavedBounds: TRect = (Left: 0; Top: 0; Right: 0; Bottom: 0); - paTopHeight: Single; - -function UpdateSVGIconListView(const AListBox: TListBox): Integer; -var - I: Integer; - LItem: TSVGIconSourceItem; - LListItem: TListBoxItem; - LSVGIconImageList: TSVGIconImageList; -begin - LSVGIconImageList := AListBox.Images as TSVGIconImageList; - - AListBox.Items.BeginUpdate; - try - AListBox.Clear; - Result := LSVGIconImageList.Source.Count; - for I := 0 to Result -1 do - begin - LItem := LSVGIconImageList.Source.Items[I] as TSVGIconSourceItem; - LListItem := TListBoxItem.Create(AListBox); - LListItem.StyleLookup := 'CustomListBoxItemStyle'; - LListItem.Text := Format('%d.%s', [LItem.Index,Litem.IconName]); - LListItem.ImageIndex := I; - - AListBox.AddObject(LListItem); - end; - finally - AListBox.Items.EndUpdate; - end; -end; - -function UpdateSVGIconListViewCaptions(const AListBox: TListBox; - const AShowCaption: Boolean = True): Integer; -var - I: Integer; - LItem: TSVGIconSourceItem; - LSVGIconImageList: TSVGIconImageList; -begin - LSVGIconImageList := AListBox.Images as TSVGIconImageList; - //AListView.Items.BeginUpdate; - try - Result := LSVGIconImageList.Source.Count; - for I := 0 to Result -1 do - begin - LItem := LSVGIconImageList.Source[I] as TSVGIconSourceItem; - if AShowCaption then - begin - AListBox.Items[I] := Format('%d.%s', [LItem.Index, Litem.IconName]); - end - else - AListBox.Items[I] := ''; - end; - finally - //AListView.Items.EndUpdate; - end; -end; - -function EditSVGIconImageList(const AImageList: TSVGIconImageList): Boolean; -var - LEditor: TSVGIconImageListEditorFMX; -begin - LEditor := TSVGIconImageListEditorFMX.Create(nil); - with LEditor do - begin - try - //Screen.Cursor := crHourglass; - try - SVGIconImageList.Assign(AImageList); - ImageView.Images := SVGIconImageList; - UpdateSVGIconListView(ImageView); - //UpdateGUI; - if ImageView.Items.Count > 0 then - ImageView.ItemIndex := 0; - - finally - //Screen.Cursor := crDefault; - end; - Result := ShowModal = mrOk; - if Result then - begin - //Screen.Cursor := crHourglass; - try - AImageList.Assign(SVGIconImageList); - finally - //Screen.Cursor := crDefault; - end; - end; - SavedBounds := Bounds; - paTopHeight := paTop.Height; - finally - DisposeOf; - end; - end; -end; - -{ TSVGIconImageListEditorFMX } - -procedure TSVGIconImageListEditorFMX.HelpButtonClick(Sender: TObject); -begin - ShellExecute(0, 'open', - PChar('https://github.com/EtheaDev/SVGIconImageList/wiki/Component-Editor-(FMX)'), nil, nil, - SW_SHOWNORMAL) -end; - -procedure TSVGIconImageListEditorFMX.SizeChange(Sender: TObject); -begin - SVGIconImageList.Size := Round(SizeSpinBox.Value); - UpdateGUI; -end; - -procedure TSVGIconImageListEditorFMX.SVGTextExit(Sender: TObject); -begin - SelectedSVGIcon.SVGText := SVGText.Lines.Text; - UpdateGUI; -end; - -procedure TSVGIconImageListEditorFMX.AutoSizeCheckBoxClick(Sender: TObject); -begin - SVGIconImageList.AutoSizeBitmaps := AutoSizeCheckBox.IsChecked; - UpdateGUI; -end; - -procedure TSVGIconImageListEditorFMX.SetImageIconName(IconName: String); -begin - SelectedSVGIcon.IconName := IconName; - UpdateGUI; - UpdateSVGIconListViewCaptions(ImageView); -end; - -procedure TSVGIconImageListEditorFMX.SetImageOpacity(Opacity: Single); -begin - SelectedSVGIcon.Opacity := Opacity / 100; - UpdateGUI; -end; - -procedure TSVGIconImageListEditorFMX.UpdateGUI; -var - LIsItemSelected: Boolean; - LIconItem: TSVGIconSourceItem; - {$IFNDEF UNICODE} - S: WideString; - {$ENDIF} -begin - FUpdating := True; - try - LIconItem := SelectedSVGIcon; - LIsItemSelected := LIconItem <> nil; - ClearAllButton.Enabled := SVGIconImageList.Count > 0; - DeleteButton.Enabled := LIsItemSelected; - OpacitySpinBox.Enabled := LIsItemSelected; - IconName.Enabled := LIsItemSelected; - SVGText.Enabled := LIsItemSelected; - //ShowCharMapButton.Enabled := (SVGIconImageList.FontName <> ''); - IconsGroupBox.Text := Format(FTotIconsLabel, [SVGIconImageList.Count]); - SizeSpinBox.Value := SVGIconImageList.Size; - AutoSizeCheckBox.IsChecked := SVGIconImageList.AutoSizeBitmaps; - DefaultOpacitySpinBox.Value := SVGIconImageList.Opacity * 100; - FixedColorComboBox.ItemIndex := - FixedColorComboBox.Items.IndexOfObject(TObject(SVGIconImageList.FixedColor)); - GrayScaleCheckBox.IsChecked := SVGIconImageList.GrayScale; - if LIsItemSelected then - begin - ItemGroupBox.Text := Format(FIconIndexLabel,[LIconItem.Index]); - IconName.Text := LIconItem.IconName; - SVGText.Lines.Text := LIconItem.SVGText; - OpacitySpinBox.Value := LIconItem.Opacity * 100; - IconImage.ImageIndex := LIconItem.Index; - FixedColorItemComboBox.ItemIndex := - FixedColorItemComboBox.Items.IndexOfObject(TObject(LIconItem.FixedColor)); - GrayScaleItemCheckBox.IsChecked := LIconItem.GrayScale; - IconImage.Repaint; - end - else - begin - IconName.Text := ''; - SVGText.Lines.Clear; - IconImage.ImageIndex := -1; - end; - finally - FUpdating := False; - end; -end; - -procedure TSVGIconImageListEditorFMX.DeleteSelectedItem; -var - LIndex: Integer; -begin - LIndex := ImageView.Selected.Index; - SVGIconImageList.DeleteIcon(LIndex); - UpdateSVGIconListView(ImageView); - if LIndex < ImageView.Items.Count then - ImageView.ItemIndex := LIndex - else if ImageView.Items.Count > 0 then - ImageView.ItemIndex := LIndex-1; - UpdateGUI; -end; - -destructor TSVGIconImageListEditorFMX.Destroy; -begin - inherited; -end; - -procedure TSVGIconImageListEditorFMX.ClearAllImages; -begin - //Screen.Cursor := crHourglass; - try - SVGIconImageList.ClearIcons; - finally - //Screen.Cursor := crDefault; - end; -end; - -(* -procedure TSVGIconImageListEditorFMX.CloseCharMap(Sender: TObject; - var Action: TCloseAction); -begin - if FCharMap.ModalResult = mrOK then - begin - if FCharMap.CharsEdit.Text <> '' then - begin - SVGIconImageList.AddIcons(FCharMap.CharsEdit.Text, FCharMap.DefaultFontName.Text); - UpdateSVGIconListView(ImageView); - end; - end; -end; -*) - -procedure TSVGIconImageListEditorFMX.ClearAllButtonClick(Sender: TObject); -begin - ClearAllImages; - UpdateSVGIconListView(ImageView); - UpdateGUI; -end; - -(* -procedure TSVGIconImageListEditorFMX.SVGIconImageListFontMissing( - const AFontName: TFontName); -begin - MessageDlg(Format(ERR_SVGIcon_FONT_NOT_INSTALLED,[AFontName]), - mtError, [mbOK], 0); -end; -*) - -procedure TSVGIconImageListEditorFMX.IconNameExit(Sender: TObject); -begin - if FUpdating then Exit; - SetImageIconName(IconName.Text); - UpdateGUI; -end; - -procedure TSVGIconImageListEditorFMX.ImageViewDragChange(SourceItem, - DestItem: TListBoxItem; var Allow: Boolean); -var - LOriginalIcon, LIcon: TSVGIconSourceItem; - LNewIndex, LSourceIndex: Integer; - LIconName: string; -begin - Allow := False; - if SourceItem.Index = DestItem.Index then Exit; - - LSourceIndex := SourceItem.Index; - LNewIndex := DestItem.Index; - if LNewIndex < 0 then LNewIndex := 0; - if LNewIndex > SVGIconImageList.Count then LNewIndex := SVGIconImageList.Count; - - LOriginalIcon := SVGIconImageList.Source.Items[LSourceIndex] as TSVGIconSourceItem; - LIconName := LOriginalIcon.IconName; - - if LSourceIndex < LNewIndex then - begin - LIcon := SVGIconImageList.CloneIcon(LSourceIndex, LNewIndex + 1); - SVGIconImageList.DeleteIcon(LSourceIndex); - end - else - begin - LIcon := SVGIconImageList.CloneIcon(LSourceIndex, LNewIndex); - SVGIconImageList.DeleteIcon(LSourceIndex + 1); - end; - - LIcon.IconName := LIconName; - - UpdateSVGIconListView(ImageView); -end; - -procedure TSVGIconImageListEditorFMX.ImageViewDragDrop(Sender: TObject; - const Data: TDragObject; const Point: TPointF); -var - LFiles: TStringList; -begin - if Length(Data.Files) <= 0 then Exit; - - LFiles := TStringList.Create; - LFiles.AddStrings(TArray(Data.Files)); - try - SVGIconImageList.LoadFromFiles(LFiles); - finally - FreeAndNil(LFiles); - end; - - UpdateSVGIconListView(ImageView); -end; - -procedure TSVGIconImageListEditorFMX.ImageViewDragOver(Sender: TObject; - const Data: TDragObject; const Point: TPointF; var Operation: TDragOperation); -begin - if Length(Data.Files) > 0 then Operation := TDragOperation.Copy - else Operation := TDragOperation.None; -end; - -procedure TSVGIconImageListEditorFMX.ImageViewSelectItem(Sender: TObject); -begin - UpdateGUI; -end; - -procedure TSVGIconImageListEditorFMX.NewButtonClick(Sender: TObject); -begin - AddNewItem; -end; - -procedure TSVGIconImageListEditorFMX.OpacitySpinBoxChange(Sender: TObject); -begin - if FUpdating then Exit; - SetImageOpacity(OpacitySpinBox.Value); -end; - -procedure TSVGIconImageListEditorFMX.DefaultOpacitySpinBoxChange( - Sender: TObject); -begin - if FUpdating then Exit; - SetImageOpacity(DefaultOpacitySpinBox.Value); -end; - -procedure TSVGIconImageListEditorFMX.DeleteButtonClick(Sender: TObject); -begin - DeleteSelectedItem; -end; - -procedure TSVGIconImageListEditorFMX.FixedColorComboBoxChange(Sender: TObject); -begin - //Screen.Cursor := crHourGlass; - try - if FixedColorComboBox.ItemIndex >= 0 then begin - SVGIconImageList.FixedColor := - TColor(FixedColorComboBox.Items.Objects[FixedColorComboBox.ItemIndex]); - UpdateGUI; - end; - finally - //Screen.Cursor := crDefault; - end; -end; - -procedure TSVGIconImageListEditorFMX.FixedColorItemComboBoxChange( - Sender: TObject); -begin - if FUpdating then Exit; - if FixedColorComboBox.ItemIndex >= 0 then begin - SelectedSVGIcon.FixedColor := - TColor(FixedColorComboBox.Items.Objects[FixedColorComboBox.ItemIndex]); - UpdateGUI; - end; -end; - -procedure TSVGIconImageListEditorFMX.FormClose(Sender: TObject; - var Action: TCloseAction); -begin - if ModalResult = mrOK then - OKButton.SetFocus - else - CancelButton.SetFocus; -end; - -procedure TSVGIconImageListEditorFMX.FormCreate(Sender: TObject); -begin - Caption := Format(Caption, [SVGIconImageListVersion]); - FUpdating := True; - SVGIconImageList := TSVGIconImageList.Create(nil); - FIconIndexLabel := ItemGroupBox.Text; - FTotIconsLabel := IconsGroupBox.Text; - IconImage.Images := SVGIconImageList; - AssignSVGColorList(FixedColorComboBox.Items); - AssignSVGColorList(FixedColorItemComboBox.Items); -end; - -procedure TSVGIconImageListEditorFMX.FormDestroy(Sender: TObject); -begin - FreeAndNil(SVGIconImageList); - //Screen.Cursors[crColorPick] := 0; -end; - -procedure TSVGIconImageListEditorFMX.FormResize(Sender: TObject); -begin - if ClientWidth < 610 then - ClientWidth := 610; - if ClientHeight < 390 then - ClientHeight := 390; -end; - -function TSVGIconImageListEditorFMX.SelectedSVGIcon: TSVGIconSourceItem; -begin - if (ImageView.Selected <> nil) and (ImageView.Selected.Index < SVGIconImageList.Source.Count) then - Result := SVGIconImageList.Source.Items[ImageView.Selected.Index] as TSVGIconSourceItem - else - Result := nil; -end; - -procedure TSVGIconImageListEditorFMX.AddButtonClick(Sender: TObject); -begin - if OpenDialog.Execute then - begin - //Screen.Cursor := crHourGlass; - try - SVGIconImageList.LoadFromFiles(OpenDialog.Files); - finally - UpdateSVGIconListView(ImageView); - //Screen.Cursor := crDefault; - end; - end; -end; - -procedure TSVGIconImageListEditorFMX.FormShow(Sender: TObject); -begin - if SavedBounds.Right - SavedBounds.Left > 0 then - SetBounds(SavedBounds.Left, SavedBounds.Top, SavedBounds.Width, SavedBounds.Height); - - if paTopHeight <> 0 then - paTop.Height := paTopHeight; - - if ImageView.CanFocus then - ImageView.SetFocus; -end; - -procedure TSVGIconImageListEditorFMX.GrayScaleCheckBoxChange(Sender: TObject); -begin - SVGIconImageList.GrayScale := GrayScaleCheckBox.IsChecked; - UpdateGUI; -end; - -procedure TSVGIconImageListEditorFMX.GrayScaleItemCheckBoxChange( - Sender: TObject); -begin - if FUpdating then Exit; - SelectedSVGIcon.GrayScale := GrayScaleItemCheckBox.IsChecked; - UpdateGUI; -end; - -procedure TSVGIconImageListEditorFMX.AddNewItem; -var - LInsertIndex: Integer; -begin - if (ImageView.Selected <> nil) then - LInsertIndex := ImageView.Selected.Index +1 - else - LInsertIndex := ImageView.Items.Count; - SVGIconImageList.InsertIcon(LInsertIndex,'',''); - UpdateSVGIconListView(ImageView); - ImageView.ItemIndex := LInsertIndex; -end; - -initialization - paTopHeight := 0; - -end. +{******************************************************************************} +{ } +{ SVG Icon ImageList: An extended ImageList for Delphi/VLC+FMX } +{ to simplify use of Icons (resize, opacity and more...) } +{ } +{ Copyright (c) 2019-2020 (Ethea S.r.l.) } +{ Author: Carlo Barazzetta } +{ Contributors: } +{ } +{ https://github.com/EtheaDev/SVGIconImageList } +{ } +{******************************************************************************} +{ } +{ Licensed under the Apache License, Version 2.0 (the "License"); } +{ you may not use this file except in compliance with the License. } +{ You may obtain a copy of the License at } +{ } +{ http://www.apache.org/licenses/LICENSE-2.0 } +{ } +{ Unless required by applicable law or agreed to in writing, software } +{ distributed under the License is distributed on an "AS IS" BASIS, } +{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } +{ See the License for the specific language governing permissions and } +{ limitations under the License. } +{ } +{******************************************************************************} +unit FMX.SVGIconImageListEditorUnit; + +interface + +{$INCLUDE ..\Source\SVGIconImageList.inc} + +uses + System.SysUtils, System.Types, System.UITypes, FMX.Controls, System.Classes, + System.Actions, FMX.Forms, FMX.Graphics, FMX.ActnList, FMX.StdCtrls, FMX.Colors, FMX.ListBox, + FMX.Controls.Presentation, FMX.ImgList, FMX.Types, FMX.Layouts, + System.ImageList, FMX.SVGIconImageList, FMX.Edit, FMX.EditBox, FMX.SpinBox, + FMX.ScrollBox, FMX.Memo, FMX.Dialogs; + +type + TSVGIconImageListEditorFMX = class(TForm) + PaButtons: TPanel; + AddButton: TButton; + DeleteButton: TButton; + ClearAllButton: TButton; + paTop: TPanel; + Panel4: TPanel; + OKButton: TButton; + CancelButton: TButton; + HelpButton: TButton; + paClient: TPanel; + ImageListGroupBox: TGroupBox; + AutoSizeCheckBox: TCheckBox; + DefaultOpacitySpinBox: TSpinBox; + DefaultOpacityLabel: TLabel; + ItemGroupBox: TGroupBox; + IconName: TEdit; + IconNameLabel: TLabel; + OpacityLabel: TLabel; + OpacitySpinBox: TSpinBox; + IconPanel: TPanel; + IconImage: TGlyph; + ListBoxItemStyleBook: TStyleBook; + SizeSpinBox: TSpinBox; + SizeLabel: TLabel; + IconsGroupBox: TGroupBox; + ImageView: TListBox; + TopSplitter: TSplitter; + SVGText: TMemo; + NewButton: TButton; + OpenDialog: TOpenDialog; + FixedColorComboBox: TComboBox; + FixedColorLabel: TLabel; + GrayScaleCheckBox: TCheckBox; + GrayScaleItemCheckBox: TCheckBox; + FixedColorItemLabel: TLabel; + FixedColorItemComboBox: TComboBox; + procedure ClearAllButtonClick(Sender: TObject); + procedure DeleteButtonClick(Sender: TObject); + procedure AddButtonClick(Sender: TObject); + procedure FormDestroy(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure HelpButtonClick(Sender: TObject); + procedure IconNameExit(Sender: TObject); + procedure ImageViewSelectItem(Sender: TObject); + procedure FormClose(Sender: TObject; var Action: TCloseAction); + procedure AutoSizeCheckBoxClick(Sender: TObject); + procedure FormCreate(Sender: TObject); + procedure DefaultOpacitySpinBoxChange(Sender: TObject); + procedure OpacitySpinBoxChange(Sender: TObject); + procedure SizeChange(Sender: TObject); + procedure FormResize(Sender: TObject); + procedure NewButtonClick(Sender: TObject); + procedure FixedColorComboBoxChange(Sender: TObject); + procedure GrayScaleCheckBoxChange(Sender: TObject); + procedure SVGTextExit(Sender: TObject); + procedure GrayScaleItemCheckBoxChange(Sender: TObject); + procedure FixedColorItemComboBoxChange(Sender: TObject); + procedure ImageViewDragOver(Sender: TObject; const Data: TDragObject; + const Point: TPointF; var Operation: TDragOperation); + procedure ImageViewDragChange(SourceItem, DestItem: TListBoxItem; + var Allow: Boolean); + procedure ImageViewDragDrop(Sender: TObject; const Data: TDragObject; + const Point: TPointF); + private + FIconIndexLabel: string; + FTotIconsLabel: string; + FUpdating: Boolean; + SVGIconImageList: TSVGIconImageList; + procedure AddNewItem; + procedure DeleteSelectedItem; + procedure ClearAllImages; + procedure UpdateGUI; + procedure SetImageOpacity(Opacity: Single); + procedure SetImageIconName(IconName: String); + function SelectedSVGIcon: TSVGIconSourceItem; + public + destructor Destroy; override; + end; + +function EditSVGIconImageList(const AImageList: TSVGIconImageList): Boolean; + +implementation + +{$R *.fmx} + +uses + Winapi.Messages + , Winapi.Windows + , Winapi.shellApi + , SVG + , SVGColor; + +var + SavedBounds: TRect = (Left: 0; Top: 0; Right: 0; Bottom: 0); + paTopHeight: Single; + +function UpdateSVGIconListView(const AListBox: TListBox): Integer; +var + I: Integer; + LItem: TSVGIconSourceItem; + LListItem: TListBoxItem; + LSVGIconImageList: TSVGIconImageList; +begin + LSVGIconImageList := AListBox.Images as TSVGIconImageList; + + AListBox.Items.BeginUpdate; + try + AListBox.Clear; + Result := LSVGIconImageList.Source.Count; + for I := 0 to Result -1 do + begin + LItem := LSVGIconImageList.Source.Items[I] as TSVGIconSourceItem; + LListItem := TListBoxItem.Create(AListBox); + LListItem.StyleLookup := 'CustomListBoxItemStyle'; + LListItem.Text := Format('%d.%s', [LItem.Index,Litem.IconName]); + LListItem.ImageIndex := I; + + AListBox.AddObject(LListItem); + end; + finally + AListBox.Items.EndUpdate; + end; +end; + +function UpdateSVGIconListViewCaptions(const AListBox: TListBox; + const AShowCaption: Boolean = True): Integer; +var + I: Integer; + LItem: TSVGIconSourceItem; + LSVGIconImageList: TSVGIconImageList; +begin + LSVGIconImageList := AListBox.Images as TSVGIconImageList; + //AListView.Items.BeginUpdate; + try + Result := LSVGIconImageList.Source.Count; + for I := 0 to Result -1 do + begin + LItem := LSVGIconImageList.Source[I] as TSVGIconSourceItem; + if AShowCaption then + begin + AListBox.Items[I] := Format('%d.%s', [LItem.Index, Litem.IconName]); + end + else + AListBox.Items[I] := ''; + end; + finally + //AListView.Items.EndUpdate; + end; +end; + +function EditSVGIconImageList(const AImageList: TSVGIconImageList): Boolean; +var + LEditor: TSVGIconImageListEditorFMX; +begin + LEditor := TSVGIconImageListEditorFMX.Create(nil); + with LEditor do + begin + try + //Screen.Cursor := crHourglass; + try + SVGIconImageList.Assign(AImageList); + ImageView.Images := SVGIconImageList; + UpdateSVGIconListView(ImageView); + //UpdateGUI; + if ImageView.Items.Count > 0 then + ImageView.ItemIndex := 0; + + finally + //Screen.Cursor := crDefault; + end; + Result := ShowModal = mrOk; + if Result then + begin + //Screen.Cursor := crHourglass; + try + AImageList.Assign(SVGIconImageList); + finally + //Screen.Cursor := crDefault; + end; + end; + SavedBounds := Bounds; + paTopHeight := paTop.Height; + finally + DisposeOf; + end; + end; +end; + +{ TSVGIconImageListEditorFMX } + +procedure TSVGIconImageListEditorFMX.HelpButtonClick(Sender: TObject); +begin + ShellExecute(0, 'open', + PChar('https://github.com/EtheaDev/SVGIconImageList/wiki/Component-Editor-(FMX)'), nil, nil, + SW_SHOWNORMAL) +end; + +procedure TSVGIconImageListEditorFMX.SizeChange(Sender: TObject); +begin + SVGIconImageList.Size := Round(SizeSpinBox.Value); + UpdateGUI; +end; + +procedure TSVGIconImageListEditorFMX.SVGTextExit(Sender: TObject); +begin + SelectedSVGIcon.SVGText := SVGText.Lines.Text; + UpdateGUI; +end; + +procedure TSVGIconImageListEditorFMX.AutoSizeCheckBoxClick(Sender: TObject); +begin + SVGIconImageList.AutoSizeBitmaps := AutoSizeCheckBox.IsChecked; + UpdateGUI; +end; + +procedure TSVGIconImageListEditorFMX.SetImageIconName(IconName: String); +begin + SelectedSVGIcon.IconName := IconName; + UpdateGUI; + UpdateSVGIconListViewCaptions(ImageView); +end; + +procedure TSVGIconImageListEditorFMX.SetImageOpacity(Opacity: Single); +begin + SelectedSVGIcon.Opacity := Opacity / 100; + UpdateGUI; +end; + +procedure TSVGIconImageListEditorFMX.UpdateGUI; +var + LIsItemSelected: Boolean; + LIconItem: TSVGIconSourceItem; + {$IFNDEF UNICODE} + S: WideString; + {$ENDIF} +begin + FUpdating := True; + try + LIconItem := SelectedSVGIcon; + LIsItemSelected := LIconItem <> nil; + ClearAllButton.Enabled := SVGIconImageList.Count > 0; + DeleteButton.Enabled := LIsItemSelected; + OpacitySpinBox.Enabled := LIsItemSelected; + IconName.Enabled := LIsItemSelected; + SVGText.Enabled := LIsItemSelected; + //ShowCharMapButton.Enabled := (SVGIconImageList.FontName <> ''); + IconsGroupBox.Text := Format(FTotIconsLabel, [SVGIconImageList.Count]); + SizeSpinBox.Value := SVGIconImageList.Size; + AutoSizeCheckBox.IsChecked := SVGIconImageList.AutoSizeBitmaps; + DefaultOpacitySpinBox.Value := SVGIconImageList.Opacity * 100; + FixedColorComboBox.ItemIndex := + FixedColorComboBox.Items.IndexOfObject(TObject(SVGIconImageList.FixedColor)); + GrayScaleCheckBox.IsChecked := SVGIconImageList.GrayScale; + if LIsItemSelected then + begin + ItemGroupBox.Text := Format(FIconIndexLabel,[LIconItem.Index]); + IconName.Text := LIconItem.IconName; + SVGText.Lines.Text := LIconItem.SVGText; + OpacitySpinBox.Value := LIconItem.Opacity * 100; + IconImage.ImageIndex := LIconItem.Index; + FixedColorItemComboBox.ItemIndex := + FixedColorItemComboBox.Items.IndexOfObject(TObject(LIconItem.FixedColor)); + GrayScaleItemCheckBox.IsChecked := LIconItem.GrayScale; + IconImage.Repaint; + end + else + begin + IconName.Text := ''; + SVGText.Lines.Clear; + IconImage.ImageIndex := -1; + end; + finally + FUpdating := False; + end; +end; + +procedure TSVGIconImageListEditorFMX.DeleteSelectedItem; +var + LIndex: Integer; +begin + LIndex := ImageView.Selected.Index; + SVGIconImageList.DeleteIcon(LIndex); + UpdateSVGIconListView(ImageView); + if LIndex < ImageView.Items.Count then + ImageView.ItemIndex := LIndex + else if ImageView.Items.Count > 0 then + ImageView.ItemIndex := LIndex-1; + UpdateGUI; +end; + +destructor TSVGIconImageListEditorFMX.Destroy; +begin + inherited; +end; + +procedure TSVGIconImageListEditorFMX.ClearAllImages; +begin + //Screen.Cursor := crHourglass; + try + SVGIconImageList.ClearIcons; + finally + //Screen.Cursor := crDefault; + end; +end; + +(* +procedure TSVGIconImageListEditorFMX.CloseCharMap(Sender: TObject; + var Action: TCloseAction); +begin + if FCharMap.ModalResult = mrOK then + begin + if FCharMap.CharsEdit.Text <> '' then + begin + SVGIconImageList.AddIcons(FCharMap.CharsEdit.Text, FCharMap.DefaultFontName.Text); + UpdateSVGIconListView(ImageView); + end; + end; +end; +*) + +procedure TSVGIconImageListEditorFMX.ClearAllButtonClick(Sender: TObject); +begin + ClearAllImages; + UpdateSVGIconListView(ImageView); + UpdateGUI; +end; + +(* +procedure TSVGIconImageListEditorFMX.SVGIconImageListFontMissing( + const AFontName: TFontName); +begin + MessageDlg(Format(ERR_SVGIcon_FONT_NOT_INSTALLED,[AFontName]), + mtError, [mbOK], 0); +end; +*) + +procedure TSVGIconImageListEditorFMX.IconNameExit(Sender: TObject); +begin + if FUpdating then Exit; + SetImageIconName(IconName.Text); + UpdateGUI; +end; + +procedure TSVGIconImageListEditorFMX.ImageViewDragChange(SourceItem, + DestItem: TListBoxItem; var Allow: Boolean); +var + LOriginalIcon, LIcon: TSVGIconSourceItem; + LNewIndex, LSourceIndex: Integer; + LIconName: string; +begin + Allow := False; + if SourceItem.Index = DestItem.Index then Exit; + + LSourceIndex := SourceItem.Index; + LNewIndex := DestItem.Index; + if LNewIndex < 0 then LNewIndex := 0; + if LNewIndex > SVGIconImageList.Count then LNewIndex := SVGIconImageList.Count; + + LOriginalIcon := SVGIconImageList.Source.Items[LSourceIndex] as TSVGIconSourceItem; + LIconName := LOriginalIcon.IconName; + + if LSourceIndex < LNewIndex then + begin + LIcon := SVGIconImageList.CloneIcon(LSourceIndex, LNewIndex + 1); + SVGIconImageList.DeleteIcon(LSourceIndex); + end + else + begin + LIcon := SVGIconImageList.CloneIcon(LSourceIndex, LNewIndex); + SVGIconImageList.DeleteIcon(LSourceIndex + 1); + end; + + LIcon.IconName := LIconName; + + UpdateSVGIconListView(ImageView); +end; + +procedure TSVGIconImageListEditorFMX.ImageViewDragDrop(Sender: TObject; + const Data: TDragObject; const Point: TPointF); +var + LFiles: TStringList; +begin + if Length(Data.Files) <= 0 then Exit; + + LFiles := TStringList.Create; + LFiles.AddStrings(TArray(Data.Files)); + try + SVGIconImageList.LoadFromFiles(LFiles); + finally + FreeAndNil(LFiles); + end; + + UpdateSVGIconListView(ImageView); +end; + +procedure TSVGIconImageListEditorFMX.ImageViewDragOver(Sender: TObject; + const Data: TDragObject; const Point: TPointF; var Operation: TDragOperation); +begin + if Length(Data.Files) > 0 then Operation := TDragOperation.Copy + else Operation := TDragOperation.None; +end; + +procedure TSVGIconImageListEditorFMX.ImageViewSelectItem(Sender: TObject); +begin + UpdateGUI; +end; + +procedure TSVGIconImageListEditorFMX.NewButtonClick(Sender: TObject); +begin + AddNewItem; +end; + +procedure TSVGIconImageListEditorFMX.OpacitySpinBoxChange(Sender: TObject); +begin + if FUpdating then Exit; + SetImageOpacity(OpacitySpinBox.Value); +end; + +procedure TSVGIconImageListEditorFMX.DefaultOpacitySpinBoxChange( + Sender: TObject); +begin + if FUpdating then Exit; + SetImageOpacity(DefaultOpacitySpinBox.Value); +end; + +procedure TSVGIconImageListEditorFMX.DeleteButtonClick(Sender: TObject); +begin + DeleteSelectedItem; +end; + +procedure TSVGIconImageListEditorFMX.FixedColorComboBoxChange(Sender: TObject); +begin + //Screen.Cursor := crHourGlass; + try + if FixedColorComboBox.ItemIndex >= 0 then begin + SVGIconImageList.FixedColor := + TColor(FixedColorComboBox.Items.Objects[FixedColorComboBox.ItemIndex]); + UpdateGUI; + end; + finally + //Screen.Cursor := crDefault; + end; +end; + +procedure TSVGIconImageListEditorFMX.FixedColorItemComboBoxChange( + Sender: TObject); +begin + if FUpdating then Exit; + if FixedColorComboBox.ItemIndex >= 0 then begin + SelectedSVGIcon.FixedColor := + TColor(FixedColorComboBox.Items.Objects[FixedColorComboBox.ItemIndex]); + UpdateGUI; + end; +end; + +procedure TSVGIconImageListEditorFMX.FormClose(Sender: TObject; + var Action: TCloseAction); +begin + if ModalResult = mrOK then + OKButton.SetFocus + else + CancelButton.SetFocus; +end; + +procedure TSVGIconImageListEditorFMX.FormCreate(Sender: TObject); +begin + Caption := Format(Caption, [SVGIconImageListVersion]); + FUpdating := True; + SVGIconImageList := TSVGIconImageList.Create(nil); + FIconIndexLabel := ItemGroupBox.Text; + FTotIconsLabel := IconsGroupBox.Text; + IconImage.Images := SVGIconImageList; + AssignSVGColorList(FixedColorComboBox.Items); + AssignSVGColorList(FixedColorItemComboBox.Items); +end; + +procedure TSVGIconImageListEditorFMX.FormDestroy(Sender: TObject); +begin + FreeAndNil(SVGIconImageList); + //Screen.Cursors[crColorPick] := 0; +end; + +procedure TSVGIconImageListEditorFMX.FormResize(Sender: TObject); +begin + if ClientWidth < 610 then + ClientWidth := 610; + if ClientHeight < 390 then + ClientHeight := 390; +end; + +function TSVGIconImageListEditorFMX.SelectedSVGIcon: TSVGIconSourceItem; +begin + if (ImageView.Selected <> nil) and (ImageView.Selected.Index < SVGIconImageList.Source.Count) then + Result := SVGIconImageList.Source.Items[ImageView.Selected.Index] as TSVGIconSourceItem + else + Result := nil; +end; + +procedure TSVGIconImageListEditorFMX.AddButtonClick(Sender: TObject); +begin + if OpenDialog.Execute then + begin + //Screen.Cursor := crHourGlass; + try + SVGIconImageList.LoadFromFiles(OpenDialog.Files); + finally + UpdateSVGIconListView(ImageView); + //Screen.Cursor := crDefault; + end; + end; +end; + +procedure TSVGIconImageListEditorFMX.FormShow(Sender: TObject); +begin + if SavedBounds.Right - SavedBounds.Left > 0 then + SetBounds(SavedBounds.Left, SavedBounds.Top, SavedBounds.Width, SavedBounds.Height); + + if paTopHeight <> 0 then + paTop.Height := paTopHeight; + + if ImageView.CanFocus then + ImageView.SetFocus; +end; + +procedure TSVGIconImageListEditorFMX.GrayScaleCheckBoxChange(Sender: TObject); +begin + SVGIconImageList.GrayScale := GrayScaleCheckBox.IsChecked; + UpdateGUI; +end; + +procedure TSVGIconImageListEditorFMX.GrayScaleItemCheckBoxChange( + Sender: TObject); +begin + if FUpdating then Exit; + SelectedSVGIcon.GrayScale := GrayScaleItemCheckBox.IsChecked; + UpdateGUI; +end; + +procedure TSVGIconImageListEditorFMX.AddNewItem; +var + LInsertIndex: Integer; +begin + if (ImageView.Selected <> nil) then + LInsertIndex := ImageView.Selected.Index +1 + else + LInsertIndex := ImageView.Items.Count; + SVGIconImageList.InsertIcon(LInsertIndex,'',''); + UpdateSVGIconListView(ImageView); + ImageView.ItemIndex := LInsertIndex; +end; + +initialization + paTopHeight := 0; + +end. diff --git a/Packages/SVGIconImageRegister.pas b/Packages/SVGIconImageRegister.pas index 1923d6ee..41db708e 100644 --- a/Packages/SVGIconImageRegister.pas +++ b/Packages/SVGIconImageRegister.pas @@ -1,313 +1,313 @@ -{******************************************************************************} -{ } -{ SVGIconImage Registration for Components and Editors } -{ } -{ Copyright (c) 2019-2020 (Ethea S.r.l.) } -{ Author: Carlo Barazzetta } -{ Contributors: Vincent Parrett, Kiriakos Vlahos } -{ } -{ https://github.com/EtheaDev/SVGIconsImageList } -{ } -{******************************************************************************} -{ Original version (c) 2005, 2008 Martin Walter with license: } -{ Use of this file is permitted for commercial and non-commercial } -{ use, as long as the author is credited. } -{ home page: http://www.mwcs.de } -{ email : martin.walter@mwcs.de } -{******************************************************************************} -{ } -{ Licensed under the Apache License, Version 2.0 (the "License"); } -{ you may not use this file except in compliance with the License. } -{ You may obtain a copy of the License at } -{ } -{ http://www.apache.org/licenses/LICENSE-2.0 } -{ } -{ Unless required by applicable law or agreed to in writing, software } -{ distributed under the License is distributed on an "AS IS" BASIS, } -{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } -{ See the License for the specific language governing permissions and } -{ limitations under the License. } -{ } -{******************************************************************************} -unit SVGIconImageRegister; - -interface - -uses - Classes - , DesignIntf - , DesignEditors; - -type - TSVGIconImageListCompEditor = class(TComponentEditor) - public - function GetVerbCount: Integer; override; - function GetVerb(Index: Integer): string; override; - procedure ExecuteVerb(Index: Integer); override; - procedure Edit; override; - end; - - TSVGIconVirtualImageListCompEditor = class(TComponentEditor) - public - function GetVerbCount: Integer; override; - function GetVerb(Index: Integer): string; override; - procedure ExecuteVerb(Index: Integer); override; - procedure Edit; override; - end; - - - TSVGIconImageCollectionCompEditor = class(TComponentEditor) - public - function GetVerbCount: Integer; override; - function GetVerb(Index: Integer): string; override; - procedure ExecuteVerb(Index: Integer); override; - procedure Edit; override; - end; - - - TSVGIconImageListProperty = class(TClassProperty) - public - procedure Edit; override; - function GetAttributes: TPropertyAttributes; override; - function GetValue: string; override; - end; - - TSVGIconCollectionListProperty = class(TClassProperty) - public - procedure Edit; override; - function GetAttributes: TPropertyAttributes; override; - function GetValue: string; override; - end; - - - TSVGTextProperty = class(TClassProperty) - public - procedure Edit; override; - function GetAttributes: TPropertyAttributes; override; - function GetValue: string; override; - end; - -procedure Register; - -implementation - -uses - SysUtils - , ShellApi - , Windows - , SVGIconImage - , SVGIconImageListBase - , SVGIconImageList - , SVGIconVirtualImageList - , SVGIconImageCollection - , SVGIconImageListEditorUnit - , SVGTextPropertyEditorUnit; - -{ TSVGIconImageListCompEditor } -procedure TSVGIconImageListCompEditor.Edit; -begin - inherited; -end; - -procedure TSVGIconImageListCompEditor.ExecuteVerb(Index: Integer); -begin - inherited; - if Index = 0 then - begin - if EditSVGIconImageList(Component as TSVGIconImageList) then - Designer.Modified; - end - else if Index = 1 then - begin - ShellExecute(0, 'open', - PChar('https://github.com/EtheaDev/SVGIconImageList/wiki/Home'), nil, nil, - SW_SHOWNORMAL) - end; -end; - -function TSVGIconImageListCompEditor.GetVerb(Index: Integer): string; -begin - Result := ''; - case Index of - 0: Result := 'SVG I&con ImageList Editor...'; - 1: Result := Format('Ver. %s - (c) Ethea S.r.l. - show help...',[SVGIconImageListVersion]); - end; -end; - -function TSVGIconImageListCompEditor.GetVerbCount: Integer; -begin - Result := 2; -end; - -{ TSVGIconImageListProperty } -procedure TSVGIconImageListProperty.Edit; -var - SVGImageList: TSVGIconImageList; -begin - SVGImageList := TSVGIconImageList(GetComponent(0)); - if EditSVGIconImageList(SVGImageList) then - Modified; -end; - -function TSVGIconImageListProperty.GetAttributes: TPropertyAttributes; -begin - Result := inherited GetAttributes + [paDialog]; -end; - -function TSVGIconImageListProperty.GetValue: string; -begin - Result := 'SVGImages'; -end; - - -{ TSVGIconCollectionListProperty } - -procedure TSVGIconCollectionListProperty.Edit; -var - SVGImageCollection: TSVGIconImageCollection; -begin - SVGImageCollection := TSVGIconImageCollection(GetComponent(0)); - if EditSVGIconImageCollection(SVGImageCollection) then - Modified; -end; - -function TSVGIconCollectionListProperty.GetAttributes: TPropertyAttributes; -begin - Result := inherited GetAttributes + [paDialog]; -end; - -function TSVGIconCollectionListProperty.GetValue: string; -begin - Result := 'SVGImageCollection'; -end; - - - -{ TSVGTextProperty } - -procedure TSVGTextProperty.Edit; -var - LSVGText: string; - LComponent: TPersistent; -begin - LComponent := GetComponent(0); - if LComponent is TSVGIconItem then - LSVGText := TSVGIconItem(LComponent).SVGText - else if LComponent is TSVGIconImage then - LSVGText := TSVGIconImage(LComponent).SVGText - else - Exit; - if EditSVGTextProperty(LSVGText) then - begin - if LComponent is TSVGIconItem then - TSVGIconItem(LComponent).SVGText := LSVGText - else if LComponent is TSVGIconImage then - TSVGIconImage(LComponent).SVGText := LSVGText; - Modified; - end; - inherited; -end; - -function TSVGTextProperty.GetAttributes: TPropertyAttributes; -begin - Result := [paDialog, paReadOnly]; -end; - -function TSVGTextProperty.GetValue: string; -begin - Result := 'Click to edit SVG Text'; -end; - -procedure Register; -begin - RegisterComponents('Ethea', - [TSVGIconImage, - TSVGIconImageList, TSVGIconVirtualImageList, TSVGIconImageCollection]); - - RegisterComponentEditor(TSVGIconImageList, TSVGIconImageListCompEditor); - RegisterComponentEditor(TSVGIconVirtualImageList, TSVGIconVirtualImageListCompEditor); - RegisterComponentEditor(TSVGIconImageCollection, TSVGIconImageCollectionCompEditor); - RegisterPropertyEditor(TypeInfo(TSVGIconItems), TSVGIconImageList, 'SVGIconItems', TSVGIconImageListProperty); - RegisterPropertyEditor(TypeInfo(TSVGIconItems), TSVGIconImageCollection, 'SVGIconItems', TSVGIconCollectionListProperty); - RegisterPropertyEditor(TypeInfo(string), TSVGIconItem, 'SVGText', TSVGTextProperty); - RegisterPropertyEditor(TypeInfo(string), TSVGIconImage, 'SVGText', TSVGTextProperty); -end; - -{ TSVGIconImageCollectionCompEditor } - -procedure TSVGIconImageCollectionCompEditor.Edit; -begin - inherited; - -end; - -procedure TSVGIconImageCollectionCompEditor.ExecuteVerb(Index: Integer); -begin - inherited; - if Index = 0 then - begin - if EditSVGIconImageCollection(Component as TSVGIconImageCollection) then - Designer.Modified; - end - else if Index = 1 then - begin - ShellExecute(0, 'open', - PChar('https://github.com/EtheaDev/SVGIconImageList/wiki/Home'), nil, nil, - SW_SHOWNORMAL) - end; - -end; - -function TSVGIconImageCollectionCompEditor.GetVerb(Index: Integer): string; -begin - Result := ''; - case Index of - 0: Result := 'SVG I&con ImageCollection Editor...'; - 1: Result := Format('Ver. %s - (c) Ethea S.r.l. - show help...',[SVGIconImageListVersion]); - end; -end; - -function TSVGIconImageCollectionCompEditor.GetVerbCount: Integer; -begin - Result := 2; -end; - -{ TSVGIconVirtualImageListCompEditor } - -procedure TSVGIconVirtualImageListCompEditor.Edit; -begin - inherited; - -end; - -procedure TSVGIconVirtualImageListCompEditor.ExecuteVerb(Index: Integer); -begin - inherited; - if Index = 0 then - begin - if EditSVGIconVirtualImageList(Component as TSVGIconVirtualImageList) then - Designer.Modified; - end - else if Index = 1 then - begin - ShellExecute(0, 'open', - PChar('https://github.com/EtheaDev/SVGIconImageList/wiki/Home'), nil, nil, - SW_SHOWNORMAL) - end; -end; - -function TSVGIconVirtualImageListCompEditor.GetVerb(Index: Integer): string; -begin - Result := ''; - case Index of - 0: Result := 'SVG I&con VirtualImageList Editor...'; - 1: Result := Format('Ver. %s - (c) Ethea S.r.l. - show help...',[SVGIconImageListVersion]); - end; -end; - -function TSVGIconVirtualImageListCompEditor.GetVerbCount: Integer; -begin - result := 2; -end; - -end. +{******************************************************************************} +{ } +{ SVGIconImage Registration for Components and Editors } +{ } +{ Copyright (c) 2019-2020 (Ethea S.r.l.) } +{ Author: Carlo Barazzetta } +{ Contributors: Vincent Parrett, Kiriakos Vlahos } +{ } +{ https://github.com/EtheaDev/SVGIconsImageList } +{ } +{******************************************************************************} +{ Original version (c) 2005, 2008 Martin Walter with license: } +{ Use of this file is permitted for commercial and non-commercial } +{ use, as long as the author is credited. } +{ home page: http://www.mwcs.de } +{ email : martin.walter@mwcs.de } +{******************************************************************************} +{ } +{ Licensed under the Apache License, Version 2.0 (the "License"); } +{ you may not use this file except in compliance with the License. } +{ You may obtain a copy of the License at } +{ } +{ http://www.apache.org/licenses/LICENSE-2.0 } +{ } +{ Unless required by applicable law or agreed to in writing, software } +{ distributed under the License is distributed on an "AS IS" BASIS, } +{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } +{ See the License for the specific language governing permissions and } +{ limitations under the License. } +{ } +{******************************************************************************} +unit SVGIconImageRegister; + +interface + +uses + Classes + , DesignIntf + , DesignEditors; + +type + TSVGIconImageListCompEditor = class(TComponentEditor) + public + function GetVerbCount: Integer; override; + function GetVerb(Index: Integer): string; override; + procedure ExecuteVerb(Index: Integer); override; + procedure Edit; override; + end; + + TSVGIconVirtualImageListCompEditor = class(TComponentEditor) + public + function GetVerbCount: Integer; override; + function GetVerb(Index: Integer): string; override; + procedure ExecuteVerb(Index: Integer); override; + procedure Edit; override; + end; + + + TSVGIconImageCollectionCompEditor = class(TComponentEditor) + public + function GetVerbCount: Integer; override; + function GetVerb(Index: Integer): string; override; + procedure ExecuteVerb(Index: Integer); override; + procedure Edit; override; + end; + + + TSVGIconImageListProperty = class(TClassProperty) + public + procedure Edit; override; + function GetAttributes: TPropertyAttributes; override; + function GetValue: string; override; + end; + + TSVGIconCollectionListProperty = class(TClassProperty) + public + procedure Edit; override; + function GetAttributes: TPropertyAttributes; override; + function GetValue: string; override; + end; + + + TSVGTextProperty = class(TClassProperty) + public + procedure Edit; override; + function GetAttributes: TPropertyAttributes; override; + function GetValue: string; override; + end; + +procedure Register; + +implementation + +uses + SysUtils + , ShellApi + , Windows + , SVGIconImage + , SVGIconImageListBase + , SVGIconImageList + , SVGIconVirtualImageList + , SVGIconImageCollection + , SVGIconImageListEditorUnit + , SVGTextPropertyEditorUnit; + +{ TSVGIconImageListCompEditor } +procedure TSVGIconImageListCompEditor.Edit; +begin + inherited; +end; + +procedure TSVGIconImageListCompEditor.ExecuteVerb(Index: Integer); +begin + inherited; + if Index = 0 then + begin + if EditSVGIconImageList(Component as TSVGIconImageList) then + Designer.Modified; + end + else if Index = 1 then + begin + ShellExecute(0, 'open', + PChar('https://github.com/EtheaDev/SVGIconImageList/wiki/Home'), nil, nil, + SW_SHOWNORMAL) + end; +end; + +function TSVGIconImageListCompEditor.GetVerb(Index: Integer): string; +begin + Result := ''; + case Index of + 0: Result := 'SVG I&con ImageList Editor...'; + 1: Result := Format('Ver. %s - (c) Ethea S.r.l. - show help...',[SVGIconImageListVersion]); + end; +end; + +function TSVGIconImageListCompEditor.GetVerbCount: Integer; +begin + Result := 2; +end; + +{ TSVGIconImageListProperty } +procedure TSVGIconImageListProperty.Edit; +var + SVGImageList: TSVGIconImageList; +begin + SVGImageList := TSVGIconImageList(GetComponent(0)); + if EditSVGIconImageList(SVGImageList) then + Modified; +end; + +function TSVGIconImageListProperty.GetAttributes: TPropertyAttributes; +begin + Result := inherited GetAttributes + [paDialog]; +end; + +function TSVGIconImageListProperty.GetValue: string; +begin + Result := 'SVGImages'; +end; + + +{ TSVGIconCollectionListProperty } + +procedure TSVGIconCollectionListProperty.Edit; +var + SVGImageCollection: TSVGIconImageCollection; +begin + SVGImageCollection := TSVGIconImageCollection(GetComponent(0)); + if EditSVGIconImageCollection(SVGImageCollection) then + Modified; +end; + +function TSVGIconCollectionListProperty.GetAttributes: TPropertyAttributes; +begin + Result := inherited GetAttributes + [paDialog]; +end; + +function TSVGIconCollectionListProperty.GetValue: string; +begin + Result := 'SVGImageCollection'; +end; + + + +{ TSVGTextProperty } + +procedure TSVGTextProperty.Edit; +var + LSVGText: string; + LComponent: TPersistent; +begin + LComponent := GetComponent(0); + if LComponent is TSVGIconItem then + LSVGText := TSVGIconItem(LComponent).SVGText + else if LComponent is TSVGIconImage then + LSVGText := TSVGIconImage(LComponent).SVGText + else + Exit; + if EditSVGTextProperty(LSVGText) then + begin + if LComponent is TSVGIconItem then + TSVGIconItem(LComponent).SVGText := LSVGText + else if LComponent is TSVGIconImage then + TSVGIconImage(LComponent).SVGText := LSVGText; + Modified; + end; + inherited; +end; + +function TSVGTextProperty.GetAttributes: TPropertyAttributes; +begin + Result := [paDialog, paReadOnly]; +end; + +function TSVGTextProperty.GetValue: string; +begin + Result := 'Click to edit SVG Text'; +end; + +procedure Register; +begin + RegisterComponents('Ethea', + [TSVGIconImage, + TSVGIconImageList, TSVGIconVirtualImageList, TSVGIconImageCollection]); + + RegisterComponentEditor(TSVGIconImageList, TSVGIconImageListCompEditor); + RegisterComponentEditor(TSVGIconVirtualImageList, TSVGIconVirtualImageListCompEditor); + RegisterComponentEditor(TSVGIconImageCollection, TSVGIconImageCollectionCompEditor); + RegisterPropertyEditor(TypeInfo(TSVGIconItems), TSVGIconImageList, 'SVGIconItems', TSVGIconImageListProperty); + RegisterPropertyEditor(TypeInfo(TSVGIconItems), TSVGIconImageCollection, 'SVGIconItems', TSVGIconCollectionListProperty); + RegisterPropertyEditor(TypeInfo(string), TSVGIconItem, 'SVGText', TSVGTextProperty); + RegisterPropertyEditor(TypeInfo(string), TSVGIconImage, 'SVGText', TSVGTextProperty); +end; + +{ TSVGIconImageCollectionCompEditor } + +procedure TSVGIconImageCollectionCompEditor.Edit; +begin + inherited; + +end; + +procedure TSVGIconImageCollectionCompEditor.ExecuteVerb(Index: Integer); +begin + inherited; + if Index = 0 then + begin + if EditSVGIconImageCollection(Component as TSVGIconImageCollection) then + Designer.Modified; + end + else if Index = 1 then + begin + ShellExecute(0, 'open', + PChar('https://github.com/EtheaDev/SVGIconImageList/wiki/Home'), nil, nil, + SW_SHOWNORMAL) + end; + +end; + +function TSVGIconImageCollectionCompEditor.GetVerb(Index: Integer): string; +begin + Result := ''; + case Index of + 0: Result := 'SVG I&con ImageCollection Editor...'; + 1: Result := Format('Ver. %s - (c) Ethea S.r.l. - show help...',[SVGIconImageListVersion]); + end; +end; + +function TSVGIconImageCollectionCompEditor.GetVerbCount: Integer; +begin + Result := 2; +end; + +{ TSVGIconVirtualImageListCompEditor } + +procedure TSVGIconVirtualImageListCompEditor.Edit; +begin + inherited; + +end; + +procedure TSVGIconVirtualImageListCompEditor.ExecuteVerb(Index: Integer); +begin + inherited; + if Index = 0 then + begin + if EditSVGIconVirtualImageList(Component as TSVGIconVirtualImageList) then + Designer.Modified; + end + else if Index = 1 then + begin + ShellExecute(0, 'open', + PChar('https://github.com/EtheaDev/SVGIconImageList/wiki/Home'), nil, nil, + SW_SHOWNORMAL) + end; +end; + +function TSVGIconVirtualImageListCompEditor.GetVerb(Index: Integer): string; +begin + Result := ''; + case Index of + 0: Result := 'SVG I&con VirtualImageList Editor...'; + 1: Result := Format('Ver. %s - (c) Ethea S.r.l. - show help...',[SVGIconImageListVersion]); + end; +end; + +function TSVGIconVirtualImageListCompEditor.GetVerbCount: Integer; +begin + result := 2; +end; + +end. diff --git a/Packages/SVGTextPropertyEditorUnit.dfm b/Packages/SVGTextPropertyEditorUnit.dfm index cd8b3962..f9588707 100644 --- a/Packages/SVGTextPropertyEditorUnit.dfm +++ b/Packages/SVGTextPropertyEditorUnit.dfm @@ -1,203 +1,203 @@ -object SVGTextPropertyEditorForm: TSVGTextPropertyEditorForm - Left = 916 - Top = 169 - Caption = - 'SVGText Property Editor - Copyright (c) Ethea S.r.l. - Apache 2.' + - '0 Open Source License' - ClientHeight = 256 - ClientWidth = 739 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Segoe UI' - Font.Style = [] - OldCreateOrder = False - ShowHint = True - OnResize = FormResize - OnShow = FormShow - PixelsPerInch = 96 - TextHeight = 13 - object RightSplitter: TSplitter - Left = 550 - Top = 0 - Width = 4 - Height = 223 - Align = alRight - AutoSnap = False - MinSize = 16 - ExplicitLeft = 582 - ExplicitHeight = 309 - end - object paBottom: TPanel - Left = 0 - Top = 223 - Width = 739 - Height = 33 - Align = alBottom - BevelOuter = bvNone - TabOrder = 1 - object paButtons: TPanel - Left = 320 - Top = 0 - Width = 419 - Height = 33 - Align = alRight - BevelOuter = bvNone - TabOrder = 0 - object CancelButton: TButton - Left = 254 - Top = 3 - Width = 75 - Height = 25 - Cancel = True - Caption = '&Cancel' - ModalResult = 2 - TabOrder = 3 - end - object OKButton: TButton - Left = 173 - Top = 3 - Width = 75 - Height = 25 - Caption = '&OK' - Default = True - ModalResult = 1 - TabOrder = 2 - end - object HelpButton: TButton - Left = 336 - Top = 3 - Width = 74 - Height = 25 - Caption = '&Help' - TabOrder = 4 - OnClick = HelpButtonClick - end - object LoadButton: TButton - Left = 5 - Top = 3 - Width = 74 - Height = 25 - Caption = '&Load...' - TabOrder = 0 - OnClick = LoadButtonClick - end - object SaveButton: TButton - Left = 85 - Top = 3 - Width = 74 - Height = 25 - Caption = '&Save...' - TabOrder = 1 - OnClick = SaveButtonClick - end - end - end - object SVGTextMemo: TMemo - Left = 0 - Top = 0 - Width = 550 - Height = 223 - Align = alClient - BevelOuter = bvNone - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Courier New' - Font.Style = [] - ParentFont = False - ScrollBars = ssBoth - TabOrder = 0 - OnChange = SVGTextMemoChange - end - object paImage: TPanel - Left = 554 - Top = 0 - Width = 185 - Height = 223 - Align = alRight - BevelOuter = bvLowered - BorderWidth = 1 - TabOrder = 2 - OnResize = paImageResize - object paTitle: TPanel - Left = 2 - Top = 2 - Width = 181 - Height = 24 - Align = alTop - BevelOuter = bvNone - TabOrder = 0 - end - object ImagePanel: TPanel - AlignWithMargins = True - Left = 2 - Top = 26 - Width = 181 - Height = 171 - Margins.Left = 0 - Margins.Top = 0 - Margins.Right = 0 - Margins.Bottom = 0 - Align = alClient - BevelOuter = bvLowered - Color = clWindow - ParentBackground = False - TabOrder = 1 - ExplicitHeight = 195 - object SVGIconImage: TSVGIconImage - Left = 1 - Top = 1 - Width = 179 - Height = 169 - AutoSize = False - Center = False - Proportional = True - Stretch = True - Opacity = 255 - Scale = 1.000000000000000000 - ImageIndex = 0 - Align = alClient - ExplicitLeft = 6 - ExplicitTop = 28 - ExplicitWidth = 175 - ExplicitHeight = 189 - end - end - object BottomPanel: TPanel - Left = 2 - Top = 197 - Width = 181 - Height = 24 - Align = alBottom - BevelOuter = bvNone - TabOrder = 2 - ExplicitTop = 2 - object ProportionalCheckBox: TCheckBox - Left = 8 - Top = 4 - Width = 161 - Height = 17 - Caption = 'Proportional' - Checked = True - State = cbChecked - TabOrder = 0 - OnClick = ProportionalCheckBoxClick - end - end - end - object OpenDialog: TOpenPictureDialog - Filter = 'Scalable Vector Graphics (*.svg)|*.svg' - Options = [ofHideReadOnly, ofPathMustExist, ofFileMustExist, ofEnableSizing] - Left = 400 - Top = 24 - end - object SaveDialog: TSavePictureDialog - DefaultExt = 'svg' - Filter = 'Bitmaps (*.bmp)|*.bmp' - Options = [ofOverwritePrompt, ofPathMustExist, ofEnableSizing] - Left = 456 - Top = 24 - end -end +object SVGTextPropertyEditorForm: TSVGTextPropertyEditorForm + Left = 916 + Top = 169 + Caption = + 'SVGText Property Editor - Copyright (c) Ethea S.r.l. - Apache 2.' + + '0 Open Source License' + ClientHeight = 256 + ClientWidth = 739 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Segoe UI' + Font.Style = [] + OldCreateOrder = False + ShowHint = True + OnResize = FormResize + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 13 + object RightSplitter: TSplitter + Left = 550 + Top = 0 + Width = 4 + Height = 223 + Align = alRight + AutoSnap = False + MinSize = 16 + ExplicitLeft = 582 + ExplicitHeight = 309 + end + object paBottom: TPanel + Left = 0 + Top = 223 + Width = 739 + Height = 33 + Align = alBottom + BevelOuter = bvNone + TabOrder = 1 + object paButtons: TPanel + Left = 320 + Top = 0 + Width = 419 + Height = 33 + Align = alRight + BevelOuter = bvNone + TabOrder = 0 + object CancelButton: TButton + Left = 254 + Top = 3 + Width = 75 + Height = 25 + Cancel = True + Caption = '&Cancel' + ModalResult = 2 + TabOrder = 3 + end + object OKButton: TButton + Left = 173 + Top = 3 + Width = 75 + Height = 25 + Caption = '&OK' + Default = True + ModalResult = 1 + TabOrder = 2 + end + object HelpButton: TButton + Left = 336 + Top = 3 + Width = 74 + Height = 25 + Caption = '&Help' + TabOrder = 4 + OnClick = HelpButtonClick + end + object LoadButton: TButton + Left = 5 + Top = 3 + Width = 74 + Height = 25 + Caption = '&Load...' + TabOrder = 0 + OnClick = LoadButtonClick + end + object SaveButton: TButton + Left = 85 + Top = 3 + Width = 74 + Height = 25 + Caption = '&Save...' + TabOrder = 1 + OnClick = SaveButtonClick + end + end + end + object SVGTextMemo: TMemo + Left = 0 + Top = 0 + Width = 550 + Height = 223 + Align = alClient + BevelOuter = bvNone + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Courier New' + Font.Style = [] + ParentFont = False + ScrollBars = ssBoth + TabOrder = 0 + OnChange = SVGTextMemoChange + end + object paImage: TPanel + Left = 554 + Top = 0 + Width = 185 + Height = 223 + Align = alRight + BevelOuter = bvLowered + BorderWidth = 1 + TabOrder = 2 + OnResize = paImageResize + object paTitle: TPanel + Left = 2 + Top = 2 + Width = 181 + Height = 24 + Align = alTop + BevelOuter = bvNone + TabOrder = 0 + end + object ImagePanel: TPanel + AlignWithMargins = True + Left = 2 + Top = 26 + Width = 181 + Height = 171 + Margins.Left = 0 + Margins.Top = 0 + Margins.Right = 0 + Margins.Bottom = 0 + Align = alClient + BevelOuter = bvLowered + Color = clWindow + ParentBackground = False + TabOrder = 1 + ExplicitHeight = 195 + object SVGIconImage: TSVGIconImage + Left = 1 + Top = 1 + Width = 179 + Height = 169 + AutoSize = False + Center = False + Proportional = True + Stretch = True + Opacity = 255 + Scale = 1.000000000000000000 + ImageIndex = 0 + Align = alClient + ExplicitLeft = 6 + ExplicitTop = 28 + ExplicitWidth = 175 + ExplicitHeight = 189 + end + end + object BottomPanel: TPanel + Left = 2 + Top = 197 + Width = 181 + Height = 24 + Align = alBottom + BevelOuter = bvNone + TabOrder = 2 + ExplicitTop = 2 + object ProportionalCheckBox: TCheckBox + Left = 8 + Top = 4 + Width = 161 + Height = 17 + Caption = 'Proportional' + Checked = True + State = cbChecked + TabOrder = 0 + OnClick = ProportionalCheckBoxClick + end + end + end + object OpenDialog: TOpenPictureDialog + Filter = 'Scalable Vector Graphics (*.svg)|*.svg' + Options = [ofHideReadOnly, ofPathMustExist, ofFileMustExist, ofEnableSizing] + Left = 400 + Top = 24 + end + object SaveDialog: TSavePictureDialog + DefaultExt = 'svg' + Filter = 'Bitmaps (*.bmp)|*.bmp' + Options = [ofOverwritePrompt, ofPathMustExist, ofEnableSizing] + Left = 456 + Top = 24 + end +end diff --git a/Packages/SVGTextPropertyEditorUnit.pas b/Packages/SVGTextPropertyEditorUnit.pas index e0ba0173..bac09633 100644 --- a/Packages/SVGTextPropertyEditorUnit.pas +++ b/Packages/SVGTextPropertyEditorUnit.pas @@ -1,196 +1,196 @@ -{******************************************************************************} -{ } -{ SVGTextPropertyEditorUnit: A property editor for SVGText } -{ to simplify use of setting SVGText value } -{ } -{ Copyright (c) 2019-2020 (Ethea S.r.l.) } -{ Author: Carlo Barazzetta } -{ } -{ https://github.com/EtheaDev/SVGIconImageList } -{ } -{******************************************************************************} -{ } -{ Licensed under the Apache License, Version 2.0 (the "License"); } -{ you may not use this file except in compliance with the License. } -{ You may obtain a copy of the License at } -{ } -{ http://www.apache.org/licenses/LICENSE-2.0 } -{ } -{ Unless required by applicable law or agreed to in writing, software } -{ distributed under the License is distributed on an "AS IS" BASIS, } -{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } -{ See the License for the specific language governing permissions and } -{ limitations under the License. } -{ } -{******************************************************************************} -unit SVGTextPropertyEditorUnit; - -interface - -{$INCLUDE SVGIconImageList.inc} - -uses - Windows, Messages, SysUtils, Variants, Classes, Graphics, - Controls, Forms, Dialogs, ImgList, - StdCtrls, Buttons, StdActns, - ActnList, ExtCtrls, ComCtrls, ToolWin, - Spin, SVGIconImage, Vcl.ExtDlgs; - -type - TSVGTextPropertyEditorForm = class(TForm) - paBottom: TPanel; - SVGTextMemo: TMemo; - paButtons: TPanel; - CancelButton: TButton; - OKButton: TButton; - HelpButton: TButton; - RightSplitter: TSplitter; - paImage: TPanel; - paTitle: TPanel; - LoadButton: TButton; - SaveButton: TButton; - OpenDialog: TOpenPictureDialog; - SaveDialog: TSavePictureDialog; - ImagePanel: TPanel; - SVGIconImage: TSVGIconImage; - BottomPanel: TPanel; - ProportionalCheckBox: TCheckBox; - procedure FormResize(Sender: TObject); - procedure FormShow(Sender: TObject); - procedure paImageResize(Sender: TObject); - procedure SVGTextMemoChange(Sender: TObject); - procedure LoadButtonClick(Sender: TObject); - procedure SaveButtonClick(Sender: TObject); - procedure HelpButtonClick(Sender: TObject); - procedure ProportionalCheckBoxClick(Sender: TObject); - private - procedure UpdateImage; - procedure UpdateGUI; - function GetSVGText: string; - procedure SetSVGText(const Value: string); - public - constructor Create(AOwner: TComponent); override; - property SVGText: string read GetSVGText write SetSVGText; - end; - -function EditSVGTextProperty(var ASVGText: string): boolean; - -implementation - -{$R *.dfm} - -uses - Themes - , Math - {$IFDEF DXE3+} - , UITypes - {$ENDIF} - , ShellAPI - , SVG; - -var - SavedBounds: TRect = (Left: 0; Top: 0; Right: 0; Bottom: 0); - - -function EditSVGTextProperty(var ASVGText: string): boolean; -var - LForm: TSVGTextPropertyEditorForm; -begin - Result := False; - LForm := TSVGTextPropertyEditorForm.Create(nil); - try - LForm.SVGText := ASVGText; - if LForm.ShowModal = mrOk then - begin - Result := True; - ASVGText := LForm.SVGText; - end; - SavedBounds := LForm.BoundsRect; - finally - LForm.Free; - end; -end; - -constructor TSVGTextPropertyEditorForm.Create(AOwner: TComponent); -begin - inherited; - ; -end; - -procedure TSVGTextPropertyEditorForm.FormResize(Sender: TObject); -begin - paImage.Width := ClientWidth div 4; -end; - -procedure TSVGTextPropertyEditorForm.FormShow(Sender: TObject); -begin - if SavedBounds.Right - SavedBounds.Left > 0 then - SetBounds(SavedBounds.Left, SavedBounds.Top, SavedBounds.Width, SavedBounds.Height); - - if SVGTextMemo.CanFocus then - SVGTextMemo.SetFocus; - UpdateGUI; -end; - -function TSVGTextPropertyEditorForm.GetSVGText: string; -begin - Result := SVGTextMemo.Lines.Text; -end; - -procedure TSVGTextPropertyEditorForm.HelpButtonClick(Sender: TObject); -begin - ShellExecute(handle, 'open', - PChar('https://github.com/EtheaDev/SVGIconImageList/wiki/SVGText-Editor'), nil, nil, - SW_SHOWNORMAL) -end; - -procedure TSVGTextPropertyEditorForm.LoadButtonClick(Sender: TObject); -begin - if OpenDialog.Execute then - begin - SVGIconImage.LoadFromFile(OpenDialog.FileName); - SVGText := SVGIconImage.SVGText; - end; -end; - -procedure TSVGTextPropertyEditorForm.paImageResize(Sender: TObject); -begin - paTitle.Caption := Format('w:%d-h:%d', - [SVGIconImage.Width, SVGIconImage.Height]); - SVGIconImage.Hint := paTitle.Caption; -end; - -procedure TSVGTextPropertyEditorForm.ProportionalCheckBoxClick(Sender: TObject); -begin - SVGIconImage.Proportional := ProportionalCheckBox.Checked; -end; - -procedure TSVGTextPropertyEditorForm.SaveButtonClick(Sender: TObject); -begin - if SaveDialog.Execute then - SVGIconImage.SVG.SaveToFile(SaveDialog.FileName); -end; - -procedure TSVGTextPropertyEditorForm.SetSVGText(const Value: string); -begin - SVGTextMemo.Lines.Text := Value; - UpdateImage; -end; - -procedure TSVGTextPropertyEditorForm.SVGTextMemoChange(Sender: TObject); -begin - UpdateImage; -end; - -procedure TSVGTextPropertyEditorForm.updateGUI; -begin - SVGIconImage.Repaint; -end; - -procedure TSVGTextPropertyEditorForm.UpdateImage; -begin - SVGIconImage.SVGText := SVGTextMemo.Lines.Text; - SVGIconImage.Repaint; -end; - -end. +{******************************************************************************} +{ } +{ SVGTextPropertyEditorUnit: A property editor for SVGText } +{ to simplify use of setting SVGText value } +{ } +{ Copyright (c) 2019-2020 (Ethea S.r.l.) } +{ Author: Carlo Barazzetta } +{ } +{ https://github.com/EtheaDev/SVGIconImageList } +{ } +{******************************************************************************} +{ } +{ Licensed under the Apache License, Version 2.0 (the "License"); } +{ you may not use this file except in compliance with the License. } +{ You may obtain a copy of the License at } +{ } +{ http://www.apache.org/licenses/LICENSE-2.0 } +{ } +{ Unless required by applicable law or agreed to in writing, software } +{ distributed under the License is distributed on an "AS IS" BASIS, } +{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } +{ See the License for the specific language governing permissions and } +{ limitations under the License. } +{ } +{******************************************************************************} +unit SVGTextPropertyEditorUnit; + +interface + +{$INCLUDE SVGIconImageList.inc} + +uses + Windows, Messages, SysUtils, Variants, Classes, Graphics, + Controls, Forms, Dialogs, ImgList, + StdCtrls, Buttons, StdActns, + ActnList, ExtCtrls, ComCtrls, ToolWin, + Spin, SVGIconImage, Vcl.ExtDlgs; + +type + TSVGTextPropertyEditorForm = class(TForm) + paBottom: TPanel; + SVGTextMemo: TMemo; + paButtons: TPanel; + CancelButton: TButton; + OKButton: TButton; + HelpButton: TButton; + RightSplitter: TSplitter; + paImage: TPanel; + paTitle: TPanel; + LoadButton: TButton; + SaveButton: TButton; + OpenDialog: TOpenPictureDialog; + SaveDialog: TSavePictureDialog; + ImagePanel: TPanel; + SVGIconImage: TSVGIconImage; + BottomPanel: TPanel; + ProportionalCheckBox: TCheckBox; + procedure FormResize(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure paImageResize(Sender: TObject); + procedure SVGTextMemoChange(Sender: TObject); + procedure LoadButtonClick(Sender: TObject); + procedure SaveButtonClick(Sender: TObject); + procedure HelpButtonClick(Sender: TObject); + procedure ProportionalCheckBoxClick(Sender: TObject); + private + procedure UpdateImage; + procedure UpdateGUI; + function GetSVGText: string; + procedure SetSVGText(const Value: string); + public + constructor Create(AOwner: TComponent); override; + property SVGText: string read GetSVGText write SetSVGText; + end; + +function EditSVGTextProperty(var ASVGText: string): boolean; + +implementation + +{$R *.dfm} + +uses + Themes + , Math + {$IFDEF DXE3+} + , UITypes + {$ENDIF} + , ShellAPI + , SVG; + +var + SavedBounds: TRect = (Left: 0; Top: 0; Right: 0; Bottom: 0); + + +function EditSVGTextProperty(var ASVGText: string): boolean; +var + LForm: TSVGTextPropertyEditorForm; +begin + Result := False; + LForm := TSVGTextPropertyEditorForm.Create(nil); + try + LForm.SVGText := ASVGText; + if LForm.ShowModal = mrOk then + begin + Result := True; + ASVGText := LForm.SVGText; + end; + SavedBounds := LForm.BoundsRect; + finally + LForm.Free; + end; +end; + +constructor TSVGTextPropertyEditorForm.Create(AOwner: TComponent); +begin + inherited; + ; +end; + +procedure TSVGTextPropertyEditorForm.FormResize(Sender: TObject); +begin + paImage.Width := ClientWidth div 4; +end; + +procedure TSVGTextPropertyEditorForm.FormShow(Sender: TObject); +begin + if SavedBounds.Right - SavedBounds.Left > 0 then + SetBounds(SavedBounds.Left, SavedBounds.Top, SavedBounds.Width, SavedBounds.Height); + + if SVGTextMemo.CanFocus then + SVGTextMemo.SetFocus; + UpdateGUI; +end; + +function TSVGTextPropertyEditorForm.GetSVGText: string; +begin + Result := SVGTextMemo.Lines.Text; +end; + +procedure TSVGTextPropertyEditorForm.HelpButtonClick(Sender: TObject); +begin + ShellExecute(handle, 'open', + PChar('https://github.com/EtheaDev/SVGIconImageList/wiki/SVGText-Editor'), nil, nil, + SW_SHOWNORMAL) +end; + +procedure TSVGTextPropertyEditorForm.LoadButtonClick(Sender: TObject); +begin + if OpenDialog.Execute then + begin + SVGIconImage.LoadFromFile(OpenDialog.FileName); + SVGText := SVGIconImage.SVGText; + end; +end; + +procedure TSVGTextPropertyEditorForm.paImageResize(Sender: TObject); +begin + paTitle.Caption := Format('w:%d-h:%d', + [SVGIconImage.Width, SVGIconImage.Height]); + SVGIconImage.Hint := paTitle.Caption; +end; + +procedure TSVGTextPropertyEditorForm.ProportionalCheckBoxClick(Sender: TObject); +begin + SVGIconImage.Proportional := ProportionalCheckBox.Checked; +end; + +procedure TSVGTextPropertyEditorForm.SaveButtonClick(Sender: TObject); +begin + if SaveDialog.Execute then + SVGIconImage.SVG.SaveToFile(SaveDialog.FileName); +end; + +procedure TSVGTextPropertyEditorForm.SetSVGText(const Value: string); +begin + SVGTextMemo.Lines.Text := Value; + UpdateImage; +end; + +procedure TSVGTextPropertyEditorForm.SVGTextMemoChange(Sender: TObject); +begin + UpdateImage; +end; + +procedure TSVGTextPropertyEditorForm.updateGUI; +begin + SVGIconImage.Repaint; +end; + +procedure TSVGTextPropertyEditorForm.UpdateImage; +begin + SVGIconImage.SVGText := SVGTextMemo.Lines.Text; + SVGIconImage.Repaint; +end; + +end. diff --git a/SVGExplorer/FExplorerSVG.dfm b/SVGExplorer/FExplorerSVG.dfm index 6792d166..e6dad572 100644 --- a/SVGExplorer/FExplorerSVG.dfm +++ b/SVGExplorer/FExplorerSVG.dfm @@ -1,266 +1,266 @@ -object fmExplorerSVG: TfmExplorerSVG - Left = 0 - Top = 0 - ClientHeight = 416 - ClientWidth = 846 - Color = clBtnFace - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -11 - Font.Name = 'Tahoma' - Font.Style = [] - OldCreateOrder = False - ShowHint = True - OnCreate = FormCreate - OnShow = FormShow - PixelsPerInch = 96 - TextHeight = 13 - object spVertical: TSplitter - Left = 185 - Top = 0 - Width = 4 - Height = 416 - AutoSnap = False - MinSize = 120 - ExplicitHeight = 393 - end - object spRight: TSplitter - Left = 752 - Top = 0 - Width = 4 - Height = 416 - Align = alRight - AutoSnap = False - MinSize = 90 - ExplicitLeft = 701 - end - object paDir: TPanel - Left = 0 - Top = 0 - Width = 185 - Height = 416 - Align = alLeft - TabOrder = 0 - object DirSelection: TDirectoryListBox - Left = 1 - Top = 41 - Width = 183 - Height = 374 - Align = alClient - TabOrder = 0 - OnChange = DirSelectionChange - end - object DrivePanel: TPanel - Left = 1 - Top = 1 - Width = 183 - Height = 40 - Align = alTop - BevelOuter = bvNone - TabOrder = 1 - object DriveComboBox: TDriveComboBox - Left = 1 - Top = 10 - Width = 178 - Height = 19 - DirList = DirSelection - TabOrder = 0 - end - end - end - object PaList: TPanel - Left = 189 - Top = 0 - Width = 563 - Height = 416 - Align = alClient - TabOrder = 1 - object ImageListLabel: TLabel - Left = 1 - Top = 42 - Width = 561 - Height = 16 - Align = alTop - Alignment = taCenter - Caption = 'SVG image' - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -13 - Font.Name = 'Tahoma' - Font.Style = [] - ParentFont = False - ExplicitWidth = 63 - end - object spBottom: TSplitter - Left = 1 - Top = 293 - Width = 561 - Height = 3 - Cursor = crVSplit - Align = alBottom - AutoSnap = False - MinSize = 100 - ExplicitTop = 58 - ExplicitWidth = 238 - end - object paRicerca: TPanel - Left = 1 - Top = 1 - Width = 561 - Height = 41 - Align = alTop - TabOrder = 0 - DesignSize = ( - 561 - 41) - object SearchBox: TSearchBox - Left = 10 - Top = 10 - Width = 544 - Height = 21 - Anchors = [akLeft, akTop, akRight] - TabOrder = 0 - TextHint = 'Insert filter with wildcards to search icons by name...' - OnInvokeSearch = SearchBoxInvokeSearch - end - end - object ImageView: TListView - Left = 1 - Top = 58 - Width = 561 - Height = 235 - Align = alClient - Columns = <> - IconOptions.AutoArrange = True - LargeImages = SVGIconImageList - PopupMenu = PopupMenu - SmallImages = SVGIconImageList - TabOrder = 1 - OnKeyDown = ImageViewKeyDown - OnSelectItem = ImageViewSelectItem - end - object StatusBar: TStatusBar - Left = 1 - Top = 396 - Width = 561 - Height = 19 - Panels = <> - SimplePanel = True - end - object paSVGText: TPanel - Left = 1 - Top = 296 - Width = 561 - Height = 100 - Hint = 'SVG Text content' - Align = alBottom - TabOrder = 3 - object SVGMemo: TMemo - Left = 1 - Top = 1 - Width = 559 - Height = 98 - Align = alClient - Font.Charset = DEFAULT_CHARSET - Font.Color = clWindowText - Font.Height = -12 - Font.Name = 'Courier New' - Font.Style = [] - ParentFont = False - ReadOnly = True - ScrollBars = ssBoth - TabOrder = 0 - end - end - end - object paPreview: TPanel - Left = 756 - Top = 0 - Width = 90 - Height = 416 - Align = alRight - TabOrder = 2 - OnResize = paPreviewResize - DesignSize = ( - 90 - 416) - object SVGIconImage: TSVGIconImage - Left = 1 - Top = 1 - Width = 88 - Height = 88 - Cursor = crSizeAll - Hint = 'Left click to enlarge. Right click to shrink' - Margins.Left = 10 - Margins.Top = 10 - Margins.Right = 10 - Margins.Bottom = 10 - AutoSize = False - Proportional = False - ImageList = SVGIconImageList - Align = alTop - OnMouseDown = SVGIconImageMouseDown - ExplicitTop = 323 - end - object btDelete: TButton - Left = 6 - Top = 385 - Width = 75 - Height = 25 - Action = DeleteAction - Anchors = [akLeft, akRight, akBottom] - TabOrder = 1 - end - object BtRename: TButton - Left = 6 - Top = 354 - Width = 75 - Height = 25 - Action = RenameAction - Anchors = [akLeft, akRight, akBottom] - TabOrder = 0 - end - object ShowTextCheckBox: TCheckBox - Left = 6 - Top = 327 - Width = 71 - Height = 17 - Anchors = [akLeft, akBottom] - Caption = 'Show Text' - Checked = True - State = cbChecked - TabOrder = 2 - OnClick = ShowTextCheckBoxClick - end - end - object SVGIconImageList: TSVGIconImageList - Size = 32 - Left = 264 - Top = 157 - Images = {00000000} - end - object PopupMenu: TPopupMenu - Left = 480 - Top = 160 - object Rename1: TMenuItem - Action = RenameAction - end - object Delete1: TMenuItem - Action = DeleteAction - end - end - object ActionList: TActionList - Left = 480 - Top = 240 - object DeleteAction: TAction - Caption = 'Delete...' - OnExecute = DeleteActionExecute - OnUpdate = ActionUpdate - end - object RenameAction: TAction - Caption = 'Rename...' - OnExecute = RenameActionExecute - OnUpdate = ActionUpdate - end - end -end +object fmExplorerSVG: TfmExplorerSVG + Left = 0 + Top = 0 + ClientHeight = 416 + ClientWidth = 846 + Color = clBtnFace + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -11 + Font.Name = 'Tahoma' + Font.Style = [] + OldCreateOrder = False + ShowHint = True + OnCreate = FormCreate + OnShow = FormShow + PixelsPerInch = 96 + TextHeight = 13 + object spVertical: TSplitter + Left = 185 + Top = 0 + Width = 4 + Height = 416 + AutoSnap = False + MinSize = 120 + ExplicitHeight = 393 + end + object spRight: TSplitter + Left = 752 + Top = 0 + Width = 4 + Height = 416 + Align = alRight + AutoSnap = False + MinSize = 90 + ExplicitLeft = 701 + end + object paDir: TPanel + Left = 0 + Top = 0 + Width = 185 + Height = 416 + Align = alLeft + TabOrder = 0 + object DirSelection: TDirectoryListBox + Left = 1 + Top = 41 + Width = 183 + Height = 374 + Align = alClient + TabOrder = 0 + OnChange = DirSelectionChange + end + object DrivePanel: TPanel + Left = 1 + Top = 1 + Width = 183 + Height = 40 + Align = alTop + BevelOuter = bvNone + TabOrder = 1 + object DriveComboBox: TDriveComboBox + Left = 1 + Top = 10 + Width = 178 + Height = 19 + DirList = DirSelection + TabOrder = 0 + end + end + end + object PaList: TPanel + Left = 189 + Top = 0 + Width = 563 + Height = 416 + Align = alClient + TabOrder = 1 + object ImageListLabel: TLabel + Left = 1 + Top = 42 + Width = 561 + Height = 16 + Align = alTop + Alignment = taCenter + Caption = 'SVG image' + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -13 + Font.Name = 'Tahoma' + Font.Style = [] + ParentFont = False + ExplicitWidth = 63 + end + object spBottom: TSplitter + Left = 1 + Top = 293 + Width = 561 + Height = 3 + Cursor = crVSplit + Align = alBottom + AutoSnap = False + MinSize = 100 + ExplicitTop = 58 + ExplicitWidth = 238 + end + object paRicerca: TPanel + Left = 1 + Top = 1 + Width = 561 + Height = 41 + Align = alTop + TabOrder = 0 + DesignSize = ( + 561 + 41) + object SearchBox: TSearchBox + Left = 10 + Top = 10 + Width = 544 + Height = 21 + Anchors = [akLeft, akTop, akRight] + TabOrder = 0 + TextHint = 'Insert filter with wildcards to search icons by name...' + OnInvokeSearch = SearchBoxInvokeSearch + end + end + object ImageView: TListView + Left = 1 + Top = 58 + Width = 561 + Height = 235 + Align = alClient + Columns = <> + IconOptions.AutoArrange = True + LargeImages = SVGIconImageList + PopupMenu = PopupMenu + SmallImages = SVGIconImageList + TabOrder = 1 + OnKeyDown = ImageViewKeyDown + OnSelectItem = ImageViewSelectItem + end + object StatusBar: TStatusBar + Left = 1 + Top = 396 + Width = 561 + Height = 19 + Panels = <> + SimplePanel = True + end + object paSVGText: TPanel + Left = 1 + Top = 296 + Width = 561 + Height = 100 + Hint = 'SVG Text content' + Align = alBottom + TabOrder = 3 + object SVGMemo: TMemo + Left = 1 + Top = 1 + Width = 559 + Height = 98 + Align = alClient + Font.Charset = DEFAULT_CHARSET + Font.Color = clWindowText + Font.Height = -12 + Font.Name = 'Courier New' + Font.Style = [] + ParentFont = False + ReadOnly = True + ScrollBars = ssBoth + TabOrder = 0 + end + end + end + object paPreview: TPanel + Left = 756 + Top = 0 + Width = 90 + Height = 416 + Align = alRight + TabOrder = 2 + OnResize = paPreviewResize + DesignSize = ( + 90 + 416) + object SVGIconImage: TSVGIconImage + Left = 1 + Top = 1 + Width = 88 + Height = 88 + Cursor = crSizeAll + Hint = 'Left click to enlarge. Right click to shrink' + Margins.Left = 10 + Margins.Top = 10 + Margins.Right = 10 + Margins.Bottom = 10 + AutoSize = False + Proportional = False + ImageList = SVGIconImageList + Align = alTop + OnMouseDown = SVGIconImageMouseDown + ExplicitTop = 323 + end + object btDelete: TButton + Left = 6 + Top = 385 + Width = 75 + Height = 25 + Action = DeleteAction + Anchors = [akLeft, akRight, akBottom] + TabOrder = 1 + end + object BtRename: TButton + Left = 6 + Top = 354 + Width = 75 + Height = 25 + Action = RenameAction + Anchors = [akLeft, akRight, akBottom] + TabOrder = 0 + end + object ShowTextCheckBox: TCheckBox + Left = 6 + Top = 327 + Width = 71 + Height = 17 + Anchors = [akLeft, akBottom] + Caption = 'Show Text' + Checked = True + State = cbChecked + TabOrder = 2 + OnClick = ShowTextCheckBoxClick + end + end + object SVGIconImageList: TSVGIconImageList + Size = 32 + Left = 264 + Top = 157 + Images = {00000000} + end + object PopupMenu: TPopupMenu + Left = 480 + Top = 160 + object Rename1: TMenuItem + Action = RenameAction + end + object Delete1: TMenuItem + Action = DeleteAction + end + end + object ActionList: TActionList + Left = 480 + Top = 240 + object DeleteAction: TAction + Caption = 'Delete...' + OnExecute = DeleteActionExecute + OnUpdate = ActionUpdate + end + object RenameAction: TAction + Caption = 'Rename...' + OnExecute = RenameActionExecute + OnUpdate = ActionUpdate + end + end +end diff --git a/SVGExplorer/FExplorerSVG.pas b/SVGExplorer/FExplorerSVG.pas index 37f6664c..3c08bc3d 100644 --- a/SVGExplorer/FExplorerSVG.pas +++ b/SVGExplorer/FExplorerSVG.pas @@ -1,270 +1,270 @@ -unit FExplorerSVG; - -interface - -uses - Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, - Vcl.Controls, Vcl.Forms, Vcl.Dialogs, System.ImageList, Vcl.ImgList, - SVGIconImageList, Vcl.StdCtrls, Vcl.ComCtrls, Vcl.ExtCtrls, Vcl.FileCtrl, - SVGIconImage, Vcl.WinXCtrls, System.Actions, Vcl.ActnList, Vcl.Menus, - SVGIconImageListBase; - -type - TfmExplorerSVG = class(TForm) - paDir: TPanel; - DirSelection: TDirectoryListBox; - spVertical: TSplitter; - PaList: TPanel; - ImageListLabel: TLabel; - SVGIconImageList: TSVGIconImageList; - paRicerca: TPanel; - paPreview: TPanel; - spRight: TSplitter; - SVGIconImage: TSVGIconImage; - ImageView: TListView; - btDelete: TButton; - BtRename: TButton; - DrivePanel: TPanel; - DriveComboBox: TDriveComboBox; - StatusBar: TStatusBar; - SearchBox: TSearchBox; - PopupMenu: TPopupMenu; - ActionList: TActionList; - DeleteAction: TAction; - RenameAction: TAction; - Delete1: TMenuItem; - Rename1: TMenuItem; - paSVGText: TPanel; - SVGMemo: TMemo; - spBottom: TSplitter; - ShowTextCheckBox: TCheckBox; - procedure DirSelectionChange(Sender: TObject); - procedure ImageViewSelectItem(Sender: TObject; Item: TListItem; - Selected: Boolean); - procedure paPreviewResize(Sender: TObject); - procedure ImageViewKeyDown(Sender: TObject; var Key: Word; - Shift: TShiftState); - procedure FormCreate(Sender: TObject); - procedure SearchBoxInvokeSearch(Sender: TObject); - procedure FormShow(Sender: TObject); - procedure SVGIconImageMouseDown(Sender: TObject; Button: TMouseButton; - Shift: TShiftState; X, Y: Integer); - procedure DeleteActionExecute(Sender: TObject); - procedure RenameActionExecute(Sender: TObject); - procedure ActionUpdate(Sender: TObject); - procedure ShowTextCheckBoxClick(Sender: TObject); - private - fpaPreviewSize: Integer; - procedure LoadFilesDir(const APath: string; const AFilter: string = ''); - procedure UpdateStatusBar(Index: Integer); - procedure SetSVGIconImage(const AIndex: Integer); - protected - procedure Loaded; override; - public - { Public declarations } - procedure UpdateListView; - end; - -var - fmExplorerSVG: TfmExplorerSVG; - -implementation - -uses - SVGIconUtils - , UITypes; - -{$R *.dfm} - -{ TForm10 } - -procedure TfmExplorerSVG.ActionUpdate(Sender: TObject); -begin - (Sender as TAction).Enabled := ImageView.Selected <> nil; -end; - -procedure TfmExplorerSVG.DeleteActionExecute(Sender: TObject); -var - LFileName: string; - LOldImageIndex: Integer; -begin - LFileName := IncludeTrailingPathDelimiter(DirSelection.Directory)+ - SVGIconImageList.Names[ImageView.Selected.ImageIndex]+'.svg'; - if MessageDlg(Format('Do you really want to delete file "%s"?',[LFileName]), - mtWarning, [mbNo, mbYes], 0, mbNo) = mrYes then - begin - Screen.Cursor := crHourGlass; - try - DeleteFile(LFileName); - LOldImageIndex := ImageView.Selected.ImageIndex; - SVGIconImageList.Delete(LOldImageIndex); - LoadFilesDir(DirSelection.Directory, SearchBox.Text); - if LOldImageIndex < ImageView.Items.Count then - ImageView.ItemIndex := LOldImageIndex - else - ImageView.ItemIndex := LOldImageIndex-1; - SetSVGIconImage(ImageView.ItemIndex); - finally - Screen.Cursor := crDefault; - end; - end; -end; - -procedure TfmExplorerSVG.DirSelectionChange(Sender: TObject); -begin - SearchBox.Text := ''; - LoadFilesDir(DirSelection.Directory); -end; - -procedure TfmExplorerSVG.FormCreate(Sender: TObject); -begin - Caption := Application.Title; - fpaPreviewSize := paPreview.Width; -end; - -procedure TfmExplorerSVG.FormShow(Sender: TObject); -var - LPath: string; -begin - LPath := ParamStr(1); - if LPath = '' then - LPath := ExtractFilePath(ParamStr(0)); - DirSelection.Directory := LPath; -end; - -procedure TfmExplorerSVG.ImageViewKeyDown(Sender: TObject; var Key: Word; - Shift: TShiftState); -begin - if (Key = VK_DELETE) then btDelete.Click(); -end; - -procedure TfmExplorerSVG.SetSVGIconImage(const AIndex: Integer); -begin - if AIndex >= 0 then - begin - SVGIconImage.ImageIndex := AIndex; - SVGIconImage.Repaint; - SVGMemo.Text := SVGIconImageList.SVGIconItems[AIndex].SVGText; - end - else - SVGMemo.Text := ''; -end; - -procedure TfmExplorerSVG.ShowTextCheckBoxClick(Sender: TObject); -begin - paSVGText.Visible := ShowTextCheckBox.Checked; - spBottom.Visible := paSVGText.Visible; - spBottom.Top := paSVGText.Top -1; -end; - -procedure TfmExplorerSVG.UpdateStatusBar(Index: Integer); -begin - if Index >= 0 then - begin - StatusBar.SimpleText := IncludeTrailingPathDelimiter(DirSelection.Directory)+ - SVGIconImageList.SVGIconItems[Index].IconName+'.svg'; - end - else - begin - StatusBar.SimpleText := DirSelection.Directory; - end; - SetSVGIconImage(Index); -end; - -procedure TfmExplorerSVG.ImageViewSelectItem(Sender: TObject; Item: TListItem; - Selected: Boolean); -begin - UpdateStatusBar(Item.Index); -end; - -procedure TfmExplorerSVG.Loaded; -begin - Font.Assign(Screen.IconFont); - inherited; -end; - -procedure TfmExplorerSVG.LoadFilesDir(const APath, AFilter: string); -var - SR: TSearchRec; - LFiles: TStringList; - LFilter: string; -begin - LFiles := TStringList.Create; - Screen.Cursor := crHourGlass; - Try - LFilter := Format('%s*%s*.svg', [IncludeTrailingPathDelimiter(APath), AFilter]); - if FindFirst(LFilter, faArchive, SR) = 0 then - begin - repeat - LFiles.Add(SR.Name); //Fill the list - until FindNext(SR) <> 0; - FindClose(SR); - end; - SVGIconImageList.LoadFromFiles(LFiles, False); - UpdateListView; - if LFiles.Count > 0 then - begin - ImageView.ItemIndex := 0; - UpdateStatusBar(0); - end - else - UpdateStatusBar(-1); - Finally - LFiles.Free; - Screen.Cursor := crDefault; - End; -end; - -procedure TfmExplorerSVG.paPreviewResize(Sender: TObject); -begin - SVGIconImage.Height := SVGIconImage.width; -end; - -procedure TfmExplorerSVG.RenameActionExecute(Sender: TObject); -var - LIndex: Integer; - LFileName, LPath, LNewFileName: string; -begin - if ImageView.Selected <> nil then - begin - LIndex := ImageView.Selected.ImageIndex; - LFileName := SVGIconImageList.Names[LIndex]; - LNewFileName := InputBox('Rename icon', 'New filename:', LFileName); - if (LNewFileName <> '') and (LNewFileName <> LFileName) then - begin - LPath := IncludeTrailingPathDelimiter(DirSelection.Directory); - if FileExists(LPath+LNewFileName+'.svg') then - raise Exception.CreateFmt('Cannot rename: file "%s" already exists!', - [LPath+LNewFileName+'.svg']) - else - RenameFile(LPath+LFileName+'.svg', LPath+LNewFileName+'.svg'); - SVGIconImageList.Names[LIndex] := LNewFileName; - UpdateListView; - UpdateStatusBar(LIndex); - end; - end; -end; - -procedure TfmExplorerSVG.SearchBoxInvokeSearch(Sender: TObject); -begin - LoadFilesDir(DirSelection.Directory, SearchBox.Text) ; -end; - -procedure TfmExplorerSVG.SVGIconImageMouseDown(Sender: TObject; - Button: TMouseButton; Shift: TShiftState; X, Y: Integer); -begin - if (Button = mbLeft) and (paPreview.Width * 1.5 < paList.Width) then - paPreview.Width := Round(paPreview.Width * 1.5) - else if (Button = mbRight) and (paPreview.Width / 1.5 > fpaPreviewSize) then - paPreview.Width := Round(paPreview.Width / 1.5); -end; - -procedure TfmExplorerSVG.UpdateListView; -var - LItemsCount: Integer; -begin - LItemsCount := UpdateSVGIconListView(ImageView, False); - ImageListLabel.Caption := Format('SVG Image List Preview: %d icons',[LItemsCount]); -end; - -end. +unit FExplorerSVG; + +interface + +uses + Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, + Vcl.Controls, Vcl.Forms, Vcl.Dialogs, System.ImageList, Vcl.ImgList, + SVGIconImageList, Vcl.StdCtrls, Vcl.ComCtrls, Vcl.ExtCtrls, Vcl.FileCtrl, + SVGIconImage, Vcl.WinXCtrls, System.Actions, Vcl.ActnList, Vcl.Menus, + SVGIconImageListBase; + +type + TfmExplorerSVG = class(TForm) + paDir: TPanel; + DirSelection: TDirectoryListBox; + spVertical: TSplitter; + PaList: TPanel; + ImageListLabel: TLabel; + SVGIconImageList: TSVGIconImageList; + paRicerca: TPanel; + paPreview: TPanel; + spRight: TSplitter; + SVGIconImage: TSVGIconImage; + ImageView: TListView; + btDelete: TButton; + BtRename: TButton; + DrivePanel: TPanel; + DriveComboBox: TDriveComboBox; + StatusBar: TStatusBar; + SearchBox: TSearchBox; + PopupMenu: TPopupMenu; + ActionList: TActionList; + DeleteAction: TAction; + RenameAction: TAction; + Delete1: TMenuItem; + Rename1: TMenuItem; + paSVGText: TPanel; + SVGMemo: TMemo; + spBottom: TSplitter; + ShowTextCheckBox: TCheckBox; + procedure DirSelectionChange(Sender: TObject); + procedure ImageViewSelectItem(Sender: TObject; Item: TListItem; + Selected: Boolean); + procedure paPreviewResize(Sender: TObject); + procedure ImageViewKeyDown(Sender: TObject; var Key: Word; + Shift: TShiftState); + procedure FormCreate(Sender: TObject); + procedure SearchBoxInvokeSearch(Sender: TObject); + procedure FormShow(Sender: TObject); + procedure SVGIconImageMouseDown(Sender: TObject; Button: TMouseButton; + Shift: TShiftState; X, Y: Integer); + procedure DeleteActionExecute(Sender: TObject); + procedure RenameActionExecute(Sender: TObject); + procedure ActionUpdate(Sender: TObject); + procedure ShowTextCheckBoxClick(Sender: TObject); + private + fpaPreviewSize: Integer; + procedure LoadFilesDir(const APath: string; const AFilter: string = ''); + procedure UpdateStatusBar(Index: Integer); + procedure SetSVGIconImage(const AIndex: Integer); + protected + procedure Loaded; override; + public + { Public declarations } + procedure UpdateListView; + end; + +var + fmExplorerSVG: TfmExplorerSVG; + +implementation + +uses + SVGIconUtils + , UITypes; + +{$R *.dfm} + +{ TForm10 } + +procedure TfmExplorerSVG.ActionUpdate(Sender: TObject); +begin + (Sender as TAction).Enabled := ImageView.Selected <> nil; +end; + +procedure TfmExplorerSVG.DeleteActionExecute(Sender: TObject); +var + LFileName: string; + LOldImageIndex: Integer; +begin + LFileName := IncludeTrailingPathDelimiter(DirSelection.Directory)+ + SVGIconImageList.Names[ImageView.Selected.ImageIndex]+'.svg'; + if MessageDlg(Format('Do you really want to delete file "%s"?',[LFileName]), + mtWarning, [mbNo, mbYes], 0, mbNo) = mrYes then + begin + Screen.Cursor := crHourGlass; + try + DeleteFile(LFileName); + LOldImageIndex := ImageView.Selected.ImageIndex; + SVGIconImageList.Delete(LOldImageIndex); + LoadFilesDir(DirSelection.Directory, SearchBox.Text); + if LOldImageIndex < ImageView.Items.Count then + ImageView.ItemIndex := LOldImageIndex + else + ImageView.ItemIndex := LOldImageIndex-1; + SetSVGIconImage(ImageView.ItemIndex); + finally + Screen.Cursor := crDefault; + end; + end; +end; + +procedure TfmExplorerSVG.DirSelectionChange(Sender: TObject); +begin + SearchBox.Text := ''; + LoadFilesDir(DirSelection.Directory); +end; + +procedure TfmExplorerSVG.FormCreate(Sender: TObject); +begin + Caption := Application.Title; + fpaPreviewSize := paPreview.Width; +end; + +procedure TfmExplorerSVG.FormShow(Sender: TObject); +var + LPath: string; +begin + LPath := ParamStr(1); + if LPath = '' then + LPath := ExtractFilePath(ParamStr(0)); + DirSelection.Directory := LPath; +end; + +procedure TfmExplorerSVG.ImageViewKeyDown(Sender: TObject; var Key: Word; + Shift: TShiftState); +begin + if (Key = VK_DELETE) then btDelete.Click(); +end; + +procedure TfmExplorerSVG.SetSVGIconImage(const AIndex: Integer); +begin + if AIndex >= 0 then + begin + SVGIconImage.ImageIndex := AIndex; + SVGIconImage.Repaint; + SVGMemo.Text := SVGIconImageList.SVGIconItems[AIndex].SVGText; + end + else + SVGMemo.Text := ''; +end; + +procedure TfmExplorerSVG.ShowTextCheckBoxClick(Sender: TObject); +begin + paSVGText.Visible := ShowTextCheckBox.Checked; + spBottom.Visible := paSVGText.Visible; + spBottom.Top := paSVGText.Top -1; +end; + +procedure TfmExplorerSVG.UpdateStatusBar(Index: Integer); +begin + if Index >= 0 then + begin + StatusBar.SimpleText := IncludeTrailingPathDelimiter(DirSelection.Directory)+ + SVGIconImageList.SVGIconItems[Index].IconName+'.svg'; + end + else + begin + StatusBar.SimpleText := DirSelection.Directory; + end; + SetSVGIconImage(Index); +end; + +procedure TfmExplorerSVG.ImageViewSelectItem(Sender: TObject; Item: TListItem; + Selected: Boolean); +begin + UpdateStatusBar(Item.Index); +end; + +procedure TfmExplorerSVG.Loaded; +begin + Font.Assign(Screen.IconFont); + inherited; +end; + +procedure TfmExplorerSVG.LoadFilesDir(const APath, AFilter: string); +var + SR: TSearchRec; + LFiles: TStringList; + LFilter: string; +begin + LFiles := TStringList.Create; + Screen.Cursor := crHourGlass; + Try + LFilter := Format('%s*%s*.svg', [IncludeTrailingPathDelimiter(APath), AFilter]); + if FindFirst(LFilter, faArchive, SR) = 0 then + begin + repeat + LFiles.Add(SR.Name); //Fill the list + until FindNext(SR) <> 0; + FindClose(SR); + end; + SVGIconImageList.LoadFromFiles(LFiles, False); + UpdateListView; + if LFiles.Count > 0 then + begin + ImageView.ItemIndex := 0; + UpdateStatusBar(0); + end + else + UpdateStatusBar(-1); + Finally + LFiles.Free; + Screen.Cursor := crDefault; + End; +end; + +procedure TfmExplorerSVG.paPreviewResize(Sender: TObject); +begin + SVGIconImage.Height := SVGIconImage.width; +end; + +procedure TfmExplorerSVG.RenameActionExecute(Sender: TObject); +var + LIndex: Integer; + LFileName, LPath, LNewFileName: string; +begin + if ImageView.Selected <> nil then + begin + LIndex := ImageView.Selected.ImageIndex; + LFileName := SVGIconImageList.Names[LIndex]; + LNewFileName := InputBox('Rename icon', 'New filename:', LFileName); + if (LNewFileName <> '') and (LNewFileName <> LFileName) then + begin + LPath := IncludeTrailingPathDelimiter(DirSelection.Directory); + if FileExists(LPath+LNewFileName+'.svg') then + raise Exception.CreateFmt('Cannot rename: file "%s" already exists!', + [LPath+LNewFileName+'.svg']) + else + RenameFile(LPath+LFileName+'.svg', LPath+LNewFileName+'.svg'); + SVGIconImageList.Names[LIndex] := LNewFileName; + UpdateListView; + UpdateStatusBar(LIndex); + end; + end; +end; + +procedure TfmExplorerSVG.SearchBoxInvokeSearch(Sender: TObject); +begin + LoadFilesDir(DirSelection.Directory, SearchBox.Text) ; +end; + +procedure TfmExplorerSVG.SVGIconImageMouseDown(Sender: TObject; + Button: TMouseButton; Shift: TShiftState; X, Y: Integer); +begin + if (Button = mbLeft) and (paPreview.Width * 1.5 < paList.Width) then + paPreview.Width := Round(paPreview.Width * 1.5) + else if (Button = mbRight) and (paPreview.Width / 1.5 > fpaPreviewSize) then + paPreview.Width := Round(paPreview.Width / 1.5); +end; + +procedure TfmExplorerSVG.UpdateListView; +var + LItemsCount: Integer; +begin + LItemsCount := UpdateSVGIconListView(ImageView, False); + ImageListLabel.Caption := Format('SVG Image List Preview: %d icons',[LItemsCount]); +end; + +end. diff --git a/SVGExplorer/SVGExplorer.dpr b/SVGExplorer/SVGExplorer.dpr index 82374033..47536e75 100644 --- a/SVGExplorer/SVGExplorer.dpr +++ b/SVGExplorer/SVGExplorer.dpr @@ -1,15 +1,15 @@ -program SVGExplorer; - -uses - Vcl.Forms, - FExplorerSVG in 'FExplorerSVG.pas' {fmExplorerSVG}; - -{$R *.res} - -begin - Application.Title := 'SVG Icons Explorer - Copyright (c) 2020 Ethea S.r.l.'; - Application.Initialize; - Application.MainFormOnTaskbar := True; - Application.CreateForm(TfmExplorerSVG, fmExplorerSVG); - Application.Run; -end. +program SVGExplorer; + +uses + Vcl.Forms, + FExplorerSVG in 'FExplorerSVG.pas' {fmExplorerSVG}; + +{$R *.res} + +begin + Application.Title := 'SVG Icons Explorer - Copyright (c) 2020 Ethea S.r.l.'; + Application.Initialize; + Application.MainFormOnTaskbar := True; + Application.CreateForm(TfmExplorerSVG, fmExplorerSVG); + Application.Run; +end. diff --git a/SVGExplorer/SVGExplorer.dproj b/SVGExplorer/SVGExplorer.dproj index 70502ecc..fd819254 100644 --- a/SVGExplorer/SVGExplorer.dproj +++ b/SVGExplorer/SVGExplorer.dproj @@ -1,1054 +1,1054 @@ - - - {62B8E620-E233-45E4-9FDA-7A955E08C7EC} - 19.0 - VCL - SVGExplorer.dpr - True - Debug - Win32 - 1 - Application - - - true - - - true - Base - true - - - true - Base - true - - - true - Base - true - - - true - Cfg_1 - true - true - - - true - Base - true - - - true - Cfg_2 - true - true - - - .\Dcu\$(Platform)\$(Config) - false - false - false - false - false - System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) - $(BDS)\bin\delphi_PROJECTICON.ico - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png - $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png - SVGExplorer - ..\..\SVGIconImageList\Svg;..\..\SVGIconImageList\Source;..\..\SVGIconImageList\GDIP;$(DCC_UnitSearchPath) - 1040 - CompanyName=Ethea S.r.l.;FileDescription=SVG Icon Explorer;FileVersion=1.1.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=SVG Icon Explorer;ProductVersion=1.1;Comments= - .\Bin - true - 1 - - - DBXSqliteDriver;RESTComponents;IOCore;DBXDb2Driver;DBXInterBaseDriver;MARSClient.FireDAC;vclactnband;vclFireDAC;emsclientfiredac;tethering;svnui;DataSnapFireDAC;rbBDE2026;FireDACADSDriver;rbRAP2026;DBXMSSQLDriver;rbRest2026;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;rbDBE2026;vcltouch;IconFontsImageList;vcldb;bindcompfmx;svn;DBXOracleDriver;ipstudiowinwordxp;ISOpenOffice7;inetdb;rbDB2026;FmxTeeUI;emsedge;dxEdtrD10_3;fmx;FireDACIBDriver;fmxdae;vclib;rbTC2026;rbIBE2026;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;NativeExcelD10_3;FireDACCommon;rbRIDE2026;RESTBackendComponents;DataSnapConnectors;IOFireDAC;VCLRESTComponents;soapserver;FrameViewer10_3;IODBX;ISVcl7;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;rbRCL2026;SVGIconPackage;FireDACCommonODBC;FireDACCommonDriver;rbDIDE2026;DataSnapClient;rbCIDE2026;dclRBE2026;inet;IndyIPCommon;bindcompdbx;dclRBFireDAC2026;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;NLDSideBarD10_3;VirtualTreesR;DCPdelphi10_3;rbADO2026;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;rbTCUI2026;TeeDB;FireDAC;IOXML;dclRBDBE2026;emshosting;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;ChromeTabs_R;DBXOdbcDriver;FireDACTDataDriver;FMXTee;rbRTL2026;ipstudiowinclient;soaprtl;DbxCommonDriver;XDBLISCOR10_3CL;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;ibxbindings;DBXSybaseASADriver;rbDAD2026;CustomIPTransport;vcldsnap;rbUSER2026;dclRBADO2026;SynEdit_R10_3;MARSClient.Core;ISRtl7;bindcomp;appanalytics;ipstudiowin;DBXInformixDriver;officeXPrt;wPDF3_D10_3;IndyIPClient;bindcompvcl;SVGIconImageList;TeeUI;dmvcframeworkRT;dbxcds;VclSmp;adortl;FireDACODBCDriver;rbUSERDesign2026;wpViewPDF_D10_3;DataSnapIndy10ServerTransport;dmvcframeworkDT;ISFLib7;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;RBCalendarD10_3;rbFireDAC2026;dclRBIBE2026;IOADO;rbIDE2026;fmxase;$(DCC_UsePackage) - Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) - Debug - true - 1033 - $(BDS)\bin\default_app.manifest - SVGExplorer_Icon.ico - - - DBXSqliteDriver;RESTComponents;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;tethering;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;VirtualTreesR;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;ibxbindings;DBXSybaseASADriver;CustomIPTransport;vcldsnap;MARSClient.Core;bindcomp;appanalytics;DBXInformixDriver;officeXPrt;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;fmxase;$(DCC_UsePackage) - - - DEBUG;$(DCC_Define) - true - false - true - true - true - - - false - true - PerMonitorV2 - 1033 - SVGExplorer_Icon.ico - D:\ETHEA\SVGIconImageList\Demo\flat-color-icons\svg - - - false - RELEASE;$(DCC_Define) - 0 - 0 - - - true - PerMonitorV2 - true - 1033 - SVGExplorer_Icon.ico - - - - MainSource - - -
fmExplorerSVG
- dfm -
- - Cfg_2 - Base - - - Base - - - Cfg_1 - Base - -
- - Delphi.Personality.12 - Application - - - - SVGExplorer.dpr - - - *** Liscor RTL Design Package for D10.3 *** - *** Liscor VCL Design Package for D10.3 *** - *** Liscor - XDB Components for Delphi Rio 10.3 e ReportBuilder 20 *** - DCPcrypt cryptographic component library v2 B3 - Microsoft Office 2000 Sample Automation Server Wrapper Components - - - - - - SVGExplorer.exe - true - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - classes - 1 - - - classes - 1 - - - - - res\xml - 1 - - - res\xml - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\armeabi - 1 - - - library\lib\armeabi - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - library\lib\mips - 1 - - - library\lib\mips - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - - - library\lib\armeabi-v7a - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\values-v21 - 1 - - - res\values-v21 - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - res\drawable - 1 - - - res\drawable - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-ldpi - 1 - - - res\drawable-ldpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-mdpi - 1 - - - res\drawable-mdpi - 1 - - - - - res\drawable-hdpi - 1 - - - res\drawable-hdpi - 1 - - - - - res\drawable-xhdpi - 1 - - - res\drawable-xhdpi - 1 - - - - - res\drawable-xxhdpi - 1 - - - res\drawable-xxhdpi - 1 - - - - - res\drawable-xxxhdpi - 1 - - - res\drawable-xxxhdpi - 1 - - - - - res\drawable-small - 1 - - - res\drawable-small - 1 - - - - - res\drawable-normal - 1 - - - res\drawable-normal - 1 - - - - - res\drawable-large - 1 - - - res\drawable-large - 1 - - - - - res\drawable-xlarge - 1 - - - res\drawable-xlarge - 1 - - - - - res\values - 1 - - - res\values - 1 - - - - - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - Contents\MacOS - 1 - .framework - - - Contents\MacOS - 1 - .framework - - - 0 - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .dll;.bpl - - - - - 1 - .dylib - - - 1 - .dylib - - - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - Contents\MacOS - 1 - .dylib - - - 0 - .bpl - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - Contents\Resources\StartUp\ - 0 - - - Contents\Resources\StartUp\ - 0 - - - 0 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset - 1 - - - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - 1 - - - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).launchscreen - 64 - - - - - 1 - - - 1 - - - 1 - - - - - ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF - 1 - - - - - ..\ - 1 - - - ..\ - 1 - - - - - Contents - 1 - - - Contents - 1 - - - - - Contents\Resources - 1 - - - Contents\Resources - 1 - - - - - library\lib\armeabi-v7a - 1 - - - library\lib\arm64-v8a - 1 - - - 1 - - - 1 - - - 1 - - - 1 - - - Contents\MacOS - 1 - - - Contents\MacOS - 1 - - - 0 - - - - - library\lib\armeabi-v7a - 1 - - - - - 1 - - - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - Assets - 1 - - - Assets - 1 - - - - - - - - - - - - - - - True - False - - - 12 - - - - -
+ + + {62B8E620-E233-45E4-9FDA-7A955E08C7EC} + 19.0 + VCL + SVGExplorer.dpr + True + Debug + Win32 + 1 + Application + + + true + + + true + Base + true + + + true + Base + true + + + true + Base + true + + + true + Cfg_1 + true + true + + + true + Base + true + + + true + Cfg_2 + true + true + + + .\Dcu\$(Platform)\$(Config) + false + false + false + false + false + System;Xml;Data;Datasnap;Web;Soap;Vcl;Vcl.Imaging;Vcl.Touch;Vcl.Samples;Vcl.Shell;$(DCC_Namespace) + $(BDS)\bin\delphi_PROJECTICON.ico + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_44.png + $(BDS)\bin\Artwork\Windows\UWP\delphi_UwpDefault_150.png + SVGExplorer + ..\..\SVGIconImageList\Svg;..\..\SVGIconImageList\Source;..\..\SVGIconImageList\GDIP;$(DCC_UnitSearchPath) + 1040 + CompanyName=Ethea S.r.l.;FileDescription=SVG Icon Explorer;FileVersion=1.1.0.0;InternalName=;LegalCopyright=;LegalTrademarks=;OriginalFilename=;ProgramID=;ProductName=SVG Icon Explorer;ProductVersion=1.1;Comments= + .\Bin + true + 1 + + + DBXSqliteDriver;RESTComponents;IOCore;DBXDb2Driver;DBXInterBaseDriver;MARSClient.FireDAC;vclactnband;vclFireDAC;emsclientfiredac;tethering;svnui;DataSnapFireDAC;rbBDE2026;FireDACADSDriver;rbRAP2026;DBXMSSQLDriver;rbRest2026;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;rbDBE2026;vcltouch;IconFontsImageList;vcldb;bindcompfmx;svn;DBXOracleDriver;ipstudiowinwordxp;ISOpenOffice7;inetdb;rbDB2026;FmxTeeUI;emsedge;dxEdtrD10_3;fmx;FireDACIBDriver;fmxdae;vclib;rbTC2026;rbIBE2026;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;NativeExcelD10_3;FireDACCommon;rbRIDE2026;RESTBackendComponents;DataSnapConnectors;IOFireDAC;VCLRESTComponents;soapserver;FrameViewer10_3;IODBX;ISVcl7;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;rbRCL2026;SVGIconPackage;FireDACCommonODBC;FireDACCommonDriver;rbDIDE2026;DataSnapClient;rbCIDE2026;dclRBE2026;inet;IndyIPCommon;bindcompdbx;dclRBFireDAC2026;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;NLDSideBarD10_3;VirtualTreesR;DCPdelphi10_3;rbADO2026;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;rbTCUI2026;TeeDB;FireDAC;IOXML;dclRBDBE2026;emshosting;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;ChromeTabs_R;DBXOdbcDriver;FireDACTDataDriver;FMXTee;rbRTL2026;ipstudiowinclient;soaprtl;DbxCommonDriver;XDBLISCOR10_3CL;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;ibxbindings;DBXSybaseASADriver;rbDAD2026;CustomIPTransport;vcldsnap;rbUSER2026;dclRBADO2026;SynEdit_R10_3;MARSClient.Core;ISRtl7;bindcomp;appanalytics;ipstudiowin;DBXInformixDriver;officeXPrt;wPDF3_D10_3;IndyIPClient;bindcompvcl;SVGIconImageList;TeeUI;dmvcframeworkRT;dbxcds;VclSmp;adortl;FireDACODBCDriver;rbUSERDesign2026;wpViewPDF_D10_3;DataSnapIndy10ServerTransport;dmvcframeworkDT;ISFLib7;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;RBCalendarD10_3;rbFireDAC2026;dclRBIBE2026;IOADO;rbIDE2026;fmxase;$(DCC_UsePackage) + Winapi;System.Win;Data.Win;Datasnap.Win;Web.Win;Soap.Win;Xml.Win;Bde;$(DCC_Namespace) + Debug + true + 1033 + $(BDS)\bin\default_app.manifest + SVGExplorer_Icon.ico + + + DBXSqliteDriver;RESTComponents;DBXDb2Driver;DBXInterBaseDriver;vclactnband;vclFireDAC;emsclientfiredac;tethering;DataSnapFireDAC;FireDACADSDriver;DBXMSSQLDriver;DatasnapConnectorsFreePascal;FireDACMSSQLDriver;vcltouch;vcldb;bindcompfmx;DBXOracleDriver;inetdb;FmxTeeUI;emsedge;fmx;FireDACIBDriver;fmxdae;vclib;FireDACDBXDriver;dbexpress;IndyCore;vclx;dsnap;emsclient;DataSnapCommon;FireDACCommon;RESTBackendComponents;DataSnapConnectors;VCLRESTComponents;soapserver;vclie;bindengine;DBXMySQLDriver;CloudService;FireDACOracleDriver;FireDACMySQLDriver;DBXFirebirdDriver;FireDACCommonODBC;FireDACCommonDriver;DataSnapClient;inet;IndyIPCommon;bindcompdbx;vcl;IndyIPServer;DBXSybaseASEDriver;IndySystem;FireDACDb2Driver;dsnapcon;VirtualTreesR;FireDACMSAccDriver;fmxFireDAC;FireDACInfxDriver;vclimg;TeeDB;FireDAC;emshosting;FireDACSqliteDriver;FireDACPgDriver;ibmonitor;FireDACASADriver;DBXOdbcDriver;FireDACTDataDriver;FMXTee;soaprtl;DbxCommonDriver;ibxpress;Tee;DataSnapServer;xmlrtl;soapmidas;DataSnapNativeClient;fmxobj;vclwinx;FireDACDSDriver;rtl;emsserverresource;DbxClientDriver;ibxbindings;DBXSybaseASADriver;CustomIPTransport;vcldsnap;MARSClient.Core;bindcomp;appanalytics;DBXInformixDriver;officeXPrt;IndyIPClient;bindcompvcl;TeeUI;dbxcds;VclSmp;adortl;FireDACODBCDriver;DataSnapIndy10ServerTransport;dsnapxml;DataSnapProviderClient;dbrtl;IndyProtocols;inetdbxpress;FireDACMongoDBDriver;fmxase;$(DCC_UsePackage) + + + DEBUG;$(DCC_Define) + true + false + true + true + true + + + false + true + PerMonitorV2 + 1033 + SVGExplorer_Icon.ico + D:\ETHEA\SVGIconImageList\Demo\flat-color-icons\svg + + + false + RELEASE;$(DCC_Define) + 0 + 0 + + + true + PerMonitorV2 + true + 1033 + SVGExplorer_Icon.ico + + + + MainSource + + +
fmExplorerSVG
+ dfm +
+ + Cfg_2 + Base + + + Base + + + Cfg_1 + Base + +
+ + Delphi.Personality.12 + Application + + + + SVGExplorer.dpr + + + *** Liscor RTL Design Package for D10.3 *** + *** Liscor VCL Design Package for D10.3 *** + *** Liscor - XDB Components for Delphi Rio 10.3 e ReportBuilder 20 *** + DCPcrypt cryptographic component library v2 B3 + Microsoft Office 2000 Sample Automation Server Wrapper Components + + + + + + SVGExplorer.exe + true + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + classes + 1 + + + classes + 1 + + + + + res\xml + 1 + + + res\xml + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\armeabi + 1 + + + library\lib\armeabi + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + library\lib\mips + 1 + + + library\lib\mips + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + + + library\lib\armeabi-v7a + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\values-v21 + 1 + + + res\values-v21 + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + res\drawable + 1 + + + res\drawable + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-ldpi + 1 + + + res\drawable-ldpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-mdpi + 1 + + + res\drawable-mdpi + 1 + + + + + res\drawable-hdpi + 1 + + + res\drawable-hdpi + 1 + + + + + res\drawable-xhdpi + 1 + + + res\drawable-xhdpi + 1 + + + + + res\drawable-xxhdpi + 1 + + + res\drawable-xxhdpi + 1 + + + + + res\drawable-xxxhdpi + 1 + + + res\drawable-xxxhdpi + 1 + + + + + res\drawable-small + 1 + + + res\drawable-small + 1 + + + + + res\drawable-normal + 1 + + + res\drawable-normal + 1 + + + + + res\drawable-large + 1 + + + res\drawable-large + 1 + + + + + res\drawable-xlarge + 1 + + + res\drawable-xlarge + 1 + + + + + res\values + 1 + + + res\values + 1 + + + + + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + Contents\MacOS + 1 + .framework + + + Contents\MacOS + 1 + .framework + + + 0 + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .dll;.bpl + + + + + 1 + .dylib + + + 1 + .dylib + + + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + Contents\MacOS + 1 + .dylib + + + 0 + .bpl + + + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + Contents\Resources\StartUp\ + 0 + + + Contents\Resources\StartUp\ + 0 + + + 0 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + ..\$(PROJECTNAME).launchscreen\Assets\LaunchScreenImage.imageset + 1 + + + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + 1 + + + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).launchscreen + 64 + + + + + 1 + + + 1 + + + 1 + + + + + ..\$(PROJECTNAME).app.dSYM\Contents\Resources\DWARF + 1 + + + + + ..\ + 1 + + + ..\ + 1 + + + + + Contents + 1 + + + Contents + 1 + + + + + Contents\Resources + 1 + + + Contents\Resources + 1 + + + + + library\lib\armeabi-v7a + 1 + + + library\lib\arm64-v8a + 1 + + + 1 + + + 1 + + + 1 + + + 1 + + + Contents\MacOS + 1 + + + Contents\MacOS + 1 + + + 0 + + + + + library\lib\armeabi-v7a + 1 + + + + + 1 + + + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + Assets + 1 + + + Assets + 1 + + + + + + + + + + + + + + + True + False + + + 12 + + + + +
diff --git a/Source/FMX.SVGIconImage.pas b/Source/FMX.SVGIconImage.pas index 88062e0c..3714b63c 100644 --- a/Source/FMX.SVGIconImage.pas +++ b/Source/FMX.SVGIconImage.pas @@ -1,291 +1,291 @@ -{******************************************************************************} -{ } -{ SVG Image in TPicture: useful to show a Scalable Vector Graphic } -{ } -{ Copyright (c) 2019-2020 (Ethea S.r.l.) } -{ Author: Carlo Barazzetta } -{ Contributors: } -{ } -{ https://github.com/EtheaDev/SVGIconImageList } -{ } -{******************************************************************************} -{ Original version (c) 2005, 2008 Martin Walter with license: } -{ Use of this file is permitted for commercial and non-commercial } -{ use, as long as the author is credited. } -{ home page: http://www.mwcs.de } -{ email : martin.walter@mwcs.de } -{******************************************************************************} -{ } -{ Licensed under the Apache License, Version 2.0 (the "License"); } -{ you may not use this file except in compliance with the License. } -{ You may obtain a copy of the License at } -{ } -{ http://www.apache.org/licenses/LICENSE-2.0 } -{ } -{ Unless required by applicable law or agreed to in writing, software } -{ distributed under the License is distributed on an "AS IS" BASIS, } -{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } -{ See the License for the specific language governing permissions and } -{ limitations under the License. } -{ } -{******************************************************************************} -unit FMX.SVGIconImage; - -interface - -{$INCLUDE SVGIconImageList.inc} - -uses - System.Classes - , System.UITypes - , System.Rtti - , System.Messaging - , System.ImageList - , System.Types - , FMX.Controls - , FMX.ImgList - , FMX.MultiResBitmap - , FMX.Types - , FMX.Graphics - , FMX.Objects - , SVG - ; - -type - TSVGIconFixedMultiResBitmap = class; - - TSVGIconFixedBitmapItem = class(TFixedBitmapItem) - private - FSize: Integer; - FOpacity: Single; - FOwnerCollection: TSVGIconFixedMultiResBitmap; - FIconName: string; - FSVG: TSVG; - function StoreOpacity: Boolean; - procedure SetBitmap(const AValue: TBitmapOfItem); - function GetBitmap: TBitmapOfItem; - procedure SetSize(const AValue: Integer); - procedure SetOpacity(const AValue: Single); - procedure SetIconName(const AValue: string); - function GetSVGText: string; - procedure SetSVGText(const Value: string); - protected - function BitmapStored: Boolean; override; - function GetDisplayName: string; override; - public - constructor Create(Collection: TCollection); override; - destructor Destroy; override; - procedure DrawSVGIcon; - property SVG: TSVG read FSVG; - published - property Bitmap: TBitmapOfItem read GetBitmap write SetBitmap stored False; - property Opacity: Single read FOpacity write SetOpacity stored StoreOpacity; - property Size: Integer read FSize write SetSize; - property IconName: string read FIconName write SetIconName; - property SVGText: string read GetSVGText write SetSVGText; - end; - - TSVGIconFixedBitmapItemClass = class of TSVGIconFixedBitmapItem; - TSVGIconImage = class; - - TSVGIconFixedMultiResBitmap = class(TFixedMultiResBitmap) - private - FOwnerImage: TSVGIconImage; - procedure UpdateImageSize(const ASize: Integer); - public - constructor Create(AOwner: TPersistent; ItemClass: TSVGIconFixedBitmapItemClass); overload; - constructor Create(AOwner: TPersistent); overload; - end; - - TSVGIconImage = class(TImage) - private - FSVGIconMultiResBitmap: TSVGIconFixedMultiResBitmap; - function GetBitmapSize: Integer; - procedure SetBitmapSize(const AValue: Integer); - protected - function CreateMultiResBitmap: TFixedMultiResBitmap; override; - public - constructor Create(AOwner: TComponent); override; - destructor Destroy; override; - procedure SetBounds(X, Y, AWidth, AHeight: Single); override; - published - property BitmapSize: Integer read GetBitmapSize write SetBitmapSize; - end; - -implementation - -uses - System.Math - , FMX.SVGIconImageList - , System.RTLConsts - , System.SysUtils - , System.Character - , FMX.Forms - , FMX.Consts - , GDIPOBJ2; - -{ TSVGIconFixedMultiResBitmap } - -constructor TSVGIconFixedMultiResBitmap.Create(AOwner: TPersistent); -begin - inherited Create(AOwner, TSVGIconFixedBitmapItem); - if AOwner is TSVGIconImage then - FOwnerImage := TSVGIconImage(AOwner); -end; - -constructor TSVGIconFixedMultiResBitmap.Create(AOwner: TPersistent; ItemClass: TSVGIconFixedBitmapItemClass); -begin - inherited Create(AOwner, ItemClass); - if AOwner is TSVGIconImage then - FOwnerImage := TSVGIconImage(AOwner); -end; - -procedure TSVGIconFixedMultiResBitmap.UpdateImageSize(const ASize: Integer); -var - I, J: Integer; - LItem: TFixedBitmapItem; -begin - for I := 0 to ScaleList.Count - 1 do - begin - for J := 0 to Count - 1 do - begin - LItem := Items[J]; - if LItem is TSVGIconFixedBitmapItem then - TSVGIconFixedBitmapItem(LItem).Size := ASize; - end; - end; -end; - -{ TSVGIconFixedBitmapItem } - -function TSVGIconFixedBitmapItem.BitmapStored: Boolean; -begin - Result := False; -end; - -constructor TSVGIconFixedBitmapItem.Create(Collection: TCollection); -begin - inherited; - if Collection is TSVGIconFixedMultiResBitmap then - FOwnerCollection := Collection as TSVGIconFixedMultiResBitmap; - FSize := 16; - FOpacity := 1; - FSVG := TSVG.Create; -end; - -destructor TSVGIconFixedBitmapItem.Destroy; -begin - FSVG.DisposeOf; - inherited; -end; - -procedure TSVGIconFixedBitmapItem.DrawSVGIcon; -var - LBitmap: TBitmap; - LBitmapSize: Single; -begin - LBitmap := inherited Bitmap; - LBitmap.Clear(talphacolors.Null); - LBitmapSize := Size * Scale; - LBitmap.Width := Round(LBitmapSize); - LBitmap.Height := Round(LBitmapSize); - PaintToBitmap(LBitmap, FSVG); -end; - -function TSVGIconFixedBitmapItem.GetBitmap: TBitmapOfItem; -begin - DrawSVGIcon; - Result := inherited Bitmap; -end; - -function TSVGIconFixedBitmapItem.GetDisplayName: string; -begin - Result := FIconName; -end; - -function TSVGIconFixedBitmapItem.GetSVGText: string; -begin - Result := FSVG.Source; -end; - -procedure TSVGIconFixedBitmapItem.SetBitmap(const AValue: TBitmapOfItem); -begin - inherited Bitmap.Assign(AValue); - inherited Bitmap.BitmapScale := Scale; -end; - -procedure TSVGIconFixedBitmapItem.SetIconName(const AValue: string); -begin - FIconName := AValue; -end; - -procedure TSVGIconFixedBitmapItem.SetOpacity(const AValue: Single); -begin - FOpacity := AValue; - DrawSVGIcon; -end; - -procedure TSVGIconFixedBitmapItem.SetSize(const AValue: Integer); -begin - if (Trunc(AValue) > 0) and (AValue <> FSize) then - begin - FSize := AValue; - DrawSVGIcon; - end; -end; - -procedure TSVGIconFixedBitmapItem.SetSVGText(const Value: string); -begin - FSVG.LoadFromText(Value); -end; - -function TSVGIconFixedBitmapItem.StoreOpacity: Boolean; -begin - Result := FOpacity <> 1; -end; - -{ TSVGIconImage } - -constructor TSVGIconImage.Create(AOwner: TComponent); -begin - inherited; - DisableInterpolation := True; - FSVGIconMultiResBitmap := MultiResBitmap as TSVGIconFixedMultiResBitmap; -end; - -function TSVGIconImage.CreateMultiResBitmap: TFixedMultiResBitmap; -begin - Result := TSVGIconFixedMultiResBitmap.Create(Self, TSVGIconFixedBitmapItem); -end; - -destructor TSVGIconImage.Destroy; -begin - inherited; - FSVGIconMultiResBitmap := nil; -end; - -function TSVGIconImage.GetBitmapSize: Integer; -begin - Result := Round(Inherited width); -end; - -procedure TSVGIconImage.SetBitmapSize(const AValue: Integer); -begin - if AValue <> 0 then - FSVGIconMultiResBitmap.UpdateImageSize(AValue); -end; - -procedure TSVGIconImage.SetBounds(X, Y, AWidth, AHeight: Single); -begin - inherited; - BitmapSize := Trunc(Min(AWidth, AHeight)); -end; - -initialization - RegisterFmxClasses([TSVGIconImage]); - - StartClassGroup(TFmxObject); - ActivateClassGroup(TFmxObject); - GroupDescendentsWith(FMX.SVGIconImage.TSVGIconImage, TFmxObject); - -end. +{******************************************************************************} +{ } +{ SVG Image in TPicture: useful to show a Scalable Vector Graphic } +{ } +{ Copyright (c) 2019-2020 (Ethea S.r.l.) } +{ Author: Carlo Barazzetta } +{ Contributors: } +{ } +{ https://github.com/EtheaDev/SVGIconImageList } +{ } +{******************************************************************************} +{ Original version (c) 2005, 2008 Martin Walter with license: } +{ Use of this file is permitted for commercial and non-commercial } +{ use, as long as the author is credited. } +{ home page: http://www.mwcs.de } +{ email : martin.walter@mwcs.de } +{******************************************************************************} +{ } +{ Licensed under the Apache License, Version 2.0 (the "License"); } +{ you may not use this file except in compliance with the License. } +{ You may obtain a copy of the License at } +{ } +{ http://www.apache.org/licenses/LICENSE-2.0 } +{ } +{ Unless required by applicable law or agreed to in writing, software } +{ distributed under the License is distributed on an "AS IS" BASIS, } +{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } +{ See the License for the specific language governing permissions and } +{ limitations under the License. } +{ } +{******************************************************************************} +unit FMX.SVGIconImage; + +interface + +{$INCLUDE SVGIconImageList.inc} + +uses + System.Classes + , System.UITypes + , System.Rtti + , System.Messaging + , System.ImageList + , System.Types + , FMX.Controls + , FMX.ImgList + , FMX.MultiResBitmap + , FMX.Types + , FMX.Graphics + , FMX.Objects + , SVG + ; + +type + TSVGIconFixedMultiResBitmap = class; + + TSVGIconFixedBitmapItem = class(TFixedBitmapItem) + private + FSize: Integer; + FOpacity: Single; + FOwnerCollection: TSVGIconFixedMultiResBitmap; + FIconName: string; + FSVG: TSVG; + function StoreOpacity: Boolean; + procedure SetBitmap(const AValue: TBitmapOfItem); + function GetBitmap: TBitmapOfItem; + procedure SetSize(const AValue: Integer); + procedure SetOpacity(const AValue: Single); + procedure SetIconName(const AValue: string); + function GetSVGText: string; + procedure SetSVGText(const Value: string); + protected + function BitmapStored: Boolean; override; + function GetDisplayName: string; override; + public + constructor Create(Collection: TCollection); override; + destructor Destroy; override; + procedure DrawSVGIcon; + property SVG: TSVG read FSVG; + published + property Bitmap: TBitmapOfItem read GetBitmap write SetBitmap stored False; + property Opacity: Single read FOpacity write SetOpacity stored StoreOpacity; + property Size: Integer read FSize write SetSize; + property IconName: string read FIconName write SetIconName; + property SVGText: string read GetSVGText write SetSVGText; + end; + + TSVGIconFixedBitmapItemClass = class of TSVGIconFixedBitmapItem; + TSVGIconImage = class; + + TSVGIconFixedMultiResBitmap = class(TFixedMultiResBitmap) + private + FOwnerImage: TSVGIconImage; + procedure UpdateImageSize(const ASize: Integer); + public + constructor Create(AOwner: TPersistent; ItemClass: TSVGIconFixedBitmapItemClass); overload; + constructor Create(AOwner: TPersistent); overload; + end; + + TSVGIconImage = class(TImage) + private + FSVGIconMultiResBitmap: TSVGIconFixedMultiResBitmap; + function GetBitmapSize: Integer; + procedure SetBitmapSize(const AValue: Integer); + protected + function CreateMultiResBitmap: TFixedMultiResBitmap; override; + public + constructor Create(AOwner: TComponent); override; + destructor Destroy; override; + procedure SetBounds(X, Y, AWidth, AHeight: Single); override; + published + property BitmapSize: Integer read GetBitmapSize write SetBitmapSize; + end; + +implementation + +uses + System.Math + , FMX.SVGIconImageList + , System.RTLConsts + , System.SysUtils + , System.Character + , FMX.Forms + , FMX.Consts + , GDIPOBJ2; + +{ TSVGIconFixedMultiResBitmap } + +constructor TSVGIconFixedMultiResBitmap.Create(AOwner: TPersistent); +begin + inherited Create(AOwner, TSVGIconFixedBitmapItem); + if AOwner is TSVGIconImage then + FOwnerImage := TSVGIconImage(AOwner); +end; + +constructor TSVGIconFixedMultiResBitmap.Create(AOwner: TPersistent; ItemClass: TSVGIconFixedBitmapItemClass); +begin + inherited Create(AOwner, ItemClass); + if AOwner is TSVGIconImage then + FOwnerImage := TSVGIconImage(AOwner); +end; + +procedure TSVGIconFixedMultiResBitmap.UpdateImageSize(const ASize: Integer); +var + I, J: Integer; + LItem: TFixedBitmapItem; +begin + for I := 0 to ScaleList.Count - 1 do + begin + for J := 0 to Count - 1 do + begin + LItem := Items[J]; + if LItem is TSVGIconFixedBitmapItem then + TSVGIconFixedBitmapItem(LItem).Size := ASize; + end; + end; +end; + +{ TSVGIconFixedBitmapItem } + +function TSVGIconFixedBitmapItem.BitmapStored: Boolean; +begin + Result := False; +end; + +constructor TSVGIconFixedBitmapItem.Create(Collection: TCollection); +begin + inherited; + if Collection is TSVGIconFixedMultiResBitmap then + FOwnerCollection := Collection as TSVGIconFixedMultiResBitmap; + FSize := 16; + FOpacity := 1; + FSVG := TSVG.Create; +end; + +destructor TSVGIconFixedBitmapItem.Destroy; +begin + FSVG.DisposeOf; + inherited; +end; + +procedure TSVGIconFixedBitmapItem.DrawSVGIcon; +var + LBitmap: TBitmap; + LBitmapSize: Single; +begin + LBitmap := inherited Bitmap; + LBitmap.Clear(talphacolors.Null); + LBitmapSize := Size * Scale; + LBitmap.Width := Round(LBitmapSize); + LBitmap.Height := Round(LBitmapSize); + PaintToBitmap(LBitmap, FSVG); +end; + +function TSVGIconFixedBitmapItem.GetBitmap: TBitmapOfItem; +begin + DrawSVGIcon; + Result := inherited Bitmap; +end; + +function TSVGIconFixedBitmapItem.GetDisplayName: string; +begin + Result := FIconName; +end; + +function TSVGIconFixedBitmapItem.GetSVGText: string; +begin + Result := FSVG.Source; +end; + +procedure TSVGIconFixedBitmapItem.SetBitmap(const AValue: TBitmapOfItem); +begin + inherited Bitmap.Assign(AValue); + inherited Bitmap.BitmapScale := Scale; +end; + +procedure TSVGIconFixedBitmapItem.SetIconName(const AValue: string); +begin + FIconName := AValue; +end; + +procedure TSVGIconFixedBitmapItem.SetOpacity(const AValue: Single); +begin + FOpacity := AValue; + DrawSVGIcon; +end; + +procedure TSVGIconFixedBitmapItem.SetSize(const AValue: Integer); +begin + if (Trunc(AValue) > 0) and (AValue <> FSize) then + begin + FSize := AValue; + DrawSVGIcon; + end; +end; + +procedure TSVGIconFixedBitmapItem.SetSVGText(const Value: string); +begin + FSVG.LoadFromText(Value); +end; + +function TSVGIconFixedBitmapItem.StoreOpacity: Boolean; +begin + Result := FOpacity <> 1; +end; + +{ TSVGIconImage } + +constructor TSVGIconImage.Create(AOwner: TComponent); +begin + inherited; + DisableInterpolation := True; + FSVGIconMultiResBitmap := MultiResBitmap as TSVGIconFixedMultiResBitmap; +end; + +function TSVGIconImage.CreateMultiResBitmap: TFixedMultiResBitmap; +begin + Result := TSVGIconFixedMultiResBitmap.Create(Self, TSVGIconFixedBitmapItem); +end; + +destructor TSVGIconImage.Destroy; +begin + inherited; + FSVGIconMultiResBitmap := nil; +end; + +function TSVGIconImage.GetBitmapSize: Integer; +begin + Result := Round(Inherited width); +end; + +procedure TSVGIconImage.SetBitmapSize(const AValue: Integer); +begin + if AValue <> 0 then + FSVGIconMultiResBitmap.UpdateImageSize(AValue); +end; + +procedure TSVGIconImage.SetBounds(X, Y, AWidth, AHeight: Single); +begin + inherited; + BitmapSize := Trunc(Min(AWidth, AHeight)); +end; + +initialization + RegisterFmxClasses([TSVGIconImage]); + + StartClassGroup(TFmxObject); + ActivateClassGroup(TFmxObject); + GroupDescendentsWith(FMX.SVGIconImage.TSVGIconImage, TFmxObject); + +end. diff --git a/Source/SVGIconImage.pas b/Source/SVGIconImage.pas index ef82e272..8e27cead 100644 --- a/Source/SVGIconImage.pas +++ b/Source/SVGIconImage.pas @@ -1,618 +1,618 @@ -{******************************************************************************} -{ } -{ SVG Image in TPicture: useful to show a Scalable Vector Graphic } -{ } -{ Copyright (c) 2019-2020 (Ethea S.r.l.) } -{ Author: Carlo Barazzetta } -{ Contributors: } -{ } -{ https://github.com/EtheaDev/SVGIconImageList } -{ } -{******************************************************************************} -{ Original version (c) 2005, 2008 Martin Walter with license: } -{ Use of this file is permitted for commercial and non-commercial } -{ use, as long as the author is credited. } -{ home page: http://www.mwcs.de } -{ email : martin.walter@mwcs.de } -{******************************************************************************} -{ } -{ Licensed under the Apache License, Version 2.0 (the "License"); } -{ you may not use this file except in compliance with the License. } -{ You may obtain a copy of the License at } -{ } -{ http://www.apache.org/licenses/LICENSE-2.0 } -{ } -{ Unless required by applicable law or agreed to in writing, software } -{ distributed under the License is distributed on an "AS IS" BASIS, } -{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } -{ See the License for the specific language governing permissions and } -{ limitations under the License. } -{ } -{******************************************************************************} -unit SVGIconImage; - -interface - -{$INCLUDE SVGIconImageList.inc} - -uses - Windows - , SysUtils -{$IFDEF D10_4+} - , System.UITypes -{$ENDIF} - , GDIPOBJ - , Classes - , Controls - , Graphics - , SVG - , SVGIconImageListBase; - -type - TSVGIconImage = class(TGraphicControl) - strict private - FSVG: TSVG; - - FCenter: Boolean; - FProportional: Boolean; - FStretch: Boolean; - FAutoSize: Boolean; - FScale: Double; - FOpacity: Byte; - FFileName: TFileName; - FImageList: TSVGIconImageListBase; - FImageIndex: Integer; - procedure SetCenter(Value: Boolean); - procedure SetProportional(Value: Boolean); - procedure SetOpacity(Value: Byte); - procedure SetFileName(const Value: TFileName); - //procedure ReadData(Stream: TStream); - //procedure WriteData(Stream: TStream); - procedure SetImageIndex(const Value: Integer); - procedure SetStretch(const Value: Boolean); - procedure SetScale(const Value: Double); - procedure SetAutoSizeImage(const Value: Boolean); - private - function GetSVGText: string; - procedure SetSVGText(const AValue: string); - function StoreScale: Boolean; - function UsingSVGText: Boolean; - procedure SetImageList(const Value: TSVGIconImageListBase); - protected - //procedure DefineProperties(Filer: TFiler); override; - procedure Notification(AComponent: TComponent; Operation: TOperation); override; - procedure CheckAutoSize; - public - constructor Create(AOwner: TComponent); override; - destructor Destroy; override; - procedure Clear; - function Empty: Boolean; - procedure Paint; override; - procedure LoadFromFile(const FileName: string); - procedure LoadFromStream(Stream: TStream); - procedure SaveToFile(const FileName: string); - procedure Assign(Source: TPersistent); override; - property SVG: TSVG read FSVG; - published - property AutoSize: Boolean read FAutoSize write SetAutoSizeImage; - property Center: Boolean read FCenter write SetCenter default True; - property Proportional: Boolean read FProportional write SetProportional; - property Stretch: Boolean read FStretch write SetStretch default True; - property Opacity: Byte read FOpacity write SetOpacity default 255; - property Scale: Double read FScale write SetScale stored StoreScale; - property FileName: TFileName read FFileName write SetFileName; - property ImageList: TSVGIconImageListBase read FImageList write SetImageList; - property ImageIndex: Integer read FImageIndex write SetImageIndex default -1; - property SVGText: string read GetSVGText write SetSVGText stored UsingSVGText; - property Enabled; - property Visible; - property Constraints; - property Anchors; - property Align; - - property OnClick; - property OnDblClick; - property OnMouseDown; - property OnMouseMove; - property OnMouseUp; - end; - - - TSVGGraphic = class(TGraphic) - strict private - FSVG: TSVG; - FOpacity: Byte; - FFileName: TFileName; - - procedure SetOpacity(Value: Byte); - procedure SetFileName(const Value: TFileName); - protected - procedure DefineProperties(Filer: TFiler); override; - - procedure Draw(ACanvas: TCanvas; const Rect: TRect); override; - - function GetEmpty: Boolean; override; - function GetWidth: Integer; override; - function GetHeight: Integer; override; - procedure SetHeight(Value: Integer); override; - procedure SetWidth(Value: Integer); override; - - procedure ReadData(Stream: TStream); override; - procedure WriteData(Stream: TStream); override; - public - constructor Create; override; - destructor Destroy; override; - procedure Clear; - - procedure Assign(Source: TPersistent); override; - procedure AssignTo(Dest: TPersistent); override; - - procedure AssignSVG(SVG: TSVG); - - procedure LoadFromFile(const Filename: String); override; - procedure LoadFromStream(Stream: TStream); override; - - procedure SaveToStream(Stream: TStream); override; - - procedure LoadFromClipboardFormat(AFormat: Word; AData: THandle; - APalette: HPALETTE); override; - procedure SaveToClipboardFormat(var AFormat: Word; var AData: THandle; - var APalette: HPALETTE); override; - - property Opacity: Byte read FOpacity write SetOpacity; - published - property FileName: TFileName read FFileName write SetFileName; - end; - -function TGPImageToBitmap(Image: TGPImage): TBitmap; - -implementation - -uses - Winapi.GDIPAPI, - SVGCommon; - -function TGPImageToBitmap(Image: TGPImage): TBitmap; -var - Graphics: TGPGraphics; - Bitmap: TBitmap; - P: Pointer; - W, H: Cardinal; -begin - Bitmap := nil; - if Assigned(Image) then - begin - W := Image.GetWidth; - H := Image.GetHeight; - if (W > 0) and (H > 0) then - begin - Bitmap := TBitmap.Create; - Bitmap.PixelFormat := pf32Bit; - Bitmap.Width := W; - Bitmap.Height := H; - P := Bitmap.ScanLine[H - 1]; - FillChar(P^, (W * H) shl 2, 0); - Graphics := TGPGraphics.Create(Bitmap.Canvas.Handle); - try - Graphics.DrawImage(Image, 0, 0); - finally - Graphics.Free; - end; - end; - end; - Result := Bitmap; -end; - -constructor TSVGIconImage.Create(AOwner: TComponent); -begin - inherited; - FSVG := TSVG.Create; - FProportional := False; - FCenter := True; - FStretch := True; - FOpacity := 255; - FScale := 1; - FImageIndex := -1; -end; - -destructor TSVGIconImage.Destroy; -begin - FSVG.Free; - inherited; -end; - -procedure TSVGIconImage.CheckAutoSize; -begin - if FAutoSize and (FSVG.Width > 0) and (FSVG.Height > 0) then - begin - SetBounds(Left, Top, Round(FSVG.Width), Round(FSVG.Height)); - end; -end; - -procedure TSVGIconImage.Clear; -begin - FSVG.Clear; - FFileName := ''; - Repaint; -end; - -function TSVGIconImage.Empty: Boolean; -begin - Empty := FSVG.Count = 0; -end; - -function TSVGIconImage.GetSVGText: string; -begin - Result := FSVG.Source; -end; - -function TSVGIconImage.UsingSVGText: Boolean; -begin - Result := not (Assigned(FImageList) and (FImageIndex >= 0) and - (FImageIndex < FImagelist.Count)); -end; - -procedure TSVGIconImage.Paint; -var - Bounds: TGPRectF; - -var - SVG: TSVG; -begin - if not UsingSVGText then - SVG := FImageList.Images[FImageIndex] - else - SVG := FSVG; - - if SVG.Count > 0 then - begin - Bounds := MakeRect(0.0, 0, Width, Height); - if FProportional then - Bounds := FittedRect(Bounds, SVG.Width, SVG.Height); - - SVG.SVGOpacity := FOpacity / 255; - SVG.PaintTo(Canvas.Handle, Bounds, nil, 0); - SVG.SVGOpacity := 1; - end; - - if csDesigning in ComponentState then - begin - Canvas.Brush.Style := bsClear; - Canvas.Pen.Style := psDash; - Canvas.Pen.Color := clBlack; - Canvas.Rectangle(0, 0, Width, Height); - end; -end; - -procedure TSVGIconImage.LoadFromFile(const FileName: string); -begin - if csLoading in ComponentState then - Exit; - try - FSVG.LoadFromFile(FileName); - FFileName := FileName; - except - Clear; - end; - CheckAutoSize; - Repaint; -end; - -procedure TSVGIconImage.LoadFromStream(Stream: TStream); -begin - try - FFileName := ''; - FSVG.LoadFromStream(Stream); - except - end; - CheckAutoSize; - Repaint; -end; - -procedure TSVGIconImage.Notification(AComponent: TComponent; Operation: TOperation); -begin - inherited; - if (Operation = opRemove) and (AComponent = FImageList) then - FImageList := nil; -end; - -procedure TSVGIconImage.Assign(Source: TPersistent); -var - SVG: TSVG; -begin - if (Source is TSVGIconImage) then - begin - SVG := (Source as TSVGIconImage).FSVG; - FSVG.LoadFromText(SVG.Source); - FImageIndex := -1; - CheckAutoSize; - end; - - if (Source.ClassType = TSVG) then - begin - SVG := TSVG(Source); - FSVG.LoadFromText(SVG.Source); - FImageIndex := -1; - end; - - Repaint; -end; - -procedure TSVGIconImage.SaveToFile(const FileName: string); -begin - FSVG.SaveToFile(FileName); -end; - -procedure TSVGIconImage.SetAutoSizeImage(const Value: Boolean); -begin - if (Value = FAutoSize) then - Exit; - FAutoSize := Value; - - CheckAutoSize; -end; - -procedure TSVGIconImage.SetCenter(Value: Boolean); -begin - if Value = FCenter then - Exit; - - FCenter := Value; - Repaint; -end; - -procedure TSVGIconImage.SetProportional(Value: Boolean); -begin - if Value = FProportional then - Exit; - - FProportional := Value; - Repaint; -end; - -procedure TSVGIconImage.SetScale(const Value: Double); -begin - if Value = FScale then - Exit; - FScale := Value; - FAutoSize := False; - Repaint; -end; - -procedure TSVGIconImage.SetStretch(const Value: Boolean); -begin - if Value = FStretch then - Exit; - - FStretch := Value; - if FStretch then - FAutoSize := False; - Repaint; -end; - -procedure TSVGIconImage.SetSVGText(const AValue: string); -begin - FSVG.LoadFromText(AValue); - Repaint; -end; - -function TSVGIconImage.StoreScale: Boolean; -begin - Result := FScale <> 1; -end; - -procedure TSVGIconImage.SetOpacity(Value: Byte); -begin - if Value = FOpacity then - Exit; - - FOpacity := Value; - Repaint; -end; - -procedure TSVGIconImage.SetFileName(const Value: TFileName); -begin - if Value = FFileName then - Exit; - LoadFromFile(Value); -end; - -procedure TSVGIconImage.SetImageIndex(const Value: Integer); -begin - if FImageIndex = Value then - Exit; - FImageIndex := Value; - CheckAutoSize; - Repaint; -end; - -procedure TSVGIconImage.SetImageList(const Value: TSVGIconImageListBase); -begin - FImageList := Value; - SVGText := ''; -end; - -constructor TSVGGraphic.Create; -begin - inherited; - FSVG := TSVG.Create; - FOpacity := 255; -end; - -destructor TSVGGraphic.Destroy; -begin - FSVG.Free; - inherited; -end; - -procedure TSVGGraphic.Clear; -begin - FSVG.Clear; - FFileName := ''; - Changed(Self); -end; - -procedure TSVGGraphic.Assign(Source: TPersistent); -begin - if (Source is TSVGGraphic) then - begin - try - //AssignSVG(TSVGGraphic(Source).FSVG); - FSVG.Free; - FSVG := TSVG(TSVGGraphic(Source).FSVG.Clone(nil)); - except - end; - Changed(Self); - end; -end; - -procedure TSVGGraphic.AssignSVG(SVG: TSVG); -begin - FSVG.LoadFromText(SVG.Source); - Changed(Self); -end; - -procedure TSVGGraphic.AssignTo(Dest: TPersistent); -begin - if Dest is TSVGGraphic then - TSVGGraphic(Dest).Assign(Self); -end; - -procedure TSVGGraphic.SetOpacity(Value: Byte); -begin - if Value = FOpacity then - Exit; - - FOpacity := Value; - Changed(Self); -end; - -procedure TSVGGraphic.SetWidth(Value: Integer); -begin - inherited; - -end; - -procedure TSVGGraphic.SetFileName(const Value: TFileName); -begin - if Value = FFileName then - Exit; - - LoadFromFile(Value); -end; - -procedure TSVGGraphic.SetHeight(Value: Integer); -begin - inherited; - -end; - -procedure TSVGGraphic.ReadData(Stream: TStream); -var - Size: LongInt; - MemStream: TMemoryStream; -begin - Stream.Read(Size, SizeOf(Size)); - MemStream := TMemoryStream.Create; - try - MemStream.CopyFrom(Stream, Size); - MemStream.Position := 0; - FSVG.LoadFromStream(MemStream); - finally - MemStream.Free; - end; -end; - -procedure TSVGGraphic.WriteData(Stream: TStream); -var - Size: LongInt; - MemStream: TMemoryStream; -begin - MemStream := TMemoryStream.Create; - try - FSVG.SaveToStream(MemStream); - Size := MemStream.Size; - Stream.Write(Size, SizeOf(Size)); - MemStream.Position := 0; - MemStream.SaveToStream(Stream); - finally - MemStream.Free; - end; -end; - -procedure TSVGGraphic.DefineProperties(Filer: TFiler); -begin - Filer.DefineBinaryProperty('Data', ReadData, WriteData, True); -end; - -procedure TSVGGraphic.Draw(ACanvas: TCanvas; const Rect: TRect); -var - Bounds: TGPRectF; -begin - if Empty then - Exit; - - Bounds := MakeRect(Rect.Left + 0.0, Rect.Top, - Rect.Right - Rect.Left, Rect.Bottom - Rect.Top); - - FSVG.SVGOpacity := FOpacity / 255; - FSVG.PaintTo(ACanvas.Handle, Bounds, nil, 0); -end; - - -function TSVGGraphic.GetEmpty: Boolean; -begin - Result := FSVG.Count = 0; -end; - -function TSVGGraphic.GetWidth: Integer; -begin - Result := Round(FSVG.Width); -end; - -function TSVGGraphic.GetHeight: Integer; -begin - Result := Round(FSVG.Height); -end; - -procedure TSVGGraphic.LoadFromClipboardFormat(AFormat: Word; AData: THandle; - APalette: HPALETTE); -begin - inherited; - -end; - -procedure TSVGGraphic.LoadFromFile(const Filename: String); -begin - FSVG.LoadFromFile(Filename); - Changed(Self); -end; - -procedure TSVGGraphic.LoadFromStream(Stream: TStream); -begin - try - FSVG.LoadFromStream(Stream); - except - end; - Changed(Self); -end; - -procedure TSVGGraphic.SaveToClipboardFormat(var AFormat: Word; - var AData: THandle; var APalette: HPALETTE); -begin - inherited; - -end; - -procedure TSVGGraphic.SaveToStream(Stream: TStream); -begin - FSVG.SaveToStream(Stream); -end; - - -initialization - TPicture.RegisterFileFormat('SVG', 'Scalable Vector Graphics', TSVGGraphic); - -finalization - TPicture.UnregisterGraphicClass(TSVGGraphic); -end. +{******************************************************************************} +{ } +{ SVG Image in TPicture: useful to show a Scalable Vector Graphic } +{ } +{ Copyright (c) 2019-2020 (Ethea S.r.l.) } +{ Author: Carlo Barazzetta } +{ Contributors: } +{ } +{ https://github.com/EtheaDev/SVGIconImageList } +{ } +{******************************************************************************} +{ Original version (c) 2005, 2008 Martin Walter with license: } +{ Use of this file is permitted for commercial and non-commercial } +{ use, as long as the author is credited. } +{ home page: http://www.mwcs.de } +{ email : martin.walter@mwcs.de } +{******************************************************************************} +{ } +{ Licensed under the Apache License, Version 2.0 (the "License"); } +{ you may not use this file except in compliance with the License. } +{ You may obtain a copy of the License at } +{ } +{ http://www.apache.org/licenses/LICENSE-2.0 } +{ } +{ Unless required by applicable law or agreed to in writing, software } +{ distributed under the License is distributed on an "AS IS" BASIS, } +{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } +{ See the License for the specific language governing permissions and } +{ limitations under the License. } +{ } +{******************************************************************************} +unit SVGIconImage; + +interface + +{$INCLUDE SVGIconImageList.inc} + +uses + Windows + , SysUtils +{$IFDEF D10_4+} + , System.UITypes +{$ENDIF} + , GDIPOBJ + , Classes + , Controls + , Graphics + , SVG + , SVGIconImageListBase; + +type + TSVGIconImage = class(TGraphicControl) + strict private + FSVG: TSVG; + + FCenter: Boolean; + FProportional: Boolean; + FStretch: Boolean; + FAutoSize: Boolean; + FScale: Double; + FOpacity: Byte; + FFileName: TFileName; + FImageList: TSVGIconImageListBase; + FImageIndex: Integer; + procedure SetCenter(Value: Boolean); + procedure SetProportional(Value: Boolean); + procedure SetOpacity(Value: Byte); + procedure SetFileName(const Value: TFileName); + //procedure ReadData(Stream: TStream); + //procedure WriteData(Stream: TStream); + procedure SetImageIndex(const Value: Integer); + procedure SetStretch(const Value: Boolean); + procedure SetScale(const Value: Double); + procedure SetAutoSizeImage(const Value: Boolean); + private + function GetSVGText: string; + procedure SetSVGText(const AValue: string); + function StoreScale: Boolean; + function UsingSVGText: Boolean; + procedure SetImageList(const Value: TSVGIconImageListBase); + protected + //procedure DefineProperties(Filer: TFiler); override; + procedure Notification(AComponent: TComponent; Operation: TOperation); override; + procedure CheckAutoSize; + public + constructor Create(AOwner: TComponent); override; + destructor Destroy; override; + procedure Clear; + function Empty: Boolean; + procedure Paint; override; + procedure LoadFromFile(const FileName: string); + procedure LoadFromStream(Stream: TStream); + procedure SaveToFile(const FileName: string); + procedure Assign(Source: TPersistent); override; + property SVG: TSVG read FSVG; + published + property AutoSize: Boolean read FAutoSize write SetAutoSizeImage; + property Center: Boolean read FCenter write SetCenter default True; + property Proportional: Boolean read FProportional write SetProportional; + property Stretch: Boolean read FStretch write SetStretch default True; + property Opacity: Byte read FOpacity write SetOpacity default 255; + property Scale: Double read FScale write SetScale stored StoreScale; + property FileName: TFileName read FFileName write SetFileName; + property ImageList: TSVGIconImageListBase read FImageList write SetImageList; + property ImageIndex: Integer read FImageIndex write SetImageIndex default -1; + property SVGText: string read GetSVGText write SetSVGText stored UsingSVGText; + property Enabled; + property Visible; + property Constraints; + property Anchors; + property Align; + + property OnClick; + property OnDblClick; + property OnMouseDown; + property OnMouseMove; + property OnMouseUp; + end; + + + TSVGGraphic = class(TGraphic) + strict private + FSVG: TSVG; + FOpacity: Byte; + FFileName: TFileName; + + procedure SetOpacity(Value: Byte); + procedure SetFileName(const Value: TFileName); + protected + procedure DefineProperties(Filer: TFiler); override; + + procedure Draw(ACanvas: TCanvas; const Rect: TRect); override; + + function GetEmpty: Boolean; override; + function GetWidth: Integer; override; + function GetHeight: Integer; override; + procedure SetHeight(Value: Integer); override; + procedure SetWidth(Value: Integer); override; + + procedure ReadData(Stream: TStream); override; + procedure WriteData(Stream: TStream); override; + public + constructor Create; override; + destructor Destroy; override; + procedure Clear; + + procedure Assign(Source: TPersistent); override; + procedure AssignTo(Dest: TPersistent); override; + + procedure AssignSVG(SVG: TSVG); + + procedure LoadFromFile(const Filename: String); override; + procedure LoadFromStream(Stream: TStream); override; + + procedure SaveToStream(Stream: TStream); override; + + procedure LoadFromClipboardFormat(AFormat: Word; AData: THandle; + APalette: HPALETTE); override; + procedure SaveToClipboardFormat(var AFormat: Word; var AData: THandle; + var APalette: HPALETTE); override; + + property Opacity: Byte read FOpacity write SetOpacity; + published + property FileName: TFileName read FFileName write SetFileName; + end; + +function TGPImageToBitmap(Image: TGPImage): TBitmap; + +implementation + +uses + Winapi.GDIPAPI, + SVGCommon; + +function TGPImageToBitmap(Image: TGPImage): TBitmap; +var + Graphics: TGPGraphics; + Bitmap: TBitmap; + P: Pointer; + W, H: Cardinal; +begin + Bitmap := nil; + if Assigned(Image) then + begin + W := Image.GetWidth; + H := Image.GetHeight; + if (W > 0) and (H > 0) then + begin + Bitmap := TBitmap.Create; + Bitmap.PixelFormat := pf32Bit; + Bitmap.Width := W; + Bitmap.Height := H; + P := Bitmap.ScanLine[H - 1]; + FillChar(P^, (W * H) shl 2, 0); + Graphics := TGPGraphics.Create(Bitmap.Canvas.Handle); + try + Graphics.DrawImage(Image, 0, 0); + finally + Graphics.Free; + end; + end; + end; + Result := Bitmap; +end; + +constructor TSVGIconImage.Create(AOwner: TComponent); +begin + inherited; + FSVG := TSVG.Create; + FProportional := False; + FCenter := True; + FStretch := True; + FOpacity := 255; + FScale := 1; + FImageIndex := -1; +end; + +destructor TSVGIconImage.Destroy; +begin + FSVG.Free; + inherited; +end; + +procedure TSVGIconImage.CheckAutoSize; +begin + if FAutoSize and (FSVG.Width > 0) and (FSVG.Height > 0) then + begin + SetBounds(Left, Top, Round(FSVG.Width), Round(FSVG.Height)); + end; +end; + +procedure TSVGIconImage.Clear; +begin + FSVG.Clear; + FFileName := ''; + Repaint; +end; + +function TSVGIconImage.Empty: Boolean; +begin + Empty := FSVG.Count = 0; +end; + +function TSVGIconImage.GetSVGText: string; +begin + Result := FSVG.Source; +end; + +function TSVGIconImage.UsingSVGText: Boolean; +begin + Result := not (Assigned(FImageList) and (FImageIndex >= 0) and + (FImageIndex < FImagelist.Count)); +end; + +procedure TSVGIconImage.Paint; +var + Bounds: TGPRectF; + +var + SVG: TSVG; +begin + if not UsingSVGText then + SVG := FImageList.Images[FImageIndex] + else + SVG := FSVG; + + if SVG.Count > 0 then + begin + Bounds := MakeRect(0.0, 0, Width, Height); + if FProportional then + Bounds := FittedRect(Bounds, SVG.Width, SVG.Height); + + SVG.SVGOpacity := FOpacity / 255; + SVG.PaintTo(Canvas.Handle, Bounds, nil, 0); + SVG.SVGOpacity := 1; + end; + + if csDesigning in ComponentState then + begin + Canvas.Brush.Style := bsClear; + Canvas.Pen.Style := psDash; + Canvas.Pen.Color := clBlack; + Canvas.Rectangle(0, 0, Width, Height); + end; +end; + +procedure TSVGIconImage.LoadFromFile(const FileName: string); +begin + if csLoading in ComponentState then + Exit; + try + FSVG.LoadFromFile(FileName); + FFileName := FileName; + except + Clear; + end; + CheckAutoSize; + Repaint; +end; + +procedure TSVGIconImage.LoadFromStream(Stream: TStream); +begin + try + FFileName := ''; + FSVG.LoadFromStream(Stream); + except + end; + CheckAutoSize; + Repaint; +end; + +procedure TSVGIconImage.Notification(AComponent: TComponent; Operation: TOperation); +begin + inherited; + if (Operation = opRemove) and (AComponent = FImageList) then + FImageList := nil; +end; + +procedure TSVGIconImage.Assign(Source: TPersistent); +var + SVG: TSVG; +begin + if (Source is TSVGIconImage) then + begin + SVG := (Source as TSVGIconImage).FSVG; + FSVG.LoadFromText(SVG.Source); + FImageIndex := -1; + CheckAutoSize; + end; + + if (Source.ClassType = TSVG) then + begin + SVG := TSVG(Source); + FSVG.LoadFromText(SVG.Source); + FImageIndex := -1; + end; + + Repaint; +end; + +procedure TSVGIconImage.SaveToFile(const FileName: string); +begin + FSVG.SaveToFile(FileName); +end; + +procedure TSVGIconImage.SetAutoSizeImage(const Value: Boolean); +begin + if (Value = FAutoSize) then + Exit; + FAutoSize := Value; + + CheckAutoSize; +end; + +procedure TSVGIconImage.SetCenter(Value: Boolean); +begin + if Value = FCenter then + Exit; + + FCenter := Value; + Repaint; +end; + +procedure TSVGIconImage.SetProportional(Value: Boolean); +begin + if Value = FProportional then + Exit; + + FProportional := Value; + Repaint; +end; + +procedure TSVGIconImage.SetScale(const Value: Double); +begin + if Value = FScale then + Exit; + FScale := Value; + FAutoSize := False; + Repaint; +end; + +procedure TSVGIconImage.SetStretch(const Value: Boolean); +begin + if Value = FStretch then + Exit; + + FStretch := Value; + if FStretch then + FAutoSize := False; + Repaint; +end; + +procedure TSVGIconImage.SetSVGText(const AValue: string); +begin + FSVG.LoadFromText(AValue); + Repaint; +end; + +function TSVGIconImage.StoreScale: Boolean; +begin + Result := FScale <> 1; +end; + +procedure TSVGIconImage.SetOpacity(Value: Byte); +begin + if Value = FOpacity then + Exit; + + FOpacity := Value; + Repaint; +end; + +procedure TSVGIconImage.SetFileName(const Value: TFileName); +begin + if Value = FFileName then + Exit; + LoadFromFile(Value); +end; + +procedure TSVGIconImage.SetImageIndex(const Value: Integer); +begin + if FImageIndex = Value then + Exit; + FImageIndex := Value; + CheckAutoSize; + Repaint; +end; + +procedure TSVGIconImage.SetImageList(const Value: TSVGIconImageListBase); +begin + FImageList := Value; + SVGText := ''; +end; + +constructor TSVGGraphic.Create; +begin + inherited; + FSVG := TSVG.Create; + FOpacity := 255; +end; + +destructor TSVGGraphic.Destroy; +begin + FSVG.Free; + inherited; +end; + +procedure TSVGGraphic.Clear; +begin + FSVG.Clear; + FFileName := ''; + Changed(Self); +end; + +procedure TSVGGraphic.Assign(Source: TPersistent); +begin + if (Source is TSVGGraphic) then + begin + try + //AssignSVG(TSVGGraphic(Source).FSVG); + FSVG.Free; + FSVG := TSVG(TSVGGraphic(Source).FSVG.Clone(nil)); + except + end; + Changed(Self); + end; +end; + +procedure TSVGGraphic.AssignSVG(SVG: TSVG); +begin + FSVG.LoadFromText(SVG.Source); + Changed(Self); +end; + +procedure TSVGGraphic.AssignTo(Dest: TPersistent); +begin + if Dest is TSVGGraphic then + TSVGGraphic(Dest).Assign(Self); +end; + +procedure TSVGGraphic.SetOpacity(Value: Byte); +begin + if Value = FOpacity then + Exit; + + FOpacity := Value; + Changed(Self); +end; + +procedure TSVGGraphic.SetWidth(Value: Integer); +begin + inherited; + +end; + +procedure TSVGGraphic.SetFileName(const Value: TFileName); +begin + if Value = FFileName then + Exit; + + LoadFromFile(Value); +end; + +procedure TSVGGraphic.SetHeight(Value: Integer); +begin + inherited; + +end; + +procedure TSVGGraphic.ReadData(Stream: TStream); +var + Size: LongInt; + MemStream: TMemoryStream; +begin + Stream.Read(Size, SizeOf(Size)); + MemStream := TMemoryStream.Create; + try + MemStream.CopyFrom(Stream, Size); + MemStream.Position := 0; + FSVG.LoadFromStream(MemStream); + finally + MemStream.Free; + end; +end; + +procedure TSVGGraphic.WriteData(Stream: TStream); +var + Size: LongInt; + MemStream: TMemoryStream; +begin + MemStream := TMemoryStream.Create; + try + FSVG.SaveToStream(MemStream); + Size := MemStream.Size; + Stream.Write(Size, SizeOf(Size)); + MemStream.Position := 0; + MemStream.SaveToStream(Stream); + finally + MemStream.Free; + end; +end; + +procedure TSVGGraphic.DefineProperties(Filer: TFiler); +begin + Filer.DefineBinaryProperty('Data', ReadData, WriteData, True); +end; + +procedure TSVGGraphic.Draw(ACanvas: TCanvas; const Rect: TRect); +var + Bounds: TGPRectF; +begin + if Empty then + Exit; + + Bounds := MakeRect(Rect.Left + 0.0, Rect.Top, + Rect.Right - Rect.Left, Rect.Bottom - Rect.Top); + + FSVG.SVGOpacity := FOpacity / 255; + FSVG.PaintTo(ACanvas.Handle, Bounds, nil, 0); +end; + + +function TSVGGraphic.GetEmpty: Boolean; +begin + Result := FSVG.Count = 0; +end; + +function TSVGGraphic.GetWidth: Integer; +begin + Result := Round(FSVG.Width); +end; + +function TSVGGraphic.GetHeight: Integer; +begin + Result := Round(FSVG.Height); +end; + +procedure TSVGGraphic.LoadFromClipboardFormat(AFormat: Word; AData: THandle; + APalette: HPALETTE); +begin + inherited; + +end; + +procedure TSVGGraphic.LoadFromFile(const Filename: String); +begin + FSVG.LoadFromFile(Filename); + Changed(Self); +end; + +procedure TSVGGraphic.LoadFromStream(Stream: TStream); +begin + try + FSVG.LoadFromStream(Stream); + except + end; + Changed(Self); +end; + +procedure TSVGGraphic.SaveToClipboardFormat(var AFormat: Word; + var AData: THandle; var APalette: HPALETTE); +begin + inherited; + +end; + +procedure TSVGGraphic.SaveToStream(Stream: TStream); +begin + FSVG.SaveToStream(Stream); +end; + + +initialization + TPicture.RegisterFileFormat('SVG', 'Scalable Vector Graphics', TSVGGraphic); + +finalization + TPicture.UnregisterGraphicClass(TSVGGraphic); +end. diff --git a/Source/SVGIconImageList.inc b/Source/SVGIconImageList.inc index 9a99e588..99e81ebb 100644 --- a/Source/SVGIconImageList.inc +++ b/Source/SVGIconImageList.inc @@ -1,138 +1,138 @@ -// Delphi XE4 -{$IFDEF VER250} - {$DEFINE D2010+} - {$DEFINE DXE+} - {$DEFINE DXE2+} - {$DEFINE DXE3+} - {$DEFINE DXE4+} -{$ENDIF} - -// Delphi XE5 -{$IFDEF VER260} - {$DEFINE D2010+} - {$DEFINE DXE+} - {$DEFINE DXE2+} - {$DEFINE DXE3+} - {$DEFINE DXE4+} - {$DEFINE DXE5+} -{$ENDIF} - -// Delphi XE6 -{$IFDEF VER270} - {$DEFINE D2010+} - {$DEFINE DXE+} - {$DEFINE DXE2+} - {$DEFINE DXE3+} - {$DEFINE DXE4+} - {$DEFINE DXE5+} - {$DEFINE DXE6+} -{$ENDIF} - -// Delphi XE7 -{$IFDEF VER280} - {$DEFINE D2010+} - {$DEFINE DXE+} - {$DEFINE DXE2+} - {$DEFINE DXE3+} - {$DEFINE DXE4+} - {$DEFINE DXE5+} - {$DEFINE DXE6+} - {$DEFINE DXE7+} -{$ENDIF} - -// Delphi XE8 -{$IFDEF VER290} - {$DEFINE D2010+} - {$DEFINE DXE+} - {$DEFINE DXE2+} - {$DEFINE DXE3+} - {$DEFINE DXE4+} - {$DEFINE DXE5+} - {$DEFINE DXE6+} - {$DEFINE DXE7+} - {$DEFINE DXE8+} -{$ENDIF} - -// Delphi 10 Seattle -{$IFDEF VER300} - {$DEFINE D2010+} - {$DEFINE DXE+} - {$DEFINE DXE2+} - {$DEFINE DXE3+} - {$DEFINE DXE4+} - {$DEFINE DXE5+} - {$DEFINE DXE6+} - {$DEFINE DXE7+} - {$DEFINE DXE8+} - {$DEFINE D10_0+} -{$ENDIF} - -// Delphi 10.1 Berlin -{$IFDEF VER310} - {$DEFINE D2010+} - {$DEFINE DXE+} - {$DEFINE DXE2+} - {$DEFINE DXE3+} - {$DEFINE DXE4+} - {$DEFINE DXE5+} - {$DEFINE DXE6+} - {$DEFINE DXE7+} - {$DEFINE DXE8+} - {$DEFINE D10_0+} - {$DEFINE D10_1+} -{$ENDIF} - -// Delphi 10.2 Tokyo -{$IFDEF VER320} - {$DEFINE D2010+} - {$DEFINE DXE+} - {$DEFINE DXE2+} - {$DEFINE DXE3+} - {$DEFINE DXE4+} - {$DEFINE DXE5+} - {$DEFINE DXE6+} - {$DEFINE DXE7+} - {$DEFINE DXE8+} - {$DEFINE D10_0+} - {$DEFINE D10_1+} - {$DEFINE D10_2+} -{$ENDIF} - -// Delphi 10.3 Rio -{$IFDEF VER330} - {$DEFINE D2010+} - {$DEFINE DXE+} - {$DEFINE DXE2+} - {$DEFINE DXE3+} - {$DEFINE DXE4+} - {$DEFINE DXE5+} - {$DEFINE DXE6+} - {$DEFINE DXE7+} - {$DEFINE DXE8+} - {$DEFINE D10_0+} - {$DEFINE D10_1+} - {$DEFINE D10_2+} - {$DEFINE D10_3+} -{$ENDIF} - -// Delphi 10.4 Sydney -{$IFDEF VER340} - {$DEFINE D2010+} - {$DEFINE DXE+} - {$DEFINE DXE2+} - {$DEFINE DXE3+} - {$DEFINE DXE4+} - {$DEFINE DXE5+} - {$DEFINE DXE6+} - {$DEFINE DXE7+} - {$DEFINE DXE8+} - {$DEFINE D10_0+} - {$DEFINE D10_1+} - {$DEFINE D10_2+} - {$DEFINE D10_3+} - {$DEFINE D10_4+} -{$ENDIF} - -{$IFDEF D10_3+} - {$Define HiDPISupport} -{$ENDIF} +// Delphi XE4 +{$IFDEF VER250} + {$DEFINE D2010+} + {$DEFINE DXE+} + {$DEFINE DXE2+} + {$DEFINE DXE3+} + {$DEFINE DXE4+} +{$ENDIF} + +// Delphi XE5 +{$IFDEF VER260} + {$DEFINE D2010+} + {$DEFINE DXE+} + {$DEFINE DXE2+} + {$DEFINE DXE3+} + {$DEFINE DXE4+} + {$DEFINE DXE5+} +{$ENDIF} + +// Delphi XE6 +{$IFDEF VER270} + {$DEFINE D2010+} + {$DEFINE DXE+} + {$DEFINE DXE2+} + {$DEFINE DXE3+} + {$DEFINE DXE4+} + {$DEFINE DXE5+} + {$DEFINE DXE6+} +{$ENDIF} + +// Delphi XE7 +{$IFDEF VER280} + {$DEFINE D2010+} + {$DEFINE DXE+} + {$DEFINE DXE2+} + {$DEFINE DXE3+} + {$DEFINE DXE4+} + {$DEFINE DXE5+} + {$DEFINE DXE6+} + {$DEFINE DXE7+} +{$ENDIF} + +// Delphi XE8 +{$IFDEF VER290} + {$DEFINE D2010+} + {$DEFINE DXE+} + {$DEFINE DXE2+} + {$DEFINE DXE3+} + {$DEFINE DXE4+} + {$DEFINE DXE5+} + {$DEFINE DXE6+} + {$DEFINE DXE7+} + {$DEFINE DXE8+} +{$ENDIF} + +// Delphi 10 Seattle +{$IFDEF VER300} + {$DEFINE D2010+} + {$DEFINE DXE+} + {$DEFINE DXE2+} + {$DEFINE DXE3+} + {$DEFINE DXE4+} + {$DEFINE DXE5+} + {$DEFINE DXE6+} + {$DEFINE DXE7+} + {$DEFINE DXE8+} + {$DEFINE D10_0+} +{$ENDIF} + +// Delphi 10.1 Berlin +{$IFDEF VER310} + {$DEFINE D2010+} + {$DEFINE DXE+} + {$DEFINE DXE2+} + {$DEFINE DXE3+} + {$DEFINE DXE4+} + {$DEFINE DXE5+} + {$DEFINE DXE6+} + {$DEFINE DXE7+} + {$DEFINE DXE8+} + {$DEFINE D10_0+} + {$DEFINE D10_1+} +{$ENDIF} + +// Delphi 10.2 Tokyo +{$IFDEF VER320} + {$DEFINE D2010+} + {$DEFINE DXE+} + {$DEFINE DXE2+} + {$DEFINE DXE3+} + {$DEFINE DXE4+} + {$DEFINE DXE5+} + {$DEFINE DXE6+} + {$DEFINE DXE7+} + {$DEFINE DXE8+} + {$DEFINE D10_0+} + {$DEFINE D10_1+} + {$DEFINE D10_2+} +{$ENDIF} + +// Delphi 10.3 Rio +{$IFDEF VER330} + {$DEFINE D2010+} + {$DEFINE DXE+} + {$DEFINE DXE2+} + {$DEFINE DXE3+} + {$DEFINE DXE4+} + {$DEFINE DXE5+} + {$DEFINE DXE6+} + {$DEFINE DXE7+} + {$DEFINE DXE8+} + {$DEFINE D10_0+} + {$DEFINE D10_1+} + {$DEFINE D10_2+} + {$DEFINE D10_3+} +{$ENDIF} + +// Delphi 10.4 Sydney +{$IFDEF VER340} + {$DEFINE D2010+} + {$DEFINE DXE+} + {$DEFINE DXE2+} + {$DEFINE DXE3+} + {$DEFINE DXE4+} + {$DEFINE DXE5+} + {$DEFINE DXE6+} + {$DEFINE DXE7+} + {$DEFINE DXE8+} + {$DEFINE D10_0+} + {$DEFINE D10_1+} + {$DEFINE D10_2+} + {$DEFINE D10_3+} + {$DEFINE D10_4+} +{$ENDIF} + +{$IFDEF D10_3+} + {$Define HiDPISupport} +{$ENDIF} diff --git a/Source/SVGIconUtils.pas b/Source/SVGIconUtils.pas index 51c38fde..7a785732 100644 --- a/Source/SVGIconUtils.pas +++ b/Source/SVGIconUtils.pas @@ -1,149 +1,149 @@ -{******************************************************************************} -{ } -{ Icon SVG ImageList: An extended ImageList for Delphi/VCL } -{ to simplify use of SVG Icons (resize, opacity and more...) } -{ } -{ Copyright (c) 2019-2020 (Ethea S.r.l.) } -{ Author: Carlo Barazzetta } -{ Contributors: Vincent Parrett, Kiriakos Vlahos } -{ } -{ https://github.com/EtheaDev/SVGIconImageList } -{ } -{******************************************************************************} -{ Original version (c) 2005, 2008 Martin Walter with license: } -{ Use of this file is permitted for commercial and non-commercial } -{ use, as long as the author is credited. } -{ home page: http://www.mwcs.de } -{ email : martin.walter@mwcs.de } -{******************************************************************************} -{ } -{ Licensed under the Apache License, Version 2.0 (the "License"); } -{ you may not use this file except in compliance with the License. } -{ You may obtain a copy of the License at } -{ } -{ http://www.apache.org/licenses/LICENSE-2.0 } -{ } -{ Unless required by applicable law or agreed to in writing, software } -{ distributed under the License is distributed on an "AS IS" BASIS, } -{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } -{ See the License for the specific language governing permissions and } -{ limitations under the License. } -{ } -{******************************************************************************} -unit SVGIconUtils; - -interface - -{$INCLUDE SVGIconImageList.inc} - -uses - Classes - , ImgList - , SVGIconImageListBase - , SVGIconImageList - , Graphics - , ComCtrls; - -function UpdateSVGIconListView(const AListView: TListView; - const AIncludeIndex: Boolean = True): Integer; -function UpdateSVGIconListViewCaptions(const AListView: TListView; - const AShowCaption: Boolean = True): Integer; - -implementation - -uses - SysUtils - , Windows - , Themes - {$IFDEF D10_3} - , VirtualImageList - {$ENDIF} - ; - -function UpdateSVGIconListView(const AListView: TListView; - const AIncludeIndex: Boolean = True): Integer; -var - I: Integer; - LItem: TSVGIconItem; - LListItem: TListItem; - LImageList: TCustomImageList; - - function GetItemCaption: string; - begin - if AIncludeIndex then - Result := Format('%d.%s', [LItem.Index, LItem.IconName]) - else - Result := Format('%s', [LItem.IconName]); - end; -begin - LImageList := AListView.LargeImages as TCustomImageList; - AListView.Items.BeginUpdate; - try - AListView.Clear; - Result := LImageList.Count; - for I := 0 to Result -1 do - begin - if (LImageList is TSVGIconImageListBase) then - begin - LItem := TSVGIconImageListBase(LImageList).SVGIconItems[I]; - LListItem := AListView.Items.Add; - LListItem.Caption := GetItemCaption; - LListItem.ImageIndex := I; - end; - end; - finally - AListView.Items.EndUpdate; - end; -end; - -function UpdateSVGIconListViewCaptions(const AListView: TListView; - const AShowCaption: Boolean = True): Integer; -var - I: Integer; - LItem: TSVGIconItem; - {$IFDEF D10_3} - LVirtualItem: TVirtualImageListItem; - {$ENDIF} - LListItem: TListItem; - LImageList: TCustomImageList; -begin - LImageList := AListView.LargeImages as TCustomImageList; - AListView.Items.BeginUpdate; - try - Result := LImageList.Count; - for I := 0 to Result -1 do - begin - if (LImageList is TSVGIconImageList) then - begin - LItem := TSVGIconImageList(LImageList).SVGIconItems[I]; - LListItem := AListView.Items[I]; - if AShowCaption then - begin - LListItem.Caption := Format('%d.%s', - [LItem.Index, LItem.IconName]); - end - else - LListItem.Caption := ''; - end; - {$IFDEF D10_3} - if (LImageList is TVirtualImageList) then - begin - LVirtualItem := TVirtualImageList(LImageList).Images.Items[I]; - LListItem := AListView.Items[I]; - if AShowCaption then - begin - LListItem.Caption := Format('%d.%s', - [LVirtualItem.Index, LVirtualItem.Name]); - end - else - LListItem.Caption := ''; - end; - {$ENDIF} - end; - finally - AListView.Items.EndUpdate; - end; -end; - - -end. +{******************************************************************************} +{ } +{ Icon SVG ImageList: An extended ImageList for Delphi/VCL } +{ to simplify use of SVG Icons (resize, opacity and more...) } +{ } +{ Copyright (c) 2019-2020 (Ethea S.r.l.) } +{ Author: Carlo Barazzetta } +{ Contributors: Vincent Parrett, Kiriakos Vlahos } +{ } +{ https://github.com/EtheaDev/SVGIconImageList } +{ } +{******************************************************************************} +{ Original version (c) 2005, 2008 Martin Walter with license: } +{ Use of this file is permitted for commercial and non-commercial } +{ use, as long as the author is credited. } +{ home page: http://www.mwcs.de } +{ email : martin.walter@mwcs.de } +{******************************************************************************} +{ } +{ Licensed under the Apache License, Version 2.0 (the "License"); } +{ you may not use this file except in compliance with the License. } +{ You may obtain a copy of the License at } +{ } +{ http://www.apache.org/licenses/LICENSE-2.0 } +{ } +{ Unless required by applicable law or agreed to in writing, software } +{ distributed under the License is distributed on an "AS IS" BASIS, } +{ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. } +{ See the License for the specific language governing permissions and } +{ limitations under the License. } +{ } +{******************************************************************************} +unit SVGIconUtils; + +interface + +{$INCLUDE SVGIconImageList.inc} + +uses + Classes + , ImgList + , SVGIconImageListBase + , SVGIconImageList + , Graphics + , ComCtrls; + +function UpdateSVGIconListView(const AListView: TListView; + const AIncludeIndex: Boolean = True): Integer; +function UpdateSVGIconListViewCaptions(const AListView: TListView; + const AShowCaption: Boolean = True): Integer; + +implementation + +uses + SysUtils + , Windows + , Themes + {$IFDEF D10_3} + , VirtualImageList + {$ENDIF} + ; + +function UpdateSVGIconListView(const AListView: TListView; + const AIncludeIndex: Boolean = True): Integer; +var + I: Integer; + LItem: TSVGIconItem; + LListItem: TListItem; + LImageList: TCustomImageList; + + function GetItemCaption: string; + begin + if AIncludeIndex then + Result := Format('%d.%s', [LItem.Index, LItem.IconName]) + else + Result := Format('%s', [LItem.IconName]); + end; +begin + LImageList := AListView.LargeImages as TCustomImageList; + AListView.Items.BeginUpdate; + try + AListView.Clear; + Result := LImageList.Count; + for I := 0 to Result -1 do + begin + if (LImageList is TSVGIconImageListBase) then + begin + LItem := TSVGIconImageListBase(LImageList).SVGIconItems[I]; + LListItem := AListView.Items.Add; + LListItem.Caption := GetItemCaption; + LListItem.ImageIndex := I; + end; + end; + finally + AListView.Items.EndUpdate; + end; +end; + +function UpdateSVGIconListViewCaptions(const AListView: TListView; + const AShowCaption: Boolean = True): Integer; +var + I: Integer; + LItem: TSVGIconItem; + {$IFDEF D10_3} + LVirtualItem: TVirtualImageListItem; + {$ENDIF} + LListItem: TListItem; + LImageList: TCustomImageList; +begin + LImageList := AListView.LargeImages as TCustomImageList; + AListView.Items.BeginUpdate; + try + Result := LImageList.Count; + for I := 0 to Result -1 do + begin + if (LImageList is TSVGIconImageList) then + begin + LItem := TSVGIconImageList(LImageList).SVGIconItems[I]; + LListItem := AListView.Items[I]; + if AShowCaption then + begin + LListItem.Caption := Format('%d.%s', + [LItem.Index, LItem.IconName]); + end + else + LListItem.Caption := ''; + end; + {$IFDEF D10_3} + if (LImageList is TVirtualImageList) then + begin + LVirtualItem := TVirtualImageList(LImageList).Images.Items[I]; + LListItem := AListView.Items[I]; + if AShowCaption then + begin + LListItem.Caption := Format('%d.%s', + [LVirtualItem.Index, LVirtualItem.Name]); + end + else + LListItem.Caption := ''; + end; + {$ENDIF} + end; + finally + AListView.Items.EndUpdate; + end; +end; + + +end. diff --git a/Svg/BitmapCodecSVG.pas b/Svg/BitmapCodecSVG.pas index 39c7d4e7..f5d58b55 100644 --- a/Svg/BitmapCodecSVG.pas +++ b/Svg/BitmapCodecSVG.pas @@ -1,234 +1,234 @@ -// This unit requires at least Delphi 10.3.2 to work -unit BitmapCodecSVG; - -interface - -implementation - -uses - Winapi.Windows, Winapi.GDIPAPI, Winapi.GDIPOBJ, - System.Types, System.SysUtils, System.Classes, - FMX.Types, FMX.Graphics, FMX.Surfaces, - SVGTypes, SVG; - -type - TBitmapCodecSVG = class(TCustomBitmapCodec) - strict private - function CopyToSurface(const ASVG: TSVG; const Bitmap: TBitmapSurface): Boolean; - class procedure InitGDIPlus; - public - class constructor Create; - class function GetImageSize(const AFileName: string): TPointF; override; - class function IsValid(const AStream: TStream): Boolean; override; - function LoadFromFile(const AFileName: string; const Bitmap: TBitmapSurface; - const MaxSizeLimit: Cardinal): Boolean; override; - function SaveToFile(const AFileName: string; const Bitmap: TBitmapSurface; - const SaveParams: PBitmapCodecSaveParams = nil): Boolean; override; - function LoadThumbnailFromFile(const AFileName: string; const AFitWidth, AFitHeight: Single; - const UseEmbedded: Boolean; const Bitmap: TBitmapSurface): Boolean; override; - function LoadFromStream(const AStream: TStream; const Bitmap: TBitmapSurface; - const MaxSizeLimit: Cardinal): Boolean; override; - function SaveToStream(const AStream: TStream; const Bitmap: TBitmapSurface; const Extension: string; - const SaveParams: PBitmapCodecSaveParams = nil): Boolean; override; - end; - -const - SSVGImageExtension = '.svg'; // do not localize - SVSVG = 'SVG files'; - -procedure DebugGDIPlus(level: DebugEventLevel; message: PChar); stdcall; -begin - OutputDebugString(PChar('DebugGDIPlus ' + message)); -end; - - -class procedure TBitmapCodecSVG.InitGDIPlus; -var - Status: TStatus; -begin - // Initialize StartupInput structure - StartupInput.DebugEventCallback := DebugGDIPlus; - StartupInput.SuppressBackgroundThread := False; - StartupInput.SuppressExternalCodecs := False; - StartupInput.GdiplusVersion := 1; - - Status := GdiplusStartup(gdiplusToken, @StartupInput, nil); - OutputDebugString(PChar('InitGDIPlus.Status=' + IntToStr(Ord(Status)))); -end; - -class constructor TBitmapCodecSVG.Create; -begin -end; - -class function TBitmapCodecSVG.GetImageSize(const AFileName: string): TPointF; -var - SVG: TSVG; -begin - SVG := TSVG.Create; - try - try - SVG.LoadFromFile(AFileName); - Result := TPointF.Create(SVG.Width, SVG.Height); - finally - SVG.Free; - end; - except - Result := TPointF.Create(0, 0); - end; -end; - -class function TBitmapCodecSVG.IsValid(const AStream: TStream): Boolean; -var - SVG: TSVG; -begin - OutputDebugString('IsValid'); - SVG := TSVG.Create; - try - try - SVG.LoadFromStream(AStream); - Result := (SVG.Width > 0) and (SVG.Height > 0); - OutputDebugString(PChar(BoolToStr(Result, True))); - finally - SVG.Free; - end; - except - Result := False; - end; -end; - -function TBitmapCodecSVG.LoadFromFile(const AFileName: string; const Bitmap: TBitmapSurface; - const MaxSizeLimit: Cardinal): Boolean; -var - Stream: TFileStream; -begin - OutputDebugString('LoadFromFile'); - Stream := TFileStream.Create(AFileName, fmOpenRead); - try - Result := LoadFromStream(Stream, Bitmap, MaxSizeLimit); - finally - Stream.Free; - end; -end; - -function TBitmapCodecSVG.SaveToFile(const AFileName: string; const Bitmap: TBitmapSurface; - const SaveParams: PBitmapCodecSaveParams = nil): Boolean; -begin - Result := False; -end; - -function TBitmapCodecSVG.LoadThumbnailFromFile(const AFileName: string; - const AFitWidth, AFitHeight: Single; const UseEmbedded: Boolean; - const Bitmap: TBitmapSurface): Boolean; -begin - OutputDebugString('LoadThumbnailFromFile'); - Result := False; -end; - -function TBitmapCodecSVG.CopyToSurface(const ASVG: TSVG; const Bitmap: TBitmapSurface): Boolean; -var - GPGraphics: TGPGraphics; - GPBitmap: TGPBitmap; - GPRectF: TGPRectF; - RectArray: TRectarray; - GPRect: TGPRect; - GPBitmapData: Winapi.GDIPAPI.TBitmapData; - Source: PByte; - Dest: PByte; - Y: Integer; - Status: TStatus; - IntWidth: Integer; - IntHeight: Integer; -begin - Result := False; - IntWidth := Trunc(ASVG.Width); - IntHeight := Trunc(ASVG.Height); - OutputDebugString(PChar('CopyToSurface ' + IntToStr(IntWidth) + ' ' + IntToStr(IntHeight))); - GPBitmap := TGPBitmap.Create(IntWidth, IntHeight); - Status := GPBitmap.GetLastStatus; - if Status <> TStatus.Ok then - begin - OutputDebugString(PChar('GPBitmap ' + IntToStr(Ord(Status)))); - Exit; - end; - - GPGraphics := TGPGraphics.Create(GPBitmap); - try - Status := GPGraphics.SetSmoothingMode(SmoothingModeAntiAlias); - OutputDebugString(PChar('SetSmoothingMode ' + IntToStr(Ord(Status)))); - - GPRectF.X := 0; - GPRectF.Y := 0; - GPRectF.Width := ASVG.Width; - GPRectF.Height := ASVG.Height; - - RectArray := TRectArray.Create(TRect.Create(0, 0, Trunc(ASVG.Width), Trunc(ASVG.Height))); - ASVG.PaintTo(GPGraphics, GPRectF, @RectArray, 1); - - GPRect.X := 0; - GPRect.Y := 0; - GPRect.Width := GPBitmap.GetWidth; - GPRect.Height := GPBitmap.GetHeight; - - OutputDebugString(PChar('CopyToSurface.GPRectWidth '+ IntToStr(GPRect.Width))); - Status := GPBitmap.LockBits(GPRect, ImageLockModeRead, PixelFormat32bppPARGB, GPBitmapData); - if Status = TStatus.Ok then - begin - Bitmap.SetSize(Trunc(ASVG.Width), Trunc(ASVG.Height), TPixelFormat.BGRA); - Source := GPBitmapData.Scan0; - Dest := Bitmap.Bits; - for Y := 0 to GPBitmapData.Height - 1 do - begin - Move(Source^, Dest^, GPBitmapData.Stride); - Source := Source + GPBitmapData.Stride; - Dest := Dest + Bitmap.Pitch; - end; - - GPBitmap.UnlockBits(GPBitmapData); - Result := True; - end - else - begin - OutputDebugString(PChar('CopyToSurface.Lockbits error ' + IntToStr(Ord(Status)))); - end; - finally - GPGraphics.Free; - GPBitmap.Free; - end; -end; - -function TBitmapCodecSVG.LoadFromStream(const AStream: TStream; const Bitmap: TBitmapSurface; - const MaxSizeLimit: Cardinal): Boolean; -var - SVG: TSVG; -begin - InitGDIPlus; - OutputDebugString('LoadFromStream'); - try - SVG := TSVG.Create; - try - SVG.LoadFromStream(AStream); - Result := CopyToSurface(SVG, Bitmap); - finally - SVG.Free; - end; - except - on E: Exception do - begin - OutputDebugString(PChar('LoadFromStream.E ' + E.Message)); - Result := False; - end; - end; -end; - -function TBitmapCodecSVG.SaveToStream(const AStream: TStream; const Bitmap: TBitmapSurface; - const Extension: string; const SaveParams: PBitmapCodecSaveParams = nil): Boolean; -begin - Result := False; -end; - -initialization - TBitmapCodecManager.RegisterBitmapCodecClass(SSVGImageExtension, SVSVG, True, - TBitmapCodecSVG); -finalization - TBitmapCodecManager.UnregisterBitmapCodecClass(SSVGImageExtension); -end. +// This unit requires at least Delphi 10.3.2 to work +unit BitmapCodecSVG; + +interface + +implementation + +uses + Winapi.Windows, Winapi.GDIPAPI, Winapi.GDIPOBJ, + System.Types, System.SysUtils, System.Classes, + FMX.Types, FMX.Graphics, FMX.Surfaces, + SVGTypes, SVG; + +type + TBitmapCodecSVG = class(TCustomBitmapCodec) + strict private + function CopyToSurface(const ASVG: TSVG; const Bitmap: TBitmapSurface): Boolean; + class procedure InitGDIPlus; + public + class constructor Create; + class function GetImageSize(const AFileName: string): TPointF; override; + class function IsValid(const AStream: TStream): Boolean; override; + function LoadFromFile(const AFileName: string; const Bitmap: TBitmapSurface; + const MaxSizeLimit: Cardinal): Boolean; override; + function SaveToFile(const AFileName: string; const Bitmap: TBitmapSurface; + const SaveParams: PBitmapCodecSaveParams = nil): Boolean; override; + function LoadThumbnailFromFile(const AFileName: string; const AFitWidth, AFitHeight: Single; + const UseEmbedded: Boolean; const Bitmap: TBitmapSurface): Boolean; override; + function LoadFromStream(const AStream: TStream; const Bitmap: TBitmapSurface; + const MaxSizeLimit: Cardinal): Boolean; override; + function SaveToStream(const AStream: TStream; const Bitmap: TBitmapSurface; const Extension: string; + const SaveParams: PBitmapCodecSaveParams = nil): Boolean; override; + end; + +const + SSVGImageExtension = '.svg'; // do not localize + SVSVG = 'SVG files'; + +procedure DebugGDIPlus(level: DebugEventLevel; message: PChar); stdcall; +begin + OutputDebugString(PChar('DebugGDIPlus ' + message)); +end; + + +class procedure TBitmapCodecSVG.InitGDIPlus; +var + Status: TStatus; +begin + // Initialize StartupInput structure + StartupInput.DebugEventCallback := DebugGDIPlus; + StartupInput.SuppressBackgroundThread := False; + StartupInput.SuppressExternalCodecs := False; + StartupInput.GdiplusVersion := 1; + + Status := GdiplusStartup(gdiplusToken, @StartupInput, nil); + OutputDebugString(PChar('InitGDIPlus.Status=' + IntToStr(Ord(Status)))); +end; + +class constructor TBitmapCodecSVG.Create; +begin +end; + +class function TBitmapCodecSVG.GetImageSize(const AFileName: string): TPointF; +var + SVG: TSVG; +begin + SVG := TSVG.Create; + try + try + SVG.LoadFromFile(AFileName); + Result := TPointF.Create(SVG.Width, SVG.Height); + finally + SVG.Free; + end; + except + Result := TPointF.Create(0, 0); + end; +end; + +class function TBitmapCodecSVG.IsValid(const AStream: TStream): Boolean; +var + SVG: TSVG; +begin + OutputDebugString('IsValid'); + SVG := TSVG.Create; + try + try + SVG.LoadFromStream(AStream); + Result := (SVG.Width > 0) and (SVG.Height > 0); + OutputDebugString(PChar(BoolToStr(Result, True))); + finally + SVG.Free; + end; + except + Result := False; + end; +end; + +function TBitmapCodecSVG.LoadFromFile(const AFileName: string; const Bitmap: TBitmapSurface; + const MaxSizeLimit: Cardinal): Boolean; +var + Stream: TFileStream; +begin + OutputDebugString('LoadFromFile'); + Stream := TFileStream.Create(AFileName, fmOpenRead); + try + Result := LoadFromStream(Stream, Bitmap, MaxSizeLimit); + finally + Stream.Free; + end; +end; + +function TBitmapCodecSVG.SaveToFile(const AFileName: string; const Bitmap: TBitmapSurface; + const SaveParams: PBitmapCodecSaveParams = nil): Boolean; +begin + Result := False; +end; + +function TBitmapCodecSVG.LoadThumbnailFromFile(const AFileName: string; + const AFitWidth, AFitHeight: Single; const UseEmbedded: Boolean; + const Bitmap: TBitmapSurface): Boolean; +begin + OutputDebugString('LoadThumbnailFromFile'); + Result := False; +end; + +function TBitmapCodecSVG.CopyToSurface(const ASVG: TSVG; const Bitmap: TBitmapSurface): Boolean; +var + GPGraphics: TGPGraphics; + GPBitmap: TGPBitmap; + GPRectF: TGPRectF; + RectArray: TRectarray; + GPRect: TGPRect; + GPBitmapData: Winapi.GDIPAPI.TBitmapData; + Source: PByte; + Dest: PByte; + Y: Integer; + Status: TStatus; + IntWidth: Integer; + IntHeight: Integer; +begin + Result := False; + IntWidth := Trunc(ASVG.Width); + IntHeight := Trunc(ASVG.Height); + OutputDebugString(PChar('CopyToSurface ' + IntToStr(IntWidth) + ' ' + IntToStr(IntHeight))); + GPBitmap := TGPBitmap.Create(IntWidth, IntHeight); + Status := GPBitmap.GetLastStatus; + if Status <> TStatus.Ok then + begin + OutputDebugString(PChar('GPBitmap ' + IntToStr(Ord(Status)))); + Exit; + end; + + GPGraphics := TGPGraphics.Create(GPBitmap); + try + Status := GPGraphics.SetSmoothingMode(SmoothingModeAntiAlias); + OutputDebugString(PChar('SetSmoothingMode ' + IntToStr(Ord(Status)))); + + GPRectF.X := 0; + GPRectF.Y := 0; + GPRectF.Width := ASVG.Width; + GPRectF.Height := ASVG.Height; + + RectArray := TRectArray.Create(TRect.Create(0, 0, Trunc(ASVG.Width), Trunc(ASVG.Height))); + ASVG.PaintTo(GPGraphics, GPRectF, @RectArray, 1); + + GPRect.X := 0; + GPRect.Y := 0; + GPRect.Width := GPBitmap.GetWidth; + GPRect.Height := GPBitmap.GetHeight; + + OutputDebugString(PChar('CopyToSurface.GPRectWidth '+ IntToStr(GPRect.Width))); + Status := GPBitmap.LockBits(GPRect, ImageLockModeRead, PixelFormat32bppPARGB, GPBitmapData); + if Status = TStatus.Ok then + begin + Bitmap.SetSize(Trunc(ASVG.Width), Trunc(ASVG.Height), TPixelFormat.BGRA); + Source := GPBitmapData.Scan0; + Dest := Bitmap.Bits; + for Y := 0 to GPBitmapData.Height - 1 do + begin + Move(Source^, Dest^, GPBitmapData.Stride); + Source := Source + GPBitmapData.Stride; + Dest := Dest + Bitmap.Pitch; + end; + + GPBitmap.UnlockBits(GPBitmapData); + Result := True; + end + else + begin + OutputDebugString(PChar('CopyToSurface.Lockbits error ' + IntToStr(Ord(Status)))); + end; + finally + GPGraphics.Free; + GPBitmap.Free; + end; +end; + +function TBitmapCodecSVG.LoadFromStream(const AStream: TStream; const Bitmap: TBitmapSurface; + const MaxSizeLimit: Cardinal): Boolean; +var + SVG: TSVG; +begin + InitGDIPlus; + OutputDebugString('LoadFromStream'); + try + SVG := TSVG.Create; + try + SVG.LoadFromStream(AStream); + Result := CopyToSurface(SVG, Bitmap); + finally + SVG.Free; + end; + except + on E: Exception do + begin + OutputDebugString(PChar('LoadFromStream.E ' + E.Message)); + Result := False; + end; + end; +end; + +function TBitmapCodecSVG.SaveToStream(const AStream: TStream; const Bitmap: TBitmapSurface; + const Extension: string; const SaveParams: PBitmapCodecSaveParams = nil): Boolean; +begin + Result := False; +end; + +initialization + TBitmapCodecManager.RegisterBitmapCodecClass(SSVGImageExtension, SVSVG, True, + TBitmapCodecSVG); +finalization + TBitmapCodecManager.UnregisterBitmapCodecClass(SSVGImageExtension); +end. diff --git a/Svg/GDIPKerning.pas b/Svg/GDIPKerning.pas index 36f83994..66b570ee 100644 --- a/Svg/GDIPKerning.pas +++ b/Svg/GDIPKerning.pas @@ -1,607 +1,607 @@ -{******************************************************************} -{ GDIPKerning } -{ } -{ home page : http://www.mwcs.de } -{ email : martin.walter@mwcs.de } -{ } -{ date : 20-11-2007 } -{ } -{ version : 1.1 } -{ } -{ Use of this file is permitted for commercial and non-commercial } -{ use, as long as the author is credited. } -{ This file (c) 2007 Martin Walter } -{ } -{ This Software is distributed on an "AS IS" basis, WITHOUT } -{ WARRANTY OF ANY KIND, either express or implied. } -{ } -{ *****************************************************************} - -unit GDIPKerning; - -interface - -uses - Winapi.Windows, System.Classes, Winapi.GDIPAPI, Winapi.GDIPOBJ; - -type - TKerningPairs = array of TKerningPair; - PKerningPairs = ^TKerningPairs; - - TKerning = record - Chars: Cardinal; - Cell: Integer; - Kerning: Integer; - end; - - PKerning = ^TKerning; - - TGPKerningText = class(TObject) - private - FKerningList: TList; - FKerningPairs: TKerningPairs; - FPairCount: Integer; - FLastFont: WideString; - FLastWeight: Integer; - FLastStyle: Integer; - FFontSizeFactor: Single; - - FFont: HFont; - FOldFont: HFont; - FDC: HDC; - FGPFont: TGPFont; - - procedure PrepareDC; - procedure UnprepareDC; - procedure PrepareFont(const LF: TLogFontW); - procedure UnprepareFont; - procedure PrepareKerning(const Font: TGPFont); overload; - procedure PrepareKerning(const Font: TGPFont; const Graphics: TGPGraphics; - WithFactor: Boolean); overload; - procedure UnprepareKerning; - procedure ClearKerningList; - procedure AddToKerningList(const First, Second: Word; - Cell, Kerning: Integer); - function IndexOfKerning(const First, Second: Word): Integer; - - function GetDistance(const Index: Integer; - const DistanceFactor, KerningFactor: Single): Single; - - procedure Clear; - - function AddGlyphToPath(const Path: TGPGraphicsPath; const Char: WideChar; - const Family: TGPFontFamily; const Style: Integer; const Size: Single; - const Origin: TGPPointF; const Format: TGPStringFormat): TStatus; - - function AddGlyphToGraphics(const Graphics: TGPGraphics; - const Char: WideChar; const Font: TGPFont; const Origin: TGPPointF; - const Format: TGPStringFormat; const Brush: TGPBrush): TStatus; - - procedure AddUnderline(const Path: TGPGraphicsPath; - const Left, Top, Width: Single; const Font: TGPFont); - - procedure AddStrikeOut(const Path: TGPGraphicsPath; - const Left, Top, Width: Single; const Font: TGPFont); - public - constructor Create; - destructor Destroy; override; - - function AddToPath(const Path, UPath, SPath: TGPGraphicsPath; - const Text: WideString; const Family: TGPFontFamily; Style: Integer; - const Size: Single; Origin: TGPPointF; const Format: TGPStringFormat; - const DistanceFactor: Single = 1; - const KerningFactor: Single = 1): TStatus; overload; - - function AddToPath(const Path, UPath, SPath: TGPGraphicsPath; - const Text: WideString; const Family: TGPFontFamily; Style: Integer; - const Size: Single; Origin: TGPPoint; const Format: TGPStringFormat; - const DistanceFactor: Single = 1; - const KerningFactor: Single = 1): TStatus; overload; - - function AddToPath(const Path: TGPGraphicsPath; const Text: WideString; - const Family: TGPFontFamily; Style: Integer; const Size: Single; - Origin: TGPPointF; const Format: TGPStringFormat; - const DistanceFactor: Single = 1; - const KerningFactor: Single = 1): TStatus; overload; - - function AddToPath(const Path: TGPGraphicsPath; const Text: WideString; - const Family: TGPFontFamily; const Style: Integer; const Size: Single; - Origin: TGPPoint; const Format: TGPStringFormat; - const DistanceFactor: Single = 1; - const KerningFactor: Single = 1): TStatus; overload; - - function AddToGraphics(const Graphics: TGPGraphics; - const Text: WideString; const Font: TGPFont; Origin: TGPPointF; - const Format: TGPStringFormat; const Brush: TGPBrush; - const DistanceFactor: Single = 1; - const KerningFactor: Single = 1): TStatus; overload; - - function AddToGraphics(const Graphics: TGPGraphics; - const Text: WideString; const Font: TGPFont; Origin: TGPPoint; - const Format: TGPStringFormat; const Brush: TGPBrush; - const DistanceFactor: Single = 1; - const KerningFactor: Single = 1): TStatus; overload; - - function MeasureText(const Text: WideString; const Font: TGPFont; - const DistanceFactor: Single = 1; - const KerningFactor: Single = 1): Single; - - function GetCellWidth(const First, Second: Word; - const DistanceFactor: Single = 1; - const KerningFactor: Single = 1): Single; - - procedure Prepare(const Family: TGPFontFamily; Style: Integer; - const Size: Single; const Format: TGPStringFormat); - - procedure Unprepare; - end; - -function KerningText: TGPKerningText; - -implementation - -var - FKerningText: TGPKerningText; - -function KerningText: TGPKerningText; -begin - if not Assigned(FKerningText) then - FKerningText := TGPKerningText.Create; - - Result := FKerningText; -end; - -{ TKerningText } - -function TGPKerningText.AddGlyphToGraphics(const Graphics: TGPGraphics; - const Char: WideChar; const Font: TGPFont; const Origin: TGPPointF; - const Format: TGPStringFormat; const Brush: TGPBrush): TStatus; -begin - Result := Graphics.DrawString(Char, -1, Font, Origin, Format, Brush); -end; - -function TGPKerningText.AddGlyphToPath(const Path: TGPGraphicsPath; - const Char: WideChar; const Family: TGPFontFamily; const Style: Integer; - const Size: Single; const Origin: TGPPointF; - const Format: TGPStringFormat): TStatus; -begin - Result := Path.AddString(Char, -1, Family, Style, Size, Origin, Format); -end; - -procedure TGPKerningText.AddStrikeOut(const Path: TGPGraphicsPath; - const Left, Top, Width: Single; const Font: TGPFont); -var - YPos: Single; - Height: Single; -begin - YPos := Top + Font.GetSize / 2; - Height := Font.GetSize / 10; - Path.SetFillMode(FillModeWinding); - Path.AddRectangle(MakeRect(Left, YPos, Width, Height)); -end; - -function TGPKerningText.AddToGraphics(const Graphics: TGPGraphics; - const Text: WideString; const Font: TGPFont; Origin: TGPPointF; - const Format: TGPStringFormat; const Brush: TGPBrush; - const DistanceFactor: Single = 1; const KerningFactor: Single = 1): TStatus; -var - P1, P2: PWideChar; - Status: TStatus; -begin - Status := Ok; - if Text = '' then - begin - Result := Ok; - Exit; - end; - - PrepareKerning(Font, Graphics, False); - try - P1 := PWideChar(Text); - while (P1^ <> #0) do - begin - Status := AddGlyphToGraphics(Graphics, P1^, Font, Origin, Format, Brush); - if Status <> Ok then - Break; - P2 := P1 + 1; - Origin.X := Origin.X + GetCellWidth(Word(P1^), Word(P2^), - DistanceFactor, KerningFactor); - Inc(P1); - end; - finally - UnprepareDC; - end; - Result := Status; -end; - -function TGPKerningText.AddToGraphics(const Graphics: TGPGraphics; - const Text: WideString; const Font: TGPFont; Origin: TGPPoint; - const Format: TGPStringFormat; const Brush: TGPBrush; - const DistanceFactor: Single = 1; const KerningFactor: Single = 1): TStatus; -var - OriginF: TGPPointF; -begin - OriginF.X := Origin.X; - OriginF.Y := Origin.Y; - Result := AddToGraphics(Graphics, Text, Font, OriginF, Format, Brush, - DistanceFactor, KerningFactor); -end; - -procedure TGPKerningText.AddToKerningList(const First, Second: Word; - Cell, Kerning: Integer); -var - Item: PKerning; -begin - GetMem(Item, SizeOf(TKerning)); - Item^.Chars := First shl 16 + Second; - Item^.Cell := Cell; - Item^.Kerning := Kerning; - FKerningList.Add(Item); -end; - -procedure TGPKerningText.Clear; -begin - UnprepareKerning; - UnprepareDC; - UnprepareFont; - - FGPFont.Free; - FGPFont := nil; -end; - -procedure TGPKerningText.ClearKerningList; -var - C: Integer; -begin - for C := 0 to FKerningList.Count - 1 do - FreeMem(FKerningList[C]); - - FKerningList.Clear; -end; - -constructor TGPKerningText.Create; -begin - inherited; - FKerningList := TList.Create; -end; - -destructor TGPKerningText.Destroy; -begin - Clear; - FKerningList.Free; - - inherited; -end; - -function TGPKerningText.GetCellWidth(const First, Second: Word; - const DistanceFactor: Single = 1; const KerningFactor: Single = 1): Single; -var - GM: TGlyphMetrics; - Count: Cardinal; - Cell: Integer; - Kerning: Integer; - Mat: TMat2; - C: Integer; -begin - C := IndexOfKerning(First, Second); - if C <> -1 then - begin - Result := GetDistance(C, DistanceFactor, KerningFactor) * FFontSizeFactor; - Exit; - end; - - FillChar(Mat, SizeOf(Mat), 0); - Mat.eM11.value := 1; - Mat.eM22.value := 1; - - Count := GetGlyphOutlineW(FDC, First, GGO_METRICS, GM, 0, nil, Mat); - if (Count = GDI_ERROR) then - begin - Result := -1; - Exit; - end; - - Cell := GM.gmCellIncX + GM.gmCellIncY; - Kerning := 0; - - for C := 0 to FPairCount - 1 do - begin - if (FKerningPairs[C].wFirst = First) and - (FKerningPairs[C].wSecond = Second) then - begin - Kerning := FKerningPairs[C].iKernAmount; - Break; - end; - end; - - AddToKerningList(First, Second, Cell, Kerning); - - Result := (Cell * DistanceFactor + Kerning * KerningFactor) * FFontSizeFactor; -end; - -function TGPKerningText.GetDistance(const Index: Integer; - const DistanceFactor, KerningFactor: Single): Single; -var - Kerning: PKerning; -begin - Kerning := PKerning(FKerningList[Index]); - Result := Kerning^.Cell * DistanceFactor + Kerning^.Kerning * KerningFactor; -end; - -function TGPKerningText.IndexOfKerning(const First, Second: Word): Integer; -var - Chars: Cardinal; -begin - Chars := First shl 16 + Second; - for Result := 0 to FKerningList.Count - 1 do - if PKerning(FKerningList[Result])^.Chars = Chars then - Exit; - Result := -1; -end; - -function TGPKerningText.MeasureText(const Text: WideString; - const Font: TGPFont; const DistanceFactor: Single = 1; - const KerningFactor: Single = 1): Single; -var - P1, P2: PWideChar; -begin - Result := 0; - - if Text = '' then - Exit; - - PrepareKerning(Font); - try - P1 := PWideChar(Text); - while (P1^ <> #0) do - begin - P2 := P1 + 1; - Result := Result + GetCellWidth(Word(P1^), Word(P2^), DistanceFactor, - KerningFactor); - Inc(P1); - end; - finally - UnprepareDC; - end; -end; - -procedure TGPKerningText.Prepare(const Family: TGPFontFamily; Style: Integer; - const Size: Single; const Format: TGPStringFormat); -begin - FGPFont.Free; - FGPFont := TGPFont.Create(Family, Size, Style); - PrepareKerning(FGPFont); -end; - -procedure TGPKerningText.PrepareDC; -begin - if (FDC <> 0) then - Exit; - - FDC := GetDC(0); - FOldFont := SelectObject(FDC, FFont); -end; - -procedure TGPKerningText.PrepareFont(const LF: TLogFontW); -begin - if (FFont <> 0) then - Exit; - - FFont := CreateFontIndirectW(LF); -end; - -procedure TGPKerningText.PrepareKerning(const Font: TGPFont; - const Graphics: TGPGraphics; WithFactor: Boolean); -var - LF: TLogFontW; - S: WideString; - DC: HDC; - Factor, Size: Single; -begin - Font.GetLogFontW(Graphics, LF); - - Size := Font.GetSize; - - if Font.GetUnit in [UnitWorld, UnitPixel] then - WithFactor := True; - - if WithFactor then - begin - FFontSizeFactor := Size / 1000; - LF.lfHeight := -1000; - //LF.lfHeight := Round(Size * -1000) - end - else - begin - DC := Graphics.GetHDC; - Factor := -GetDeviceCaps(DC, LOGPIXELSY) / 72; - FFontSizeFactor := Size * Factor / 1000; - LF.lfHeight := 1000; - //LF.lfHeight := Round(Size * Factor * 1000); - Graphics.ReleaseHDC(DC); - end; - - - S := LF.lfFaceName; - if (S = FLastFont) and - (LF.lfWeight = FLastWeight) and (LF.lfItalic = FLastStyle) then - begin - PrepareDC; - Exit; - end else - UnprepareFont; - - FLastFont := WideString(LF.lfFaceName); - FLastWeight := LF.lfWeight; - FLastStyle := LF.lfItalic; - - PrepareFont(LF); - PrepareDC; - ClearKerningList; - - FPairCount := GetKerningPairs(FDC, 0, PKerningPair(nil)^); - if (FPairCount > 0) then - begin - SetLength(FKerningPairs, FPairCount); - GetKerningPairs(FDC, FPairCount, FKerningPairs[0]); - end; -end; - -procedure TGPKerningText.PrepareKerning(const Font: TGPFont); -var - G: TGPGraphics; - DC: HDC; -begin - DC := GetDC(0); - G := TGPGraphics.Create(DC); - PrepareKerning(Font, G, True); - G.Free; - ReleaseDC(0, DC); -end; - -function TGPKerningText.AddToPath(const Path: TGPGraphicsPath; - const Text: WideString; const Family: TGPFontFamily; Style: Integer; - const Size: Single; Origin: TGPPointF; const Format: TGPStringFormat; - const DistanceFactor: Single = 1;const KerningFactor: Single = 1): TStatus; -begin - Result := AddToPath(Path, Path, Path, Text, - Family, Style, Size, Origin, Format, DistanceFactor, KerningFactor); -end; - -function TGPKerningText.AddToPath(const Path: TGPGraphicsPath; - const Text: WideString; const Family: TGPFontFamily; const Style: Integer; - const Size: Single; Origin: TGPPoint; const Format: TGPStringFormat; - const DistanceFactor: Single = 1;const KerningFactor: Single = 1): TStatus; -var - OriginF: TGPPointF; -begin - OriginF.X := Origin.X; - OriginF.Y := Origin.Y; - Result := AddToPath(Path, Text, - Family, Style, Size, OriginF, Format, DistanceFactor, KerningFactor); -end; - -function TGPKerningText.AddToPath(const Path, UPath, SPath: TGPGraphicsPath; - const Text: WideString; const Family: TGPFontFamily; Style: Integer; - const Size: Single; Origin: TGPPointF; const Format: TGPStringFormat; - const DistanceFactor: Single = 1;const KerningFactor: Single = 1): TStatus; -var - P1, P2: PWideChar; - Status: TStatus; - Font: TGPFont; - - Underline, StrikeOut: Boolean; - X, Width: Single; -begin - Status := Ok; - if Text = '' then - begin - Result := Ok; - Exit; - end; - - Underline := Style and FontStyleUnderline = FontStyleUnderline; - StrikeOut := Style and FontStyleStrikeout = FontStyleStrikeout; - - Style := Style and not FontStyleUnderline and not FontStyleStrikeout; - - Font := TGPFont.Create(Family, Size, Style); - try - PrepareKerning(Font); - - X := Origin.X; - if Underline or StrikeOut then - Width := MeasureText(Text, Font, DistanceFactor, KerningFactor) - else - Width := 0; - - if StrikeOut then - AddStrikeOut(SPath, X, Origin.Y, Width, Font); - - try - P1 := PWideChar(Text); - while (P1^ <> #0) do - begin - Status := AddGlyphToPath(Path, P1^, Family, Style, Size, Origin, Format); - if Status <> Ok then - Break; - P2 := P1 + 1; - Origin.X := Origin.X + GetCellWidth(Word(P1^), Word(P2^), - DistanceFactor, KerningFactor); - Inc(P1); - end; - finally - UnprepareDC; - end; - - if Underline then - AddUnderline(UPath, X, Origin.Y, Width, Font); - finally - Font.Free; - end; - - Result := Status; -end; - -function TGPKerningText.AddToPath(const Path, UPath, SPath: TGPGraphicsPath; - const Text: WideString; const Family: TGPFontFamily; Style: Integer; - const Size: Single; Origin: TGPPoint; const Format: TGPStringFormat; - const DistanceFactor: Single = 1; const KerningFactor: Single = 1): TStatus; -var - OriginF: TGPPointF; -begin - OriginF.X := Origin.X; - OriginF.Y := Origin.Y; - Result := AddToPath(Path, UPath, SPath, Text, Family, Style, Size, - OriginF, Format, DistanceFactor, KerningFactor); -end; - -procedure TGPKerningText.AddUnderline(const Path: TGPGraphicsPath; - const Left, Top, Width: Single; const Font: TGPFont); -var - YPos: Single; - Height: Single; -begin - YPos := Top + Font.GetSize; - Height := Font.GetSize / 10; - Path.SetFillMode(FillModeWinding); - Path.AddRectangle(MakeRect(Left, YPos, Width, Height)); -end; - -procedure TGPKerningText.Unprepare; -begin - UnprepareDC; - FGPFont.Free; - FGPFont := nil; -end; - -procedure TGPKerningText.UnprepareDC; -begin - if (FOldFont <> 0) and (FDC <> 0) then - SelectObject(FDC, FOldFont); - FoldFont := 0; - - if FDC <> 0 then - ReleaseDC(0, FDC); - FDC := 0; -end; - -procedure TGPKerningText.UnprepareFont; -begin - if FFont <> 0 then - DeleteObject(FFont); - FFont := 0; -end; - -procedure TGPKerningText.UnprepareKerning; -begin - SetLength(FKerningPairs, 0); - FPairCount := 0; - ClearKerningList; -end; - -initialization - FKerningText := nil; -finalization - FKerningText.Free; -end. +{******************************************************************} +{ GDIPKerning } +{ } +{ home page : http://www.mwcs.de } +{ email : martin.walter@mwcs.de } +{ } +{ date : 20-11-2007 } +{ } +{ version : 1.1 } +{ } +{ Use of this file is permitted for commercial and non-commercial } +{ use, as long as the author is credited. } +{ This file (c) 2007 Martin Walter } +{ } +{ This Software is distributed on an "AS IS" basis, WITHOUT } +{ WARRANTY OF ANY KIND, either express or implied. } +{ } +{ *****************************************************************} + +unit GDIPKerning; + +interface + +uses + Winapi.Windows, System.Classes, Winapi.GDIPAPI, Winapi.GDIPOBJ; + +type + TKerningPairs = array of TKerningPair; + PKerningPairs = ^TKerningPairs; + + TKerning = record + Chars: Cardinal; + Cell: Integer; + Kerning: Integer; + end; + + PKerning = ^TKerning; + + TGPKerningText = class(TObject) + private + FKerningList: TList; + FKerningPairs: TKerningPairs; + FPairCount: Integer; + FLastFont: WideString; + FLastWeight: Integer; + FLastStyle: Integer; + FFontSizeFactor: Single; + + FFont: HFont; + FOldFont: HFont; + FDC: HDC; + FGPFont: TGPFont; + + procedure PrepareDC; + procedure UnprepareDC; + procedure PrepareFont(const LF: TLogFontW); + procedure UnprepareFont; + procedure PrepareKerning(const Font: TGPFont); overload; + procedure PrepareKerning(const Font: TGPFont; const Graphics: TGPGraphics; + WithFactor: Boolean); overload; + procedure UnprepareKerning; + procedure ClearKerningList; + procedure AddToKerningList(const First, Second: Word; + Cell, Kerning: Integer); + function IndexOfKerning(const First, Second: Word): Integer; + + function GetDistance(const Index: Integer; + const DistanceFactor, KerningFactor: Single): Single; + + procedure Clear; + + function AddGlyphToPath(const Path: TGPGraphicsPath; const Char: WideChar; + const Family: TGPFontFamily; const Style: Integer; const Size: Single; + const Origin: TGPPointF; const Format: TGPStringFormat): TStatus; + + function AddGlyphToGraphics(const Graphics: TGPGraphics; + const Char: WideChar; const Font: TGPFont; const Origin: TGPPointF; + const Format: TGPStringFormat; const Brush: TGPBrush): TStatus; + + procedure AddUnderline(const Path: TGPGraphicsPath; + const Left, Top, Width: Single; const Font: TGPFont); + + procedure AddStrikeOut(const Path: TGPGraphicsPath; + const Left, Top, Width: Single; const Font: TGPFont); + public + constructor Create; + destructor Destroy; override; + + function AddToPath(const Path, UPath, SPath: TGPGraphicsPath; + const Text: WideString; const Family: TGPFontFamily; Style: Integer; + const Size: Single; Origin: TGPPointF; const Format: TGPStringFormat; + const DistanceFactor: Single = 1; + const KerningFactor: Single = 1): TStatus; overload; + + function AddToPath(const Path, UPath, SPath: TGPGraphicsPath; + const Text: WideString; const Family: TGPFontFamily; Style: Integer; + const Size: Single; Origin: TGPPoint; const Format: TGPStringFormat; + const DistanceFactor: Single = 1; + const KerningFactor: Single = 1): TStatus; overload; + + function AddToPath(const Path: TGPGraphicsPath; const Text: WideString; + const Family: TGPFontFamily; Style: Integer; const Size: Single; + Origin: TGPPointF; const Format: TGPStringFormat; + const DistanceFactor: Single = 1; + const KerningFactor: Single = 1): TStatus; overload; + + function AddToPath(const Path: TGPGraphicsPath; const Text: WideString; + const Family: TGPFontFamily; const Style: Integer; const Size: Single; + Origin: TGPPoint; const Format: TGPStringFormat; + const DistanceFactor: Single = 1; + const KerningFactor: Single = 1): TStatus; overload; + + function AddToGraphics(const Graphics: TGPGraphics; + const Text: WideString; const Font: TGPFont; Origin: TGPPointF; + const Format: TGPStringFormat; const Brush: TGPBrush; + const DistanceFactor: Single = 1; + const KerningFactor: Single = 1): TStatus; overload; + + function AddToGraphics(const Graphics: TGPGraphics; + const Text: WideString; const Font: TGPFont; Origin: TGPPoint; + const Format: TGPStringFormat; const Brush: TGPBrush; + const DistanceFactor: Single = 1; + const KerningFactor: Single = 1): TStatus; overload; + + function MeasureText(const Text: WideString; const Font: TGPFont; + const DistanceFactor: Single = 1; + const KerningFactor: Single = 1): Single; + + function GetCellWidth(const First, Second: Word; + const DistanceFactor: Single = 1; + const KerningFactor: Single = 1): Single; + + procedure Prepare(const Family: TGPFontFamily; Style: Integer; + const Size: Single; const Format: TGPStringFormat); + + procedure Unprepare; + end; + +function KerningText: TGPKerningText; + +implementation + +var + FKerningText: TGPKerningText; + +function KerningText: TGPKerningText; +begin + if not Assigned(FKerningText) then + FKerningText := TGPKerningText.Create; + + Result := FKerningText; +end; + +{ TKerningText } + +function TGPKerningText.AddGlyphToGraphics(const Graphics: TGPGraphics; + const Char: WideChar; const Font: TGPFont; const Origin: TGPPointF; + const Format: TGPStringFormat; const Brush: TGPBrush): TStatus; +begin + Result := Graphics.DrawString(Char, -1, Font, Origin, Format, Brush); +end; + +function TGPKerningText.AddGlyphToPath(const Path: TGPGraphicsPath; + const Char: WideChar; const Family: TGPFontFamily; const Style: Integer; + const Size: Single; const Origin: TGPPointF; + const Format: TGPStringFormat): TStatus; +begin + Result := Path.AddString(Char, -1, Family, Style, Size, Origin, Format); +end; + +procedure TGPKerningText.AddStrikeOut(const Path: TGPGraphicsPath; + const Left, Top, Width: Single; const Font: TGPFont); +var + YPos: Single; + Height: Single; +begin + YPos := Top + Font.GetSize / 2; + Height := Font.GetSize / 10; + Path.SetFillMode(FillModeWinding); + Path.AddRectangle(MakeRect(Left, YPos, Width, Height)); +end; + +function TGPKerningText.AddToGraphics(const Graphics: TGPGraphics; + const Text: WideString; const Font: TGPFont; Origin: TGPPointF; + const Format: TGPStringFormat; const Brush: TGPBrush; + const DistanceFactor: Single = 1; const KerningFactor: Single = 1): TStatus; +var + P1, P2: PWideChar; + Status: TStatus; +begin + Status := Ok; + if Text = '' then + begin + Result := Ok; + Exit; + end; + + PrepareKerning(Font, Graphics, False); + try + P1 := PWideChar(Text); + while (P1^ <> #0) do + begin + Status := AddGlyphToGraphics(Graphics, P1^, Font, Origin, Format, Brush); + if Status <> Ok then + Break; + P2 := P1 + 1; + Origin.X := Origin.X + GetCellWidth(Word(P1^), Word(P2^), + DistanceFactor, KerningFactor); + Inc(P1); + end; + finally + UnprepareDC; + end; + Result := Status; +end; + +function TGPKerningText.AddToGraphics(const Graphics: TGPGraphics; + const Text: WideString; const Font: TGPFont; Origin: TGPPoint; + const Format: TGPStringFormat; const Brush: TGPBrush; + const DistanceFactor: Single = 1; const KerningFactor: Single = 1): TStatus; +var + OriginF: TGPPointF; +begin + OriginF.X := Origin.X; + OriginF.Y := Origin.Y; + Result := AddToGraphics(Graphics, Text, Font, OriginF, Format, Brush, + DistanceFactor, KerningFactor); +end; + +procedure TGPKerningText.AddToKerningList(const First, Second: Word; + Cell, Kerning: Integer); +var + Item: PKerning; +begin + GetMem(Item, SizeOf(TKerning)); + Item^.Chars := First shl 16 + Second; + Item^.Cell := Cell; + Item^.Kerning := Kerning; + FKerningList.Add(Item); +end; + +procedure TGPKerningText.Clear; +begin + UnprepareKerning; + UnprepareDC; + UnprepareFont; + + FGPFont.Free; + FGPFont := nil; +end; + +procedure TGPKerningText.ClearKerningList; +var + C: Integer; +begin + for C := 0 to FKerningList.Count - 1 do + FreeMem(FKerningList[C]); + + FKerningList.Clear; +end; + +constructor TGPKerningText.Create; +begin + inherited; + FKerningList := TList.Create; +end; + +destructor TGPKerningText.Destroy; +begin + Clear; + FKerningList.Free; + + inherited; +end; + +function TGPKerningText.GetCellWidth(const First, Second: Word; + const DistanceFactor: Single = 1; const KerningFactor: Single = 1): Single; +var + GM: TGlyphMetrics; + Count: Cardinal; + Cell: Integer; + Kerning: Integer; + Mat: TMat2; + C: Integer; +begin + C := IndexOfKerning(First, Second); + if C <> -1 then + begin + Result := GetDistance(C, DistanceFactor, KerningFactor) * FFontSizeFactor; + Exit; + end; + + FillChar(Mat, SizeOf(Mat), 0); + Mat.eM11.value := 1; + Mat.eM22.value := 1; + + Count := GetGlyphOutlineW(FDC, First, GGO_METRICS, GM, 0, nil, Mat); + if (Count = GDI_ERROR) then + begin + Result := -1; + Exit; + end; + + Cell := GM.gmCellIncX + GM.gmCellIncY; + Kerning := 0; + + for C := 0 to FPairCount - 1 do + begin + if (FKerningPairs[C].wFirst = First) and + (FKerningPairs[C].wSecond = Second) then + begin + Kerning := FKerningPairs[C].iKernAmount; + Break; + end; + end; + + AddToKerningList(First, Second, Cell, Kerning); + + Result := (Cell * DistanceFactor + Kerning * KerningFactor) * FFontSizeFactor; +end; + +function TGPKerningText.GetDistance(const Index: Integer; + const DistanceFactor, KerningFactor: Single): Single; +var + Kerning: PKerning; +begin + Kerning := PKerning(FKerningList[Index]); + Result := Kerning^.Cell * DistanceFactor + Kerning^.Kerning * KerningFactor; +end; + +function TGPKerningText.IndexOfKerning(const First, Second: Word): Integer; +var + Chars: Cardinal; +begin + Chars := First shl 16 + Second; + for Result := 0 to FKerningList.Count - 1 do + if PKerning(FKerningList[Result])^.Chars = Chars then + Exit; + Result := -1; +end; + +function TGPKerningText.MeasureText(const Text: WideString; + const Font: TGPFont; const DistanceFactor: Single = 1; + const KerningFactor: Single = 1): Single; +var + P1, P2: PWideChar; +begin + Result := 0; + + if Text = '' then + Exit; + + PrepareKerning(Font); + try + P1 := PWideChar(Text); + while (P1^ <> #0) do + begin + P2 := P1 + 1; + Result := Result + GetCellWidth(Word(P1^), Word(P2^), DistanceFactor, + KerningFactor); + Inc(P1); + end; + finally + UnprepareDC; + end; +end; + +procedure TGPKerningText.Prepare(const Family: TGPFontFamily; Style: Integer; + const Size: Single; const Format: TGPStringFormat); +begin + FGPFont.Free; + FGPFont := TGPFont.Create(Family, Size, Style); + PrepareKerning(FGPFont); +end; + +procedure TGPKerningText.PrepareDC; +begin + if (FDC <> 0) then + Exit; + + FDC := GetDC(0); + FOldFont := SelectObject(FDC, FFont); +end; + +procedure TGPKerningText.PrepareFont(const LF: TLogFontW); +begin + if (FFont <> 0) then + Exit; + + FFont := CreateFontIndirectW(LF); +end; + +procedure TGPKerningText.PrepareKerning(const Font: TGPFont; + const Graphics: TGPGraphics; WithFactor: Boolean); +var + LF: TLogFontW; + S: WideString; + DC: HDC; + Factor, Size: Single; +begin + Font.GetLogFontW(Graphics, LF); + + Size := Font.GetSize; + + if Font.GetUnit in [UnitWorld, UnitPixel] then + WithFactor := True; + + if WithFactor then + begin + FFontSizeFactor := Size / 1000; + LF.lfHeight := -1000; + //LF.lfHeight := Round(Size * -1000) + end + else + begin + DC := Graphics.GetHDC; + Factor := -GetDeviceCaps(DC, LOGPIXELSY) / 72; + FFontSizeFactor := Size * Factor / 1000; + LF.lfHeight := 1000; + //LF.lfHeight := Round(Size * Factor * 1000); + Graphics.ReleaseHDC(DC); + end; + + + S := LF.lfFaceName; + if (S = FLastFont) and + (LF.lfWeight = FLastWeight) and (LF.lfItalic = FLastStyle) then + begin + PrepareDC; + Exit; + end else + UnprepareFont; + + FLastFont := WideString(LF.lfFaceName); + FLastWeight := LF.lfWeight; + FLastStyle := LF.lfItalic; + + PrepareFont(LF); + PrepareDC; + ClearKerningList; + + FPairCount := GetKerningPairs(FDC, 0, PKerningPair(nil)^); + if (FPairCount > 0) then + begin + SetLength(FKerningPairs, FPairCount); + GetKerningPairs(FDC, FPairCount, FKerningPairs[0]); + end; +end; + +procedure TGPKerningText.PrepareKerning(const Font: TGPFont); +var + G: TGPGraphics; + DC: HDC; +begin + DC := GetDC(0); + G := TGPGraphics.Create(DC); + PrepareKerning(Font, G, True); + G.Free; + ReleaseDC(0, DC); +end; + +function TGPKerningText.AddToPath(const Path: TGPGraphicsPath; + const Text: WideString; const Family: TGPFontFamily; Style: Integer; + const Size: Single; Origin: TGPPointF; const Format: TGPStringFormat; + const DistanceFactor: Single = 1;const KerningFactor: Single = 1): TStatus; +begin + Result := AddToPath(Path, Path, Path, Text, + Family, Style, Size, Origin, Format, DistanceFactor, KerningFactor); +end; + +function TGPKerningText.AddToPath(const Path: TGPGraphicsPath; + const Text: WideString; const Family: TGPFontFamily; const Style: Integer; + const Size: Single; Origin: TGPPoint; const Format: TGPStringFormat; + const DistanceFactor: Single = 1;const KerningFactor: Single = 1): TStatus; +var + OriginF: TGPPointF; +begin + OriginF.X := Origin.X; + OriginF.Y := Origin.Y; + Result := AddToPath(Path, Text, + Family, Style, Size, OriginF, Format, DistanceFactor, KerningFactor); +end; + +function TGPKerningText.AddToPath(const Path, UPath, SPath: TGPGraphicsPath; + const Text: WideString; const Family: TGPFontFamily; Style: Integer; + const Size: Single; Origin: TGPPointF; const Format: TGPStringFormat; + const DistanceFactor: Single = 1;const KerningFactor: Single = 1): TStatus; +var + P1, P2: PWideChar; + Status: TStatus; + Font: TGPFont; + + Underline, StrikeOut: Boolean; + X, Width: Single; +begin + Status := Ok; + if Text = '' then + begin + Result := Ok; + Exit; + end; + + Underline := Style and FontStyleUnderline = FontStyleUnderline; + StrikeOut := Style and FontStyleStrikeout = FontStyleStrikeout; + + Style := Style and not FontStyleUnderline and not FontStyleStrikeout; + + Font := TGPFont.Create(Family, Size, Style); + try + PrepareKerning(Font); + + X := Origin.X; + if Underline or StrikeOut then + Width := MeasureText(Text, Font, DistanceFactor, KerningFactor) + else + Width := 0; + + if StrikeOut then + AddStrikeOut(SPath, X, Origin.Y, Width, Font); + + try + P1 := PWideChar(Text); + while (P1^ <> #0) do + begin + Status := AddGlyphToPath(Path, P1^, Family, Style, Size, Origin, Format); + if Status <> Ok then + Break; + P2 := P1 + 1; + Origin.X := Origin.X + GetCellWidth(Word(P1^), Word(P2^), + DistanceFactor, KerningFactor); + Inc(P1); + end; + finally + UnprepareDC; + end; + + if Underline then + AddUnderline(UPath, X, Origin.Y, Width, Font); + finally + Font.Free; + end; + + Result := Status; +end; + +function TGPKerningText.AddToPath(const Path, UPath, SPath: TGPGraphicsPath; + const Text: WideString; const Family: TGPFontFamily; Style: Integer; + const Size: Single; Origin: TGPPoint; const Format: TGPStringFormat; + const DistanceFactor: Single = 1; const KerningFactor: Single = 1): TStatus; +var + OriginF: TGPPointF; +begin + OriginF.X := Origin.X; + OriginF.Y := Origin.Y; + Result := AddToPath(Path, UPath, SPath, Text, Family, Style, Size, + OriginF, Format, DistanceFactor, KerningFactor); +end; + +procedure TGPKerningText.AddUnderline(const Path: TGPGraphicsPath; + const Left, Top, Width: Single; const Font: TGPFont); +var + YPos: Single; + Height: Single; +begin + YPos := Top + Font.GetSize; + Height := Font.GetSize / 10; + Path.SetFillMode(FillModeWinding); + Path.AddRectangle(MakeRect(Left, YPos, Width, Height)); +end; + +procedure TGPKerningText.Unprepare; +begin + UnprepareDC; + FGPFont.Free; + FGPFont := nil; +end; + +procedure TGPKerningText.UnprepareDC; +begin + if (FOldFont <> 0) and (FDC <> 0) then + SelectObject(FDC, FOldFont); + FoldFont := 0; + + if FDC <> 0 then + ReleaseDC(0, FDC); + FDC := 0; +end; + +procedure TGPKerningText.UnprepareFont; +begin + if FFont <> 0 then + DeleteObject(FFont); + FFont := 0; +end; + +procedure TGPKerningText.UnprepareKerning; +begin + SetLength(FKerningPairs, 0); + FPairCount := 0; + ClearKerningList; +end; + +initialization + FKerningText := nil; +finalization + FKerningText.Free; +end. diff --git a/Svg/GDIPOBJ2.pas b/Svg/GDIPOBJ2.pas index 0b62b47e..00300b8a 100644 --- a/Svg/GDIPOBJ2.pas +++ b/Svg/GDIPOBJ2.pas @@ -1,74 +1,74 @@ - { *****************************************************************} - { Added Support for RoundRect (GraphicsPath + TGPGraphics) } - { } - { date : 05-11-2006 } - { } - { email : martin.walter@winningcubed.de } - { } - { *****************************************************************} -unit GDIPOBJ2; - -interface - -uses - Winapi.GDIPAPI, Winapi.GDIPOBJ; - -type - TGPGraphicsPath2 = class(TGPGraphicsPath) - public - function AddRoundRect(Rect: TGPRectF; RX, RY: Single): TStatus; overload; - function AddRoundRect(X, Y, Width, Height, RX, RY: Single): TStatus; overload; - function Clone: TGPGraphicsPath2; - end; - -implementation - -{ TGPGraphicsPath2 } - -function TGPGraphicsPath2.AddRoundRect(Rect: TGPRectF; RX, RY: Single): TStatus; -begin - Result := AddRoundRect(Rect.X, Rect.Y, Rect.Width, Rect.Height, RX, RY); -end; - -function TGPGraphicsPath2.AddRoundRect(X, Y, Width, Height, RX, RY: Single) : TStatus; -begin - Result := AddLine(X + RX, Y, X + Width - RX, Y); - if Result <> OK then - Exit; - Result := AddArc(X + Width - 2 * RX, Y, 2 * RX, 2 * RY, 270, 90); - if Result <> OK then - Exit; - - Result := AddLine(X + Width, Y + RY,X + Width, Y + Height - RY); - if Result <> OK then - Exit; - Result := AddArc(X + Width - 2 * RX, Y + Height - 2 * RY, 2 * RX, 2 * RY, 0, 90); - if Result <> OK then - Exit; - - Result := AddLine(X + Width - RX, Y + Height, X + RX, Y + Height); - if Result <> OK then - Exit; - Result := AddArc(X, Y + Height - 2 * RY, 2 * RX, 2 * RY, 90, 90); - if Result <> OK then - Exit; - - Result := AddLine(X, Y + Height - RY, X, Y + RY); - if Result <> OK then - Exit; - Result := AddArc(X, Y, 2 * RX, 2 * RY, 180, 90); - if Result <> OK then - Exit; - Result := CloseFigure; -end; - -function TGPGraphicsPath2.Clone: TGPGraphicsPath2; -var - ClonePath: GpPath; -begin - Clonepath := nil; - SetStatus(GdipClonePath(nativePath, Clonepath)); - result := TGPGraphicsPath2.Create(ClonePath); -end; - -end. + { *****************************************************************} + { Added Support for RoundRect (GraphicsPath + TGPGraphics) } + { } + { date : 05-11-2006 } + { } + { email : martin.walter@winningcubed.de } + { } + { *****************************************************************} +unit GDIPOBJ2; + +interface + +uses + Winapi.GDIPAPI, Winapi.GDIPOBJ; + +type + TGPGraphicsPath2 = class(TGPGraphicsPath) + public + function AddRoundRect(Rect: TGPRectF; RX, RY: Single): TStatus; overload; + function AddRoundRect(X, Y, Width, Height, RX, RY: Single): TStatus; overload; + function Clone: TGPGraphicsPath2; + end; + +implementation + +{ TGPGraphicsPath2 } + +function TGPGraphicsPath2.AddRoundRect(Rect: TGPRectF; RX, RY: Single): TStatus; +begin + Result := AddRoundRect(Rect.X, Rect.Y, Rect.Width, Rect.Height, RX, RY); +end; + +function TGPGraphicsPath2.AddRoundRect(X, Y, Width, Height, RX, RY: Single) : TStatus; +begin + Result := AddLine(X + RX, Y, X + Width - RX, Y); + if Result <> OK then + Exit; + Result := AddArc(X + Width - 2 * RX, Y, 2 * RX, 2 * RY, 270, 90); + if Result <> OK then + Exit; + + Result := AddLine(X + Width, Y + RY,X + Width, Y + Height - RY); + if Result <> OK then + Exit; + Result := AddArc(X + Width - 2 * RX, Y + Height - 2 * RY, 2 * RX, 2 * RY, 0, 90); + if Result <> OK then + Exit; + + Result := AddLine(X + Width - RX, Y + Height, X + RX, Y + Height); + if Result <> OK then + Exit; + Result := AddArc(X, Y + Height - 2 * RY, 2 * RX, 2 * RY, 90, 90); + if Result <> OK then + Exit; + + Result := AddLine(X, Y + Height - RY, X, Y + RY); + if Result <> OK then + Exit; + Result := AddArc(X, Y, 2 * RX, 2 * RY, 180, 90); + if Result <> OK then + Exit; + Result := CloseFigure; +end; + +function TGPGraphicsPath2.Clone: TGPGraphicsPath2; +var + ClonePath: GpPath; +begin + Clonepath := nil; + SetStatus(GdipClonePath(nativePath, Clonepath)); + result := TGPGraphicsPath2.Create(ClonePath); +end; + +end. diff --git a/Svg/GDIPPathText.pas b/Svg/GDIPPathText.pas index 50c30c68..6c4f0836 100644 --- a/Svg/GDIPPathText.pas +++ b/Svg/GDIPPathText.pas @@ -1,505 +1,505 @@ - {******************************************************************} - { GDIPPathText } - { } - { home page : http://www.mwcs.de } - { email : martin.walter@mwcs.de } - { } - { date : 30-11-2007 } - { } - { version : 1.0 } - { } - { Use of this file is permitted for commercial and non-commercial } - { use, as long as the author is credited. } - { This file (c) 2007 Martin Walter } - { } - { This Software is distributed on an "AS IS" basis, WITHOUT } - { WARRANTY OF ANY KIND, either express or implied. } - { } - { *****************************************************************} - -unit GDIPPathText; - -interface - -uses - Winapi.GDIPAPI, Winapi.GDIPOBJ, GDIPKerning; - -type - TPathPosition = Single; - - TGPPathText = class(TObject) - strict private - FRotation: Single; - FGuidePath: TGPGraphicsPath; - - FFamily: TGPFontFamily; - FStyle: Integer; - FSize: Single; - FFormat: TGPStringFormat; - FDistanceFactor: Single; - FKerningFactor: Single; - FAdditionalMatrix: TGPMatrix; - - function AddGlyphToPath(const Path: TGPGraphicsPath; const Char: WideChar; - const Family: TGPFontFamily; const Style: Integer; const Size: Single; - const Origin: TGPPointF; const Format: TGPStringFormat): TStatus; - - function AddCharacter(const Current, Next: WideChar; - const Path: TGPGraphicsPath; const Position: TPathPosition): TPathPosition; - - function GetPathPoint(const Position: TPathPosition): TGPPointF; - function GetPathPointLength(const Position: TPathPosition): Single; - function GetPathPosition(Indent: Single): TPathPosition; - function FindRightPosition(CenterPos: TPathPosition; - const Radius: Single): TPathPosition; - protected - public - constructor Create(const GuidePath: TGPGraphicsPath; - const Flatness: Single = 10 * FlatnessDefault); - - destructor Destroy; override; - - function AddPathText(const Path: TGPGraphicsPath; - const Text: WideString; const Indent: Single; - const Family: TGPFontFamily; Style: Integer; - const Size: Single; const Format: TGPStringFormat; - const DistanceFactor: Single = 1; const KerningFactor: Single = 1): Single; - - class function GetPathLength(const Path: TGPGraphicsPath): Single; - - property Rotation: Single read FRotation write FRotation; - property AdditionalMatrix: TGPMatrix read FAdditionalMatrix write FAdditionalMatrix; - end; - -implementation - -uses - System.Math, System.SysUtils; - -function GetPoint(P: PGPPointF; Index: Integer): TGPPointF; -begin - Inc(P, Index); - Result := P^; -end; - -function AddPoint(A, B: TGPPointF): TGPPointF; -begin - Result.X := A.X + B.X; - Result.Y := A.Y + B.Y; -end; - -function SubPoint(A, B: TGPPointF): TGPPointF; -begin - Result.X := A.X - B.X; - Result.Y := A.Y - B.Y; -end; - -function GetIntersectionFromCircle(PtA, PtB, Center: TGPPointF; - const R2: Single): Single; -var - Diff: TGPPointF; - rA2, rB2: Single; - A, B, C, D, T, T1, T2, SqrtD: Single; -begin - PtA := SubPoint(PtA, Center); - PtB := SubPoint(PtB, Center); - - rA2 := Sqr(PtA.X) + Sqr(PtA.Y); - rB2 := Sqr(PtB.X) + Sqr(PtB.Y); - - if (rA2 > R2) and (rB2 > R2) then - begin - Result := -1; - Exit; - end; - - if (rA2 < R2) and (rB2 < R2) then - begin - Result := -1; - Exit; - end; - - Diff := SubPoint(PtB, PtA); - - A := Sqr(Diff.X) + Sqr(Diff.Y); - B := 2 * (PtA.X * Diff.X + PtA.Y * Diff.Y); - C := rA2 - R2; - D := Sqr(B) - 4 * A * C; - - T := -1; - - A := 2 * A; - if (D = 0) then - T := -B / A - else - if (D > 0) then - begin - SqrtD := Sqrt(D); - T1 := (-B + SqrtD) / A; - T2 := (-B - SqrtD) / A; - - if (T1 >= 0) and (T1 <= 1) then - begin - if (T2 > 0) and (T2 < T1) then - T := T2 - else - T := T1; - end - else - if (T2 >= 0) and (T2 <= 1) then - T := T2; - end; - Result := T; -end; - - -{ TPathText } - -function TGPPathText.AddCharacter(const Current, Next: WideChar; - const Path: TGPGraphicsPath; const Position: TPathPosition): TPathPosition; -var - CharWidth: Single; - GlyphPath: TGPGraphicsPath; - Left, Right, Diff: TGPPointF; - SinAngle, CosAngle: Single; - Matrix: TGPMatrix; - PosRight: TPathPosition; -begin - GlyphPath := TGPGraphicsPath.Create; - try - CharWidth := KerningText.GetCellWidth(Word(Current), Word(Next), - FDistanceFactor, FKerningFactor); - - if (CharWidth = 0) then - begin - Result := -1; - Exit; - end; - - PosRight := FindRightPosition(Position, CharWidth); - if (PosRight < 0) then - begin - Result := PosRight; - Exit; - end; - - Left := GetPathPoint(Position); - Right := GetPathPoint(PosRight); - - Diff := SubPoint(Right, Left); - - CosAngle := Diff.X / CharWidth; - SinAngle := Diff.Y / CharWidth; - - AddGlyphToPath(GlyphPath, Current, FFamily, FStyle, FSize, - MakePoint(0, -FSize), FFormat); - - if Assigned(FAdditionalMatrix) then - GlyphPath.Transform(FAdditionalMatrix); - - Matrix := TGPMatrix.Create(CosAngle, SinAngle, - - Rotation * SinAngle, 1 + Rotation * (CosAngle - 1), - Left.X, Left.Y); - try - GlyphPath.Transform(Matrix); - finally - Matrix.Free; - end; - - Path.AddPath(GlyphPath, False); - Result := PosRight; - finally - GlyphPath.Free; - end; -end; - -function TGPPathText.AddGlyphToPath(const Path: TGPGraphicsPath; - const Char: WideChar; const Family: TGPFontFamily; const Style: Integer; - const Size: Single; const Origin: TGPPointF; - const Format: TGPStringFormat): TStatus; -begin - Result := Path.AddString(Char, -1, Family, Style, Size, Origin, Format); -end; - -function TGPPathText.AddPathText(const Path: TGPGraphicsPath; - const Text: WideString; const Indent: Single; - const Family: TGPFontFamily; Style: Integer; - const Size: Single; const Format: TGPStringFormat; - const DistanceFactor: Single = 1; const KerningFactor: Single = 1): Single; -var - IndentPosition, Position: TPathPosition; - Current, Next: PWideChar; -begin - Result := 0; - Path.SetFillMode(FillModeWinding); - - IndentPosition := GetPathPosition(Indent); - Position := IndentPosition; - - Current := PWideChar(Text); - - FFamily := Family; - FStyle := Style; - FSize := Size; - FFormat := Format; - FDistanceFactor := DistanceFactor; - FKerningFactor := KerningFactor; - - KerningText.Prepare(FFamily, FStyle, FSize, FFormat); - try - while (Current^ <> #0) and (Position >= 0) do - begin - Next := Current + 1; - Position := AddCharacter(Current^, Next^, Path, Position); - if Position >= 0 then - Result := Position; - Inc(Current); - end; - finally - KerningText.Unprepare; - end; - if Result > 0 then - Result := GetPathPointLength(Result - IndentPosition); -end; - -constructor TGPPathText.Create(const GuidePath: TGPGraphicsPath; - const Flatness: Single); -begin - if not Assigned(GuidePath) then - Exception.Create('Path is invalid'); - - inherited Create; - - FGuidePath := GuidePath.Clone; - FRotation := 1; - FGuidePath.Flatten(nil, Flatness); -end; - -destructor TGPPathText.Destroy; -begin - FGuidePath.Free; - inherited; -end; - -function TGPPathText.FindRightPosition(CenterPos: TPathPosition; - const Radius: Single): TPathPosition; -var - StartSegment: Integer; - PD: TPathData; - DistLeft, DistRight: Single; - Start: TGPPointF; - Diff: TGPPointF; - P1, P2: TGPPointF; - C, PointCount: Integer; - Intersection: Single; -begin - if (CenterPos < 0) then - begin - Result := -1; - Exit; - end; - - StartSegment := Floor(CenterPos); - - PointCount := FGuidePath.GetPointCount; - if (StartSegment >= PointCount - 1) then - begin - Result := -1; - Exit; - end; - - PD := TPathData.Create; - try - if (FGuidePath.GetPathData(PD) = Ok) then - begin - Start := GetPathPoint(CenterPos); - - P1 := GetPoint(PD.Points, StartSegment + 1); - - Diff := SubPoint(Start, P1); - DistRight := Sqrt(Sqr(Diff.X) + Sqr(Diff.Y)); - - if (Radius < DistRight) then - begin - Diff := SubPoint(Start, GetPoint(PD.Points, StartSegment)); - DistLeft := Sqrt(Sqr(Diff.X) + Sqr(Diff.Y)); - - Result := StartSegment + 1 - (DistRight - Radius) / (DistRight + DistLeft); - Exit; - end; - - for C := StartSegment + 1 to PointCount - 2 do - begin - P2 := GetPoint(PD.Points, C + 1); - Intersection := GetIntersectionFromCircle(P1, P2, Start, Sqr(Radius)); - P1 := P2; - - if (Intersection >= 0) then - begin - Result := C + Intersection; - Exit; - end; - end; - end; - Result := -1; - finally - PD.Free; - end; -end; - -class function TGPPathText.GetPathLength(const Path: TGPGraphicsPath): Single; -var - P: TGPGraphicsPath; - Count, C: Integer; - PD: TPathData; - P1, P2: TGPPointF; -begin - Result := 0; - P := Path.Clone; - try - P.Flatten(nil, 10 * FlatnessDefault); - - Count := P.GetPointCount; - if Count > 0 then - begin - PD := TPathData.Create; - try - if (P.GetPathData(PD) = Ok) then - begin - P1 := GetPoint(PD.Points, 0); - for C := 0 to Count - 2 do - begin - P2 := GetPoint(PD.Points, C + 1); - P1 := SubPoint(P2, P1); - Result := Result + Sqrt(Sqr(P1.X) + Sqr(P1.Y)); - P1 := P2; - end; - end; - finally - PD.Free; - end; - end; - finally - P.Free; - end; -end; - -function TGPPathText.GetPathPoint(const Position: TPathPosition): TGPPointF; -var - R: TGPPointF; - Segment, Count: Integer; - PD: TPathData; - Diff: TGPPointF; - T: Single; -begin - R := MakePoint(0.0, 0); - - if Position < 0 then - begin - Result := R; - Exit; - end; - - Segment := Floor(Position); - - Count := FGuidePath.GetPointCount; - if (Segment < Count - 1) then - begin - PD := TPathData.Create; - if (FGuidePath.GetPathData(PD) = Ok) then - begin - R := GetPoint(PD.Points, Segment); - Diff := GetPoint(PD.Points, Segment + 1); - - Diff := SubPoint(Diff, R); - - T := Frac(Position); - - R.X := R.X + T * Diff.X; - R.Y := R.Y + T * Diff.Y; - end; - PD.Free; - end; - - Result := R; -end; - -function TGPPathText.GetPathPointLength(const Position: TPathPosition): Single; -var - P1, P2: TGPPointF; - Diff: TGPPointF; - C, Segment, Count: Integer; - PD: TPathData; -begin - if Position < 0 then - begin - Result := 0; - Exit; - end; - - Segment := Floor(Position); - - Result := 0; - Count := FGuidePath.GetPointCount; - if (Segment < Count - 1) then - begin - PD := TPathData.Create; - try - if (FGuidePath.GetPathData(PD) = Ok) then - begin - P1 := GetPoint(PD.Points, 0); - for C := 0 to Segment - 1 do - begin - P2 := GetPoint(PD.Points, C + 1); - Diff := SubPoint(P2, P1); - Result := Result + Sqrt(Sqr(Diff.X) + Sqr(Diff.Y)); - P1 := P2; - end; - - P2 := GetPoint(PD.Points, Segment + 1); - Diff := SubPoint(P2, P1); - - Result := Result + Sqrt(Sqr(Diff.X) + Sqr(Diff.Y)) * Frac(Position); - end; - finally - PD.Free; - end; - end; -end; - -function TGPPathText.GetPathPosition(Indent: Single): TPathPosition; -var - PD: TPathData; - C, Count: Integer; - A, B: TGPPointF; - Distance: Single; -begin - PD := TPathData.Create; - try - if (FGuidePath.GetPathData(PD) = Ok) then - begin - Count := FGuidePath.GetPointCount; - A := GetPoint(PD.Points, 0); - for C := 0 to Count - 2 do - begin - B := GetPoint(PD.Points, C + 1); - - Distance := Sqrt(Sqr(B.X - A.X) + Sqr(B.Y - A.Y)); - A := B; - - if (Indent < Distance) then - begin - Result := C + Indent / Distance; - Exit; - end; - - Indent := Indent - Distance; - end; - end; - finally - PD.Free; - end; - Result := -1; -end; - -end. + {******************************************************************} + { GDIPPathText } + { } + { home page : http://www.mwcs.de } + { email : martin.walter@mwcs.de } + { } + { date : 30-11-2007 } + { } + { version : 1.0 } + { } + { Use of this file is permitted for commercial and non-commercial } + { use, as long as the author is credited. } + { This file (c) 2007 Martin Walter } + { } + { This Software is distributed on an "AS IS" basis, WITHOUT } + { WARRANTY OF ANY KIND, either express or implied. } + { } + { *****************************************************************} + +unit GDIPPathText; + +interface + +uses + Winapi.GDIPAPI, Winapi.GDIPOBJ, GDIPKerning; + +type + TPathPosition = Single; + + TGPPathText = class(TObject) + strict private + FRotation: Single; + FGuidePath: TGPGraphicsPath; + + FFamily: TGPFontFamily; + FStyle: Integer; + FSize: Single; + FFormat: TGPStringFormat; + FDistanceFactor: Single; + FKerningFactor: Single; + FAdditionalMatrix: TGPMatrix; + + function AddGlyphToPath(const Path: TGPGraphicsPath; const Char: WideChar; + const Family: TGPFontFamily; const Style: Integer; const Size: Single; + const Origin: TGPPointF; const Format: TGPStringFormat): TStatus; + + function AddCharacter(const Current, Next: WideChar; + const Path: TGPGraphicsPath; const Position: TPathPosition): TPathPosition; + + function GetPathPoint(const Position: TPathPosition): TGPPointF; + function GetPathPointLength(const Position: TPathPosition): Single; + function GetPathPosition(Indent: Single): TPathPosition; + function FindRightPosition(CenterPos: TPathPosition; + const Radius: Single): TPathPosition; + protected + public + constructor Create(const GuidePath: TGPGraphicsPath; + const Flatness: Single = 10 * FlatnessDefault); + + destructor Destroy; override; + + function AddPathText(const Path: TGPGraphicsPath; + const Text: WideString; const Indent: Single; + const Family: TGPFontFamily; Style: Integer; + const Size: Single; const Format: TGPStringFormat; + const DistanceFactor: Single = 1; const KerningFactor: Single = 1): Single; + + class function GetPathLength(const Path: TGPGraphicsPath): Single; + + property Rotation: Single read FRotation write FRotation; + property AdditionalMatrix: TGPMatrix read FAdditionalMatrix write FAdditionalMatrix; + end; + +implementation + +uses + System.Math, System.SysUtils; + +function GetPoint(P: PGPPointF; Index: Integer): TGPPointF; +begin + Inc(P, Index); + Result := P^; +end; + +function AddPoint(A, B: TGPPointF): TGPPointF; +begin + Result.X := A.X + B.X; + Result.Y := A.Y + B.Y; +end; + +function SubPoint(A, B: TGPPointF): TGPPointF; +begin + Result.X := A.X - B.X; + Result.Y := A.Y - B.Y; +end; + +function GetIntersectionFromCircle(PtA, PtB, Center: TGPPointF; + const R2: Single): Single; +var + Diff: TGPPointF; + rA2, rB2: Single; + A, B, C, D, T, T1, T2, SqrtD: Single; +begin + PtA := SubPoint(PtA, Center); + PtB := SubPoint(PtB, Center); + + rA2 := Sqr(PtA.X) + Sqr(PtA.Y); + rB2 := Sqr(PtB.X) + Sqr(PtB.Y); + + if (rA2 > R2) and (rB2 > R2) then + begin + Result := -1; + Exit; + end; + + if (rA2 < R2) and (rB2 < R2) then + begin + Result := -1; + Exit; + end; + + Diff := SubPoint(PtB, PtA); + + A := Sqr(Diff.X) + Sqr(Diff.Y); + B := 2 * (PtA.X * Diff.X + PtA.Y * Diff.Y); + C := rA2 - R2; + D := Sqr(B) - 4 * A * C; + + T := -1; + + A := 2 * A; + if (D = 0) then + T := -B / A + else + if (D > 0) then + begin + SqrtD := Sqrt(D); + T1 := (-B + SqrtD) / A; + T2 := (-B - SqrtD) / A; + + if (T1 >= 0) and (T1 <= 1) then + begin + if (T2 > 0) and (T2 < T1) then + T := T2 + else + T := T1; + end + else + if (T2 >= 0) and (T2 <= 1) then + T := T2; + end; + Result := T; +end; + + +{ TPathText } + +function TGPPathText.AddCharacter(const Current, Next: WideChar; + const Path: TGPGraphicsPath; const Position: TPathPosition): TPathPosition; +var + CharWidth: Single; + GlyphPath: TGPGraphicsPath; + Left, Right, Diff: TGPPointF; + SinAngle, CosAngle: Single; + Matrix: TGPMatrix; + PosRight: TPathPosition; +begin + GlyphPath := TGPGraphicsPath.Create; + try + CharWidth := KerningText.GetCellWidth(Word(Current), Word(Next), + FDistanceFactor, FKerningFactor); + + if (CharWidth = 0) then + begin + Result := -1; + Exit; + end; + + PosRight := FindRightPosition(Position, CharWidth); + if (PosRight < 0) then + begin + Result := PosRight; + Exit; + end; + + Left := GetPathPoint(Position); + Right := GetPathPoint(PosRight); + + Diff := SubPoint(Right, Left); + + CosAngle := Diff.X / CharWidth; + SinAngle := Diff.Y / CharWidth; + + AddGlyphToPath(GlyphPath, Current, FFamily, FStyle, FSize, + MakePoint(0, -FSize), FFormat); + + if Assigned(FAdditionalMatrix) then + GlyphPath.Transform(FAdditionalMatrix); + + Matrix := TGPMatrix.Create(CosAngle, SinAngle, + - Rotation * SinAngle, 1 + Rotation * (CosAngle - 1), + Left.X, Left.Y); + try + GlyphPath.Transform(Matrix); + finally + Matrix.Free; + end; + + Path.AddPath(GlyphPath, False); + Result := PosRight; + finally + GlyphPath.Free; + end; +end; + +function TGPPathText.AddGlyphToPath(const Path: TGPGraphicsPath; + const Char: WideChar; const Family: TGPFontFamily; const Style: Integer; + const Size: Single; const Origin: TGPPointF; + const Format: TGPStringFormat): TStatus; +begin + Result := Path.AddString(Char, -1, Family, Style, Size, Origin, Format); +end; + +function TGPPathText.AddPathText(const Path: TGPGraphicsPath; + const Text: WideString; const Indent: Single; + const Family: TGPFontFamily; Style: Integer; + const Size: Single; const Format: TGPStringFormat; + const DistanceFactor: Single = 1; const KerningFactor: Single = 1): Single; +var + IndentPosition, Position: TPathPosition; + Current, Next: PWideChar; +begin + Result := 0; + Path.SetFillMode(FillModeWinding); + + IndentPosition := GetPathPosition(Indent); + Position := IndentPosition; + + Current := PWideChar(Text); + + FFamily := Family; + FStyle := Style; + FSize := Size; + FFormat := Format; + FDistanceFactor := DistanceFactor; + FKerningFactor := KerningFactor; + + KerningText.Prepare(FFamily, FStyle, FSize, FFormat); + try + while (Current^ <> #0) and (Position >= 0) do + begin + Next := Current + 1; + Position := AddCharacter(Current^, Next^, Path, Position); + if Position >= 0 then + Result := Position; + Inc(Current); + end; + finally + KerningText.Unprepare; + end; + if Result > 0 then + Result := GetPathPointLength(Result - IndentPosition); +end; + +constructor TGPPathText.Create(const GuidePath: TGPGraphicsPath; + const Flatness: Single); +begin + if not Assigned(GuidePath) then + Exception.Create('Path is invalid'); + + inherited Create; + + FGuidePath := GuidePath.Clone; + FRotation := 1; + FGuidePath.Flatten(nil, Flatness); +end; + +destructor TGPPathText.Destroy; +begin + FGuidePath.Free; + inherited; +end; + +function TGPPathText.FindRightPosition(CenterPos: TPathPosition; + const Radius: Single): TPathPosition; +var + StartSegment: Integer; + PD: TPathData; + DistLeft, DistRight: Single; + Start: TGPPointF; + Diff: TGPPointF; + P1, P2: TGPPointF; + C, PointCount: Integer; + Intersection: Single; +begin + if (CenterPos < 0) then + begin + Result := -1; + Exit; + end; + + StartSegment := Floor(CenterPos); + + PointCount := FGuidePath.GetPointCount; + if (StartSegment >= PointCount - 1) then + begin + Result := -1; + Exit; + end; + + PD := TPathData.Create; + try + if (FGuidePath.GetPathData(PD) = Ok) then + begin + Start := GetPathPoint(CenterPos); + + P1 := GetPoint(PD.Points, StartSegment + 1); + + Diff := SubPoint(Start, P1); + DistRight := Sqrt(Sqr(Diff.X) + Sqr(Diff.Y)); + + if (Radius < DistRight) then + begin + Diff := SubPoint(Start, GetPoint(PD.Points, StartSegment)); + DistLeft := Sqrt(Sqr(Diff.X) + Sqr(Diff.Y)); + + Result := StartSegment + 1 - (DistRight - Radius) / (DistRight + DistLeft); + Exit; + end; + + for C := StartSegment + 1 to PointCount - 2 do + begin + P2 := GetPoint(PD.Points, C + 1); + Intersection := GetIntersectionFromCircle(P1, P2, Start, Sqr(Radius)); + P1 := P2; + + if (Intersection >= 0) then + begin + Result := C + Intersection; + Exit; + end; + end; + end; + Result := -1; + finally + PD.Free; + end; +end; + +class function TGPPathText.GetPathLength(const Path: TGPGraphicsPath): Single; +var + P: TGPGraphicsPath; + Count, C: Integer; + PD: TPathData; + P1, P2: TGPPointF; +begin + Result := 0; + P := Path.Clone; + try + P.Flatten(nil, 10 * FlatnessDefault); + + Count := P.GetPointCount; + if Count > 0 then + begin + PD := TPathData.Create; + try + if (P.GetPathData(PD) = Ok) then + begin + P1 := GetPoint(PD.Points, 0); + for C := 0 to Count - 2 do + begin + P2 := GetPoint(PD.Points, C + 1); + P1 := SubPoint(P2, P1); + Result := Result + Sqrt(Sqr(P1.X) + Sqr(P1.Y)); + P1 := P2; + end; + end; + finally + PD.Free; + end; + end; + finally + P.Free; + end; +end; + +function TGPPathText.GetPathPoint(const Position: TPathPosition): TGPPointF; +var + R: TGPPointF; + Segment, Count: Integer; + PD: TPathData; + Diff: TGPPointF; + T: Single; +begin + R := MakePoint(0.0, 0); + + if Position < 0 then + begin + Result := R; + Exit; + end; + + Segment := Floor(Position); + + Count := FGuidePath.GetPointCount; + if (Segment < Count - 1) then + begin + PD := TPathData.Create; + if (FGuidePath.GetPathData(PD) = Ok) then + begin + R := GetPoint(PD.Points, Segment); + Diff := GetPoint(PD.Points, Segment + 1); + + Diff := SubPoint(Diff, R); + + T := Frac(Position); + + R.X := R.X + T * Diff.X; + R.Y := R.Y + T * Diff.Y; + end; + PD.Free; + end; + + Result := R; +end; + +function TGPPathText.GetPathPointLength(const Position: TPathPosition): Single; +var + P1, P2: TGPPointF; + Diff: TGPPointF; + C, Segment, Count: Integer; + PD: TPathData; +begin + if Position < 0 then + begin + Result := 0; + Exit; + end; + + Segment := Floor(Position); + + Result := 0; + Count := FGuidePath.GetPointCount; + if (Segment < Count - 1) then + begin + PD := TPathData.Create; + try + if (FGuidePath.GetPathData(PD) = Ok) then + begin + P1 := GetPoint(PD.Points, 0); + for C := 0 to Segment - 1 do + begin + P2 := GetPoint(PD.Points, C + 1); + Diff := SubPoint(P2, P1); + Result := Result + Sqrt(Sqr(Diff.X) + Sqr(Diff.Y)); + P1 := P2; + end; + + P2 := GetPoint(PD.Points, Segment + 1); + Diff := SubPoint(P2, P1); + + Result := Result + Sqrt(Sqr(Diff.X) + Sqr(Diff.Y)) * Frac(Position); + end; + finally + PD.Free; + end; + end; +end; + +function TGPPathText.GetPathPosition(Indent: Single): TPathPosition; +var + PD: TPathData; + C, Count: Integer; + A, B: TGPPointF; + Distance: Single; +begin + PD := TPathData.Create; + try + if (FGuidePath.GetPathData(PD) = Ok) then + begin + Count := FGuidePath.GetPointCount; + A := GetPoint(PD.Points, 0); + for C := 0 to Count - 2 do + begin + B := GetPoint(PD.Points, C + 1); + + Distance := Sqrt(Sqr(B.X - A.X) + Sqr(B.Y - A.Y)); + A := B; + + if (Indent < Distance) then + begin + Result := C + Indent / Distance; + Exit; + end; + + Indent := Indent - Distance; + end; + end; + finally + PD.Free; + end; + Result := -1; +end; + +end. diff --git a/Svg/SVGColor.pas b/Svg/SVGColor.pas index 76d1d3ba..e77a09dd 100644 --- a/Svg/SVGColor.pas +++ b/Svg/SVGColor.pas @@ -1,294 +1,294 @@ -{******************************************************************} -{ Color helper unit } -{ } -{ home page : http://www.mwcs.de } -{ email : martin.walter@mwcs.de } -{ } -{ date : 26-04-2005 } -{ } -{ Use of this file is permitted for commercial and non-commercial } -{ use, as long as the author is credited. } -{ This file (c) 2005 Martin Walter } -{ } -{ Thanks to: } -{ Carlo Barazzetta (Changed color ref) } -{ Kiriakos Vlahos (optimization of ConvertColor) } -{ Kiriakos Vlahos (conversion from TSVGColor to TColor) } -{ } -{ This Software is distributed on an "AS IS" basis, WITHOUT } -{ WARRANTY OF ANY KIND, either express or implied. } -{ } -{ *****************************************************************} - -unit SVGColor; - -interface - -uses - Winapi.Windows - , Winapi.GDIPAPI - , System.UITypes - , System.Classes; - -function GetSVGColor(const ASVGColorName: string): TColor; -function GetSVGGrayscale(aColor : TColor) : TColor; -function ConvertColor(Color: TColor; Alpha: Byte): Cardinal; inline; -procedure AssignSVGColorList(AList: TStrings); - -Var - SVGColorList: TStringList; - -implementation - -uses - System.SysUtils - , System.UIConsts - , Vcl.Graphics - , SVGTypes - ; - -function IsHex(const S: string): Boolean; -var - C: Integer; - Help: string; -begin - Result := False; - if S[1] = '#' then - Help := Copy(S, 2, Length(S)) - else - Help := S; - for C := 1 to Length(Help) do - if not (((Help[C] >= '0') and (Help[C] <= '9')) or - ((Help[C] >= 'A') and (Help[C] <= 'F')) or - ((Help[C] >= 'a') and (Help[C] <= 'f'))) then - Exit; - - Result := True; -end; - -function IsDecimal(const S: string): Boolean; -var - C: Integer; -begin - Result := False; - for C := 1 to Length(S) do - if not ((S[C] >= '0') and (S[C] <= '9')) then - Exit; - Result := True; -end; - -function DecodeSVGColorToInt(const S: string): Integer; -var - C: Integer; - Percent: Boolean; - Help: string; -begin - Result := SVG_INHERIT_COLOR; - Help := '0' + S; - Percent := False; - if Help[Length(Help)] = '%' then - begin - Help := Copy(Help, 1, Length(Help) - 1); - Percent := True; - end; - - C := SVG_INHERIT_COLOR; - if IsDecimal(Help) then - C := StrToInt(Help) - else - if IsHex(Help) then - C := StrToInt('$' + Help); - if C = SVG_INHERIT_COLOR then - Exit; - if C > 255 then - C := 255; - if Percent then - begin - if C > 100 then - C := 100; - C := Round(C * 2.55); - end; - Result := C; -end; - -function DecodeRGB(const S: string): Integer; -var - RS, GS, BS: string; - RGB: string; - R, B, G: Integer; -begin - Result := SVG_INHERIT_COLOR; - if not ((Copy(S, 1, 4) = 'rgb(') and (S[Length(S)] = ')')) then - Exit; - - RGB := Copy(S, 5, Length(S) - 5); - RGB := Trim(RGB); - - RS := Copy(RGB, 1, Pos(',', RGB) - 1); - RGB := Copy(RGB, Pos(',', RGB) + 1, Length(RGB)); - RGB := Trim(RGB); - - GS := Copy(RGB, 1, Pos(',', RGB) - 1); - RGB := Copy(RGB, Pos(',', RGB) + 1, Length(RGB)); - RGB := Trim(RGB); - - BS := RGB; - - R := DecodeSVGColorToInt(RS); - G := DecodeSVGColorToInt(GS); - B := DecodeSVGColorToInt(BS); - - if (R = -1) or (G = -1) or (B = -1) then - Exit; - - Result := Winapi.Windows.RGB(R, G, B); -end; - -function CharToInt(const Ch: Char): Integer; -begin - Result := Ord(Ch); - if (Result > 47) and (Result < 58) then - Dec(Result, 48) - else - if (Result > 64) and (Result < 71) then - Dec(Result, 55) - else - if (Result > 96) and (Result < 103) then - Dec(Result, 87) - else - Result := 0; -end; - -function PrepareHex(const S: string): string; -var - C: Integer; - Help: string; -begin - if S[1] = '#' then - Help := Copy(S, 2, Length(S)) - else - Help := S; - if Length(Help) > 6 then - Help := Copy(Help, 1, 6); - - if Length(Help) = 3 then - begin - Help := IntToHex(CharToInt(Help[1]) * 17, 2) + - IntToHex(CharToInt(Help[2]) * 17, 2) + - IntToHex(CharToInt(Help[3]) * 17, 2); - end; - - Result := '$'; - - for C := 0 to 2 do - Result := Result + Copy(Help, 5 - C * 2, 2); -end; - -function GetSVGColor(const ASVGColorName: string): TColor; -var - C: Integer; - Index: Integer; - Color: string; -begin - if ASVGColorName = '' then - begin - Result := SVG_INHERIT_COLOR; - Exit; - end; - if SameText(ASVGColorName, 'none') then - begin - Result := SVG_NONE_COLOR; - Exit; - end; - if SameText(ASVGColorName, 'inherit') then - begin - Result := SVG_INHERIT_COLOR; - Exit; - end; - - Index := SVGColorList.IndexOf(ASVGColorName); - if Index >= 0 then - begin - Result := TColor(SVGColorList.Objects[Index]); - Exit; - end; - - if IsHex(ASVGColorName) and (not IsDecimal(ASVGColorName)) then - Color := PrepareHex(ASVGColorName) - else - Color := ASVGColorName; - - if TryStrToInt(Color, C) then - begin - Result := C; - end - else - begin - Result := DecodeRGB(Color); - end; -end; - -// Converts any color to grayscale -function GetSVGGrayscale(aColor : TColor) : TColor; -var - LGray : byte; -begin - // Ignore reserved color values : "INHERIT" (TColors.SysDefault) and "none" (TColors.SysNone) . - if (aColor = SVG_INHERIT_COLOR) or (aColor = SVG_NONE_COLOR) then exit(aColor); - - // get the luminance according to https://www.w3.org/TR/AERT/#color-contrast - LGray := round((0.299 * GetRValue(aColor)) + (0.587 * GetGValue(aColor)) + (0.114 * GetBValue(aColor))); - - // set the result to the new grayscale color including the alpha info - Result := (aColor and $FF000000) or rgb(LGray, LGray, LGray); -end; - -function ConvertColor(Color: TColor; Alpha: Byte): Cardinal; -begin - with TColors(Color) do - Result := Winapi.GDIPAPI.MakeColor(Alpha, R, G, B); -end; - -procedure AssignSVGColorList(AList: TStrings); -begin - AList.Assign(SVGColorList); - AList.InsertObject(0, 'Inherit', TObject(SVG_INHERIT_COLOR)); -end; - -procedure StoreToList(Sender: TObject; const S: String); -Var - Color: NativeInt; -begin - Color := AlphaColorToColor(StringToAlphaColor(S)); - TStringList(Sender).AddObject(S, TObject(Color)); -end; - -procedure CreateSVGColorList; -Var - M: TMethod; -begin - SVGColorList := TStringList.Create; - SVGColorList.Options := SVGColorList.Options - [soUseLocale]; - SVGColorList.CaseSensitive := False; - SVGColorList.Sorted := True; - SVGColorList.Duplicates := TDuplicates.dupIgnore; - M.Data := SVGColorList; - M.Code := @StoreToList; - GetAlphaColorValues(TGetStrProc(M)); - SVGColorList.Delete(SVGColorList.Count - 1); - // RSP-30408 - SVGColorList.AddObject('Cyan', TObject(TColors.Cyan)); - SVGColorList.AddObject('Darkgrey', TObject(TColors.Darkgrey)); - SVGColorList.AddObject('Dimgrey', TObject(TColors.Dimgrey)); - SVGColorList.AddObject('Grey', TObject(TColors.Grey)); - SVGColorList.AddObject('Lightgrey', TObject(TColors.Lightgrey)); - SVGColorList.AddObject('Lightslategrey', TObject(TColors.Lightslategrey)); - SVGColorList.AddObject('Magenta', TObject(TColors.Magenta)); - SVGColorList.AddObject('Slategrey', TObject(TColors.Slategrey)); -end; - -initialization -CreateSVGColorList; -finalization -SVGColorList.Free; -end. +{******************************************************************} +{ Color helper unit } +{ } +{ home page : http://www.mwcs.de } +{ email : martin.walter@mwcs.de } +{ } +{ date : 26-04-2005 } +{ } +{ Use of this file is permitted for commercial and non-commercial } +{ use, as long as the author is credited. } +{ This file (c) 2005 Martin Walter } +{ } +{ Thanks to: } +{ Carlo Barazzetta (Changed color ref) } +{ Kiriakos Vlahos (optimization of ConvertColor) } +{ Kiriakos Vlahos (conversion from TSVGColor to TColor) } +{ } +{ This Software is distributed on an "AS IS" basis, WITHOUT } +{ WARRANTY OF ANY KIND, either express or implied. } +{ } +{ *****************************************************************} + +unit SVGColor; + +interface + +uses + Winapi.Windows + , Winapi.GDIPAPI + , System.UITypes + , System.Classes; + +function GetSVGColor(const ASVGColorName: string): TColor; +function GetSVGGrayscale(aColor : TColor) : TColor; +function ConvertColor(Color: TColor; Alpha: Byte): Cardinal; inline; +procedure AssignSVGColorList(AList: TStrings); + +Var + SVGColorList: TStringList; + +implementation + +uses + System.SysUtils + , System.UIConsts + , Vcl.Graphics + , SVGTypes + ; + +function IsHex(const S: string): Boolean; +var + C: Integer; + Help: string; +begin + Result := False; + if S[1] = '#' then + Help := Copy(S, 2, Length(S)) + else + Help := S; + for C := 1 to Length(Help) do + if not (((Help[C] >= '0') and (Help[C] <= '9')) or + ((Help[C] >= 'A') and (Help[C] <= 'F')) or + ((Help[C] >= 'a') and (Help[C] <= 'f'))) then + Exit; + + Result := True; +end; + +function IsDecimal(const S: string): Boolean; +var + C: Integer; +begin + Result := False; + for C := 1 to Length(S) do + if not ((S[C] >= '0') and (S[C] <= '9')) then + Exit; + Result := True; +end; + +function DecodeSVGColorToInt(const S: string): Integer; +var + C: Integer; + Percent: Boolean; + Help: string; +begin + Result := SVG_INHERIT_COLOR; + Help := '0' + S; + Percent := False; + if Help[Length(Help)] = '%' then + begin + Help := Copy(Help, 1, Length(Help) - 1); + Percent := True; + end; + + C := SVG_INHERIT_COLOR; + if IsDecimal(Help) then + C := StrToInt(Help) + else + if IsHex(Help) then + C := StrToInt('$' + Help); + if C = SVG_INHERIT_COLOR then + Exit; + if C > 255 then + C := 255; + if Percent then + begin + if C > 100 then + C := 100; + C := Round(C * 2.55); + end; + Result := C; +end; + +function DecodeRGB(const S: string): Integer; +var + RS, GS, BS: string; + RGB: string; + R, B, G: Integer; +begin + Result := SVG_INHERIT_COLOR; + if not ((Copy(S, 1, 4) = 'rgb(') and (S[Length(S)] = ')')) then + Exit; + + RGB := Copy(S, 5, Length(S) - 5); + RGB := Trim(RGB); + + RS := Copy(RGB, 1, Pos(',', RGB) - 1); + RGB := Copy(RGB, Pos(',', RGB) + 1, Length(RGB)); + RGB := Trim(RGB); + + GS := Copy(RGB, 1, Pos(',', RGB) - 1); + RGB := Copy(RGB, Pos(',', RGB) + 1, Length(RGB)); + RGB := Trim(RGB); + + BS := RGB; + + R := DecodeSVGColorToInt(RS); + G := DecodeSVGColorToInt(GS); + B := DecodeSVGColorToInt(BS); + + if (R = -1) or (G = -1) or (B = -1) then + Exit; + + Result := Winapi.Windows.RGB(R, G, B); +end; + +function CharToInt(const Ch: Char): Integer; +begin + Result := Ord(Ch); + if (Result > 47) and (Result < 58) then + Dec(Result, 48) + else + if (Result > 64) and (Result < 71) then + Dec(Result, 55) + else + if (Result > 96) and (Result < 103) then + Dec(Result, 87) + else + Result := 0; +end; + +function PrepareHex(const S: string): string; +var + C: Integer; + Help: string; +begin + if S[1] = '#' then + Help := Copy(S, 2, Length(S)) + else + Help := S; + if Length(Help) > 6 then + Help := Copy(Help, 1, 6); + + if Length(Help) = 3 then + begin + Help := IntToHex(CharToInt(Help[1]) * 17, 2) + + IntToHex(CharToInt(Help[2]) * 17, 2) + + IntToHex(CharToInt(Help[3]) * 17, 2); + end; + + Result := '$'; + + for C := 0 to 2 do + Result := Result + Copy(Help, 5 - C * 2, 2); +end; + +function GetSVGColor(const ASVGColorName: string): TColor; +var + C: Integer; + Index: Integer; + Color: string; +begin + if ASVGColorName = '' then + begin + Result := SVG_INHERIT_COLOR; + Exit; + end; + if SameText(ASVGColorName, 'none') then + begin + Result := SVG_NONE_COLOR; + Exit; + end; + if SameText(ASVGColorName, 'inherit') then + begin + Result := SVG_INHERIT_COLOR; + Exit; + end; + + Index := SVGColorList.IndexOf(ASVGColorName); + if Index >= 0 then + begin + Result := TColor(SVGColorList.Objects[Index]); + Exit; + end; + + if IsHex(ASVGColorName) and (not IsDecimal(ASVGColorName)) then + Color := PrepareHex(ASVGColorName) + else + Color := ASVGColorName; + + if TryStrToInt(Color, C) then + begin + Result := C; + end + else + begin + Result := DecodeRGB(Color); + end; +end; + +// Converts any color to grayscale +function GetSVGGrayscale(aColor : TColor) : TColor; +var + LGray : byte; +begin + // Ignore reserved color values : "INHERIT" (TColors.SysDefault) and "none" (TColors.SysNone) . + if (aColor = SVG_INHERIT_COLOR) or (aColor = SVG_NONE_COLOR) then exit(aColor); + + // get the luminance according to https://www.w3.org/TR/AERT/#color-contrast + LGray := round((0.299 * GetRValue(aColor)) + (0.587 * GetGValue(aColor)) + (0.114 * GetBValue(aColor))); + + // set the result to the new grayscale color including the alpha info + Result := (aColor and $FF000000) or rgb(LGray, LGray, LGray); +end; + +function ConvertColor(Color: TColor; Alpha: Byte): Cardinal; +begin + with TColors(Color) do + Result := Winapi.GDIPAPI.MakeColor(Alpha, R, G, B); +end; + +procedure AssignSVGColorList(AList: TStrings); +begin + AList.Assign(SVGColorList); + AList.InsertObject(0, 'Inherit', TObject(SVG_INHERIT_COLOR)); +end; + +procedure StoreToList(Sender: TObject; const S: String); +Var + Color: NativeInt; +begin + Color := AlphaColorToColor(StringToAlphaColor(S)); + TStringList(Sender).AddObject(S, TObject(Color)); +end; + +procedure CreateSVGColorList; +Var + M: TMethod; +begin + SVGColorList := TStringList.Create; + SVGColorList.Options := SVGColorList.Options - [soUseLocale]; + SVGColorList.CaseSensitive := False; + SVGColorList.Sorted := True; + SVGColorList.Duplicates := TDuplicates.dupIgnore; + M.Data := SVGColorList; + M.Code := @StoreToList; + GetAlphaColorValues(TGetStrProc(M)); + SVGColorList.Delete(SVGColorList.Count - 1); + // RSP-30408 + SVGColorList.AddObject('Cyan', TObject(TColors.Cyan)); + SVGColorList.AddObject('Darkgrey', TObject(TColors.Darkgrey)); + SVGColorList.AddObject('Dimgrey', TObject(TColors.Dimgrey)); + SVGColorList.AddObject('Grey', TObject(TColors.Grey)); + SVGColorList.AddObject('Lightgrey', TObject(TColors.Lightgrey)); + SVGColorList.AddObject('Lightslategrey', TObject(TColors.Lightslategrey)); + SVGColorList.AddObject('Magenta', TObject(TColors.Magenta)); + SVGColorList.AddObject('Slategrey', TObject(TColors.Slategrey)); +end; + +initialization +CreateSVGColorList; +finalization +SVGColorList.Free; +end. diff --git a/Svg/SVGCommon.pas b/Svg/SVGCommon.pas index 1e66b5a3..0f8e317a 100644 --- a/Svg/SVGCommon.pas +++ b/Svg/SVGCommon.pas @@ -1,104 +1,104 @@ -{******************************************************************} -{ SVG common } -{ } -{ home page : http://www.mwcs.de } -{ email : martin.walter@mwcs.de } -{ } -{ date : 05-04-2005 } -{ } -{ Use of this file is permitted for commercial and non-commercial } -{ use, as long as the author is credited. } -{ This file (c) 2005, 2008 Martin Walter } -{ } -{ Thanks to: } -{ Kiriakos Vlahos (type conversion and utility functions) } -{ } -{ This Software is distributed on an "AS IS" basis, WITHOUT } -{ WARRANTY OF ANY KIND, either express or implied. } -{ } -{ *****************************************************************} - -unit SVGCommon; - -interface - -uses - Winapi.Windows, - Winapi.GDIPAPI, - Winapi.GDIPOBJ, - System.Types, - System.Math.Vectors, - SVGTypes; - - -function TryStrToTFloat(const S: string; out Value: TFloat): Boolean; - -function StrToTFloat(const S: string): TFloat; - -// type conversion functions -function ToGPRectF(R: TRectF): TGPRectF; inline; -function FromGPRectF(R: TGPRectF): TRectF; inline; -function ToGPMatrix(const Matrix: TMatrix): TGPMatrix; - -// Utility functions -function HasValue(F: TFloat): Boolean; overload; inline; -function HasValue(I: Integer): Boolean; overload; inline; -function FittedRect(const Bounds: TGPRectF; const Width, Height: Single): TGPRectF; - -implementation - -uses - System.SysUtils; - -function TryStrToTFloat(const S: string; out Value: TFloat): Boolean; -var - S1: string; -begin - S1 := StringReplace(S, ',', FormatSettings.DecimalSeparator, [rfReplaceAll]); - S1 := StringReplace(S1, '.', FormatSettings.DecimalSeparator, [rfReplaceAll]); - Result := TryStrToFloat(S1, Value); - if not Result then - Value := 0; -end; - -function StrToTFloat(const S: string): TFloat; -begin - TryStrToTFloat(S, Result); -end; - -function ToGPRectF(R: TRectF): TGPRectF; -begin - with R do - Result := WinApi.GDIPAPI.MakeRect(Left, Top, Width, Height); -end; - -function FromGPRectF(R: TGPRectF): TRectF; -begin - with R do - Result := TRectF.Create(X, Y, X + Width, Y + Height); -end; - -function ToGPMatrix(const Matrix: TMatrix): TGPMatrix; -begin - Result := TGPMatrix.Create(Matrix.m11, Matrix.m12, Matrix.m21, Matrix.m22, Matrix.m31, - Matrix.m32); -end; - -function HasValue(F: TFloat): Boolean; -begin - Result := F <> UndefinedFloat; -end; - -function HasValue(I: Integer): Boolean; overload; inline; -begin - Result := I <> UndefinedInt; -end; - - -function FittedRect(const Bounds: TGPRectF; const Width, Height: Single): TGPRectF; -begin - Result := ToGPRectF(TRectF.Create(0, 0, Width, Height).FitInto(FromGPRectF(Bounds))); -end; - - -end. +{******************************************************************} +{ SVG common } +{ } +{ home page : http://www.mwcs.de } +{ email : martin.walter@mwcs.de } +{ } +{ date : 05-04-2005 } +{ } +{ Use of this file is permitted for commercial and non-commercial } +{ use, as long as the author is credited. } +{ This file (c) 2005, 2008 Martin Walter } +{ } +{ Thanks to: } +{ Kiriakos Vlahos (type conversion and utility functions) } +{ } +{ This Software is distributed on an "AS IS" basis, WITHOUT } +{ WARRANTY OF ANY KIND, either express or implied. } +{ } +{ *****************************************************************} + +unit SVGCommon; + +interface + +uses + Winapi.Windows, + Winapi.GDIPAPI, + Winapi.GDIPOBJ, + System.Types, + System.Math.Vectors, + SVGTypes; + + +function TryStrToTFloat(const S: string; out Value: TFloat): Boolean; + +function StrToTFloat(const S: string): TFloat; + +// type conversion functions +function ToGPRectF(R: TRectF): TGPRectF; inline; +function FromGPRectF(R: TGPRectF): TRectF; inline; +function ToGPMatrix(const Matrix: TMatrix): TGPMatrix; + +// Utility functions +function HasValue(F: TFloat): Boolean; overload; inline; +function HasValue(I: Integer): Boolean; overload; inline; +function FittedRect(const Bounds: TGPRectF; const Width, Height: Single): TGPRectF; + +implementation + +uses + System.SysUtils; + +function TryStrToTFloat(const S: string; out Value: TFloat): Boolean; +var + S1: string; +begin + S1 := StringReplace(S, ',', FormatSettings.DecimalSeparator, [rfReplaceAll]); + S1 := StringReplace(S1, '.', FormatSettings.DecimalSeparator, [rfReplaceAll]); + Result := TryStrToFloat(S1, Value); + if not Result then + Value := 0; +end; + +function StrToTFloat(const S: string): TFloat; +begin + TryStrToTFloat(S, Result); +end; + +function ToGPRectF(R: TRectF): TGPRectF; +begin + with R do + Result := WinApi.GDIPAPI.MakeRect(Left, Top, Width, Height); +end; + +function FromGPRectF(R: TGPRectF): TRectF; +begin + with R do + Result := TRectF.Create(X, Y, X + Width, Y + Height); +end; + +function ToGPMatrix(const Matrix: TMatrix): TGPMatrix; +begin + Result := TGPMatrix.Create(Matrix.m11, Matrix.m12, Matrix.m21, Matrix.m22, Matrix.m31, + Matrix.m32); +end; + +function HasValue(F: TFloat): Boolean; +begin + Result := F <> UndefinedFloat; +end; + +function HasValue(I: Integer): Boolean; overload; inline; +begin + Result := I <> UndefinedInt; +end; + + +function FittedRect(const Bounds: TGPRectF; const Width, Height: Single): TGPRectF; +begin + Result := ToGPRectF(TRectF.Create(0, 0, Width, Height).FitInto(FromGPRectF(Bounds))); +end; + + +end. diff --git a/Svg/SVGPath.pas b/Svg/SVGPath.pas index 4b4c5086..0a012adf 100644 --- a/Svg/SVGPath.pas +++ b/Svg/SVGPath.pas @@ -1,662 +1,662 @@ -{******************************************************************} -{ SVG path classes } -{ } -{ home page : http://www.mwcs.de } -{ email : martin.walter@mwcs.de } -{ } -{ date : 05-04-2008 } -{ } -{ Use of this file is permitted for commercial and non-commercial } -{ use, as long as the author is credited. } -{ This file (c) 2005, 2008 Martin Walter } -{ } -{ Thanks to: } -{ Kiriakos Vlahos (fixed SVGPath...) } -{ } -{ This Software is distributed on an "AS IS" basis, WITHOUT } -{ WARRANTY OF ANY KIND, either express or implied. } -{ } -{ *****************************************************************} - -unit SVGPath; - -interface - -uses - Winapi.Windows, Winapi.GDIPOBJ, - System.Types, System.Classes, - SVGTypes, SVG; - -type - TSVGPathElement = class(TSVGObject) - private - FStartX: TFloat; - FStartY: TFloat; - FStopX: TFloat; - FStopY: TFloat; - protected - procedure AssignTo(Dest: TPersistent); override; - public - function GetBounds: TRectF; virtual; abstract; - procedure AddToPath(Path: TGPGraphicsPath); virtual; abstract; - procedure Read(SL: TStrings; var Position: Integer; - Previous: TSVGPathElement); virtual; - - procedure PaintToGraphics(Graphics: TGPGraphics); override; - procedure PaintToPath(Path: TGPGraphicsPath); override; - - property StartX: TFloat read FStartX write FStartX; - property StartY: TFloat read FStartY write FStartY; - property StopX: TFloat read FStopX write FStopX; - property StopY: TFloat read FStopY write FStopY; - end; - - TSVGPathMove = class(TSVGPathElement) - public - function GetBounds: TRectF; override; - procedure AddToPath(Path: TGPGraphicsPath); override; - procedure Read(SL: TStrings; var Position: Integer; - Previous: TSVGPathElement); override; - end; - - TSVGPathLine = class(TSVGPathElement) - public - function GetBounds: TRectF; override; - procedure AddToPath(Path: TGPGraphicsPath); override; - procedure Read(SL: TStrings; var Position: Integer; - Previous: TSVGPathElement); override; - end; - - TSVGPathCurve = class(TSVGPathElement) - private - FControl1X: TFloat; - FControl1Y: TFloat; - FControl2X: TFloat; - FControl2Y: TFloat; - protected - procedure AssignTo(Dest: TPersistent); override; - public - function GetBounds: TRectF; override; - procedure AddToPath(Path: TGPGraphicsPath); override; - procedure Read(SL: TStrings; var Position: Integer; - Previous: TSVGPathElement); override; - - property Control1X: TFloat read FControl1X write FControl1X; - property Control1Y: TFloat read FControl1Y write FControl1Y; - property Control2X: TFloat read FControl2X write FControl2X; - property Control2Y: TFloat read FControl2Y write FControl2Y; - end; - - TSVGPathEllipticArc = class(TSVGPathElement) - private - FRX: TFloat; - FRY: TFloat; - FXRot: TFloat; - FLarge: Integer; - FSweep: Integer; - protected - procedure AssignTo(Dest: TPersistent); override; - public - function GetBounds: TRectF; override; - procedure AddToPath(Path: TGPGraphicsPath); override; - procedure Read(SL: TStrings; var Position: Integer; - Previous: TSVGPathElement); override; - - property RX: TFloat read FRX write FRX; - property RY: TFloat read FRY write FRY; - property XRot: TFloat read FXRot write FXRot; - property Large: Integer read FLarge write FLarge; - property Sweep: Integer read FSweep write FSweep; - end; - - TSVGPathClose = class(TSVGPathElement) - private - function FindLastMoveTo: TSVGPathMove; - public - function GetBounds: TRectF; override; - procedure AddToPath(Path: TGPGraphicsPath); override; - procedure Read(SL: TStrings; var Position: Integer; - Previous: TSVGPathElement); override; - end; - -implementation - -uses - System.SysUtils, System.Math, - Winapi.GDIPAPI, - SVGCommon, SVGParse; - -{$IF CompilerVersion <= 28} -function FMod(const ANumerator, ADenominator: Single): Single; -begin - Result := ANumerator - Trunc(ANumerator / ADenominator) * ADenominator; -end; -{$IFEND} - -// TSVGPathElement - -procedure TSVGPathElement.AssignTo(Dest: TPersistent); -begin - inherited; - if Dest is TSVGPathElement then - begin - TSVGPathElement(Dest).FStartX := FStartX; - TSVGPathElement(Dest).FStartY := FStartY; - TSVGPathElement(Dest).FStopX := FStopX; - TSVGPathElement(Dest).FStopY := FStopY; - end; -end; - -procedure TSVGPathElement.Read(SL: TStrings; var Position: Integer; - Previous: TSVGPathElement); -begin - if Assigned(Previous) then - begin - FStartX := Previous.FStopX; - FStartY := Previous.FStopY; - end; -end; - -procedure TSVGPathElement.PaintToGraphics(Graphics: TGPGraphics); -begin -end; - -procedure TSVGPathElement.PaintToPath(Path: TGPGraphicsPath); -begin -end; - -// TSVGPathMove - -function TSVGPathMove.GetBounds: TRectF; -begin - Result.Left := 0; - Result.Top := 0; - Result.Width := 0; - Result.Height := 0; -end; - -procedure TSVGPathMove.AddToPath(Path: TGPGraphicsPath); -begin - Path.StartFigure; -end; - -procedure TSVGPathMove.Read(SL: TStrings; var Position: Integer; - Previous: TSVGPathElement); -begin - inherited; - if not TryStrToTFloat(SL[Position + 1], FStopX) then - FStopX := 0; - if not TryStrToTFloat(SL[Position + 2], FStopY) then - FStopY := 0; - - if SL[Position] = 'm' then - begin - FStopX := FStartX + FStopX; - FStopY := FStartY + FStopY; - end; - - Inc(Position, 2); -end; - - -// TSVGPathLine - -function TSVGPathLine.GetBounds: TRectF; -begin - Result.Left := Min(FStartX, FStopX); - Result.Top := Min(FStartY, FStopY); - Result.Width := Abs(FStartX - FStopX); - Result.Height := Abs(FStartY - FStopY); -end; - -procedure TSVGPathLine.AddToPath(Path: TGPGraphicsPath); -begin - Path.AddLine(FStartX, FStartY, FStopX, FStopY); -end; - -procedure TSVGPathLine.Read(SL: TStrings; var Position: Integer; - Previous: TSVGPathElement); -var - Command: string; -begin - inherited; - - Command := SL[Position]; - if (Command = 'L') or (Command = 'l') then - begin - if not TryStrToTFloat(SL[Position + 1], FStopX) then - FStopX := 0; - if not TryStrToTFloat(SL[Position + 2], FStopY) then - FStopY := 0; - - if SL[Position] = 'l' then - begin - FStopX := FStartX + FStopX; - FStopY := FStartY + FStopY; - end; - - Inc(Position, 2); - end; - - if (Command = 'H') or (Command = 'h') then - begin - if not TryStrToTFloat(SL[Position + 1], FStopX) then - FStopX := 0; - - if Command = 'h' then - FStopX := FStartX + FStopX; - FStopY := FStartY; - Inc(Position); - end; - - - if (Command = 'V') or (Command = 'v') then - begin - if not TryStrToTFloat(SL[Position + 1], FStopY) then - FStopY := 0; - - if Command = 'v' then - FStopY := FStartY + FStopY; - FStopX := FStartX; - Inc(Position); - end; -end; - - -// TSVGPathCurve - -procedure TSVGPathCurve.AssignTo(Dest: TPersistent); -begin - inherited; - if Dest is TSVGPathCurve then - begin - TSVGPathCurve(Dest).FControl1X := FControl1X; - TSVGPathCurve(Dest).FControl1Y := FControl1Y; - TSVGPathCurve(Dest).FControl2X := FControl2X; - TSVGPathCurve(Dest).FControl2Y := FControl2Y; - end; -end; - -function TSVGPathCurve.GetBounds: TRectF; -var - Right, Bottom: TFloat; -begin - Result.Left := Min(FStartX, Min(FStopX, Min(FControl1X, FControl2X))); - Result.Top := Min(FStartY, Min(FStopY, Min(FControl1Y, FControl2Y))); - - Right := Max(FStartX, Max(FStopX, Max(FControl1X, FControl2X))); - Bottom := Max(FStartY, Max(FStopY, Max(FControl1Y, FControl2Y))); - Result.Width := Right - Result.Left; - Result.Height := Bottom - Result.Top; -end; - -procedure TSVGPathCurve.AddToPath(Path: TGPGraphicsPath); -begin - Path.AddBezier(FStartX, FStartY, FControl1X, FControl1Y, - FControl2X, FControl2Y, FStopX, FStopY); -end; - -procedure TSVGPathCurve.Read(SL: TStrings; var Position: Integer; - Previous: TSVGPathElement); -var - Command: string; -begin - inherited; - - Command := SL[Position]; - if (Command = 'C') or (Command = 'c') then - begin - TryStrToTFloat(SL[Position + 1], FControl1X); - TryStrToTFloat(SL[Position + 2], FControl1Y); - TryStrToTFloat(SL[Position + 3], FControl2X); - TryStrToTFloat(SL[Position + 4], FControl2Y); - TryStrToTFloat(SL[Position + 5], FStopX); - TryStrToTFloat(SL[Position + 6], FStopY); - Inc(Position, 6); - - if Command = 'c' then - begin - FControl1X := FStartX + FControl1X; - FControl1Y := FStartY + FControl1Y; - FControl2X := FStartX + FControl2X; - FControl2Y := FStartY + FControl2Y; - FStopX := FStartX + FStopX; - FStopY := FStartY + FStopY; - end; - end; - - if (Command = 'S') or (Command = 's') then - begin - FControl1X := FStartX; - FControl1Y := FStartY; - TryStrToTFloat(SL[Position + 1], FControl2X); - TryStrToTFloat(SL[Position + 2], FControl2Y); - TryStrToTFloat(SL[Position + 3], FStopX); - TryStrToTFloat(SL[Position + 4], FStopY); - Inc(Position, 4); - - if Previous is TSVGPathCurve then - begin - FControl1X := FStartX + (FStartX - TSVGPathCurve(Previous).FControl2X); - FControl1Y := FStartY + (FStartY - TSVGPathCurve(Previous).FControl2Y); - end; - - if Command = 's' then - begin - FControl2X := FStartX + FControl2X; - FControl2Y := FStartY + FControl2Y; - FStopX := FStartX + FStopX; - FStopY := FStartY + FStopY; - end; - end; - - if (Command = 'Q') or (Command = 'q') then - begin - TryStrToTFloat(SL[Position + 1], FControl1X); - TryStrToTFloat(SL[Position + 2], FControl1Y); - TryStrToTFloat(SL[Position + 3], FStopX); - TryStrToTFloat(SL[Position + 4], FStopY); - FControl2X := FControl1X; - FControl2Y := FControl1Y; - Inc(Position, 4); - - if Command = 'q' then - begin - FControl1X := FStartX + FControl1X; - FControl1Y := FStartY + FControl1Y; - FControl2X := FStartX + FControl2X; - FControl2Y := FStartY + FControl2Y; - FStopX := FStartX + FStopX; - FStopY := FStartY + FStopY; - end; - end; - - if (Command = 'T') or (Command = 't') then - begin - FControl1X := FStartX; - FControl1Y := FStartY; - TryStrToTFloat(SL[Position + 1], FStopX); - TryStrToTFloat(SL[Position + 2], FStopY); - Inc(Position, 2); - - if Previous is TSVGPathCurve then - begin - FControl1X := FStartX + (FStartX - TSVGPathCurve(Previous).FControl2X); - FControl1Y := FStartY + (FStartY - TSVGPathCurve(Previous).FControl2Y); - end; - - FControl2X := FControl1X; - FControl2Y := FControl1Y; - - if Command = 't' then - begin - FStopX := FStartX + FStopX; - FStopY := FStartY + FStopY; - end; - end; -end; - - -// TSVGPathEllipticArc - -procedure TSVGPathEllipticArc.AssignTo(Dest: TPersistent); -begin - inherited; - if Dest is TSVGPathEllipticArc then - begin - TSVGPathEllipticArc(Dest).FRX := FRX; - TSVGPathEllipticArc(Dest).FRY := FRY; - TSVGPathEllipticArc(Dest).FXRot := FXRot; - TSVGPathEllipticArc(Dest).FLarge := FLarge; - TSVGPathEllipticArc(Dest).FSweep := FSweep; - end; -end; - -function TSVGPathEllipticArc.GetBounds: TRectF; -begin - Result.Left := Min(FStartX, FStopX); - Result.Top := Min(FStartY, FStopY); - Result.Width := Abs(FStartX - FStopX); - Result.Height := Abs(FStartY - FStopY); -end; - -procedure TSVGPathEllipticArc.AddToPath(Path: TGPGraphicsPath); -var - R: TGPRectF; - X1, Y1: TFloat; - DX2, DY2: TFloat; - Angle: TFloat; - SinAngle: TFloat; - CosAngle: TFloat; - LRX: TFloat; - LRY: TFloat; - PRX: TFloat; - PRY: TFloat; - PX1: TFloat; - PY1: TFloat; - RadiiCheck: TFloat; - sign: TFloat; - Sq: TFloat; - Coef: TFloat; - CX1: TFloat; - CY1: TFloat; - sx2: TFloat; - sy2: TFloat; - cx: TFloat; - cy: TFloat; - ux: TFloat; - uy: TFloat; - vx: TFloat; - vy: TFloat; - p: TFloat; - n: TFloat; - AngleStart: TFloat; - AngleExtent: TFloat; - ArcPath: TGPGraphicsPath; - Matrix: TGPMatrix; - Center: TGPPointF; -begin - if (FStartX = FStopX) and (FStartY = FStopY) then - Exit; - - if (FRX = 0) or (FRY = 0) then - begin - Path.AddLine(FStartX, FStartY, FStopX, FStopY); - Exit; - end; - - // - // Elliptical arc implementation based on the SVG specification notes - // - - // Compute the half distance between the current and the final point - DX2 := (FStartX - FStopX) / 2.0; - DY2 := (FStartY - FStopY) / 2.0; - - // Convert angle from degrees to radians - Angle := DegToRad(FMod(FXRot, c360)); - cosAngle := cos(Angle); - sinAngle := sin(Angle); - - // - // Step 1 : Compute (x1, y1) - // - x1 := (cosAngle * DX2 + sinAngle * DY2); - y1 := (-sinAngle * DX2 + cosAngle * DY2); - // Ensure radii are large enough - LRX := abs(Frx); - LRY := abs(Fry); - Prx := LRX * LRX; - Pry := LRY * LRY; - Px1 := x1 * x1; - Py1 := y1 * y1; - - // check that radii are large enough - RadiiCheck := Px1/Prx + Py1/Pry; - if (RadiiCheck > 1) then - begin - LRX := sqrt(RadiiCheck) * LRX; - LRY := sqrt(RadiiCheck) * LRY; - Prx := LRX * LRX; - Pry := LRY * LRY; - end; - - // - // Step 2 : Compute (cx1, cy1) - // - sign := IfThen(FLarge = FSweep, -1, 1); - Sq := ((Prx * Pry)-(Prx * Py1)-(Pry * Px1)) / ((Prx * Py1)+(Pry * Px1)); - Sq := IfThen(Sq < 0, 0.0, Sq); - Coef := (sign * sqrt(Sq)); - CX1 := Coef * ((LRX * y1) / LRY); - CY1 := Coef * -((LRY * x1) / LRX); - - // - // Step 3 : Compute (cx, cy) from (cx1, cy1) - // - sx2 := (FStartX + FStopX) / 2.0; - sy2 := (FStartY + FStopY) / 2.0; - cx := sx2 + (cosAngle * CX1 - sinAngle * CY1); - cy := sy2 + (sinAngle * CX1 + cosAngle * CY1); - - // - // Step 4 : Compute the angleStart (angle1) and the angleExtent (dangle) - // - ux := (x1 - CX1) / LRX; - uy := (y1 - CY1) / LRY; - vx := (-x1 - CX1) / LRX; - vy := (-y1 - CY1) / LRY; - - // Compute the angle start - n := (ux * ux) + (uy * uy); - n := sqrt(n); -// n := sqrt((ux * ux) + (uy * uy)); - p := ux; // (1 * ux) + (0 * uy) - sign := IfThen(uy < 0, -1, 1); - AngleStart := RadToDeg(sign * arccos(p / n)); - - // Compute the angle extent - n := sqrt((ux * ux + uy * uy) * (vx * vx + vy * vy)); - p := ux * vx + uy * vy; - sign := IfThen(ux * vy - uy * vx < 0, -1, 1); - AngleExtent := RadToDeg(sign * arccos(p / n)); - if ((Fsweep = 0) and (AngleExtent > 0)) then - begin - AngleExtent := AngleExtent - c360; - end else if ((FSweep = 1) and (AngleExtent < 0)) then - begin - AngleExtent := AngleExtent + c360; - end; - - AngleStart := FMod(AngleStart, c360); - AngleExtent := FMod(AngleExtent, c360); - - R.x := cx - LRX; - R.y := cy - LRY; - R.width := LRX * 2.0; - R.height := LRY * 2.0; - - ArcPath := TGPGraphicsPath.Create; - try - ArcPath.AddArc(R, AngleStart, AngleExtent); - Matrix := TGPMatrix.Create; - try - Center.X := cx; - Center.Y := cy; - Matrix.RotateAt(FXRot, Center); - ArcPath.Transform(Matrix); - finally - Matrix.Free; - end; - Path.AddPath(ArcPath, True); - finally - ArcPath.Free; - end; -end; - -procedure TSVGPathEllipticArc.Read(SL: TStrings; var Position: Integer; Previous: TSVGPathElement); -var - Command: string; -begin - inherited; - - Command := SL[Position]; - if (Command = 'A') or (Command = 'a') then - begin - TryStrToTFloat(SL[Position + 1], FRX); - TryStrToTFloat(SL[Position + 2], FRY); - TryStrToTFloat(SL[Position + 3], FXRot); - TryStrToInt(SL[Position + 4], FLarge); - TryStrToInt(SL[Position + 5], FSweep); - TryStrToTFloat(SL[Position + 6], FStopX); - TryStrToTFloat(SL[Position + 7], FStopY); - Inc(Position, 7); - - FRX := Abs(FRX); - FRY := Abs(FRY); - - if FLarge <> 0 then - FLarge := 1; - - if FSweep <> 0 then - FSweep := 1; - - if Command = 'a' then - begin - FStopX := FStartX + FStopX; - FStopY := FStartY + FStopY; - end; - end; -end; - -// TSVGPathClose - -function TSVGPathClose.FindLastMoveTo: TSVGPathMove; -var - Index: Integer; - Previous: TSVGObject; -begin - for Index := Parent.Count - 2 downto 0 do - begin - Previous := Parent.Items[Index]; - if Previous is TSVGPathMove then - begin - Result := TSVGPathMove(Previous); - Exit; - end; - end; - Result := nil; -end; - -function TSVGPathClose.GetBounds: TRectF; -begin - Result.Left := 0; - Result.Top := 0; - Result.Width := 0; - Result.Height := 0; -end; - -procedure TSVGPathClose.Read(SL: TStrings; var Position: Integer; - Previous: TSVGPathElement); -var - LastMoveTo: TSVGPathMove; -begin - FStartX := Previous.FStopX; - FStartY := Previous.FStopY; - LastMoveTo := FindLastMoveTo; - if Assigned(LastMoveTo) then - begin - FStopX := LastMoveTo.FStopX; - FStopY := LastMoveTo.FStopY; - end else begin - FStopX := FStartX; - FStopY := FStartY; - end; -end; - -procedure TSVGPathClose.AddToPath(Path: TGPGraphicsPath); -begin - Path.CloseFigure; -end; - -end. +{******************************************************************} +{ SVG path classes } +{ } +{ home page : http://www.mwcs.de } +{ email : martin.walter@mwcs.de } +{ } +{ date : 05-04-2008 } +{ } +{ Use of this file is permitted for commercial and non-commercial } +{ use, as long as the author is credited. } +{ This file (c) 2005, 2008 Martin Walter } +{ } +{ Thanks to: } +{ Kiriakos Vlahos (fixed SVGPath...) } +{ } +{ This Software is distributed on an "AS IS" basis, WITHOUT } +{ WARRANTY OF ANY KIND, either express or implied. } +{ } +{ *****************************************************************} + +unit SVGPath; + +interface + +uses + Winapi.Windows, Winapi.GDIPOBJ, + System.Types, System.Classes, + SVGTypes, SVG; + +type + TSVGPathElement = class(TSVGObject) + private + FStartX: TFloat; + FStartY: TFloat; + FStopX: TFloat; + FStopY: TFloat; + protected + procedure AssignTo(Dest: TPersistent); override; + public + function GetBounds: TRectF; virtual; abstract; + procedure AddToPath(Path: TGPGraphicsPath); virtual; abstract; + procedure Read(SL: TStrings; var Position: Integer; + Previous: TSVGPathElement); virtual; + + procedure PaintToGraphics(Graphics: TGPGraphics); override; + procedure PaintToPath(Path: TGPGraphicsPath); override; + + property StartX: TFloat read FStartX write FStartX; + property StartY: TFloat read FStartY write FStartY; + property StopX: TFloat read FStopX write FStopX; + property StopY: TFloat read FStopY write FStopY; + end; + + TSVGPathMove = class(TSVGPathElement) + public + function GetBounds: TRectF; override; + procedure AddToPath(Path: TGPGraphicsPath); override; + procedure Read(SL: TStrings; var Position: Integer; + Previous: TSVGPathElement); override; + end; + + TSVGPathLine = class(TSVGPathElement) + public + function GetBounds: TRectF; override; + procedure AddToPath(Path: TGPGraphicsPath); override; + procedure Read(SL: TStrings; var Position: Integer; + Previous: TSVGPathElement); override; + end; + + TSVGPathCurve = class(TSVGPathElement) + private + FControl1X: TFloat; + FControl1Y: TFloat; + FControl2X: TFloat; + FControl2Y: TFloat; + protected + procedure AssignTo(Dest: TPersistent); override; + public + function GetBounds: TRectF; override; + procedure AddToPath(Path: TGPGraphicsPath); override; + procedure Read(SL: TStrings; var Position: Integer; + Previous: TSVGPathElement); override; + + property Control1X: TFloat read FControl1X write FControl1X; + property Control1Y: TFloat read FControl1Y write FControl1Y; + property Control2X: TFloat read FControl2X write FControl2X; + property Control2Y: TFloat read FControl2Y write FControl2Y; + end; + + TSVGPathEllipticArc = class(TSVGPathElement) + private + FRX: TFloat; + FRY: TFloat; + FXRot: TFloat; + FLarge: Integer; + FSweep: Integer; + protected + procedure AssignTo(Dest: TPersistent); override; + public + function GetBounds: TRectF; override; + procedure AddToPath(Path: TGPGraphicsPath); override; + procedure Read(SL: TStrings; var Position: Integer; + Previous: TSVGPathElement); override; + + property RX: TFloat read FRX write FRX; + property RY: TFloat read FRY write FRY; + property XRot: TFloat read FXRot write FXRot; + property Large: Integer read FLarge write FLarge; + property Sweep: Integer read FSweep write FSweep; + end; + + TSVGPathClose = class(TSVGPathElement) + private + function FindLastMoveTo: TSVGPathMove; + public + function GetBounds: TRectF; override; + procedure AddToPath(Path: TGPGraphicsPath); override; + procedure Read(SL: TStrings; var Position: Integer; + Previous: TSVGPathElement); override; + end; + +implementation + +uses + System.SysUtils, System.Math, + Winapi.GDIPAPI, + SVGCommon, SVGParse; + +{$IF CompilerVersion <= 28} +function FMod(const ANumerator, ADenominator: Single): Single; +begin + Result := ANumerator - Trunc(ANumerator / ADenominator) * ADenominator; +end; +{$IFEND} + +// TSVGPathElement + +procedure TSVGPathElement.AssignTo(Dest: TPersistent); +begin + inherited; + if Dest is TSVGPathElement then + begin + TSVGPathElement(Dest).FStartX := FStartX; + TSVGPathElement(Dest).FStartY := FStartY; + TSVGPathElement(Dest).FStopX := FStopX; + TSVGPathElement(Dest).FStopY := FStopY; + end; +end; + +procedure TSVGPathElement.Read(SL: TStrings; var Position: Integer; + Previous: TSVGPathElement); +begin + if Assigned(Previous) then + begin + FStartX := Previous.FStopX; + FStartY := Previous.FStopY; + end; +end; + +procedure TSVGPathElement.PaintToGraphics(Graphics: TGPGraphics); +begin +end; + +procedure TSVGPathElement.PaintToPath(Path: TGPGraphicsPath); +begin +end; + +// TSVGPathMove + +function TSVGPathMove.GetBounds: TRectF; +begin + Result.Left := 0; + Result.Top := 0; + Result.Width := 0; + Result.Height := 0; +end; + +procedure TSVGPathMove.AddToPath(Path: TGPGraphicsPath); +begin + Path.StartFigure; +end; + +procedure TSVGPathMove.Read(SL: TStrings; var Position: Integer; + Previous: TSVGPathElement); +begin + inherited; + if not TryStrToTFloat(SL[Position + 1], FStopX) then + FStopX := 0; + if not TryStrToTFloat(SL[Position + 2], FStopY) then + FStopY := 0; + + if SL[Position] = 'm' then + begin + FStopX := FStartX + FStopX; + FStopY := FStartY + FStopY; + end; + + Inc(Position, 2); +end; + + +// TSVGPathLine + +function TSVGPathLine.GetBounds: TRectF; +begin + Result.Left := Min(FStartX, FStopX); + Result.Top := Min(FStartY, FStopY); + Result.Width := Abs(FStartX - FStopX); + Result.Height := Abs(FStartY - FStopY); +end; + +procedure TSVGPathLine.AddToPath(Path: TGPGraphicsPath); +begin + Path.AddLine(FStartX, FStartY, FStopX, FStopY); +end; + +procedure TSVGPathLine.Read(SL: TStrings; var Position: Integer; + Previous: TSVGPathElement); +var + Command: string; +begin + inherited; + + Command := SL[Position]; + if (Command = 'L') or (Command = 'l') then + begin + if not TryStrToTFloat(SL[Position + 1], FStopX) then + FStopX := 0; + if not TryStrToTFloat(SL[Position + 2], FStopY) then + FStopY := 0; + + if SL[Position] = 'l' then + begin + FStopX := FStartX + FStopX; + FStopY := FStartY + FStopY; + end; + + Inc(Position, 2); + end; + + if (Command = 'H') or (Command = 'h') then + begin + if not TryStrToTFloat(SL[Position + 1], FStopX) then + FStopX := 0; + + if Command = 'h' then + FStopX := FStartX + FStopX; + FStopY := FStartY; + Inc(Position); + end; + + + if (Command = 'V') or (Command = 'v') then + begin + if not TryStrToTFloat(SL[Position + 1], FStopY) then + FStopY := 0; + + if Command = 'v' then + FStopY := FStartY + FStopY; + FStopX := FStartX; + Inc(Position); + end; +end; + + +// TSVGPathCurve + +procedure TSVGPathCurve.AssignTo(Dest: TPersistent); +begin + inherited; + if Dest is TSVGPathCurve then + begin + TSVGPathCurve(Dest).FControl1X := FControl1X; + TSVGPathCurve(Dest).FControl1Y := FControl1Y; + TSVGPathCurve(Dest).FControl2X := FControl2X; + TSVGPathCurve(Dest).FControl2Y := FControl2Y; + end; +end; + +function TSVGPathCurve.GetBounds: TRectF; +var + Right, Bottom: TFloat; +begin + Result.Left := Min(FStartX, Min(FStopX, Min(FControl1X, FControl2X))); + Result.Top := Min(FStartY, Min(FStopY, Min(FControl1Y, FControl2Y))); + + Right := Max(FStartX, Max(FStopX, Max(FControl1X, FControl2X))); + Bottom := Max(FStartY, Max(FStopY, Max(FControl1Y, FControl2Y))); + Result.Width := Right - Result.Left; + Result.Height := Bottom - Result.Top; +end; + +procedure TSVGPathCurve.AddToPath(Path: TGPGraphicsPath); +begin + Path.AddBezier(FStartX, FStartY, FControl1X, FControl1Y, + FControl2X, FControl2Y, FStopX, FStopY); +end; + +procedure TSVGPathCurve.Read(SL: TStrings; var Position: Integer; + Previous: TSVGPathElement); +var + Command: string; +begin + inherited; + + Command := SL[Position]; + if (Command = 'C') or (Command = 'c') then + begin + TryStrToTFloat(SL[Position + 1], FControl1X); + TryStrToTFloat(SL[Position + 2], FControl1Y); + TryStrToTFloat(SL[Position + 3], FControl2X); + TryStrToTFloat(SL[Position + 4], FControl2Y); + TryStrToTFloat(SL[Position + 5], FStopX); + TryStrToTFloat(SL[Position + 6], FStopY); + Inc(Position, 6); + + if Command = 'c' then + begin + FControl1X := FStartX + FControl1X; + FControl1Y := FStartY + FControl1Y; + FControl2X := FStartX + FControl2X; + FControl2Y := FStartY + FControl2Y; + FStopX := FStartX + FStopX; + FStopY := FStartY + FStopY; + end; + end; + + if (Command = 'S') or (Command = 's') then + begin + FControl1X := FStartX; + FControl1Y := FStartY; + TryStrToTFloat(SL[Position + 1], FControl2X); + TryStrToTFloat(SL[Position + 2], FControl2Y); + TryStrToTFloat(SL[Position + 3], FStopX); + TryStrToTFloat(SL[Position + 4], FStopY); + Inc(Position, 4); + + if Previous is TSVGPathCurve then + begin + FControl1X := FStartX + (FStartX - TSVGPathCurve(Previous).FControl2X); + FControl1Y := FStartY + (FStartY - TSVGPathCurve(Previous).FControl2Y); + end; + + if Command = 's' then + begin + FControl2X := FStartX + FControl2X; + FControl2Y := FStartY + FControl2Y; + FStopX := FStartX + FStopX; + FStopY := FStartY + FStopY; + end; + end; + + if (Command = 'Q') or (Command = 'q') then + begin + TryStrToTFloat(SL[Position + 1], FControl1X); + TryStrToTFloat(SL[Position + 2], FControl1Y); + TryStrToTFloat(SL[Position + 3], FStopX); + TryStrToTFloat(SL[Position + 4], FStopY); + FControl2X := FControl1X; + FControl2Y := FControl1Y; + Inc(Position, 4); + + if Command = 'q' then + begin + FControl1X := FStartX + FControl1X; + FControl1Y := FStartY + FControl1Y; + FControl2X := FStartX + FControl2X; + FControl2Y := FStartY + FControl2Y; + FStopX := FStartX + FStopX; + FStopY := FStartY + FStopY; + end; + end; + + if (Command = 'T') or (Command = 't') then + begin + FControl1X := FStartX; + FControl1Y := FStartY; + TryStrToTFloat(SL[Position + 1], FStopX); + TryStrToTFloat(SL[Position + 2], FStopY); + Inc(Position, 2); + + if Previous is TSVGPathCurve then + begin + FControl1X := FStartX + (FStartX - TSVGPathCurve(Previous).FControl2X); + FControl1Y := FStartY + (FStartY - TSVGPathCurve(Previous).FControl2Y); + end; + + FControl2X := FControl1X; + FControl2Y := FControl1Y; + + if Command = 't' then + begin + FStopX := FStartX + FStopX; + FStopY := FStartY + FStopY; + end; + end; +end; + + +// TSVGPathEllipticArc + +procedure TSVGPathEllipticArc.AssignTo(Dest: TPersistent); +begin + inherited; + if Dest is TSVGPathEllipticArc then + begin + TSVGPathEllipticArc(Dest).FRX := FRX; + TSVGPathEllipticArc(Dest).FRY := FRY; + TSVGPathEllipticArc(Dest).FXRot := FXRot; + TSVGPathEllipticArc(Dest).FLarge := FLarge; + TSVGPathEllipticArc(Dest).FSweep := FSweep; + end; +end; + +function TSVGPathEllipticArc.GetBounds: TRectF; +begin + Result.Left := Min(FStartX, FStopX); + Result.Top := Min(FStartY, FStopY); + Result.Width := Abs(FStartX - FStopX); + Result.Height := Abs(FStartY - FStopY); +end; + +procedure TSVGPathEllipticArc.AddToPath(Path: TGPGraphicsPath); +var + R: TGPRectF; + X1, Y1: TFloat; + DX2, DY2: TFloat; + Angle: TFloat; + SinAngle: TFloat; + CosAngle: TFloat; + LRX: TFloat; + LRY: TFloat; + PRX: TFloat; + PRY: TFloat; + PX1: TFloat; + PY1: TFloat; + RadiiCheck: TFloat; + sign: TFloat; + Sq: TFloat; + Coef: TFloat; + CX1: TFloat; + CY1: TFloat; + sx2: TFloat; + sy2: TFloat; + cx: TFloat; + cy: TFloat; + ux: TFloat; + uy: TFloat; + vx: TFloat; + vy: TFloat; + p: TFloat; + n: TFloat; + AngleStart: TFloat; + AngleExtent: TFloat; + ArcPath: TGPGraphicsPath; + Matrix: TGPMatrix; + Center: TGPPointF; +begin + if (FStartX = FStopX) and (FStartY = FStopY) then + Exit; + + if (FRX = 0) or (FRY = 0) then + begin + Path.AddLine(FStartX, FStartY, FStopX, FStopY); + Exit; + end; + + // + // Elliptical arc implementation based on the SVG specification notes + // + + // Compute the half distance between the current and the final point + DX2 := (FStartX - FStopX) / 2.0; + DY2 := (FStartY - FStopY) / 2.0; + + // Convert angle from degrees to radians + Angle := DegToRad(FMod(FXRot, c360)); + cosAngle := cos(Angle); + sinAngle := sin(Angle); + + // + // Step 1 : Compute (x1, y1) + // + x1 := (cosAngle * DX2 + sinAngle * DY2); + y1 := (-sinAngle * DX2 + cosAngle * DY2); + // Ensure radii are large enough + LRX := abs(Frx); + LRY := abs(Fry); + Prx := LRX * LRX; + Pry := LRY * LRY; + Px1 := x1 * x1; + Py1 := y1 * y1; + + // check that radii are large enough + RadiiCheck := Px1/Prx + Py1/Pry; + if (RadiiCheck > 1) then + begin + LRX := sqrt(RadiiCheck) * LRX; + LRY := sqrt(RadiiCheck) * LRY; + Prx := LRX * LRX; + Pry := LRY * LRY; + end; + + // + // Step 2 : Compute (cx1, cy1) + // + sign := IfThen(FLarge = FSweep, -1, 1); + Sq := ((Prx * Pry)-(Prx * Py1)-(Pry * Px1)) / ((Prx * Py1)+(Pry * Px1)); + Sq := IfThen(Sq < 0, 0.0, Sq); + Coef := (sign * sqrt(Sq)); + CX1 := Coef * ((LRX * y1) / LRY); + CY1 := Coef * -((LRY * x1) / LRX); + + // + // Step 3 : Compute (cx, cy) from (cx1, cy1) + // + sx2 := (FStartX + FStopX) / 2.0; + sy2 := (FStartY + FStopY) / 2.0; + cx := sx2 + (cosAngle * CX1 - sinAngle * CY1); + cy := sy2 + (sinAngle * CX1 + cosAngle * CY1); + + // + // Step 4 : Compute the angleStart (angle1) and the angleExtent (dangle) + // + ux := (x1 - CX1) / LRX; + uy := (y1 - CY1) / LRY; + vx := (-x1 - CX1) / LRX; + vy := (-y1 - CY1) / LRY; + + // Compute the angle start + n := (ux * ux) + (uy * uy); + n := sqrt(n); +// n := sqrt((ux * ux) + (uy * uy)); + p := ux; // (1 * ux) + (0 * uy) + sign := IfThen(uy < 0, -1, 1); + AngleStart := RadToDeg(sign * arccos(p / n)); + + // Compute the angle extent + n := sqrt((ux * ux + uy * uy) * (vx * vx + vy * vy)); + p := ux * vx + uy * vy; + sign := IfThen(ux * vy - uy * vx < 0, -1, 1); + AngleExtent := RadToDeg(sign * arccos(p / n)); + if ((Fsweep = 0) and (AngleExtent > 0)) then + begin + AngleExtent := AngleExtent - c360; + end else if ((FSweep = 1) and (AngleExtent < 0)) then + begin + AngleExtent := AngleExtent + c360; + end; + + AngleStart := FMod(AngleStart, c360); + AngleExtent := FMod(AngleExtent, c360); + + R.x := cx - LRX; + R.y := cy - LRY; + R.width := LRX * 2.0; + R.height := LRY * 2.0; + + ArcPath := TGPGraphicsPath.Create; + try + ArcPath.AddArc(R, AngleStart, AngleExtent); + Matrix := TGPMatrix.Create; + try + Center.X := cx; + Center.Y := cy; + Matrix.RotateAt(FXRot, Center); + ArcPath.Transform(Matrix); + finally + Matrix.Free; + end; + Path.AddPath(ArcPath, True); + finally + ArcPath.Free; + end; +end; + +procedure TSVGPathEllipticArc.Read(SL: TStrings; var Position: Integer; Previous: TSVGPathElement); +var + Command: string; +begin + inherited; + + Command := SL[Position]; + if (Command = 'A') or (Command = 'a') then + begin + TryStrToTFloat(SL[Position + 1], FRX); + TryStrToTFloat(SL[Position + 2], FRY); + TryStrToTFloat(SL[Position + 3], FXRot); + TryStrToInt(SL[Position + 4], FLarge); + TryStrToInt(SL[Position + 5], FSweep); + TryStrToTFloat(SL[Position + 6], FStopX); + TryStrToTFloat(SL[Position + 7], FStopY); + Inc(Position, 7); + + FRX := Abs(FRX); + FRY := Abs(FRY); + + if FLarge <> 0 then + FLarge := 1; + + if FSweep <> 0 then + FSweep := 1; + + if Command = 'a' then + begin + FStopX := FStartX + FStopX; + FStopY := FStartY + FStopY; + end; + end; +end; + +// TSVGPathClose + +function TSVGPathClose.FindLastMoveTo: TSVGPathMove; +var + Index: Integer; + Previous: TSVGObject; +begin + for Index := Parent.Count - 2 downto 0 do + begin + Previous := Parent.Items[Index]; + if Previous is TSVGPathMove then + begin + Result := TSVGPathMove(Previous); + Exit; + end; + end; + Result := nil; +end; + +function TSVGPathClose.GetBounds: TRectF; +begin + Result.Left := 0; + Result.Top := 0; + Result.Width := 0; + Result.Height := 0; +end; + +procedure TSVGPathClose.Read(SL: TStrings; var Position: Integer; + Previous: TSVGPathElement); +var + LastMoveTo: TSVGPathMove; +begin + FStartX := Previous.FStopX; + FStartY := Previous.FStopY; + LastMoveTo := FindLastMoveTo; + if Assigned(LastMoveTo) then + begin + FStopX := LastMoveTo.FStopX; + FStopY := LastMoveTo.FStopY; + end else begin + FStopX := FStartX; + FStopY := FStartY; + end; +end; + +procedure TSVGPathClose.AddToPath(Path: TGPGraphicsPath); +begin + Path.CloseFigure; +end; + +end. diff --git a/Svg/SVGStyle.pas b/Svg/SVGStyle.pas index 381737b0..fb69bc00 100644 --- a/Svg/SVGStyle.pas +++ b/Svg/SVGStyle.pas @@ -1,455 +1,455 @@ -{******************************************************************} -{ SVG style class } -{ } -{ home page : http://www.mwcs.de } -{ email : martin.walter@mwcs.de } -{ } -{ date : 26-04-2005 } -{ } -{ Use of this file is permitted for commercial and non-commercial } -{ use, as long as the author is credited. } -{ This file (c) 2005 Martin Walter } -{ } -{ Thanks to: } -{ Kiriakos Vlahos (Process Stylesheet) } -{ } -{ This Software is distributed on an "AS IS" basis, WITHOUT } -{ WARRANTY OF ANY KIND, either express or implied. } -{ } -{ *****************************************************************} - -unit SVGStyle; - -interface - -uses - System.Classes, System.Contnrs; - -type - TStyle = class(TObject) - strict private - FValues: TStrings; - function GetCount: Integer; - procedure PutValues(const Key: string; const Value: string); - function GetValues(const Key: string): string; - - procedure PutValuesByNum(const Index: Integer; const Value: string); - function GetValuesByNum(const Index: Integer): string; - - procedure PutKey(const Index: Integer; const Key: string); - function GetKey(const Index: Integer): string; - - function Dequote(const Value: string): string; - private - FName: string; - strict private - FOnChange: TNotifyEvent; - procedure DoOnChange; - public - constructor Create; - destructor Destroy; override; - procedure Clear; - function Clone: TStyle; - procedure SetValues(const Values: string); - - function AddStyle(const Key, Value: string): Integer; - function IndexOf(const Key: string): Integer; - procedure Delete(Index: Integer); - function Remove(const Key: string): Integer; - - property Count: Integer read GetCount; - property Values[const Key: string]: string read GetValues write PutValues; default; - property ValuesByNum[const Index: Integer]: string read GetValuesByNum write PutValuesByNum; - property Keys[const Index: Integer]: string read GetKey write PutKey; - property OnChange: TNotifyEvent read FOnChange write FOnChange; - end; - - TStyleList = class(TObject) - strict private - FList: TObjectList; - - function GetCount: Integer; - function GetStyle(const Index: Integer): TStyle; - procedure PutStyle(const Index: Integer; Style: TStyle); - public - constructor Create; - destructor Destroy; override; - procedure Clear; - function Clone: TStyleList; - - procedure Delete(Index: Integer); - function Remove(const Style: TStyle): Integer; - function Add(const AStyle: TStyle): Integer; overload; - function Add(const Name, Values: string): Integer; overload; - function Add(const AStyle: string): Integer; overload; - - procedure Insert(Index: Integer; Style: TStyle); overload; - procedure Insert(Index: Integer; const Name, Values: string); overload; - procedure Exchange(Index1, Index2: Integer); - procedure Move(CurIndex, NewIndex: Integer); - function IndexOf(Style: TStyle): Integer; - function GetStyleByName(const Name: string): TStyle; - - property Style[const Index: Integer]: TStyle read GetStyle write PutStyle; default; - property Count: Integer read GetCount; - end; - - procedure ProcessStyleSheet(Var S: string); - -implementation - -uses - System.SysUtils, System.StrUtils, System.Character; - -{$REGION 'TStyle'} - -constructor TStyle.Create; -begin - inherited; - FValues := TStringList.Create; - FValues.NameValueSeparator := '"'; -end; - -destructor TStyle.Destroy; -begin - FreeAndNil(FValues); - inherited; -end; - -procedure TStyle.Clear; -begin - if FValues <> nil then - begin - FValues.Clear; - end; -end; - -function TStyle.Clone: TStyle; -begin - Result := TStyle.Create; - Result.FName := FName; - Result.FValues.Assign(FValues); -end; - -function TStyle.GetCount: Integer; -begin - Result := FValues.Count; -end; - -procedure TStyle.DoOnChange; -begin - if Assigned(FOnChange) then - begin - FOnChange(Self); - end; -end; - -procedure TStyle.PutValues(const Key: string; const Value: string); -var - Index: Integer; -begin - Index := IndexOf(Key); - if Index > 0 then - PutValuesByNum(Index, Value) - else - AddStyle(Key, Value); -end; - -function TStyle.GetValues(const Key: string): string; -begin - Result := GetValuesByNum(IndexOf(Key)); -end; - -procedure TStyle.PutValuesByNum(const Index: Integer; const Value: string); -begin - if (Index >= 0) and (Index < FValues.Count) then - FValues.ValueFromIndex[Index] := DeQuote(Value); -end; - -function TStyle.GetValuesByNum(const Index: Integer): string; -begin - if (Index >= 0) and (Index < FValues.Count) then - Result := FValues.ValueFromIndex[Index] - else - Result := ''; -end; - -procedure TStyle.PutKey(const Index: Integer; const Key: string); -begin - if (Index >= 0) and (Index < FValues.Count) then - FValues[Index] := Key + FValues.NameValueSeparator + FValues.ValueFromIndex[Index]; -end; - -function TStyle.GetKey(const Index: Integer): string; -begin - if (Index >= 0) and (Index < FValues.Count) then - Result := FValues.Names[Index] - else - Result := ''; -end; - -function TStyle.Dequote(const Value: string): string; -begin - if Value <> '' then - begin - if (Value[1] = '''') and (Value[Length(Value)] = '''') then - Result := Copy(Value, 2, Length(Value) - 2) - else - if (Value[1] = '"') and (Value[Length(Value)] = '"') then - Result := Copy(Value, 2, Length(Value) - 2) - else - Result := Value; - end else - Result := Value; -end; - -procedure TStyle.SetValues(const Values: string); -var - C: Integer; - Key: string; - Value: string; - Help: string; -begin - Help := Trim(Values); - - while Help <> '' do - begin - C := Pos(';', Help); - if C = 0 then - C := Length(Help) + 1; - Key := Copy(Help, 1, C - 1); - Help := Trim(Copy(Help, C + 1, MaxInt)); - C := Pos(':', Key); - if C <> 0 then - begin - Value := Trim(Copy(Key, C + 1, MaxInt)); - Key := Trim(Copy(Key, 1, C - 1)); - - C := IndexOf(Key); - if C = -1 then - FValues.Add(Key + FValues.NameValueSeparator + DeQuote(Value)) - else - PutValuesByNum(C, Value); - end; - end; -end; - -function TStyle.AddStyle(const Key, Value: string): Integer; -begin - Result := IndexOf(Key); - if Result = -1 then - Result := FValues.Add(Key + FValues.NameValueSeparator + DeQuote(Value)) - else - PutValuesByNum(Result, Value); - DoOnChange; -end; - -function TStyle.IndexOf(const Key: string): Integer; -begin - for Result := 0 to FValues.Count - 1 do - begin - if FValues.Names[Result] = Key then - Exit; - end; - Result := -1; -end; - -procedure TStyle.Delete(Index: Integer); -begin - if (Index >= 0) and (Index < FValues.Count) then - begin - FValues.Delete(Index); - end; -end; - -function TStyle.Remove(const Key: string): Integer; -begin - Result := IndexOf(Key); - Delete(Result); -end; -{$ENDREGION} - -{$REGION 'TStyleList'} -constructor TStyleList.Create; -begin - inherited; - FList := TObjectList.Create(False); -end; - -destructor TStyleList.Destroy; -begin - Clear; - FList.Free; - inherited; -end; - -procedure TStyleList.Clear; -begin - while FList.Count > 0 do - begin - TStyle(FList[0]).Free; - FList.Delete(0); - end; -end; - -function TStyleList.Clone: TStyleList; -var - C: Integer; -begin - Result := TStyleList.Create; - for C := 0 to FList.Count - 1 do - Result.Add(GetStyle(C).Clone); -end; - -function TStyleList.GetCount: Integer; -begin - Result := FList.Count; -end; - -function TStyleList.GetStyle(const Index: Integer): TStyle; -begin - if (Index >= 0) and (Index < FList.Count) then - Result := TStyle(FList[Index]) - else - Result := nil; -end; - -procedure TStyleList.PutStyle(const Index: Integer; Style: TStyle); -begin - if (Index >= 0) and (Index < FList.Count) then - begin - FList[Index].Free; - FList[Index] := Style; - end; -end; - -procedure TStyleList.Delete(Index: Integer); -begin - if (Index >= 0) and (Index < FList.Count) then - begin - FList[Index].Free; - FList.Delete(Index); - end; -end; - -function TStyleList.Remove(const Style: TStyle): Integer; -begin - Result := IndexOf(Style); - Delete(Result); -end; - -function TStyleList.Add(const AStyle: TStyle): Integer; -begin - Result := FList.Add(AStyle); -end; - -function TStyleList.Add(const Name, Values: string): Integer; -var - S: TStyle; -begin - S := TStyle.Create; - S.FName := Name; - S.SetValues(Values); - Result := Add(S); -end; - -function TStyleList.Add(const AStyle: string): Integer; -var - Name: string; - StyleStr: string; - Values: string; - C: Integer; - D: Integer; -begin - Result := -1; - StyleStr := Trim(AStyle); - for C := Low(StyleStr) to High(StyleStr) do - begin - if StyleStr[C] = '{' then - begin - for D := High(StyleStr) downto C + 1 do - begin - if StyleStr[D] = '}' then - begin - Name := Trim(Copy(StyleStr, 1, C - 1)); - - Values := Copy(StyleStr, C + 1, D - C - 1); - Result := Add(Name, Values); - end; - end; - end; - end; -end; - -procedure TStyleList.Insert(Index: Integer; Style: TStyle); -begin - if (Index >= 0) and (Index < FList.Count) then - FList.Insert(Index, Style); -end; - -procedure TStyleList.Insert(Index: Integer; const Name, Values: string); -var - S: TStyle; -begin - if (Index >= 0) and (Index < FList.Count) then - begin - S := TStyle.Create; - S.FName := Name; - S.SetValues(Values); - Insert(Index, S); - end; -end; - -procedure TStyleList.Exchange(Index1, Index2: Integer); -begin - if (Index1 >= 0) and (Index1 < FList.Count) and - (Index2 >= 0) and (Index2 < FList.Count) then - FList.Exchange(Index1, Index2); -end; - -procedure TStyleList.Move(CurIndex, NewIndex: Integer); -begin - if (CurIndex >= 0) and (CurIndex < FList.Count) and - (NewIndex >= 0) and (NewIndex < FList.Count) then - FList.Move(CurIndex, NewIndex); -end; - -function TStyleList.IndexOf(Style: TStyle): Integer; -begin - Result := FList.IndexOf(Style); -end; - -function TStyleList.GetStyleByName(const Name: string): TStyle; -var - C: Integer; -begin - for C := 0 to FList.Count - 1 do - begin - Result := TStyle(FList[C]); - if Result.FName = Name then - Exit; - end; - - Result := nil; -end; - -procedure ProcessStyleSheet(Var S: string); -Var - OutS: string; - C: Char; -begin - OutS := ''; - for C in S do - begin - if C.IsWhiteSpace then Continue; - if C = '}' then - OutS := OutS + C + SLineBreak - else - OutS := OutS + C; - end; - S := OutS; -end; - -{$ENDREGION} - -end. +{******************************************************************} +{ SVG style class } +{ } +{ home page : http://www.mwcs.de } +{ email : martin.walter@mwcs.de } +{ } +{ date : 26-04-2005 } +{ } +{ Use of this file is permitted for commercial and non-commercial } +{ use, as long as the author is credited. } +{ This file (c) 2005 Martin Walter } +{ } +{ Thanks to: } +{ Kiriakos Vlahos (Process Stylesheet) } +{ } +{ This Software is distributed on an "AS IS" basis, WITHOUT } +{ WARRANTY OF ANY KIND, either express or implied. } +{ } +{ *****************************************************************} + +unit SVGStyle; + +interface + +uses + System.Classes, System.Contnrs; + +type + TStyle = class(TObject) + strict private + FValues: TStrings; + function GetCount: Integer; + procedure PutValues(const Key: string; const Value: string); + function GetValues(const Key: string): string; + + procedure PutValuesByNum(const Index: Integer; const Value: string); + function GetValuesByNum(const Index: Integer): string; + + procedure PutKey(const Index: Integer; const Key: string); + function GetKey(const Index: Integer): string; + + function Dequote(const Value: string): string; + private + FName: string; + strict private + FOnChange: TNotifyEvent; + procedure DoOnChange; + public + constructor Create; + destructor Destroy; override; + procedure Clear; + function Clone: TStyle; + procedure SetValues(const Values: string); + + function AddStyle(const Key, Value: string): Integer; + function IndexOf(const Key: string): Integer; + procedure Delete(Index: Integer); + function Remove(const Key: string): Integer; + + property Count: Integer read GetCount; + property Values[const Key: string]: string read GetValues write PutValues; default; + property ValuesByNum[const Index: Integer]: string read GetValuesByNum write PutValuesByNum; + property Keys[const Index: Integer]: string read GetKey write PutKey; + property OnChange: TNotifyEvent read FOnChange write FOnChange; + end; + + TStyleList = class(TObject) + strict private + FList: TObjectList; + + function GetCount: Integer; + function GetStyle(const Index: Integer): TStyle; + procedure PutStyle(const Index: Integer; Style: TStyle); + public + constructor Create; + destructor Destroy; override; + procedure Clear; + function Clone: TStyleList; + + procedure Delete(Index: Integer); + function Remove(const Style: TStyle): Integer; + function Add(const AStyle: TStyle): Integer; overload; + function Add(const Name, Values: string): Integer; overload; + function Add(const AStyle: string): Integer; overload; + + procedure Insert(Index: Integer; Style: TStyle); overload; + procedure Insert(Index: Integer; const Name, Values: string); overload; + procedure Exchange(Index1, Index2: Integer); + procedure Move(CurIndex, NewIndex: Integer); + function IndexOf(Style: TStyle): Integer; + function GetStyleByName(const Name: string): TStyle; + + property Style[const Index: Integer]: TStyle read GetStyle write PutStyle; default; + property Count: Integer read GetCount; + end; + + procedure ProcessStyleSheet(Var S: string); + +implementation + +uses + System.SysUtils, System.StrUtils, System.Character; + +{$REGION 'TStyle'} + +constructor TStyle.Create; +begin + inherited; + FValues := TStringList.Create; + FValues.NameValueSeparator := '"'; +end; + +destructor TStyle.Destroy; +begin + FreeAndNil(FValues); + inherited; +end; + +procedure TStyle.Clear; +begin + if FValues <> nil then + begin + FValues.Clear; + end; +end; + +function TStyle.Clone: TStyle; +begin + Result := TStyle.Create; + Result.FName := FName; + Result.FValues.Assign(FValues); +end; + +function TStyle.GetCount: Integer; +begin + Result := FValues.Count; +end; + +procedure TStyle.DoOnChange; +begin + if Assigned(FOnChange) then + begin + FOnChange(Self); + end; +end; + +procedure TStyle.PutValues(const Key: string; const Value: string); +var + Index: Integer; +begin + Index := IndexOf(Key); + if Index > 0 then + PutValuesByNum(Index, Value) + else + AddStyle(Key, Value); +end; + +function TStyle.GetValues(const Key: string): string; +begin + Result := GetValuesByNum(IndexOf(Key)); +end; + +procedure TStyle.PutValuesByNum(const Index: Integer; const Value: string); +begin + if (Index >= 0) and (Index < FValues.Count) then + FValues.ValueFromIndex[Index] := DeQuote(Value); +end; + +function TStyle.GetValuesByNum(const Index: Integer): string; +begin + if (Index >= 0) and (Index < FValues.Count) then + Result := FValues.ValueFromIndex[Index] + else + Result := ''; +end; + +procedure TStyle.PutKey(const Index: Integer; const Key: string); +begin + if (Index >= 0) and (Index < FValues.Count) then + FValues[Index] := Key + FValues.NameValueSeparator + FValues.ValueFromIndex[Index]; +end; + +function TStyle.GetKey(const Index: Integer): string; +begin + if (Index >= 0) and (Index < FValues.Count) then + Result := FValues.Names[Index] + else + Result := ''; +end; + +function TStyle.Dequote(const Value: string): string; +begin + if Value <> '' then + begin + if (Value[1] = '''') and (Value[Length(Value)] = '''') then + Result := Copy(Value, 2, Length(Value) - 2) + else + if (Value[1] = '"') and (Value[Length(Value)] = '"') then + Result := Copy(Value, 2, Length(Value) - 2) + else + Result := Value; + end else + Result := Value; +end; + +procedure TStyle.SetValues(const Values: string); +var + C: Integer; + Key: string; + Value: string; + Help: string; +begin + Help := Trim(Values); + + while Help <> '' do + begin + C := Pos(';', Help); + if C = 0 then + C := Length(Help) + 1; + Key := Copy(Help, 1, C - 1); + Help := Trim(Copy(Help, C + 1, MaxInt)); + C := Pos(':', Key); + if C <> 0 then + begin + Value := Trim(Copy(Key, C + 1, MaxInt)); + Key := Trim(Copy(Key, 1, C - 1)); + + C := IndexOf(Key); + if C = -1 then + FValues.Add(Key + FValues.NameValueSeparator + DeQuote(Value)) + else + PutValuesByNum(C, Value); + end; + end; +end; + +function TStyle.AddStyle(const Key, Value: string): Integer; +begin + Result := IndexOf(Key); + if Result = -1 then + Result := FValues.Add(Key + FValues.NameValueSeparator + DeQuote(Value)) + else + PutValuesByNum(Result, Value); + DoOnChange; +end; + +function TStyle.IndexOf(const Key: string): Integer; +begin + for Result := 0 to FValues.Count - 1 do + begin + if FValues.Names[Result] = Key then + Exit; + end; + Result := -1; +end; + +procedure TStyle.Delete(Index: Integer); +begin + if (Index >= 0) and (Index < FValues.Count) then + begin + FValues.Delete(Index); + end; +end; + +function TStyle.Remove(const Key: string): Integer; +begin + Result := IndexOf(Key); + Delete(Result); +end; +{$ENDREGION} + +{$REGION 'TStyleList'} +constructor TStyleList.Create; +begin + inherited; + FList := TObjectList.Create(False); +end; + +destructor TStyleList.Destroy; +begin + Clear; + FList.Free; + inherited; +end; + +procedure TStyleList.Clear; +begin + while FList.Count > 0 do + begin + TStyle(FList[0]).Free; + FList.Delete(0); + end; +end; + +function TStyleList.Clone: TStyleList; +var + C: Integer; +begin + Result := TStyleList.Create; + for C := 0 to FList.Count - 1 do + Result.Add(GetStyle(C).Clone); +end; + +function TStyleList.GetCount: Integer; +begin + Result := FList.Count; +end; + +function TStyleList.GetStyle(const Index: Integer): TStyle; +begin + if (Index >= 0) and (Index < FList.Count) then + Result := TStyle(FList[Index]) + else + Result := nil; +end; + +procedure TStyleList.PutStyle(const Index: Integer; Style: TStyle); +begin + if (Index >= 0) and (Index < FList.Count) then + begin + FList[Index].Free; + FList[Index] := Style; + end; +end; + +procedure TStyleList.Delete(Index: Integer); +begin + if (Index >= 0) and (Index < FList.Count) then + begin + FList[Index].Free; + FList.Delete(Index); + end; +end; + +function TStyleList.Remove(const Style: TStyle): Integer; +begin + Result := IndexOf(Style); + Delete(Result); +end; + +function TStyleList.Add(const AStyle: TStyle): Integer; +begin + Result := FList.Add(AStyle); +end; + +function TStyleList.Add(const Name, Values: string): Integer; +var + S: TStyle; +begin + S := TStyle.Create; + S.FName := Name; + S.SetValues(Values); + Result := Add(S); +end; + +function TStyleList.Add(const AStyle: string): Integer; +var + Name: string; + StyleStr: string; + Values: string; + C: Integer; + D: Integer; +begin + Result := -1; + StyleStr := Trim(AStyle); + for C := Low(StyleStr) to High(StyleStr) do + begin + if StyleStr[C] = '{' then + begin + for D := High(StyleStr) downto C + 1 do + begin + if StyleStr[D] = '}' then + begin + Name := Trim(Copy(StyleStr, 1, C - 1)); + + Values := Copy(StyleStr, C + 1, D - C - 1); + Result := Add(Name, Values); + end; + end; + end; + end; +end; + +procedure TStyleList.Insert(Index: Integer; Style: TStyle); +begin + if (Index >= 0) and (Index < FList.Count) then + FList.Insert(Index, Style); +end; + +procedure TStyleList.Insert(Index: Integer; const Name, Values: string); +var + S: TStyle; +begin + if (Index >= 0) and (Index < FList.Count) then + begin + S := TStyle.Create; + S.FName := Name; + S.SetValues(Values); + Insert(Index, S); + end; +end; + +procedure TStyleList.Exchange(Index1, Index2: Integer); +begin + if (Index1 >= 0) and (Index1 < FList.Count) and + (Index2 >= 0) and (Index2 < FList.Count) then + FList.Exchange(Index1, Index2); +end; + +procedure TStyleList.Move(CurIndex, NewIndex: Integer); +begin + if (CurIndex >= 0) and (CurIndex < FList.Count) and + (NewIndex >= 0) and (NewIndex < FList.Count) then + FList.Move(CurIndex, NewIndex); +end; + +function TStyleList.IndexOf(Style: TStyle): Integer; +begin + Result := FList.IndexOf(Style); +end; + +function TStyleList.GetStyleByName(const Name: string): TStyle; +var + C: Integer; +begin + for C := 0 to FList.Count - 1 do + begin + Result := TStyle(FList[C]); + if Result.FName = Name then + Exit; + end; + + Result := nil; +end; + +procedure ProcessStyleSheet(Var S: string); +Var + OutS: string; + C: Char; +begin + OutS := ''; + for C in S do + begin + if C.IsWhiteSpace then Continue; + if C = '}' then + OutS := OutS + C + SLineBreak + else + OutS := OutS + C; + end; + S := OutS; +end; + +{$ENDREGION} + +end.