pushing the demo application
authorcgandhi
Thu, 05 Aug 2010 16:35:33 +0530
changeset 16 b78fa4cdbf2b
parent 15 9b00ca3cc206
child 17 106a4bfcb866
pushing the demo application
example/DemoGUI/.cproject
example/DemoGUI/CustomListWidget.cpp
example/DemoGUI/CustomListWidget.h
example/DemoGUI/DemoGUI.loc
example/DemoGUI/DemoGUI.pro
example/DemoGUI/DemoGUI.rss
example/DemoGUI/DemoGUI_installer.pkg
example/DemoGUI/DemoGUI_reg.rss
example/DemoGUI/DemoGUI_template.pkg
example/DemoGUI/FriendView.cpp
example/DemoGUI/FriendView.h
example/DemoGUI/GridView.cpp
example/DemoGUI/GridView.h
example/DemoGUI/HomeView.cpp
example/DemoGUI/HomeView.h
example/DemoGUI/ImageDownload.cpp
example/DemoGUI/ImageDownload.h
example/DemoGUI/SMF.loc
example/DemoGUI/SMF.rss
example/DemoGUI/SMF_reg.rss
example/DemoGUI/ScreenSize.h
example/DemoGUI/ToolBar.cpp
example/DemoGUI/ToolBar.h
example/DemoGUI/WidgetConstants.h
example/DemoGUI/debug/.svn/all-wcprops
example/DemoGUI/debug/.svn/entries
example/DemoGUI/main.cpp
example/DemoGUI/mainwindow.cpp
example/DemoGUI/mainwindow.h
example/DemoGUI/mainwindow.ui
example/DemoGUI/object_script.DemoGUI.Debug
example/DemoGUI/object_script.DemoGUI.Release
example/DemoGUI/release/.svn/all-wcprops
example/DemoGUI/release/.svn/entries
example/DemoGUI/sasken_logo.svg
example/DemoGUI/smfdemo.svg
example/DemoGUI/tmp/.svn/all-wcprops
example/DemoGUI/tmp/.svn/entries
example/DemoGUI/ui_mainwindow.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/.cproject	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,133 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?fileVersion 4.0.0?>
+
+<cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
+<storageModule buildFromInf="true" buildingTestComps="true" cleanLevel="0" concurrentBuildJobs="4" defaultMMPChangedAction="0" extraSBSv2Args="" infBuildComponents="" infFileLocation="bld.inf" macrosFile="" makeEngineToUse="make" manageDependencies="true" moduleId="com.nokia.carbide.cdt.builder.carbideCPPBuilder" overrideMakeEngine="false" overrideWorkspaceSettings="false" promptForMMPChangedAction="true" useConcurrentBuilding="true" useDebugMode="false" useIncrementalBuilder="false" useKeepGoing="false" useMMPMacros="true"/>
+<storageModule moduleId="org.eclipse.cdt.core.settings">
+<cconfiguration id="Emulator Debug (WINSCW) [Nokia_Symbian3_SDK_v0.8]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Emulator Debug (WINSCW) [Nokia_Symbian3_SDK_v0.8]" moduleId="org.eclipse.cdt.core.settings" name="Emulator Debug (WINSCW) [Nokia_Symbian3_SDK_v0.8]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MWLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MWCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="D:\S60\devices\Nokia_Symbian3_SDK_v0.8\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="D:\smf\MissingCode\DemoGUI\DemoGUI_0xE9d1bae8.mmp;D:\smf\MissingCode\DemoGUI\bld.inf;" includesCache="D:/Qt/4.6.2/include/QtCore;D:/Qt/4.6.2/include/QtCore/tmp;D:/Qt/4.6.2/include/QtNetwork;D:/Qt/4.6.2/include/QtNetwork/tmp;D:/Qt/4.6.2/include/QtGui;D:/Qt/4.6.2/include/QtGui/tmp;D:/Qt/4.6.2/include;D:/Qt/4.6.2/include/tmp;D:/smf/MissingCode/DemoGUI;D:/smf/MissingCode/DemoGUI/tmp;D:/Qt/4.6.2/mkspecs/common/symbian;D:/Qt/4.6.2/mkspecs/common/symbian/tmp;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/stdapis;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/stdapis/sys;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/mw;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/mw;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/app;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/app;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/mw/loc;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/app/loc;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/mw/loc/sc;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/stdapis/stlportv5;" macrosCache="QT_CORE_LIB;_UNICODE;__SUPPORT_CPP_EXCEPTIONS__;__WINSCW__;__SYMBIAN32__;QT_KEYPAD_NAVIGATION;__EXE__;QT_USE_MATH_H_FLOATS;__CW32__;__WINS__;QT_GUI_LIB;UNICODE;QT_NETWORK_LIB;QT_SOFTKEYS_ENABLED;_DEBUG;" moduleId="configDataCache" sourcesCache="" timestampCache="1280473572226" useMmpMacrosCache="true"/>
+<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
+</cconfiguration>
+<cconfiguration id="Phone Debug (ARMV5) [Nokia_Symbian3_SDK_v0.8]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Debug (ARMV5) [Nokia_Symbian3_SDK_v0.8]" moduleId="org.eclipse.cdt.core.settings" name="Phone Debug (ARMV5) [Nokia_Symbian3_SDK_v0.8]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="D:\S60\devices\Nokia_Symbian3_SDK_v0.8\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="D:\smf\MissingCode\DemoGUI\DemoGUI_0xE9d1bae8.mmp;D:\smf\MissingCode\DemoGUI\bld.inf;" includesCache="D:/Qt/4.6.2/include/QtCore;D:/Qt/4.6.2/include/QtCore/tmp;D:/Qt/4.6.2/include/QtNetwork;D:/Qt/4.6.2/include/QtNetwork/tmp;D:/Qt/4.6.2/include/QtGui;D:/Qt/4.6.2/include/QtGui/tmp;D:/Qt/4.6.2/include;D:/Qt/4.6.2/include/tmp;D:/smf/MissingCode/DemoGUI;D:/smf/MissingCode/DemoGUI/tmp;D:/Qt/4.6.2/mkspecs/common/symbian;D:/Qt/4.6.2/mkspecs/common/symbian/tmp;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/stdapis;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/stdapis/sys;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/mw;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/mw;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/app;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/app;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/mw/loc;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/app/loc;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/mw/loc/sc;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/stdapis/stlportv5;" macrosCache="QT_CORE_LIB;_UNICODE;__SUPPORT_CPP_EXCEPTIONS__;__MARM_ARMV5__;__ARMCC__;__ARMCC_2_2__;__SYMBIAN32__;QT_KEYPAD_NAVIGATION;__MARM__;QT_USE_MATH_H_FLOATS;__EXE__;__ARMCC_2__;__EPOC32__;__GENERIC_MARM__;QT_GUI_LIB;UNICODE;QT_NETWORK_LIB;QT_SOFTKEYS_ENABLED;__EABI__;_DEBUG;" moduleId="configDataCache" sourcesCache="" timestampCache="1280473572257" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Release (ARMV5) [Nokia_Symbian3_SDK_v0.8]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Release (ARMV5) [Nokia_Symbian3_SDK_v0.8]" moduleId="org.eclipse.cdt.core.settings" name="Phone Release (ARMV5) [Nokia_Symbian3_SDK_v0.8]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTLinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RVCTCompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="D:\S60\devices\Nokia_Symbian3_SDK_v0.8\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="D:\smf\MissingCode\DemoGUI\DemoGUI_0xE9d1bae8.mmp;D:\smf\MissingCode\DemoGUI\bld.inf;" includesCache="D:/Qt/4.6.2/include/QtCore;D:/Qt/4.6.2/include/QtCore/tmp;D:/Qt/4.6.2/include/QtNetwork;D:/Qt/4.6.2/include/QtNetwork/tmp;D:/Qt/4.6.2/include/QtGui;D:/Qt/4.6.2/include/QtGui/tmp;D:/Qt/4.6.2/include;D:/Qt/4.6.2/include/tmp;D:/smf/MissingCode/DemoGUI;D:/smf/MissingCode/DemoGUI/tmp;D:/Qt/4.6.2/mkspecs/common/symbian;D:/Qt/4.6.2/mkspecs/common/symbian/tmp;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/stdapis;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/stdapis/sys;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/mw;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/mw;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/app;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/app;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/mw/loc;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/app/loc;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/mw/loc/sc;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/stdapis/stlportv5;" macrosCache="QT_CORE_LIB;_UNICODE;__SUPPORT_CPP_EXCEPTIONS__;__MARM_ARMV5__;NDEBUG;__ARMCC__;__ARMCC_2_2__;__SYMBIAN32__;QT_KEYPAD_NAVIGATION;__MARM__;QT_USE_MATH_H_FLOATS;__EXE__;__ARMCC_2__;__EPOC32__;__GENERIC_MARM__;QT_GUI_LIB;UNICODE;QT_NETWORK_LIB;QT_SOFTKEYS_ENABLED;__EABI__;" moduleId="configDataCache" sourcesCache="" timestampCache="1280473572273" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Debug (GCCE) [Nokia_Symbian3_SDK_v0.8]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Debug (GCCE) [Nokia_Symbian3_SDK_v0.8]" moduleId="org.eclipse.cdt.core.settings" name="Phone Debug (GCCE) [Nokia_Symbian3_SDK_v0.8]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.GCCECompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.GCCEAssemblerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.GCCELinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="D:\S60\devices\Nokia_Symbian3_SDK_v0.8\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="D:\smf\MissingCode\DemoGUI\DemoGUI_0xE9d1bae8.mmp;D:\smf\MissingCode\DemoGUI\bld.inf;" includesCache="D:/Qt/4.6.2/include/QtCore;D:/Qt/4.6.2/include/QtCore/tmp;D:/Qt/4.6.2/include/QtNetwork;D:/Qt/4.6.2/include/QtNetwork/tmp;D:/Qt/4.6.2/include/QtGui;D:/Qt/4.6.2/include/QtGui/tmp;D:/Qt/4.6.2/include;D:/Qt/4.6.2/include/tmp;D:/smf/MissingCode/DemoGUI;D:/smf/MissingCode/DemoGUI/tmp;D:/Qt/4.6.2/mkspecs/common/symbian;D:/Qt/4.6.2/mkspecs/common/symbian/tmp;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/stdapis;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/stdapis/sys;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/mw;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/mw;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/app;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/app;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/mw/loc;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/app/loc;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/mw/loc/sc;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/stdapis/stlportv5;" macrosCache="QT_CORE_LIB;_UNICODE;__SUPPORT_CPP_EXCEPTIONS__;__MARM_ARMV5__;__SYMBIAN32__;QT_KEYPAD_NAVIGATION;__GCCE__;__MARM__;QT_USE_MATH_H_FLOATS;__EXE__;__EPOC32__;__GENERIC_MARM__;QT_GUI_LIB;UNICODE;QT_NETWORK_LIB;QT_SOFTKEYS_ENABLED;__EABI__;_DEBUG;" moduleId="configDataCache" sourcesCache="" timestampCache="1280473572304" useMmpMacrosCache="true"/>
+</cconfiguration>
+<cconfiguration id="Phone Release (GCCE) [Nokia_Symbian3_SDK_v0.8]">
+<storageModule buildSystemId="com.nokia.carbide.cdt.builder.CarbideConfigurationDataProvider" id="Phone Release (GCCE) [Nokia_Symbian3_SDK_v0.8]" moduleId="org.eclipse.cdt.core.settings" name="Phone Release (GCCE) [Nokia_Symbian3_SDK_v0.8]">
+<externalSettings/>
+<extensions>
+<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="org.eclipse.cdt.core.PE" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.cdt.debug.cw.symbian.SymbianE32" point="org.eclipse.cdt.core.BinaryParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.CarbideMakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.SBSv2ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.Elf2E32ErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.RCOMPErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.GCCECompilerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.MakeDefErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.GCCEAssemblerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+<extension id="com.nokia.carbide.cdt.builder.GCCELinkerErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
+</extensions>
+</storageModule>
+<storageModule moduleId="CarbideConfigurationDataProvider">
+<ENV_VAR_DATA_ID/>
+<ARGUMENTS_DATA_ID ABLDFREEZEARGSSTORAGE="-r"/>
+<ROM_BUILDER_DATA_ID ROMBUILDWORKINGDIRECTORYSTORAGE="D:\S60\devices\Nokia_Symbian3_SDK_v0.8\epoc32\rom\"/>
+</storageModule>
+<storageModule filesCache="D:\smf\MissingCode\DemoGUI\DemoGUI_0xE9d1bae8.mmp;D:\smf\MissingCode\DemoGUI\bld.inf;" includesCache="D:/Qt/4.6.2/include/QtCore;D:/Qt/4.6.2/include/QtCore/tmp;D:/Qt/4.6.2/include/QtNetwork;D:/Qt/4.6.2/include/QtNetwork/tmp;D:/Qt/4.6.2/include/QtGui;D:/Qt/4.6.2/include/QtGui/tmp;D:/Qt/4.6.2/include;D:/Qt/4.6.2/include/tmp;D:/smf/MissingCode/DemoGUI;D:/smf/MissingCode/DemoGUI/tmp;D:/Qt/4.6.2/mkspecs/common/symbian;D:/Qt/4.6.2/mkspecs/common/symbian/tmp;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/stdapis;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/stdapis/sys;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/mw;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/mw;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/app;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/app;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/mw/loc;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/app/loc;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/platform/mw/loc/sc;D:/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/include/stdapis/stlportv5;" macrosCache="QT_CORE_LIB;_UNICODE;__SUPPORT_CPP_EXCEPTIONS__;__MARM_ARMV5__;NDEBUG;__SYMBIAN32__;QT_KEYPAD_NAVIGATION;__GCCE__;__MARM__;QT_USE_MATH_H_FLOATS;__EXE__;__EPOC32__;__GENERIC_MARM__;QT_GUI_LIB;UNICODE;QT_NETWORK_LIB;QT_SOFTKEYS_ENABLED;__EABI__;" moduleId="configDataCache" sourcesCache="" timestampCache="1280473572320" useMmpMacrosCache="true"/>
+</cconfiguration>
+</storageModule>
+</cproject>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/CustomListWidget.cpp	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,401 @@
+#include "CustomListWidget.h"
+#include <qlistwidget.h>
+#include <qboxlayout.h>
+#include <qlabel.h>
+#include <qdebug.h>
+#include "ScreenSize.h"
+#include <qpushbutton.h>
+#include "WidgetConstants.h"
+
+CustomListWidget::CustomListWidget()
+{
+     setStyleSheet("selection-color: yellow;"
+                      "selection-background-color: grey;");
+}
+CustomListWidget::~CustomListWidget()
+{
+
+}
+
+void CustomListWidget::AddListItem(QString aIconPath,QString aFirstLine,QString aSecondLine)
+{
+    QWidget* customwidget = new QWidget;
+    QHBoxLayout* HMainlayout = new QHBoxLayout(customwidget);
+    QLabel *lab =new QLabel();
+    lab->setPixmap(QPixmap(aIconPath));
+    lab->setFixedSize(60,60);
+    HMainlayout->addWidget(lab);
+
+    //To add First & second row horizontal layouts
+    QVBoxLayout* VTextlayout = new QVBoxLayout;
+
+    QHBoxLayout* HFirstrowLayout = new QHBoxLayout;
+    //Add FirstLine label
+    QLabel *lab1 =new QLabel(aFirstLine);
+    lab1->setStyleSheet("font: bold 20px;");
+    HFirstrowLayout->addWidget(lab1);
+    //Add Images to
+    QLabel *Img1lab =new QLabel();
+    Img1lab->setPixmap(QPixmap(aIconPath));
+    Img1lab->setFixedSize(10,10);
+    QLabel *Img2lab =new QLabel();
+    Img2lab->setPixmap(QPixmap(aIconPath));
+    Img2lab->setFixedSize(10,10);
+    QLabel *Img3lab =new QLabel();
+    Img3lab->setPixmap(QPixmap(aIconPath));
+    Img3lab->setFixedSize(10,10);
+
+    HFirstrowLayout->addWidget(Img1lab);
+    HFirstrowLayout->addWidget(Img2lab);
+    HFirstrowLayout->addWidget(Img3lab);
+
+//        HFirstrowLayout->setAlignment(Img3lab,Qt::AlignRight);
+//        HFirstrowLayout->setAlignment(Img2lab,Qt::AlignRight);
+//        HFirstrowLayout->setAlignment(Img1lab,Qt::AlignRight);
+
+    VTextlayout->addLayout(HFirstrowLayout);
+
+
+     QHBoxLayout* HSecondrowLayout = new QHBoxLayout;
+    QLabel *lab2 =new QLabel(aSecondLine);
+    lab2->setStyleSheet("font: 16px;");
+    HSecondrowLayout->addWidget(lab2);
+
+    QLabel *Timestamplabel =new QLabel("00:00 JUL 12");
+    Timestamplabel->setStyleSheet("font: 12px;");
+    HSecondrowLayout->addWidget(Timestamplabel);
+
+    HSecondrowLayout->setAlignment(Timestamplabel,Qt::AlignRight);
+
+    VTextlayout->addLayout(HSecondrowLayout);
+
+
+    HMainlayout->addLayout(VTextlayout);
+    customwidget->setLayout(HMainlayout);
+    QListWidgetItem *item=new QListWidgetItem;
+
+    //customlist->adjustSize();
+    //customlist->adjustSize();
+    item->setSizeHint(QSize(60,60));
+
+    addItem(item);
+    setItemWidget(item,customwidget);
+}
+
+void CustomListWidget::AddListItem(QMainWindow *mainWindow,QStringList aIconPath,QStringList aNames)
+{
+	qDebug()<<"Inside GridView::CreateGridView()";
+	qDebug()<<"aIconPath count = "<<aIconPath.count();
+	qDebug()<<"names count = "<<aNames.count();
+
+	int row;
+	int col;
+	//QWidget* widget = new QWidget();
+	QGridLayout* GridLayout = new QGridLayout(this);
+	if((6 == aIconPath.count()) || (5 == aIconPath.count()))
+	{
+		row = 3;
+		col = 2;
+	}
+	else if((4 == aIconPath.count()) || (3 == aIconPath.count()))
+	{
+		row = col = 2;
+	}
+	else if((2 == aIconPath.count()) || (1 == aIconPath.count()))
+	{
+		row = 1;
+		col = 2;
+	}
+	else if(0 == aIconPath.count())
+	{
+		row = col = 0;
+	}
+
+	int rowSpace = (ScreenSize::GetScreenRect().height() - (KHeadNameHeight+ToolbarIconHeight+2*KWidgetGapFactor))/row;
+	int colSpace = (ScreenSize::GetScreenRect().width() - 2*KWidgetGapFactor )/col;
+
+	int index = 0;
+	for(int i=0;i<row;i++)
+	{
+		for(int j=0;j<col;j++)
+		{
+		QPushButton *pushBtn = new QPushButton();
+		qDebug()<<"name = "<<aNames[index];
+		int gapFac = KHeadNameHeight+ToolbarIconHeight;
+		pushBtn->setGeometry(i*colSpace,(j*rowSpace + KWidgetGapFactor),colSpace,rowSpace);
+		pushBtn->setIconSize(QSize(colSpace-(3*KWidgetGapFactor),colSpace+(3*KWidgetGapFactor)));
+		qDebug()<<"icon = "<<aIconPath[index];
+		pushBtn->setIcon(QIcon(aIconPath[index]));
+		qDebug()<<"After image display";
+		GridLayout->addWidget(pushBtn,i,j);
+		
+		index++;
+		if(index == aNames.count())
+			{
+			qDebug()<<"Count became same so exiting";
+			break;
+			}
+		}
+	if(index == aNames.count())
+		{
+		qDebug()<<"Count became same so exiting";
+		break;
+		}
+	}
+	//Its required please don't remove
+	show();
+}
+
+
+QWidget* CustomListWidget::CreateListwidget(SmfContactList* friendsList)
+	{
+	qDebug()<<"Inside CustomListWidget::CreateListwidget() for friends";
+	qDebug()<<"Friends count = "<<friendsList->count();
+	
+    QListWidget* customlist = new QListWidget();
+    
+    // Todo:- Display something when no friends are available
+    foreach(SmfContact contact, *friendsList)
+    {
+    	QString name(contact.value("Name").value<QContactName>().firstName());
+    	QString status(contact.value("Presence").value<QContactPresence>().customMessage());
+    	if(!status.size())
+    		status.append("Not available");
+    	//QUrl url(contact.value("Avatar").value<QContactAvatar>().imageUrl());
+    	QString url("C:\\data\\sample.bmp"); // ToDo:- should be the profile image path
+
+        QWidget* widgetItem = new QWidget();
+        QHBoxLayout* HMainlayout = new QHBoxLayout(widgetItem);
+        QLabel *lab =new QLabel();
+        lab->setPixmap(QPixmap(url));  
+        lab->setFixedSize(60,60);
+        HMainlayout->addWidget(lab);
+
+        //To add First & second row horizontal layouts
+        QVBoxLayout* VTextlayout = new QVBoxLayout;
+
+        QHBoxLayout* HFirstrowLayout = new QHBoxLayout;
+        
+        //Add FirstLine label
+        QLabel *lab1 = new QLabel(name);
+        lab1->setStyleSheet("font: bold 16px;");
+        HFirstrowLayout->addWidget(lab1);
+        
+        //Add Images to
+        QLabel *Img1lab =new QLabel();
+        Img1lab->setPixmap(QPixmap(url));
+        Img1lab->setFixedSize(10,10);
+        QLabel *Img2lab =new QLabel();
+        Img2lab->setPixmap(QPixmap(url));
+        Img2lab->setFixedSize(10,10);
+        QLabel *Img3lab =new QLabel();
+        Img3lab->setPixmap(QPixmap(url));
+        Img3lab->setFixedSize(10,10);
+
+        HFirstrowLayout->addWidget(Img1lab);
+        HFirstrowLayout->addWidget(Img2lab);
+        HFirstrowLayout->addWidget(Img3lab);
+
+//        HFirstrowLayout->setAlignment(Img3lab,Qt::AlignRight);
+//        HFirstrowLayout->setAlignment(Img2lab,Qt::AlignRight);
+//        HFirstrowLayout->setAlignment(Img1lab,Qt::AlignRight);
+
+        VTextlayout->addLayout(HFirstrowLayout);
+
+
+         QHBoxLayout* HSecondrowLayout = new QHBoxLayout;
+        QLabel *lab2 =new QLabel(status);
+        lab2->setStyleSheet("font: 8px;");
+        HSecondrowLayout->addWidget(lab2);
+
+        QLabel *Timestamplabel =new QLabel("");
+        Timestamplabel->setStyleSheet("font: 7px;");
+        HSecondrowLayout->addWidget(Timestamplabel);
+
+        HSecondrowLayout->setAlignment(Timestamplabel,Qt::AlignRight);
+
+        VTextlayout->addLayout(HSecondrowLayout);
+
+
+        HMainlayout->addLayout(VTextlayout);
+        widgetItem->setLayout(HMainlayout);
+        QListWidgetItem *item=new QListWidgetItem;
+
+        //customlist->adjustSize();
+        //customlist->adjustSize();
+        item->setSizeHint(QSize(60,60));
+
+        customlist->addItem(item);
+        customlist->setItemWidget(item,widgetItem);
+    }
+    customlist->setStyleSheet("selection-color: yellow;"
+                          "selection-background-color: grey;");
+    return customlist;
+	}
+
+
+QWidget* CustomListWidget::CreateListwidget(SmfPostList *postsList)
+	{
+	qDebug()<<"Inside CustomListWidget::CreateListwidget() for posts";
+	qDebug()<<"Posts count = "<<postsList->count();
+	
+    QListWidget* customlist = new QListWidget();
+    
+    // Todo:- Display something when no posts are available
+    foreach(SmfPost post, *postsList)
+    {
+    	QString text(post.description());
+    	QString ownerName(post.owner().value("Name").value<QContactName>().firstName());
+
+    	//QUrl url(contact.value("Avatar").value<QContactAvatar>().imageUrl());
+    	QString url("C:\\data\\sample.bmp"); // ToDo:- should be the profile image path
+
+        QWidget* widgetItem = new QWidget();
+        QHBoxLayout* HMainlayout = new QHBoxLayout(widgetItem);
+        QLabel *lab =new QLabel();
+        lab->setPixmap(QPixmap(url));  
+        lab->setFixedSize(60,60);
+        HMainlayout->addWidget(lab);
+
+        //To add First & second row horizontal layouts
+        QVBoxLayout* VTextlayout = new QVBoxLayout;
+
+        QHBoxLayout* HFirstrowLayout = new QHBoxLayout;
+        
+        //Add FirstLine label
+        QLabel *lab1 = new QLabel(ownerName);
+        lab1->setStyleSheet("font: bold 16px;");
+        HFirstrowLayout->addWidget(lab1);
+        
+        //Add Images to
+        QLabel *Img1lab =new QLabel();
+        Img1lab->setPixmap(QPixmap(url));
+        Img1lab->setFixedSize(10,10);
+        QLabel *Img2lab =new QLabel();
+        Img2lab->setPixmap(QPixmap(url));
+        Img2lab->setFixedSize(10,10);
+        QLabel *Img3lab =new QLabel();
+        Img3lab->setPixmap(QPixmap(url));
+        Img3lab->setFixedSize(10,10);
+
+        HFirstrowLayout->addWidget(Img1lab);
+        HFirstrowLayout->addWidget(Img2lab);
+        HFirstrowLayout->addWidget(Img3lab);
+
+//        HFirstrowLayout->setAlignment(Img3lab,Qt::AlignRight);
+//        HFirstrowLayout->setAlignment(Img2lab,Qt::AlignRight);
+//        HFirstrowLayout->setAlignment(Img1lab,Qt::AlignRight);
+
+        VTextlayout->addLayout(HFirstrowLayout);
+
+
+         QHBoxLayout* HSecondrowLayout = new QHBoxLayout;
+        QLabel *lab2 =new QLabel(text);
+        lab2->setStyleSheet("font: 8px;");
+        HSecondrowLayout->addWidget(lab2);
+
+        QLabel *Timestamplabel =new QLabel("");
+        Timestamplabel->setStyleSheet("font: 7px;");
+        HSecondrowLayout->addWidget(Timestamplabel);
+
+        HSecondrowLayout->setAlignment(Timestamplabel,Qt::AlignRight);
+
+        VTextlayout->addLayout(HSecondrowLayout);
+
+
+        HMainlayout->addLayout(VTextlayout);
+        widgetItem->setLayout(HMainlayout);
+        QListWidgetItem *item=new QListWidgetItem;
+
+        //customlist->adjustSize();
+        //customlist->adjustSize();
+        item->setSizeHint(QSize(60,60));
+
+        customlist->addItem(item);
+        customlist->setItemWidget(item,widgetItem);
+    }
+    customlist->setStyleSheet("selection-color: yellow;"
+                          "selection-background-color: grey;");
+    return customlist;
+	
+	}
+QWidget* CreateListwidget(SmfActivityEntryList *activityList)
+			{
+	
+			}
+
+/*QWidget* CustomListWidget::CreateListwidget(QString aIconPath,QString aFirstLine,QString aSecondLine)
+{
+	qDebug()<<"Inside CustomListWidget::CreateListwidget()";
+	qDebug()<<"Icon path = "<<aIconPath;
+	qDebug()<<"firstline = "<<aFirstLine;
+	qDebug()<<"second line = "<<aSecondLine;
+    QListWidget* customlist = new QListWidget();
+    //for(int i =0;i<2;i++)
+    //{
+        QWidget* widgetItem = new QWidget();
+        QHBoxLayout* HMainlayout = new QHBoxLayout(widgetItem);
+        QLabel *lab =new QLabel();
+        lab->setPixmap(QPixmap(aIconPath));
+        lab->setFixedSize(60,60);
+        HMainlayout->addWidget(lab);
+
+        //To add First & second row horizontal layouts
+        QVBoxLayout* VTextlayout = new QVBoxLayout;
+
+        QHBoxLayout* HFirstrowLayout = new QHBoxLayout;
+        //Add FirstLine label
+        QLabel *lab1 =new QLabel(aFirstLine);
+        lab1->setStyleSheet("font: bold 16px;");
+        HFirstrowLayout->addWidget(lab1);
+        //Add Images to
+        QLabel *Img1lab =new QLabel();
+        Img1lab->setPixmap(QPixmap(aIconPath));
+        Img1lab->setFixedSize(10,10);
+        QLabel *Img2lab =new QLabel();
+        Img2lab->setPixmap(QPixmap(aIconPath));
+        Img2lab->setFixedSize(10,10);
+        QLabel *Img3lab =new QLabel();
+        Img3lab->setPixmap(QPixmap(aIconPath));
+        Img3lab->setFixedSize(10,10);
+
+        HFirstrowLayout->addWidget(Img1lab);
+        HFirstrowLayout->addWidget(Img2lab);
+        HFirstrowLayout->addWidget(Img3lab);
+
+//        HFirstrowLayout->setAlignment(Img3lab,Qt::AlignRight);
+//        HFirstrowLayout->setAlignment(Img2lab,Qt::AlignRight);
+//        HFirstrowLayout->setAlignment(Img1lab,Qt::AlignRight);
+
+        VTextlayout->addLayout(HFirstrowLayout);
+
+
+         QHBoxLayout* HSecondrowLayout = new QHBoxLayout;
+        QLabel *lab2 =new QLabel(aSecondLine);
+        lab2->setStyleSheet("font: 8px;");
+        HSecondrowLayout->addWidget(lab2);
+
+        QLabel *Timestamplabel =new QLabel("00:00 JUN 29");
+        Timestamplabel->setStyleSheet("font: 7px;");
+        HSecondrowLayout->addWidget(Timestamplabel);
+
+        HSecondrowLayout->setAlignment(Timestamplabel,Qt::AlignRight);
+
+        VTextlayout->addLayout(HSecondrowLayout);
+
+
+        HMainlayout->addLayout(VTextlayout);
+        widgetItem->setLayout(HMainlayout);
+        QListWidgetItem *item=new QListWidgetItem;
+
+        //customlist->adjustSize();
+        //customlist->adjustSize();
+        item->setSizeHint(QSize(60,60));
+
+        customlist->addItem(item);
+        customlist->setItemWidget(item,widgetItem);
+    //}
+customlist->setStyleSheet("selection-color: yellow;"
+                          "selection-background-color: grey;");
+    return customlist;
+}*/
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/CustomListWidget.h	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,25 @@
+#ifndef CUSTOMLISTWIDGET_H
+#define CUSTOMLISTWIDGET_H
+
+#include <qlistwidget.h>
+#include <smfcontact.h>
+#include <smfpost.h>
+#include <smfactions.h>
+#include "qmainwindow.h"
+
+class CustomListWidget : public QListWidget
+{
+public:
+    CustomListWidget();
+    //QWidget* CreateListwidget(QStrng aIconPath,QString aFirstLine,QString aSecondLine);
+    QWidget* CreateListwidget(SmfContactList* friendsList);
+    QWidget* CreateListwidget(SmfPostList *postsList);
+    QWidget* CreateListwidget(SmfActivityEntryList *activityList);
+    void AddListItem(QString aIconPath,QString aFirstLine,QString aSecondLine);
+    void AddListItem(QMainWindow *mainWindow,QStringList aIconPath, QStringList iconName);
+    ~CustomListWidget();
+
+};
+
+
+#endif // CUSTOMLISTWIDGET_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/DemoGUI.loc	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,13 @@
+// ============================================================================
+// * Generated by qmake (2.01a) (Qt 4.6.2) on: 2010-07-30T14:14:37
+// * This file is generated by qmake and should not be modified by the
+// * user.
+// ============================================================================
+
+#ifdef LANGUAGE_SC
+#define STRING_r_short_caption "DemoGUI"
+#define STRING_r_caption "DemoGUI"
+#else
+#define STRING_r_short_caption "DemoGUI"
+#define STRING_r_caption "DemoGUI"
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/DemoGUI.pro	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,40 @@
+# -------------------------------------------------
+# Project created by QtCreator 2010-06-29T13:53:43
+# -------------------------------------------------
+TARGET = DemoGUI
+TEMPLATE = app
+QT += network
+CONFIG += mobility
+MOBILITY += contacts \
+    location
+SOURCES += ImageDownload.cpp \
+    main.cpp \
+    mainwindow.cpp \
+    CustomListWidget.cpp \
+    HomeView.cpp \
+    GridView.cpp \
+    ToolBar.cpp
+HEADERS += ImageDownload.h \
+    mainwindow.h \
+    CustomListWidget.h \
+    HomeView.h \
+    ScreenSize.h \
+    GridView.h \
+    ToolBar.h \
+    WidgetConstants.h
+FORMS += mainwindow.ui
+symbian: { 
+    TARGET.CAPABILITY = NetworkServices \
+        ReadUserData \
+        WriteUserData \
+        LocalServices \
+        UserEnvironment \
+        ReadDeviceData \
+        WriteDeviceData
+    LIBS += -lsmfclient.dll \
+        -lcone \
+        -leikcore \
+        -lavkon \
+	-lsmfcommon
+    ICON = sasken_logo.svg
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/DemoGUI.rss	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,21 @@
+// ============================================================================
+// * Generated by qmake (2.01a) (Qt 4.6.2) on: 2010-07-30T14:14:37
+// * This file is generated by qmake and should not be modified by the
+// * user.
+// ============================================================================
+
+#include <appinfo.rh>
+#include "DemoGUI.loc"
+
+RESOURCE LOCALISABLE_APP_INFO r_localisable_app_info
+	{
+	short_caption = STRING_r_short_caption;
+	caption_and_icon =
+	CAPTION_AND_ICON_INFO
+		{
+		caption = STRING_r_caption;
+		number_of_icons = 1;
+		icon_file = "\\resource\\apps\\DemoGUI.mif";
+		};
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/DemoGUI_installer.pkg	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,30 @@
+; DemoGUI_installer.pkg generated by qmake at 2010-07-30T14:14:37
+; This file is generated by qmake and should not be modified by the user
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"DemoGUI installer"},(0xA000D7CE),1,0,0
+
+; Localised Vendor name
+%{"Vendor"}
+
+; Unique Vendor name
+:"Vendor"
+
+
+; Manual PKG pre-rules from PRO files
+; Default HW/platform dependencies
+[0x101F7961],0,0,0,{"S60ProductID"}
+[0x102032BE],0,0,0,{"S60ProductID"}
+[0x102752AE],0,0,0,{"S60ProductID"}
+[0x1028315F],0,0,0,{"S60ProductID"}
+ 
+; Default dependency to Qt libraries
+; Default dependency to QtMobility libraries
+
+
+"D:/smf/MissingCode/DemoGUI/DemoGUI.sis" - "c:\adm\DemoGUI.sis"
+@"D:/Qt/4.6.2/smartinstaller.sis",(0x2002CCCD)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/DemoGUI_reg.rss	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,18 @@
+// ============================================================================
+// * Generated by qmake (2.01a) (Qt 4.6.2) on: 2010-07-30T14:14:37
+// * This file is generated by qmake and should not be modified by the
+// * user.
+// ============================================================================
+
+#include <DemoGUI.rsg>
+#include <appinfo.rh>
+
+UID2 KUidAppRegistrationResourceFile
+UID3 0xE9d1bae8
+
+RESOURCE APP_REGISTRATION_INFO
+	{
+	app_file="DemoGUI";
+	localisable_resource_file="\\resource\\apps\\DemoGUI";
+
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/DemoGUI_template.pkg	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,37 @@
+; DemoGUI_template.pkg generated by qmake at 2010-07-30T14:14:37
+; This file is generated by qmake and should not be modified by the user
+;
+
+; Language
+&EN
+
+; SIS header: name, uid, version
+#{"DemoGUI"},(0xE9d1bae8),1,0,0
+
+; Localised Vendor name
+%{"Vendor"}
+
+; Unique Vendor name
+:"Vendor"
+
+
+; Manual PKG pre-rules from PRO files
+; Default HW/platform dependencies
+[0x101F7961],0,0,0,{"S60ProductID"}
+[0x102032BE],0,0,0,{"S60ProductID"}
+[0x102752AE],0,0,0,{"S60ProductID"}
+[0x1028315F],0,0,0,{"S60ProductID"}
+ 
+; Default dependency to Qt libraries
+(0x2001E61C), 4, 6, 2, {"Qt"}
+; Default dependency to QtMobility libraries
+(0x2002AC89), 1, 0, 0, {"QtMobility"}
+
+; Executable and default resource files
+"/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/release/$(PLATFORM)/$(TARGET)/DemoGUI.exe"    - "!:\sys\bin\DemoGUI.exe"
+"/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/data/z/resource/apps/DemoGUI.rsc"    - "!:\resource\apps\DemoGUI.rsc"
+"/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/data/z/private/10003a3f/import/apps/DemoGUI_reg.rsc"    - "!:\private\10003a3f\import\apps\DemoGUI_reg.rsc"
+"/S60/devices/Nokia_Symbian3_SDK_v0.8/epoc32/data/z/resource/apps/DemoGUI.mif"    - "!:\resource\apps\DemoGUI.mif"
+
+
+; Manual PKG post-rules from PRO files
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/FriendView.cpp	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,71 @@
+#include "FriendView.h"
+#include "ScreenSize.h"
+#include "qpushbutton.h"
+#include "ToolBar.h"
+#include <qmessagebox.h>
+
+//Forward declaration
+class ScreenSize;
+class CustomListWidget;
+class GridView;
+
+FriendView::FriendView(QString aHeadName):
+        iHeadName(aHeadName)
+{
+
+}
+FriendView::~FriendView()
+{
+
+}
+void FriendView::SetupUI()
+{
+    //iMainwindow = Mainwindow;
+    QPushButton* HomeButton = new QPushButton(this);
+    HomeButton->setText(iHeadName);
+    HomeButton->setGeometry(0,0,ScreenSize::GetScreenRect().width(),KHeadNameHeight);
+    HomeButton->setStyleSheet("background-color: rgb(0,0,0);"
+                             "border-width: 2px;"
+                             "font: bold 16px;"
+                             "min-width: 10em;"
+                             "padding: 4px;"
+							 "color: white;"
+                            );
+
+    HomeButton->setDisabled(true);
+
+    TabWidget = new QTabWidget(this);
+
+    iPostsListWidget = new CustomListWidget();
+    TabWidget->addTab(iPostsListWidget,"Posts");
+
+    AlbumView = new GridView();
+    QStringList Iconpathlist;
+    Iconpathlist.append("E:/Images/SMF/SMF.JPG");
+    Iconpathlist.append("E:/Images/SMF/SMF.JPG");
+    Iconpathlist.append("E:/Images/SMF/SMF.JPG");
+    Iconpathlist.append("E:/Images/SMF/SMF.JPG");
+    Iconpathlist.append("E:/Images/SMF/SMF.JPG");
+    Iconpathlist.append("E:/Images/SMF/SMF.JPG");
+
+    TabWidget->addTab(AlbumView->CreateGridView(Iconpathlist),"Album");
+
+    TabWidget->setGeometry(0,KHeadNameHeight + KWidgetGapFactor,ScreenSize::GetScreenRect().width(),ScreenSize::GetScreenRect().height() - (ToolbarIconHeight + KWidgetGapFactor));
+
+    connect(TabWidget,SIGNAL(currentChanged(int)),this,SLOT(Navigated2OtherTab(int)));
+    //Drawing Tool bar
+    ToolBar* ToolBarwidget = new ToolBar;
+    QStringList actionList;
+    actionList.append("Post");
+    actionList.append("Reply");
+    actionList.append("Add Service");
+    ToolBarwidget->GetToolBar(this,actionList);
+    showFullScreen();
+}
+
+void FriendView::Navigated2OtherTab(int tabIndex)
+{
+     if(tabIndex == 0)
+        iPostsListWidget->AddListItem("E:/Images/SMF/SMF.JPG","Rajat","Hello !");
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/FriendView.h	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,29 @@
+#ifndef FRIENDVIEW_H
+#define FRIENDVIEW_H
+
+#include <qmainwindow.h>
+#include <WidgetConstants.h>
+#include "customListwidget.h"
+#include "GridView.h"
+#include <qtablewidget.h>
+
+
+class FriendView : public QMainWindow
+{
+    Q_OBJECT
+public:
+    FriendView(QString aHeadName);
+    void SetupUI();
+    ~FriendView();
+private:
+    QString iHeadName;
+private slots:
+    void Navigated2OtherTab(int tabIndex);
+private:
+    QMainWindow *iMainwindow;
+    QTabWidget* TabWidget;
+    GridView* AlbumView;
+    CustomListWidget* iPostsListWidget;
+};
+
+#endif // FRIENDVIEW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/GridView.cpp	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,77 @@
+#include "GridView.h"
+#include "ScreenSize.h"
+#include <qgridlayout.h>
+#include <qpushbutton.h>
+#include <qdebug.h>
+
+GridView::GridView()
+{
+
+}
+GridView::~GridView()
+{
+
+}
+void GridView::CreateGridView(QStringList aIconPath, QStringList names)
+{
+	qDebug()<<"Inside GridView::CreateGridView()";
+	qDebug()<<"aIconPath count = "<<aIconPath.count();
+	qDebug()<<"names count = "<<names.count();
+
+    int row;
+    int col;
+    QWidget* widget = new QWidget();
+    QGridLayout* GridLayout = new QGridLayout(widget);
+    if((6 == aIconPath.count()) || (5 == aIconPath.count()))
+    {
+        row = 3;
+        col = 2;
+    }
+    else if((4 == aIconPath.count()) || (3 == aIconPath.count()))
+    {
+        row = col = 2;
+    }
+    else if((2 == aIconPath.count()) || (1 == aIconPath.count()))
+    {
+        row = 1;
+        col = 2;
+    }
+    else if(0 == aIconPath.count())
+    {
+        row = col = 0;
+    }
+
+    int rowSpace = (ScreenSize::GetScreenRect().height() - (KHeadNameHeight+ToolbarIconHeight+2*KWidgetGapFactor))/row;
+    int colSpace = (ScreenSize::GetScreenRect().width() - 2*KWidgetGapFactor )/col;
+
+    int index = 0;
+    for(int i=0;i<row;i++)
+    {
+        for(int j=0;j<col;j++)
+        {
+        QPushButton *pushBtn = new QPushButton();
+        qDebug()<<"name = "<<names[index];
+        //pushBtn->
+        pushBtn->setGeometry(i*colSpace,(j*rowSpace + KWidgetGapFactor),colSpace,rowSpace);
+        pushBtn->setIconSize(QSize(colSpace,colSpace));
+        qDebug()<<"icon = "<<aIconPath[index];
+        pushBtn->setIcon(QIcon(aIconPath[index]));
+        GridLayout->addWidget(pushBtn,i,j);
+        pushBtn->show();
+        
+        index++;
+        if(index == names.count())
+        	{
+        	qDebug()<<"Count became same so exiting";
+			break;
+        	}
+        }
+	if(index == names.count())
+		{
+		qDebug()<<"Count became same so exiting";
+		break;
+		}
+    }
+	//return widget;
+
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/GridView.h	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,22 @@
+#ifndef GRIDVIEW_H
+#define GRIDVIEW_H
+
+///Its not in use at this poin
+
+#include <qwidget.h>
+#include "WidgetConstants.h"
+#include<qpushbutton.h>
+
+class GridView : public QWidget
+{
+Q_OBJECT
+
+public:
+    GridView();
+    void CreateGridView(QStringList aIconPath, QStringList names);
+    ~GridView();
+
+};
+
+
+#endif // GRIDVIEW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/HomeView.cpp	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,758 @@
+#include "HomeView.h"
+#include "ScreenSize.h"
+#include "qpushbutton.h"
+#include "customListwidget.h"
+#include "GridView.h"
+#include <qtablewidget.h>
+
+#include <QMapIterator>
+#include <smfclient.h>
+#include <smfprovider.h>
+#include <QMessageBox>
+#include <QDebug>
+#include "ImageDownload.h"
+
+static int tab = 0;
+
+HomeView::HomeView(QString aHeadName):
+        iHeadName(aHeadName)
+	{
+	//m_providerList = NULL;
+	m_mainWindow = NULL;
+	TabWidget = NULL;
+	iFrndsListWidget = NULL;
+	iPostsListWidget = NULL;
+	iActivityListWidget = NULL;
+	AlbumView = NULL;
+	
+	m_contactFetcher = NULL;
+	m_postProvider = NULL;
+	m_gallery = NULL;
+	m_activityFetcher = NULL;
+	m_friendsList = NULL;
+	m_postsList = NULL;
+	m_albumsList = NULL;
+	m_activitiesList = NULL;
+	m_picList = NULL;
+	}
+
+HomeView::~HomeView()
+	{
+	if(TabWidget)
+		{
+		delete TabWidget;
+		TabWidget = NULL;
+		}
+	if(iFrndsListWidget)
+		{
+		delete iFrndsListWidget;
+		iFrndsListWidget = NULL;
+		}
+	if(iPostsListWidget)
+		{
+		delete iPostsListWidget;
+		iPostsListWidget = NULL;
+		}
+	if(iActivityListWidget)
+		{
+		delete iActivityListWidget;
+		iActivityListWidget = NULL;
+		}
+	if(AlbumView)
+		{
+		delete AlbumView;
+		AlbumView = NULL;
+		}
+	
+	if(m_contactFetcher)
+		{
+		delete m_contactFetcher;
+		m_contactFetcher =NULL;
+		}
+	if(m_postProvider)
+		{
+		delete m_postProvider;
+		m_postProvider =NULL;
+		}
+	if(m_gallery)
+		{
+		delete m_gallery;
+		m_gallery =NULL;
+		}
+	if(m_activityFetcher)
+		{
+		delete m_activityFetcher;
+		m_activityFetcher =NULL;
+		}
+	if(m_friendsList)
+		{
+		delete m_friendsList;
+		m_friendsList =NULL;
+		}
+	if(m_postsList)
+		{
+		delete m_postsList;
+		m_postsList =NULL;
+		}
+	if(m_albumsList)
+		{
+		delete m_albumsList;
+		m_albumsList =NULL;
+		}
+	if(m_activitiesList)
+		{
+		delete m_activitiesList;
+		m_activitiesList =NULL;
+		}
+	if(m_picList)
+		{
+		delete m_picList;
+		m_picList =NULL;
+		}
+	}
+
+
+void HomeView::SetupUI(QMainWindow *Mainwindow)
+	{
+	qDebug()<<"Inside HomeView::SetupUI()";
+	
+	m_mainWindow = Mainwindow;
+	
+    QPushButton* HomeButton = new QPushButton(m_mainWindow);
+    HomeButton->setText(iHeadName);
+    HomeButton->setGeometry(0,0,ScreenSize::GetScreenRect().width(),KHeadNameHeight);
+    HomeButton->setStyleSheet("background-color: rgb(0,0,0);"
+                             "border-width: 2px;"
+                             "font: bold 16px;"
+                             "min-width: 10em;"
+                             "padding: 4px;"
+							 "color: white;"
+                            );
+
+    HomeButton->setDisabled(true);
+    qDebug()<<"Home button created and setup";
+    
+    TabWidget = new QTabWidget(m_mainWindow);
+    connect(TabWidget,SIGNAL(currentChanged(int)),this,SLOT(Navigated2OtherTab(int)));
+    qDebug()<<"Tab widget created";
+    
+    iFrndsListWidget = new CustomListWidget();
+    TabWidget->addTab(iFrndsListWidget,"Friends");
+    qDebug()<<"Friends Tab created";
+    
+    iPostsListWidget = new CustomListWidget();
+    TabWidget->addTab(iPostsListWidget,"Posts");
+    qDebug()<<"Posts Tab created";
+
+    //AlbumView = new GridView();
+    /*QWidget *widget = new QWidget();
+    TabWidget->addTab(widget,"Album");*/
+    iAlbumWidget = new CustomListWidget();
+    TabWidget->addTab(iAlbumWidget,"Album");
+    
+    qDebug()<<"Albums Tab created";
+    
+/*
+    QStringList Iconpathlist;
+    Iconpathlist.append("C:\\data\\AlbumDefault.JPG");
+    Iconpathlist.append("C:\\data\\AlbumDefault.JPG");
+    Iconpathlist.append("C:\\data\\AlbumDefault.JPG");
+    Iconpathlist.append("C:\\data\\AlbumDefault.JPG");
+
+    
+    TabWidget->addTab(AlbumView->CreateGridView(Iconpathlist),"Album");
+    qDebug()<<"Albums Tab created";
+*/
+
+    iActivityListWidget = new CustomListWidget();
+    TabWidget->addTab(iActivityListWidget,"Activity");
+    qDebug()<<"Activity Tab created";
+
+    TabWidget->setGeometry(0,KHeadNameHeight + KWidgetGapFactor,ScreenSize::GetScreenRect().width(),ScreenSize::GetScreenRect().height() - 100);
+
+    //Drawing Tool bar
+    ToolBarwidget = new ToolBar;
+    QStringList actionList;
+    actionList.append("Add Services");
+    //actionList.append("Open");
+    //actionList.append("Reply");
+    ToolBarwidget->GetToolBar(m_mainWindow,actionList);
+    qDebug()<<"Tool bar created";
+    }
+
+
+void HomeView::getFriends()
+	{
+	qDebug()<<"Inside HomeView::getFriends()";
+	
+	// Get the list of providers
+	SmfClient client;
+	QString intfName("org.symbian.smf.plugin.contact.fetcher");
+	
+	SmfProviderList *providerList = client.GetServices(intfName);
+	qDebug()<<"client.GetServices returned a list with count = "<<providerList->count();
+	
+	// flag to check if required plugin is there
+	bool pluginFound = false;
+	foreach(SmfProvider provider, *providerList)
+		{
+		if("Facebook" == provider.serviceName())
+			{
+			qDebug()<<"Plugin for Facebook found";
+			pluginFound = true;
+			m_contactFetcher = new SmfContactFetcher(&provider);
+			bool ret = connect(m_contactFetcher, SIGNAL(friendsListAvailable(SmfContactList*, SmfError , SmfResultPage)),
+					this, SLOT(friendsAvailable(SmfContactList*, SmfError , SmfResultPage)));
+			
+			qDebug()<<"Connected ?"<<ret;
+			m_contactFetcher->friends(1,5);
+			}
+		}
+	
+	if(!pluginFound)
+		{
+		qDebug()<<"Plugin for Facebook not found!!!";
+		QString smferrString("No Facebook plugin found!!!");
+		QMessageBox::information(m_mainWindow,"Error",smferrString,QMessageBox::Ok);
+		}
+	}
+
+
+void HomeView::friendsAvailable(SmfContactList* friendsList, SmfError error, SmfResultPage resultPage)
+	{
+	qDebug()<<"Inside HomeView::friendsAvailable()";
+	
+	m_friendsList = friendsList;
+	if(error)
+		{
+		SmfClient client;
+		QString errStr = client.errorString(error);
+		qDebug()<<"Error found, code = "<<error;
+		qDebug()<<"Error string is = "<<errStr;
+		
+		QMessageBox::information(m_mainWindow,"Error",errStr,QMessageBox::Ok);
+		return;
+		}
+	
+	//display friends description
+	int count = 0;
+	qDebug()<<"Number of friends retrieved = "<<friendsList->count();
+	if(friendsList->count() == 0)
+		{
+		QString smferrString("No Friends");
+		QMessageBox::information(m_mainWindow,"No Friends",smferrString,QMessageBox::Ok);
+		return;
+		}
+		
+	QMap<QString, QUrl> urlMap;
+	foreach(SmfContact contact, *friendsList)
+		{
+		QString name(contact.value("Name").value<QContactName>().firstName());
+		QString status(contact.value("Presence").value<QContactPresence>().customMessage());
+		if(!status.size())
+			status.append("Not available");
+		QUrl url(contact.value("Avatar").value<QContactAvatar>().imageUrl());
+
+		qDebug()<<"Friends name = "<<contact.value("Name").value<QContactName>().firstName();
+		qDebug()<<"Friends status msg desc = "<<contact.value("Presence").value<QContactPresence>().customMessage();
+		qDebug()<<"Friends profile image URL = "<<contact.value("Avatar").value<QContactAvatar>().imageUrl();
+		urlMap.insert(name, url);
+		}
+
+	// Download Images
+	downloadImages(SmfFriendsFetch, urlMap);
+		
+	}
+
+void HomeView::populateFriendsWidget()
+	{
+	foreach(SmfContact contact, *m_friendsList)
+		{
+		QString name(contact.value("Name").value<QContactName>().firstName());
+		QString status(contact.value("Presence").value<QContactPresence>().customMessage());
+		if(!status.size())
+			status.append("Not available");
+		QString url("C:\\data\\");
+		url.append(name);
+		url.append(".jpg");
+		
+		// Add this contact to the list widget
+		iFrndsListWidget->AddListItem(url,name,status);
+		}
+	}
+
+void HomeView::downloadImages(const SmfItemIdentifier &identifier, const QMap<QString, QUrl> urlMap)
+	{
+	qDebug()<<"Inside HomeView::downloadImages()";
+	QMapIterator<QString, QUrl> iter(urlMap);
+	
+	while(iter.hasNext())
+		{
+		iter.next();
+		m_downloader.downloadImage(this, iter.key(), iter.value(), identifier);
+		downloading = true;
+		}
+	}
+
+void HomeView::Navigated2OtherTab(int tabIndex)
+	{
+	qDebug()<<"Inside HomeView::Navigated2OtherTab() for tab index = "<<tabIndex;
+	
+	// Display friends
+    if(tabIndex == 0)
+    	{
+		qDebug()<<"Downloading images?? "<<downloading;
+        if(!iFrndsListWidget->count())
+        	{
+			if(!downloading)	
+				{
+				getFriends();
+				
+				/*if (10 == tab)
+					{
+					ToolBarwidget->newAction1->setVisible(false);
+					ToolBarwidget->newAction2->setVisible(false);
+					}*/
+				}
+        	}
+    	}
+    
+    // Display albums
+    else if(tabIndex == 1)
+    	{
+		if(!iPostsListWidget->count())
+			{
+			if(!downloading)
+				{
+				getPosts();
+				/*ToolBarwidget->menu->addAction(ToolBarwidget->newAction1);
+				ToolBarwidget->menu->addAction(ToolBarwidget->newAction2);
+				tab = 10;
+				qDebug()<<"Action is visible ?"<<(ToolBarwidget->newAction1->isVisible());
+				if (10 == tab || !(ToolBarwidget->newAction1->isVisible()))
+					{
+					ToolBarwidget->newAction1->setVisible(true);
+					ToolBarwidget->newAction2->setVisible(true);
+					}*/
+				}
+			}
+    	}
+    
+    // Display albums
+    else if(tabIndex == 2)
+    	{
+		if(!m_picList)
+			{
+			if(!downloading)	
+				{
+				getPhotos();
+				/*if (ToolBarwidget->newAction1->isVisible())
+					{
+					ToolBarwidget->newAction1->setVisible(false);
+					ToolBarwidget->newAction2->setVisible(false);
+					}*/
+				}
+			}
+			
+    	}
+    	
+    // Display activities
+    else if(tabIndex == 3)
+    	{
+		if(!iActivityListWidget->count())	
+			{
+			getActivities();
+			/*if (ToolBarwidget->newAction1->isVisible())
+				{
+				ToolBarwidget->newAction1->setVisible(false);
+				ToolBarwidget->newAction2->setVisible(false);
+				}*/
+			}
+    	}
+	}
+
+void HomeView::getPosts()
+	{
+	qDebug()<<"Inside HomeView::getPosts()";
+		
+	SmfClient client;
+	QString intfName("org.symbian.smf.client.contact.posts");
+	SmfProviderList *providerList = client.GetServices(intfName);
+	bool pluginFound = false;
+	qDebug()<<"client.GetServices returned a list with count = "<<providerList->count();
+	foreach(SmfProvider provider, *providerList)
+		{
+		if("Facebook" == provider.serviceName())
+			{
+			qDebug()<<"Plugin for facebook found";
+			pluginFound = true;
+			m_postProvider = new SmfPostProvider(&provider);
+			bool ret = connect(m_postProvider, SIGNAL(postsAvailable(SmfPostList*, SmfError , SmfResultPage)),
+					this, SLOT(postsAvailable(SmfPostList*, SmfError , SmfResultPage)));
+			
+			qDebug()<<"Connected ?"<<ret;
+			m_postProvider->posts();
+			}
+		}
+
+	if(!pluginFound)
+		{
+		qDebug()<<"Plugin for facebook not found!!!";
+		QString smferrString("No Facebook plugin found!!!");
+		QMessageBox::information(m_mainWindow,"Error",smferrString,QMessageBox::Ok);
+		}
+	}
+
+void HomeView::postsAvailable(SmfPostList* postsList, SmfError error, SmfResultPage page)
+	{
+	Q_UNUSED(page);
+			
+	qDebug()<<"Inside HomeView::postsAvailable()";
+	
+	m_postsList = postsList;
+	if(error)
+		{
+		SmfClient client;
+		QString errStr = client.errorString(error);
+		qDebug()<<"Error found, code = "<<error;
+		qDebug()<<"Error string is = "<<errStr;
+		
+		QMessageBox::information(m_mainWindow,"Error",errStr,QMessageBox::Ok);
+		return;
+		}
+	
+	//display posts details
+	int count = 0;
+	qDebug()<<"Number of posts retrieved = "<<postsList->count();
+	if(postsList->count() == 0)
+		{
+		QString smferrString("No Posts");
+		QMessageBox::information(m_mainWindow,"No Posts",smferrString,QMessageBox::Ok);
+		return;
+		}
+	QMap<QString, QUrl> urlMap;
+	foreach(SmfPost post, *postsList)
+		{
+		QString name(post.owner().value("Name").value<QContactName>().firstName());
+		QUrl url(post.owner().value("Avatar").value<QContactAvatar>().imageUrl());
+
+		qDebug()<<"Post text = "<<post.description();
+		qDebug()<<"owner = "<<name;
+		qDebug()<<"owner's profile image url = "<<url.toString();
+		
+		urlMap.insert(name, url);
+		}
+	
+	// Download Images
+	downloadImages(SmfPostsFetch, urlMap);
+	}
+
+
+void HomeView::populatePostsWidget()
+	{
+	// Add individual items to the widget
+	foreach(SmfPost post, *m_postsList)
+		{
+		QString name(post.owner().value("Name").value<QContactName>().firstName());
+		QString text(post.description());
+
+		QString url("C:\\data\\");
+		url.append(name);
+		url.append(".jpg");
+		
+		// Add this contact to the list widget
+		iPostsListWidget->AddListItem(url,name,text);
+		}
+	}
+
+void HomeView::getAlbums()
+	{
+	qDebug()<<"Inside HomeView::getAlbums()";
+		
+	SmfClient client;
+	QString intfName("org.symbian.smf.client.gallery");
+	SmfProviderList *providerList = client.GetServices(intfName);
+	bool pluginFound = false;
+	qDebug()<<"client.GetServices returned a list with count = "<<providerList->count();
+	foreach(SmfProvider provider, *providerList)
+		{
+		if("Flickr" == provider.serviceName())
+			{
+			qDebug()<<"Plugin for flickr found";
+			pluginFound = true;
+			m_gallery = new SmfGallery(&provider);
+			bool ret = connect(m_gallery, SIGNAL(albumsAvailable(SmfPictureAlbumList*, SmfError , SmfResultPage)),
+					this, SLOT(albumsAvailable(SmfPictureAlbumList*, SmfError , SmfResultPage)));
+			
+			qDebug()<<"Connected ?"<<ret;
+			QStringList names;
+			
+			SmfContact user; // current user
+			
+			m_gallery->albums(names, &user);
+			}
+		}
+	if(!pluginFound)
+		{
+		qDebug()<<"Plugin for flickr not found!!!";
+		QString smferrString("No flickr plugin found!!!");
+		QMessageBox::information(m_mainWindow,"Error",smferrString,QMessageBox::Ok);
+		}
+	}
+
+void HomeView::albumsAvailable(SmfPictureAlbumList* albums, SmfError error, SmfResultPage resultPage)
+	{
+	Q_UNUSED(resultPage);
+			
+	qDebug()<<"Inside HomeView::albumsAvailable()";
+	
+	m_albumsList = albums;
+	if(error)
+		{
+		SmfClient client;
+		QString errStr = client.errorString(error);
+		qDebug()<<"Error found, code = "<<error;
+		qDebug()<<"Error string is = "<<errStr;
+		
+		QMessageBox::information(m_mainWindow,"Error",errStr,QMessageBox::Ok);
+		return;
+		}
+	
+	//display album details
+	int count = 0;
+	qDebug()<<"Number of albums retrieved = "<<albums->count();
+	if(albums->count() == 0)
+		{
+		QString smferrString("No Albums");
+		QMessageBox::information(m_mainWindow,"No Albums",smferrString,QMessageBox::Ok);
+		return;
+		}
+	
+	QStringList albumPicList;
+	QStringList albumNameList;
+	foreach(SmfPictureAlbum album, *m_albumsList)
+		{
+		
+		qDebug()<<"Album name = "<<album.title();
+		qDebug()<<"Album description = "<<album.description();
+		qDebug()<<"Album pictureCount = "<<album.pictureCount();
+		qDebug()<<"Album id = "<<album.id();
+		albumNameList.append(album.title());
+		albumPicList.append("C:\\data\\sample.bmp");
+		}
+	
+	// Create the grip view
+	AlbumView->CreateGridView(albumPicList, albumNameList);
+	}
+
+
+void HomeView::getActivities()
+	{
+	qDebug()<<"Inside HomeView::getActivities()";
+	
+	// Get the list of providers
+	SmfClient client;
+	QString intfName("org.symbian.smf.client.activity.fetcher");
+	
+	SmfProviderList *providerList = client.GetServices(intfName);
+	qDebug()<<"client.GetServices returned a list with count = "<<providerList->count();
+	
+	// flag to check if required plugin is there
+	bool pluginFound = false;
+	int index = 0;
+	foreach(SmfProvider provider, *providerList)
+		{
+		if("Facebook" == provider.serviceName())
+			{
+			qDebug()<<"Plugin for Facebook found";
+			pluginFound = true;
+			m_activityFetcher = new SmfActivityFetcher(&provider);
+			bool ret = connect(m_activityFetcher, SIGNAL(resultsAvailable(SmfActivityEntryList*, SmfError , SmfResultPage)),
+					this, SLOT(activitiesAvailable(SmfActivityEntryList*, SmfError , SmfResultPage)));
+			
+			qDebug()<<"Connected ?"<<ret;
+			m_activityFetcher->selfActivities();
+			}
+		index++;
+		}
+	
+	if(!pluginFound)
+		{
+		qDebug()<<"Plugin for Facebook not found!!!";
+		QString smferrString("No Facebook plugin found!!!");
+		QMessageBox::information(m_mainWindow,"Error",smferrString,QMessageBox::Ok);
+		}
+	}
+
+
+void HomeView::activitiesAvailable(SmfActivityEntryList* activitiesList, SmfError error, SmfResultPage resultPage)
+	{
+	qDebug()<<"Inside HomeView::activitiesAvailable()";
+	
+	m_activitiesList = activitiesList;
+	qDebug()<<"Number of activities retrieved = "<<activitiesList->count();
+	if(error)
+		{
+		SmfClient client;
+		QString errStr = client.errorString(error);
+		qDebug()<<"Error found, code = "<<error;
+		qDebug()<<"Error string is = "<<errStr;
+		
+		QMessageBox::information(m_mainWindow,"Error",errStr,QMessageBox::Ok);
+		return;
+		}
+	
+	//display activity description
+	int count = 0;
+	qDebug()<<"Number of activities retrieved = "<<activitiesList->count();
+	
+	if(activitiesList->count() == 0)
+		{
+		QString smferrString("No Recent Activities");
+		QMessageBox::information(m_mainWindow,"Error",smferrString,QMessageBox::Ok);
+		return;
+		}
+	
+	foreach(SmfActivityEntry activity, *activitiesList)
+		{
+		qDebug()<<"Activity author name = "<<activity.author().value("Name").value<QContactName>().firstName();
+		qDebug()<<"Activity title = "<<activity.title().title();
+		qDebug()<<"Activity details = "<<activity.details().description();
+		}
+
+	populateActivitiesWidget();
+		
+	}
+
+void HomeView::populateActivitiesWidget()
+	{
+	qDebug()<<"Inside HomeView::populateActivityWidget()";
+	QString defImagePath("C:\\data\\genericfriendicon.svg");
+	foreach(SmfActivityEntry activity, *m_activitiesList)
+		{
+		QString name(activity.author().value("Name").value<QContactName>().firstName());
+		QString title(activity.title().title());
+
+		
+		// Add this contact to the list widget
+		iActivityListWidget->AddListItem(defImagePath, name, title);
+		}
+	}
+
+
+
+void HomeView::getPhotos()
+	{
+	qDebug()<<"Inside HomeView::getPhotos()";
+	
+	// Get the list of providers
+	SmfClient client;
+	QString intfName("org.symbian.smf.client.gallery");
+	
+	SmfProviderList *providerList = client.GetServices(intfName);
+	qDebug()<<"client.GetServices returned a list with count = "<<providerList->count();
+	
+	// flag to check if required plugin is there
+	bool pluginFound = false;
+	int index = 0;
+	foreach(SmfProvider provider, *providerList)
+		{
+		if("Flickr" == provider.serviceName())
+			{
+			qDebug()<<"Plugin for flickr found";
+			pluginFound = true;
+			if(!m_gallery)
+				m_gallery = new SmfGallery(&provider);
+			bool ret = connect(m_gallery, SIGNAL(picturesAvailable(SmfPictureList*, SmfError , SmfResultPage)),
+					this, SLOT(picturesAvailable(SmfPictureList*, SmfError , SmfResultPage)));
+			
+			qDebug()<<"Connected ?"<<ret;
+			
+#ifndef IFNOALBUMIDOFTHELOGGEDINUSERISAVAILABLE
+			SmfPictureAlbumList list; // pass empty list to fetch photos which are not part of any set, when albumID is not available
+#else		// If the album id is known use the below piece of code
+			SmfPictureAlbumList list;
+			SmfPictureAlbum album;
+			album.setId("72157623348359220");
+			list.append(album);
+#endif
+					
+			m_gallery->pictures(list);
+			}
+		index++;
+		}
+	
+	if(!pluginFound)
+		{
+		qDebug()<<"Plugin for flickr not found!!!";
+		QString smferrString("No Flickr plugin found!!!");
+		QMessageBox::information(m_mainWindow,"Error",smferrString,QMessageBox::Ok);
+		}
+	}
+
+
+void HomeView::picturesAvailable(SmfPictureList* picList, SmfError error, SmfResultPage resultPage)
+	{
+	qDebug()<<"Inside HomeView::picturesAvailable()";
+	
+	m_picList = picList;
+	if(error)
+		{
+		SmfClient client;
+		QString errStr = client.errorString(error);
+		qDebug()<<"Error found, code = "<<error;
+		qDebug()<<"Error string is = "<<errStr;
+		
+		QMessageBox::information(m_mainWindow,"Error",errStr,QMessageBox::Ok);
+		return;
+		}
+	
+	//display pic description
+	int count = 0;
+	qDebug()<<"Number of pic retrieved = "<<picList->count();
+	
+	QMap<QString, QUrl> urlMap;
+	foreach(SmfPicture pic, *picList)
+		{
+		qDebug()<<"Photo title = "<<pic.title();
+		qDebug()<<"Photo posted date = "<<pic.postedDate();
+		qDebug()<<"Photo url = "<<pic.url();
+		qDebug()<<"Photo id = "<<pic.id();
+		
+		QString name(pic.title());
+		QUrl url(pic.url());
+
+		urlMap.insert(name, url);
+		}
+
+	// Download Images
+	downloadImages(SmfPhotosFetch, urlMap);
+	}
+
+
+void HomeView::populatePhotosGridView()
+	{
+	qDebug()<<"Inside HomeView::populatePhotosGridView()";
+	
+	QStringList albumPicList;
+	QStringList albumNameList;
+	
+	foreach(SmfPicture pic, *m_picList)
+		{
+		QString name(pic.title());
+		
+		qDebug()<<"Name  :"<<name;
+		QString url("C:\\data\\");
+		url.append(name);
+		url.append(".jpg");
+		
+		
+		albumNameList.append(name);
+		albumPicList.append(url);
+		}
+	
+	// Create the grip view
+	iAlbumWidget->AddListItem(m_mainWindow,albumPicList,albumNameList);
+//	AlbumView->CreateGridView(albumPicList,albumNameList);
+	
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/HomeView.h	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,75 @@
+#ifndef HOMEVIEW_H
+#define HOMEVIEW_H
+
+#include <qmainwindow.h>
+#include <WidgetConstants.h>
+//#include <smfglobal.h>
+#include <smfcontact.h>
+#include <smfpost.h>
+#include <smfpicturealbum.h>
+#include <smfactions.h>
+#include <smfpicture.h>
+#include <smfcontactfetcher.h>
+#include <smfpostprovider.h>
+#include <smfgallery.h>
+#include <smfactivityfetcher.h>
+#include "ImageDownload.h"
+#include "ToolBar.h"
+#include <qmenu.h>
+
+class CustomListWidget;
+class GridView;
+
+class HomeView : public QObject
+{
+	Q_OBJECT
+public:
+    HomeView(QString aHeadName);
+    ~HomeView();
+    void SetupUI(QMainWindow *Mainwindow);
+    void populateFriendsWidget();
+    void populatePostsWidget();
+    void populateActivitiesWidget();
+    void populatePhotosGridView();
+    
+private:
+    void getFriends();
+    void getPosts();
+    void downloadImages(const SmfItemIdentifier &identifier, const QMap<QString, QUrl> urlMap);
+    void getAlbums();
+    void getActivities();
+    void getPhotos();
+    
+private slots:
+    void friendsAvailable(SmfContactList* friendsList, SmfError , SmfResultPage );
+    void postsAvailable(SmfPostList* postsList, SmfError , SmfResultPage );
+    void albumsAvailable(SmfPictureAlbumList* albums, SmfError error, SmfResultPage resultPage);
+    void activitiesAvailable(SmfActivityEntryList* postsList, SmfError , SmfResultPage );
+    void picturesAvailable(SmfPictureList* albums, SmfError error, SmfResultPage resultPage);
+    void Navigated2OtherTab(int index);
+    
+private:
+    QString iHeadName;
+    ToolBar* ToolBarwidget;
+    QMainWindow *m_mainWindow;
+    QTabWidget *TabWidget;
+    CustomListWidget *iFrndsListWidget;
+    CustomListWidget *iPostsListWidget;
+    CustomListWidget *iActivityListWidget;
+    CustomListWidget *iAlbumWidget;
+    GridView *AlbumView;
+    ImageDownload m_downloader;
+    
+    SmfContactFetcher *m_contactFetcher;
+    SmfPostProvider *m_postProvider;
+    SmfGallery *m_gallery;
+    SmfActivityFetcher *m_activityFetcher;
+    SmfContactList *m_friendsList;
+    SmfPostList *m_postsList;
+    SmfPictureAlbumList *m_albumsList;
+    SmfActivityEntryList *m_activitiesList;
+    SmfPictureList *m_picList;
+    
+};
+
+#endif // HOMEVIEW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/ImageDownload.cpp	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,146 @@
+/****************************************************************************
+**
+** Trolltech hereby grants a license to use the Qt/Eclipse Integration
+** plug-in (the software contained herein), in binary form, solely for the
+** purpose of creating code to be used with Trolltech's Qt software.
+**
+** Qt Designer is licensed under the terms of the GNU General Public
+** License versions 2.0 and 3.0 ("GPL License"). Trolltech offers users the
+** right to use certain no GPL licensed software under the terms of its GPL
+** Exception version 1.2 (http://trolltech.com/products/qt/gplexception).
+**
+** THIS SOFTWARE IS PROVIDED BY TROLLTECH AND ITS CONTRIBUTORS (IF ANY) "AS
+** IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+** TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+** PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+** OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+** EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+** PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+** PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+** LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+** NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** Since we now have the GPL exception I think that the "special exception
+** is no longer needed. The license text proposed above (other than the
+** special exception portion of it) is the BSD license and we have added
+** the BSD license as a permissible license under the exception.
+**
+****************************************************************************/
+
+#include <qdebug.h>
+#include <QImage>
+#include <QByteArray>
+#include <qnetworkproxy.h>
+#include <qfile.h>
+#include "ImageDownload.h"
+#include "HomeView.h"
+
+bool downloading = false;
+
+#define EMULATORTESTING
+
+ImageDownload::ImageDownload(QObject *parent)
+	{
+	manager = new QNetworkAccessManager(this);
+	
+#ifdef EMULATORTESTING
+	qDebug()<<"Using PROXY SETTINGS!!!, change for device testing in image download";
+	
+	// Reading the keys, CSM Stubbed - START
+	QFile winFile("c:\\data\\DoNotShare.txt");
+	if (!winFile.open(QIODevice::ReadOnly))
+		{
+		qDebug()<<"File to read the windows username and password could not be opened, returning!!!";
+		return;
+		}
+	
+	QByteArray winArr = winFile.readAll();
+	QList<QByteArray> winList = winArr.split(' ');
+	winFile.close();
+	
+	QString httpUser(winList[0]);
+	QString httpPass(winList[1]);
+
+    // For proxy settings on emulator only - REMOVE for device
+    QString httpProxy = "10.1.0.214";
+    QString httpPort = "3128";
+    
+	qDebug()<<httpUser;
+	qDebug()<<httpPass;
+
+    //==Classes used from Network Module==
+    QNetworkProxy proxy;
+
+    proxy.setType(QNetworkProxy::HttpProxy);
+    proxy.setHostName(httpProxy);
+    proxy.setPort(httpPort.toInt());
+    proxy.setUser(httpUser);
+    proxy.setPassword(httpPass);
+		
+    QNetworkProxy::setApplicationProxy(proxy);
+#endif
+	}
+
+ImageDownload::~ImageDownload()
+	{
+	if(manager)
+		delete manager;
+	}
+
+void ImageDownload::downloadImage(HomeView *homeView, QString name, QUrl url, const SmfItemIdentifier &identifier)
+	{
+	m_homeView = homeView;
+	m_identifier = identifier;
+	qDebug()<<"Inside ImageDownload::downloadImage(name, url)";
+	QNetworkRequest request;
+	request.setUrl(url);
+	qDebug()<<"URL of image to be downloaded = "<<url;
+	connect(manager, SIGNAL(finished(QNetworkReply*)), 
+			this, SLOT(networkReplyFinished(QNetworkReply*)));
+			
+	QNetworkReply* reply = manager->get(request);
+	m_nameReplyHash.insert(name, reply);
+	}
+
+
+
+void ImageDownload::networkReplyFinished ( QNetworkReply *aNetworkReply )
+	{
+	qDebug()<<"Error code if any = "<<aNetworkReply->error();
+	qDebug()<<"Response for reply = "<<aNetworkReply;
+
+	QByteArray response = aNetworkReply->readAll();
+	qDebug()<<"Response Size :"<<response.size();
+	if(response.size())
+		{
+		QImage image = QImage::fromData(response);
+		
+		QString fileName("c:\\data\\");
+		fileName.append(m_nameReplyHash.key(aNetworkReply));
+		fileName.append(".jpg");
+		
+		qDebug()<<"Image URL :"<<fileName;
+		
+		bool saved = image.save(fileName, "JPG", -1);
+		qDebug()<<"Image saved ? "<<saved;
+		m_nameReplyHash.remove(m_nameReplyHash.key(aNetworkReply));
+		if(m_nameReplyHash.count() == 0)
+			{
+			downloading = false;
+			if(SmfFriendsFetch == m_identifier)
+				m_homeView->populateFriendsWidget();
+			else if(SmfPostsFetch == m_identifier)
+				m_homeView->populatePostsWidget();
+			else if(SmfPhotosFetch == m_identifier)
+				m_homeView->populatePhotosGridView();
+			// ToDo:- for albums, photos and activity
+			else
+				qDebug()<<"Unknown request for download, so do nothing";
+			}
+		}
+	else
+		{
+		qDebug()<<"Response data is NULL";
+		}
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/ImageDownload.h	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,71 @@
+/****************************************************************************
+**
+** Trolltech hereby grants a license to use the Qt/Eclipse Integration
+** plug-in (the software contained herein), in binary form, solely for the
+** purpose of creating code to be used with Trolltech's Qt software.
+**
+** Qt Designer is licensed under the terms of the GNU General Public
+** License versions 2.0 and 3.0 ("GPL License"). Trolltech offers users the
+** right to use certain no GPL licensed software under the terms of its GPL
+** Exception version 1.2 (http://trolltech.com/products/qt/gplexception).
+**
+** THIS SOFTWARE IS PROVIDED BY TROLLTECH AND ITS CONTRIBUTORS (IF ANY) "AS
+** IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
+** TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
+** PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER
+** OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+** EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
+** PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
+** PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+** LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
+** NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
+**
+** Since we now have the GPL exception I think that the "special exception
+** is no longer needed. The license text proposed above (other than the
+** special exception portion of it) is the BSD license and we have added
+** the BSD license as a permissible license under the exception.
+**
+****************************************************************************/
+
+#ifndef IMAGEDOWNLOAD_H_
+#define IMAGEDOWNLOAD_H_
+
+#include <QNetworkReply>
+#include <QList>
+#include <QNetworkAccessManager>
+#include <qhash.h>
+
+class HomeView;
+
+extern bool downloading;
+
+enum SmfItemIdentifier
+	{
+	SmfFriendsFetch = 0,
+	SmfPostsFetch,
+	SmfAlbumsFetch,
+	SmfPhotosFetch,
+	SmfActivityFetch
+	};
+
+class ImageDownload : public QObject
+{
+    Q_OBJECT
+public:
+    ImageDownload(QObject *parent = 0);
+    ~ImageDownload();
+    void downloadImage(HomeView *homeView, QString name, QUrl url, const SmfItemIdentifier &identifier);
+    
+public slots:
+    void networkReplyFinished ( QNetworkReply *aNetworkReply );
+    
+private:
+    SmfItemIdentifier m_identifier;
+    QNetworkAccessManager *manager;
+    HomeView *m_homeView;
+    QString m_name;
+    QHash<QString, QNetworkReply*> m_nameReplyHash;
+};
+
+#endif /* IMAGEDOWNLOAD_H_ */
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/SMF.loc	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,13 @@
+// ============================================================================
+// * Generated by qmake (2.01a) (Qt 4.6.2) on: 2010-07-10T15:20:20
+// * This file is generated by qmake and should not be modified by the
+// * user.
+// ============================================================================
+
+#ifdef LANGUAGE_SC
+#define STRING_r_short_caption "SMF"
+#define STRING_r_caption "SMF"
+#else
+#define STRING_r_short_caption "SMF"
+#define STRING_r_caption "SMF"
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/SMF.rss	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,21 @@
+// ============================================================================
+// * Generated by qmake (2.01a) (Qt 4.6.2) on: 2010-07-10T15:20:20
+// * This file is generated by qmake and should not be modified by the
+// * user.
+// ============================================================================
+
+#include <appinfo.rh>
+#include "SMF.loc"
+
+RESOURCE LOCALISABLE_APP_INFO r_localisable_app_info
+	{
+	short_caption = STRING_r_short_caption;
+	caption_and_icon =
+	CAPTION_AND_ICON_INFO
+		{
+		caption = STRING_r_caption;
+		number_of_icons = 1;
+		icon_file = "\\resource\\apps\\SMF.mif";
+		};
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/SMF_reg.rss	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,18 @@
+// ============================================================================
+// * Generated by qmake (2.01a) (Qt 4.6.2) on: 2010-07-10T15:20:20
+// * This file is generated by qmake and should not be modified by the
+// * user.
+// ============================================================================
+
+#include <SMF.rsg>
+#include <appinfo.rh>
+
+UID2 KUidAppRegistrationResourceFile
+UID3 0xE850fc7b
+
+RESOURCE APP_REGISTRATION_INFO
+	{
+	app_file="SMF";
+	localisable_resource_file="\\resource\\apps\\SMF";
+
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/ScreenSize.h	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,18 @@
+#ifndef SCREENSIZE_H
+#define SCREENSIZE_H
+
+#include <qobject.h>
+#include <qrect.h>
+#include <qapplication.h>
+#include <qdesktopwidget.h>
+
+class ScreenSize : public QObject
+{
+public:
+    inline static QRect GetScreenRect()
+    {
+        return   QApplication::desktop()->screenGeometry();
+    }
+};
+
+#endif // SCREENSIZE_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/ToolBar.cpp	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,262 @@
+#include "ToolBar.h"
+#include "ScreenSize.h"
+#include <qinputdialog.h>
+#include <qplaintextedit.h>
+#include <qdir.h>   //Checl lateer
+#include <qmessagebox.h>
+#include <qdebug.h>
+#include <qtooltip.h>
+//#include <apacmdln.h>
+//#include <apgcli.h>
+
+
+//MACRO
+#define KNullUid TUid::Null()
+
+//Forward declaration
+class ScreenSize;
+
+ToolBar::ToolBar()
+{
+
+}
+ToolBar::~ToolBar()
+{
+
+}
+void ToolBar::GetToolBar(QMainWindow *Mainwindow,QStringList aListOfActions)
+{
+    //iMainWindow = new QMainWindow;
+    iMainWindow = Mainwindow;
+
+    QHBoxLayout* layout = new QHBoxLayout;
+    QToolBar* tool = new QToolBar(Mainwindow);
+    QToolButton* button1 = new QToolButton(Mainwindow);
+    QToolButton* button2 = new QToolButton(Mainwindow);
+    QToolButton* button3 = new QToolButton(Mainwindow);
+    QToolButton* button4 = new QToolButton(Mainwindow);
+    
+    tool->setGeometry(0,ScreenSize::GetScreenRect().height() - (ToolbarIconHeight + KWidgetGapFactor),(ScreenSize::GetScreenRect().width()-(KWidgetGapFactor)),ToolbarIconHeight);
+    
+    //ToDo :- Ankit to check on button resizing
+    const int IconWidth = ScreenSize::GetScreenRect().width()/7;
+    button1->setGeometry(0,ScreenSize::GetScreenRect().height() - (ToolbarIconHeight + KWidgetGapFactor),IconWidth,ToolbarIconHeight);
+
+    button1->setFixedWidth(IconWidth);
+    button2->setFixedWidth(IconWidth);
+    button3->setFixedWidth(IconWidth);
+    button4->setFixedWidth(IconWidth);
+
+
+    QIcon icon1("E:/Images/SMF/home.svg");
+	QIcon icon2("E:/Images/SMF/all_friends.svg"); //next.PNG
+	QIcon icon3("E:/Images/SMF/mail-message-new.svg");
+	QIcon icon4("E:/Images/SMF/Phone.svg");
+	QIcon icon5("E:/Images/SMF/system-log-out.svg");
+
+    button1->setIcon(icon1);
+    button2->setIcon(icon3);
+    button3->setIcon(icon4);
+    button4->setIcon(icon5);
+    
+    button1->setToolTip("Home");
+    
+    menu = new QMenu(Mainwindow);
+    icon2.actualSize(QSize(IconWidth-10,ToolbarIconHeight));
+    //menu->setFixedWidth(IconWidth+10);
+    menu->setIcon(icon2);
+
+    QMenu *addServ = new QMenu(Mainwindow);
+    addServ->setTitle(aListOfActions.at(0));
+
+    //For Facebook and Flickr SP
+    QAction *addServ_Facebk = new QAction("FaceBook",Mainwindow);
+    QAction *addServ_Flickr = new QAction("Flickr",Mainwindow);
+
+
+    addServ->addAction(addServ_Facebk);
+    addServ->addAction(addServ_Flickr);
+
+   // }
+    //Create Actions
+    //newAction1 = new QAction(aListOfActions.at(1),Mainwindow);
+    //newAction2 = new QAction(aListOfActions.at(2),Mainwindow);
+
+    //need to be modified
+    //menu->addAction(newAction1);
+    //menu->addAction(newAction2);
+    
+    //to add services to the menu button
+    menu->addMenu(addServ);
+    
+    //TODO: button to be disabled
+    //button2->setEnabled(false);
+    //button3->setEnabled(false);
+    
+    tool->addWidget(button1);
+    tool->addAction(menu->menuAction());
+    tool->addWidget(button2);
+    tool->addWidget(button3);
+    tool->addWidget(button4);
+
+    layout->addWidget(tool);
+    
+    //connect actions
+   connect(button1,SIGNAL(clicked()),this,SLOT(homeView()));
+   connect(button2,SIGNAL(clicked()),this,SLOT(msg()));
+   connect(button3,SIGNAL(clicked()),this,SLOT(call()));
+   connect(button4,SIGNAL(clicked()),this,SLOT(exitApp()));
+   //connect(newAction1,SIGNAL(triggered()),this,SLOT(post()));
+   //connect(newAction2,SIGNAL(triggered()),this,SLOT(reply()));
+   
+   //connect for authentication
+   connect(addServ_Facebk,SIGNAL(triggered()),this,SLOT(authApp_Fb()));
+   connect(addServ_Flickr,SIGNAL(triggered()),this,SLOT(authApp_Flkr()));
+   
+}
+
+//changing to home view
+void ToolBar::homeView()
+{
+    //debug
+    qDebug()<<"Inside View_Change()";
+}
+
+
+
+//slot for post comment
+/*void ToolBar::post()
+{
+    //debug purpose
+    qDebug()<<"Inside My Post";
+    bool ok;
+    QInputDialog inptDialg;
+    inptDialg.setStyleSheet("background: black;");//rgb(255,255,255);");
+    QString text = inptDialg.getText(iMainWindow, tr("QInputDialog::getText()"),tr("Post"),
+                                         QLineEdit::Normal,QString::null, &ok,Qt::Window);
+
+
+    if ( ok && !text.isEmpty() ) {
+    // user entered something and pressed OK
+    } else {
+    // user entered nothing or pressed Cancel
+    }
+
+
+}*/
+
+//slot for reply comment
+/*void ToolBar::reply()
+{
+    //debug purpose
+    qDebug()<<"Inside Reply";
+
+    bool ok;
+    QString text = QInputDialog::getText(iMainWindow, tr("QInputDialog::getText()"),tr("Reply To Post"),
+                                         QLineEdit::Normal,QString::null, &ok,Qt::Window);
+
+
+    if ( ok && !text.isEmpty() ) {
+    // user entered something and pressed OK
+    } else {
+    // user entered nothing or pressed Cancel
+    }
+
+
+}*/
+//calling 
+//calling 
+void ToolBar::call()
+	{
+		QMessageBox msgbox;
+		QString msg ("Calling not configured!");
+		msgbox.setText(msg);
+		msgbox.exec();
+	}
+
+
+
+//msging
+void ToolBar::msg()
+	{
+		QMessageBox msgbox;
+		QString msg ("Messaging not configured!");
+		msgbox.setText(msg);
+		msgbox.exec();
+	}
+//exiting application
+void ToolBar::exitApp()
+{
+    //qDebug()<<"Inside Exit_App()";
+    QApplication::exit();
+}
+
+
+//Auth_App for FaceBook
+void ToolBar::authApp_Fb()
+{
+    //debug
+    qDebug()<<"Inside Auth app of faceBook";
+    launchFB();
+}
+
+//Auth App for Flickr
+void ToolBar::authApp_Flkr()
+{
+    //debug
+    qDebug()<<"Inside Auth App of Flickr";
+    launchFlickr();
+}
+
+
+//Facebook AuthApp Launch
+void ToolBar::launchFB()
+	{
+	qDebug()<<"Inside Launch FB AuthApp";
+	QMessageBox msgbox;
+	QString msg ("Please Login Using Facebook Auth App!");
+	msgbox.setText(msg);
+	msgbox.exec();
+	/*TInt result;
+	_LIT(KExecutableName,"release\\winscw\\udeb\\AuthApp.exe");
+	
+	//we can ignore using UID
+	//const TProcessId FBUid(KFBUid3);
+	RProcess fbProc;
+	result = fbProc.Create(KExecutableName,KNullDesC);
+	if(result != KErrNone)
+		{
+		qDebug()<<"FB Can't be opened";
+		return;
+		}
+	qDebug()<<"FB AuthApp Launched";
+	fbProc.Resume();
+	fbProc.Close();*/
+	return;
+	
+	}
+
+void ToolBar::launchFlickr()
+	{
+	qDebug()<<"Inside Launch FB AuthApp";
+	QMessageBox msgbox;
+	QString msg ("Please Login Using Flickr Auth App!");
+	msgbox.setText(msg);
+	msgbox.exec();
+	/*TInt result;
+	_LIT(KExecutableName,"release\\winscw\\udeb\\Flickr.exe");
+	
+	//we can ignore using UID
+	//const TProcessId FBUid(KFBUid3);
+	RProcess flickrProc;
+	result = flickrProc.Create(KExecutableName,KNullDesC);
+	if(result != KErrNone)
+		{
+		qDebug()<<"Flickr Can't be opened";
+		return;
+		}
+	qDebug()<<"Flickr AuthApp Launched";
+	flickrProc.Resume();
+	flickrProc.Close();*/
+	return;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/ToolBar.h	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,44 @@
+#ifndef TOOLBAR_H
+#define TOOLBAR_H
+
+#include <qobject.h>
+#include <qmainwindow.h>
+#include <qboxlayout.h>
+#include <qtoolbar.h>
+#include <qtoolbutton.h>
+#include <qsignalmapper.h>
+#include "WidgetConstants.h"
+#include <qmenu.h>
+
+//FaceBook AuthApp UID
+const TUint32 KFBUid3 = { 0xEFE2FD23 }; 
+const TUint32 KFlickUid3 = { 0xE1D8C7D7 };
+
+class ToolBar : public QObject
+{
+    Q_OBJECT
+public:
+    ToolBar();
+    void GetToolBar(QMainWindow *Mainwindow,QStringList aListOfActions);
+    void launchFB();
+    void launchFlickr();
+    ~ToolBar();
+public slots:
+    //void post();
+    //void reply();
+    void exitApp();
+    void homeView();
+    void msg();
+    void call();
+    void authApp_Fb();
+    void authApp_Flkr();
+private:
+     QMainWindow *iMainWindow;
+     QSignalMapper *signal;
+public:
+	QMenu* menu;
+	//QAction *newAction1;
+	//QAction *newAction2;
+};
+
+#endif // TOOLBAR_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/WidgetConstants.h	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,10 @@
+#ifndef WIDGETCONSTANTS_H
+#define WIDGETCONSTANTS_H
+
+//For Home Screen
+const int KHeadNameHeight = 40;
+const int KWidgetGapFactor = 5;
+const int ToolbarIconHeight = 50;
+
+
+#endif // WIDGETCONSTANTS_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/debug/.svn/all-wcprops	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 122
+/svn/symbian/!svn/ver/414/products/s-series/engg/symbian/s60-app-dev/SocialMobileFrameWork/MissingCodeForSmf/DemoGUI/debug
+END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/debug/.svn/entries	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,28 @@
+10
+
+dir
+415
+http://svnz02/svn/symbian/products/s-series/engg/symbian/s60-app-dev/SocialMobileFrameWork/MissingCodeForSmf/DemoGUI/debug
+http://svnz02/svn/symbian
+
+
+
+2010-07-30T12:20:29.303136Z
+414
+nalinah
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ddc49ed9-7720-479e-b42b-43a572c34f33
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/main.cpp	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,60 @@
+#include <QtGui/QApplication>
+#include "mainwindow.h"
+#include<qfile.h>
+#include<qtextstream.h>
+#ifdef Q_OS_SYMBIAN
+#include <eikenv.h>
+#include <eikappui.h>
+#include <aknenv.h>
+#include <aknappui.h>
+#endif
+
+void debugOutput(QtMsgType type, const char *msg)
+	{
+	QFile logFile("c://data//SmfLog.txt");
+	Q_ASSERT(logFile.open( QIODevice::WriteOnly | QIODevice::Text | QIODevice::Append ));
+	QTextStream stream(&logFile);
+	
+	switch (type)
+		{
+		case QtDebugMsg:
+			stream<<msg<<"\n";
+			break;
+
+		case QtWarningMsg:
+			stream<<"Warning: ";
+			stream<<msg<<"\n";
+			break;
+			
+		case QtCriticalMsg:
+			stream<<"Critical: ";
+			stream<<msg<<"\n";
+			break;
+			
+		case QtFatalMsg:
+			stream<<"Fatal: ";
+			stream<<msg<<"\n";
+			break;
+			
+		default:;
+		}
+	}
+
+int main(int argc, char *argv[])
+{
+    qInstallMsgHandler(debugOutput);
+    QApplication a(argc, argv);
+    MainWindow w;
+#ifdef Q_OS_SYMBIAN    
+CAknAppUi* appUi = dynamic_cast<CAknAppUi*> (CEikonEnv::Static()->AppUi()); 
+TRAPD(error,     
+if (appUi) {        // Lock application orientation into landscape        
+appUi->SetOrientationL(CAknAppUi::EAppUiOrientationPortrait);    
+}    
+);    
+#endif
+  
+    
+    w.showFullScreen();
+    return a.exec();
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/mainwindow.cpp	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,33 @@
+#include "mainwindow.h"
+#include "ui_mainwindow.h"
+
+MainWindow::MainWindow(QWidget *parent) :
+    QMainWindow(parent),
+    ui(new Ui::MainWindow)
+{
+    //ui->setupUi(this);
+    setStyleSheet("selection-color: Black;");
+
+    Ptr2HomeView = new HomeView("SMF");
+    //Ptr2HomeView->getFriends(this);
+    Ptr2HomeView->SetupUI(this);
+}
+
+MainWindow::~MainWindow()
+{
+    //delete ui;
+    delete Ptr2HomeView;
+
+}
+
+void MainWindow::changeEvent(QEvent *e)
+{
+    QMainWindow::changeEvent(e);
+    switch (e->type()) {
+    case QEvent::LanguageChange:
+        ui->retranslateUi(this);
+        break;
+    default:
+        break;
+    }
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/mainwindow.h	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,25 @@
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
+
+#include <QMainWindow>
+#include "HomeView.h"
+
+namespace Ui {
+    class MainWindow;
+}
+
+class MainWindow : public QMainWindow {
+    Q_OBJECT
+public:
+    MainWindow(QWidget *parent = 0);
+    ~MainWindow();
+
+protected:
+    void changeEvent(QEvent *e);
+
+private:
+    Ui::MainWindow *ui;
+    HomeView* Ptr2HomeView;
+};
+
+#endif // MAINWINDOW_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/mainwindow.ui	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,51 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>MainWindow</class>
+ <widget class="QMainWindow" name="MainWindow">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>600</width>
+    <height>400</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>MainWindow</string>
+  </property>
+  <widget class="QWidget" name="centralWidget">
+   <widget class="QTextEdit" name="textEdit">
+    <property name="geometry">
+     <rect>
+      <x>40</x>
+      <y>50</y>
+      <width>104</width>
+      <height>64</height>
+     </rect>
+    </property>
+   </widget>
+  </widget>
+  <widget class="QMenuBar" name="menuBar">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>600</width>
+     <height>21</height>
+    </rect>
+   </property>
+  </widget>
+  <widget class="QToolBar" name="mainToolBar">
+   <attribute name="toolBarArea">
+    <enum>TopToolBarArea</enum>
+   </attribute>
+   <attribute name="toolBarBreak">
+    <bool>false</bool>
+   </attribute>
+  </widget>
+  <widget class="QStatusBar" name="statusBar"/>
+ </widget>
+ <layoutdefault spacing="6" margin="11"/>
+ <resources/>
+ <connections/>
+</ui>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/object_script.DemoGUI.Debug	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,13 @@
+INPUT(
+./debug\main.o
+./debug\mainwindow.o
+./debug\CustomListWidget.o
+./debug\HomeView.o
+./debug\GridView.o
+./debug\ToolBar.o
+./debug\Documents.o
+./debug\and.o
+./debug\My.o
+./debug\GridView.o
+./debug\moc_mainwindow.o
+);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/object_script.DemoGUI.Release	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,13 @@
+INPUT(
+./release\main.o
+./release\mainwindow.o
+./release\CustomListWidget.o
+./release\HomeView.o
+./release\GridView.o
+./release\ToolBar.o
+./release\Documents.o
+./release\and.o
+./release\My.o
+./release\GridView.o
+./release\moc_mainwindow.o
+);
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/release/.svn/all-wcprops	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 124
+/svn/symbian/!svn/ver/414/products/s-series/engg/symbian/s60-app-dev/SocialMobileFrameWork/MissingCodeForSmf/DemoGUI/release
+END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/release/.svn/entries	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,28 @@
+10
+
+dir
+415
+http://svnz02/svn/symbian/products/s-series/engg/symbian/s60-app-dev/SocialMobileFrameWork/MissingCodeForSmf/DemoGUI/release
+http://svnz02/svn/symbian
+
+
+
+2010-07-30T12:20:29.303136Z
+414
+nalinah
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ddc49ed9-7720-479e-b42b-43a572c34f33
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/sasken_logo.svg	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,1501 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20010904//EN"
+  "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
+<svg width="44" height="34">
+  <circle cx="0" cy="0" r="1" fill="white"/>
+  <circle cx="1" cy="0" r="1" fill="white"/>
+  <circle cx="2" cy="0" r="1" fill="white"/>
+  <circle cx="3" cy="0" r="1" fill="white"/>
+  <circle cx="4" cy="0" r="1" fill="white"/>
+  <circle cx="5" cy="0" r="1" fill="white"/>
+  <circle cx="6" cy="0" r="1" fill="white"/>
+  <circle cx="7" cy="0" r="1" fill="white"/>
+  <circle cx="8" cy="0" r="1" fill="white"/>
+  <circle cx="9" cy="0" r="1" fill="white"/>
+  <circle cx="10" cy="0" r="1" fill="white"/>
+  <circle cx="11" cy="0" r="1" fill="white"/>
+  <circle cx="12" cy="0" r="1" fill="white"/>
+  <circle cx="13" cy="0" r="1" fill="white"/>
+  <circle cx="14" cy="0" r="1" fill="white"/>
+  <circle cx="15" cy="0" r="1" fill="white"/>
+  <circle cx="16" cy="0" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="17" cy="0" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="18" cy="0" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="19" cy="0" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="20" cy="0" r="1" fill="rgb(255,255,253)"/>
+  <circle cx="21" cy="0" r="1" fill="white"/>
+  <circle cx="22" cy="0" r="1" fill="white"/>
+  <circle cx="23" cy="0" r="1" fill="white"/>
+  <circle cx="24" cy="0" r="1" fill="white"/>
+  <circle cx="25" cy="0" r="1" fill="rgb(255,254,255)"/>
+  <circle cx="26" cy="0" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="27" cy="0" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="28" cy="0" r="1" fill="rgb(252,255,255)"/>
+  <circle cx="29" cy="0" r="1" fill="rgb(252,255,255)"/>
+  <circle cx="30" cy="0" r="1" fill="rgb(251,255,255)"/>
+  <circle cx="31" cy="0" r="1" fill="rgb(251,255,255)"/>
+  <circle cx="32" cy="0" r="1" fill="white"/>
+  <circle cx="33" cy="0" r="1" fill="white"/>
+  <circle cx="34" cy="0" r="1" fill="white"/>
+  <circle cx="35" cy="0" r="1" fill="white"/>
+  <circle cx="36" cy="0" r="1" fill="white"/>
+  <circle cx="37" cy="0" r="1" fill="white"/>
+  <circle cx="38" cy="0" r="1" fill="white"/>
+  <circle cx="39" cy="0" r="1" fill="white"/>
+  <circle cx="40" cy="0" r="1" fill="white"/>
+  <circle cx="41" cy="0" r="1" fill="white"/>
+  <circle cx="42" cy="0" r="1" fill="white"/>
+  <circle cx="43" cy="0" r="1" fill="white"/>
+  <circle cx="0" cy="1" r="1" fill="white"/>
+  <circle cx="1" cy="1" r="1" fill="white"/>
+  <circle cx="2" cy="1" r="1" fill="white"/>
+  <circle cx="3" cy="1" r="1" fill="white"/>
+  <circle cx="4" cy="1" r="1" fill="white"/>
+  <circle cx="5" cy="1" r="1" fill="white"/>
+  <circle cx="6" cy="1" r="1" fill="white"/>
+  <circle cx="7" cy="1" r="1" fill="white"/>
+  <circle cx="8" cy="1" r="1" fill="white"/>
+  <circle cx="9" cy="1" r="1" fill="white"/>
+  <circle cx="10" cy="1" r="1" fill="white"/>
+  <circle cx="11" cy="1" r="1" fill="white"/>
+  <circle cx="12" cy="1" r="1" fill="white"/>
+  <circle cx="13" cy="1" r="1" fill="white"/>
+  <circle cx="14" cy="1" r="1" fill="white"/>
+  <circle cx="15" cy="1" r="1" fill="white"/>
+  <circle cx="16" cy="1" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="17" cy="1" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="18" cy="1" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="19" cy="1" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="20" cy="1" r="1" fill="rgb(255,255,253)"/>
+  <circle cx="21" cy="1" r="1" fill="white"/>
+  <circle cx="22" cy="1" r="1" fill="white"/>
+  <circle cx="23" cy="1" r="1" fill="white"/>
+  <circle cx="24" cy="1" r="1" fill="rgb(254,254,255)"/>
+  <circle cx="25" cy="1" r="1" fill="rgb(254,254,255)"/>
+  <circle cx="26" cy="1" r="1" fill="rgb(254,253,255)"/>
+  <circle cx="27" cy="1" r="1" fill="rgb(253,254,255)"/>
+  <circle cx="28" cy="1" r="1" fill="rgb(253,254,255)"/>
+  <circle cx="29" cy="1" r="1" fill="rgb(251,254,255)"/>
+  <circle cx="30" cy="1" r="1" fill="rgb(251,254,255)"/>
+  <circle cx="31" cy="1" r="1" fill="rgb(251,254,255)"/>
+  <circle cx="32" cy="1" r="1" fill="white"/>
+  <circle cx="33" cy="1" r="1" fill="white"/>
+  <circle cx="34" cy="1" r="1" fill="white"/>
+  <circle cx="35" cy="1" r="1" fill="white"/>
+  <circle cx="36" cy="1" r="1" fill="white"/>
+  <circle cx="37" cy="1" r="1" fill="white"/>
+  <circle cx="38" cy="1" r="1" fill="white"/>
+  <circle cx="39" cy="1" r="1" fill="white"/>
+  <circle cx="40" cy="1" r="1" fill="white"/>
+  <circle cx="41" cy="1" r="1" fill="white"/>
+  <circle cx="42" cy="1" r="1" fill="white"/>
+  <circle cx="43" cy="1" r="1" fill="white"/>
+  <circle cx="0" cy="2" r="1" fill="white"/>
+  <circle cx="1" cy="2" r="1" fill="white"/>
+  <circle cx="2" cy="2" r="1" fill="white"/>
+  <circle cx="3" cy="2" r="1" fill="white"/>
+  <circle cx="4" cy="2" r="1" fill="white"/>
+  <circle cx="5" cy="2" r="1" fill="white"/>
+  <circle cx="6" cy="2" r="1" fill="white"/>
+  <circle cx="7" cy="2" r="1" fill="white"/>
+  <circle cx="8" cy="2" r="1" fill="white"/>
+  <circle cx="9" cy="2" r="1" fill="white"/>
+  <circle cx="10" cy="2" r="1" fill="white"/>
+  <circle cx="11" cy="2" r="1" fill="white"/>
+  <circle cx="12" cy="2" r="1" fill="white"/>
+  <circle cx="13" cy="2" r="1" fill="white"/>
+  <circle cx="14" cy="2" r="1" fill="white"/>
+  <circle cx="15" cy="2" r="1" fill="white"/>
+  <circle cx="16" cy="2" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="17" cy="2" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="18" cy="2" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="19" cy="2" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="20" cy="2" r="1" fill="rgb(255,255,253)"/>
+  <circle cx="21" cy="2" r="1" fill="white"/>
+  <circle cx="22" cy="2" r="1" fill="white"/>
+  <circle cx="23" cy="2" r="1" fill="white"/>
+  <circle cx="24" cy="2" r="1" fill="rgb(254,254,255)"/>
+  <circle cx="25" cy="2" r="1" fill="rgb(254,254,255)"/>
+  <circle cx="26" cy="2" r="1" fill="rgb(254,254,255)"/>
+  <circle cx="27" cy="2" r="1" fill="rgb(254,253,255)"/>
+  <circle cx="28" cy="2" r="1" fill="rgb(253,254,255)"/>
+  <circle cx="29" cy="2" r="1" fill="rgb(253,254,255)"/>
+  <circle cx="30" cy="2" r="1" fill="rgb(253,254,255)"/>
+  <circle cx="31" cy="2" r="1" fill="rgb(253,254,255)"/>
+  <circle cx="32" cy="2" r="1" fill="white"/>
+  <circle cx="33" cy="2" r="1" fill="white"/>
+  <circle cx="34" cy="2" r="1" fill="white"/>
+  <circle cx="35" cy="2" r="1" fill="white"/>
+  <circle cx="36" cy="2" r="1" fill="white"/>
+  <circle cx="37" cy="2" r="1" fill="white"/>
+  <circle cx="38" cy="2" r="1" fill="white"/>
+  <circle cx="39" cy="2" r="1" fill="white"/>
+  <circle cx="40" cy="2" r="1" fill="white"/>
+  <circle cx="41" cy="2" r="1" fill="white"/>
+  <circle cx="42" cy="2" r="1" fill="white"/>
+  <circle cx="43" cy="2" r="1" fill="white"/>
+  <circle cx="0" cy="3" r="1" fill="white"/>
+  <circle cx="1" cy="3" r="1" fill="white"/>
+  <circle cx="2" cy="3" r="1" fill="white"/>
+  <circle cx="3" cy="3" r="1" fill="white"/>
+  <circle cx="4" cy="3" r="1" fill="white"/>
+  <circle cx="5" cy="3" r="1" fill="white"/>
+  <circle cx="6" cy="3" r="1" fill="white"/>
+  <circle cx="7" cy="3" r="1" fill="white"/>
+  <circle cx="8" cy="3" r="1" fill="white"/>
+  <circle cx="9" cy="3" r="1" fill="white"/>
+  <circle cx="10" cy="3" r="1" fill="white"/>
+  <circle cx="11" cy="3" r="1" fill="white"/>
+  <circle cx="12" cy="3" r="1" fill="white"/>
+  <circle cx="13" cy="3" r="1" fill="white"/>
+  <circle cx="14" cy="3" r="1" fill="white"/>
+  <circle cx="15" cy="3" r="1" fill="white"/>
+  <circle cx="16" cy="3" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="17" cy="3" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="18" cy="3" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="19" cy="3" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="20" cy="3" r="1" fill="white"/>
+  <circle cx="21" cy="3" r="1" fill="white"/>
+  <circle cx="22" cy="3" r="1" fill="white"/>
+  <circle cx="23" cy="3" r="1" fill="white"/>
+  <circle cx="24" cy="3" r="1" fill="white"/>
+  <circle cx="25" cy="3" r="1" fill="white"/>
+  <circle cx="26" cy="3" r="1" fill="white"/>
+  <circle cx="27" cy="3" r="1" fill="white"/>
+  <circle cx="28" cy="3" r="1" fill="white"/>
+  <circle cx="29" cy="3" r="1" fill="white"/>
+  <circle cx="30" cy="3" r="1" fill="white"/>
+  <circle cx="31" cy="3" r="1" fill="white"/>
+  <circle cx="32" cy="3" r="1" fill="white"/>
+  <circle cx="33" cy="3" r="1" fill="white"/>
+  <circle cx="34" cy="3" r="1" fill="white"/>
+  <circle cx="35" cy="3" r="1" fill="white"/>
+  <circle cx="36" cy="3" r="1" fill="white"/>
+  <circle cx="37" cy="3" r="1" fill="white"/>
+  <circle cx="38" cy="3" r="1" fill="white"/>
+  <circle cx="39" cy="3" r="1" fill="white"/>
+  <circle cx="40" cy="3" r="1" fill="white"/>
+  <circle cx="41" cy="3" r="1" fill="white"/>
+  <circle cx="42" cy="3" r="1" fill="white"/>
+  <circle cx="43" cy="3" r="1" fill="white"/>
+  <circle cx="0" cy="4" r="1" fill="white"/>
+  <circle cx="1" cy="4" r="1" fill="white"/>
+  <circle cx="2" cy="4" r="1" fill="white"/>
+  <circle cx="3" cy="4" r="1" fill="white"/>
+  <circle cx="4" cy="4" r="1" fill="white"/>
+  <circle cx="5" cy="4" r="1" fill="white"/>
+  <circle cx="6" cy="4" r="1" fill="white"/>
+  <circle cx="7" cy="4" r="1" fill="white"/>
+  <circle cx="8" cy="4" r="1" fill="white"/>
+  <circle cx="9" cy="4" r="1" fill="white"/>
+  <circle cx="10" cy="4" r="1" fill="white"/>
+  <circle cx="11" cy="4" r="1" fill="white"/>
+  <circle cx="12" cy="4" r="1" fill="white"/>
+  <circle cx="13" cy="4" r="1" fill="white"/>
+  <circle cx="14" cy="4" r="1" fill="white"/>
+  <circle cx="15" cy="4" r="1" fill="white"/>
+  <circle cx="16" cy="4" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="17" cy="4" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="18" cy="4" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="19" cy="4" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="20" cy="4" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="21" cy="4" r="1" fill="white"/>
+  <circle cx="22" cy="4" r="1" fill="white"/>
+  <circle cx="23" cy="4" r="1" fill="white"/>
+  <circle cx="24" cy="4" r="1" fill="white"/>
+  <circle cx="25" cy="4" r="1" fill="rgb(255,254,255)"/>
+  <circle cx="26" cy="4" r="1" fill="rgb(255,254,255)"/>
+  <circle cx="27" cy="4" r="1" fill="rgb(255,254,255)"/>
+  <circle cx="28" cy="4" r="1" fill="rgb(255,254,255)"/>
+  <circle cx="29" cy="4" r="1" fill="rgb(255,254,255)"/>
+  <circle cx="30" cy="4" r="1" fill="rgb(255,254,255)"/>
+  <circle cx="31" cy="4" r="1" fill="rgb(255,254,255)"/>
+  <circle cx="32" cy="4" r="1" fill="white"/>
+  <circle cx="33" cy="4" r="1" fill="white"/>
+  <circle cx="34" cy="4" r="1" fill="white"/>
+  <circle cx="35" cy="4" r="1" fill="white"/>
+  <circle cx="36" cy="4" r="1" fill="white"/>
+  <circle cx="37" cy="4" r="1" fill="white"/>
+  <circle cx="38" cy="4" r="1" fill="white"/>
+  <circle cx="39" cy="4" r="1" fill="white"/>
+  <circle cx="40" cy="4" r="1" fill="white"/>
+  <circle cx="41" cy="4" r="1" fill="white"/>
+  <circle cx="42" cy="4" r="1" fill="white"/>
+  <circle cx="43" cy="4" r="1" fill="white"/>
+  <circle cx="0" cy="5" r="1" fill="white"/>
+  <circle cx="1" cy="5" r="1" fill="white"/>
+  <circle cx="2" cy="5" r="1" fill="white"/>
+  <circle cx="3" cy="5" r="1" fill="white"/>
+  <circle cx="4" cy="5" r="1" fill="white"/>
+  <circle cx="5" cy="5" r="1" fill="white"/>
+  <circle cx="6" cy="5" r="1" fill="white"/>
+  <circle cx="7" cy="5" r="1" fill="white"/>
+  <circle cx="8" cy="5" r="1" fill="white"/>
+  <circle cx="9" cy="5" r="1" fill="white"/>
+  <circle cx="10" cy="5" r="1" fill="white"/>
+  <circle cx="11" cy="5" r="1" fill="white"/>
+  <circle cx="12" cy="5" r="1" fill="white"/>
+  <circle cx="13" cy="5" r="1" fill="white"/>
+  <circle cx="14" cy="5" r="1" fill="white"/>
+  <circle cx="15" cy="5" r="1" fill="white"/>
+  <circle cx="16" cy="5" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="17" cy="5" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="18" cy="5" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="19" cy="5" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="20" cy="5" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="21" cy="5" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="22" cy="5" r="1" fill="rgb(255,255,253)"/>
+  <circle cx="23" cy="5" r="1" fill="rgb(255,255,253)"/>
+  <circle cx="24" cy="5" r="1" fill="rgb(255,255,253)"/>
+  <circle cx="25" cy="5" r="1" fill="rgb(255,255,253)"/>
+  <circle cx="26" cy="5" r="1" fill="rgb(255,255,253)"/>
+  <circle cx="27" cy="5" r="1" fill="rgb(255,254,253)"/>
+  <circle cx="28" cy="5" r="1" fill="rgb(255,253,253)"/>
+  <circle cx="29" cy="5" r="1" fill="rgb(255,253,253)"/>
+  <circle cx="30" cy="5" r="1" fill="rgb(255,253,253)"/>
+  <circle cx="31" cy="5" r="1" fill="rgb(255,253,253)"/>
+  <circle cx="32" cy="5" r="1" fill="white"/>
+  <circle cx="33" cy="5" r="1" fill="white"/>
+  <circle cx="34" cy="5" r="1" fill="white"/>
+  <circle cx="35" cy="5" r="1" fill="white"/>
+  <circle cx="36" cy="5" r="1" fill="white"/>
+  <circle cx="37" cy="5" r="1" fill="white"/>
+  <circle cx="38" cy="5" r="1" fill="white"/>
+  <circle cx="39" cy="5" r="1" fill="white"/>
+  <circle cx="40" cy="5" r="1" fill="white"/>
+  <circle cx="41" cy="5" r="1" fill="white"/>
+  <circle cx="42" cy="5" r="1" fill="white"/>
+  <circle cx="43" cy="5" r="1" fill="white"/>
+  <circle cx="0" cy="6" r="1" fill="white"/>
+  <circle cx="1" cy="6" r="1" fill="white"/>
+  <circle cx="2" cy="6" r="1" fill="white"/>
+  <circle cx="3" cy="6" r="1" fill="white"/>
+  <circle cx="4" cy="6" r="1" fill="white"/>
+  <circle cx="5" cy="6" r="1" fill="white"/>
+  <circle cx="6" cy="6" r="1" fill="white"/>
+  <circle cx="7" cy="6" r="1" fill="white"/>
+  <circle cx="8" cy="6" r="1" fill="white"/>
+  <circle cx="9" cy="6" r="1" fill="white"/>
+  <circle cx="10" cy="6" r="1" fill="white"/>
+  <circle cx="11" cy="6" r="1" fill="white"/>
+  <circle cx="12" cy="6" r="1" fill="white"/>
+  <circle cx="13" cy="6" r="1" fill="white"/>
+  <circle cx="14" cy="6" r="1" fill="white"/>
+  <circle cx="15" cy="6" r="1" fill="white"/>
+  <circle cx="16" cy="6" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="17" cy="6" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="18" cy="6" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="19" cy="6" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="20" cy="6" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="21" cy="6" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="22" cy="6" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="23" cy="6" r="1" fill="rgb(255,255,253)"/>
+  <circle cx="24" cy="6" r="1" fill="rgb(253,253,251)"/>
+  <circle cx="25" cy="6" r="1" fill="rgb(254,253,249)"/>
+  <circle cx="26" cy="6" r="1" fill="rgb(255,252,249)"/>
+  <circle cx="27" cy="6" r="1" fill="rgb(255,252,249)"/>
+  <circle cx="28" cy="6" r="1" fill="rgb(255,251,248)"/>
+  <circle cx="29" cy="6" r="1" fill="rgb(255,250,248)"/>
+  <circle cx="30" cy="6" r="1" fill="rgb(255,250,248)"/>
+  <circle cx="31" cy="6" r="1" fill="rgb(255,250,248)"/>
+  <circle cx="32" cy="6" r="1" fill="white"/>
+  <circle cx="33" cy="6" r="1" fill="white"/>
+  <circle cx="34" cy="6" r="1" fill="white"/>
+  <circle cx="35" cy="6" r="1" fill="white"/>
+  <circle cx="36" cy="6" r="1" fill="white"/>
+  <circle cx="37" cy="6" r="1" fill="white"/>
+  <circle cx="38" cy="6" r="1" fill="white"/>
+  <circle cx="39" cy="6" r="1" fill="white"/>
+  <circle cx="40" cy="6" r="1" fill="white"/>
+  <circle cx="41" cy="6" r="1" fill="white"/>
+  <circle cx="42" cy="6" r="1" fill="white"/>
+  <circle cx="43" cy="6" r="1" fill="white"/>
+  <circle cx="0" cy="7" r="1" fill="white"/>
+  <circle cx="1" cy="7" r="1" fill="white"/>
+  <circle cx="2" cy="7" r="1" fill="white"/>
+  <circle cx="3" cy="7" r="1" fill="white"/>
+  <circle cx="4" cy="7" r="1" fill="white"/>
+  <circle cx="5" cy="7" r="1" fill="white"/>
+  <circle cx="6" cy="7" r="1" fill="white"/>
+  <circle cx="7" cy="7" r="1" fill="white"/>
+  <circle cx="8" cy="7" r="1" fill="white"/>
+  <circle cx="9" cy="7" r="1" fill="white"/>
+  <circle cx="10" cy="7" r="1" fill="white"/>
+  <circle cx="11" cy="7" r="1" fill="white"/>
+  <circle cx="12" cy="7" r="1" fill="white"/>
+  <circle cx="13" cy="7" r="1" fill="white"/>
+  <circle cx="14" cy="7" r="1" fill="white"/>
+  <circle cx="15" cy="7" r="1" fill="white"/>
+  <circle cx="16" cy="7" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="17" cy="7" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="18" cy="7" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="19" cy="7" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="20" cy="7" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="21" cy="7" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="22" cy="7" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="23" cy="7" r="1" fill="rgb(255,255,251)"/>
+  <circle cx="24" cy="7" r="1" fill="rgb(252,251,247)"/>
+  <circle cx="25" cy="7" r="1" fill="rgb(254,251,246)"/>
+  <circle cx="26" cy="7" r="1" fill="rgb(255,250,246)"/>
+  <circle cx="27" cy="7" r="1" fill="rgb(255,250,244)"/>
+  <circle cx="28" cy="7" r="1" fill="rgb(255,248,244)"/>
+  <circle cx="29" cy="7" r="1" fill="rgb(255,247,244)"/>
+  <circle cx="30" cy="7" r="1" fill="rgb(255,247,244)"/>
+  <circle cx="31" cy="7" r="1" fill="rgb(255,247,242)"/>
+  <circle cx="32" cy="7" r="1" fill="white"/>
+  <circle cx="33" cy="7" r="1" fill="white"/>
+  <circle cx="34" cy="7" r="1" fill="white"/>
+  <circle cx="35" cy="7" r="1" fill="white"/>
+  <circle cx="36" cy="7" r="1" fill="white"/>
+  <circle cx="37" cy="7" r="1" fill="white"/>
+  <circle cx="38" cy="7" r="1" fill="white"/>
+  <circle cx="39" cy="7" r="1" fill="white"/>
+  <circle cx="40" cy="7" r="1" fill="white"/>
+  <circle cx="41" cy="7" r="1" fill="white"/>
+  <circle cx="42" cy="7" r="1" fill="white"/>
+  <circle cx="43" cy="7" r="1" fill="white"/>
+  <circle cx="0" cy="8" r="1" fill="white"/>
+  <circle cx="1" cy="8" r="1" fill="white"/>
+  <circle cx="2" cy="8" r="1" fill="white"/>
+  <circle cx="3" cy="8" r="1" fill="white"/>
+  <circle cx="4" cy="8" r="1" fill="white"/>
+  <circle cx="5" cy="8" r="1" fill="white"/>
+  <circle cx="6" cy="8" r="1" fill="white"/>
+  <circle cx="7" cy="8" r="1" fill="white"/>
+  <circle cx="8" cy="8" r="1" fill="white"/>
+  <circle cx="9" cy="8" r="1" fill="white"/>
+  <circle cx="10" cy="8" r="1" fill="white"/>
+  <circle cx="11" cy="8" r="1" fill="white"/>
+  <circle cx="12" cy="8" r="1" fill="white"/>
+  <circle cx="13" cy="8" r="1" fill="white"/>
+  <circle cx="14" cy="8" r="1" fill="white"/>
+  <circle cx="15" cy="8" r="1" fill="white"/>
+  <circle cx="16" cy="8" r="1" fill="white"/>
+  <circle cx="17" cy="8" r="1" fill="white"/>
+  <circle cx="18" cy="8" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="19" cy="8" r="1" fill="rgb(253,255,254)"/>
+  <circle cx="20" cy="8" r="1" fill="rgb(252,254,253)"/>
+  <circle cx="21" cy="8" r="1" fill="rgb(253,255,252)"/>
+  <circle cx="22" cy="8" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="23" cy="8" r="1" fill="rgb(255,255,251)"/>
+  <circle cx="24" cy="8" r="1" fill="rgb(253,252,247)"/>
+  <circle cx="25" cy="8" r="1" fill="rgb(255,255,248)"/>
+  <circle cx="26" cy="8" r="1" fill="rgb(248,241,235)"/>
+  <circle cx="27" cy="8" r="1" fill="rgb(255,251,244)"/>
+  <circle cx="28" cy="8" r="1" fill="rgb(183,170,164)"/>
+  <circle cx="29" cy="8" r="1" fill="rgb(152,135,128)"/>
+  <circle cx="30" cy="8" r="1" fill="rgb(160,141,135)"/>
+  <circle cx="31" cy="8" r="1" fill="rgb(196,177,171)"/>
+  <circle cx="32" cy="8" r="1" fill="rgb(251,251,251)"/>
+  <circle cx="33" cy="8" r="1" fill="white"/>
+  <circle cx="34" cy="8" r="1" fill="white"/>
+  <circle cx="35" cy="8" r="1" fill="white"/>
+  <circle cx="36" cy="8" r="1" fill="grey98"/>
+  <circle cx="37" cy="8" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="38" cy="8" r="1" fill="white"/>
+  <circle cx="39" cy="8" r="1" fill="rgb(251,251,251)"/>
+  <circle cx="40" cy="8" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="41" cy="8" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="42" cy="8" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="43" cy="8" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="0" cy="9" r="1" fill="white"/>
+  <circle cx="1" cy="9" r="1" fill="white"/>
+  <circle cx="2" cy="9" r="1" fill="white"/>
+  <circle cx="3" cy="9" r="1" fill="white"/>
+  <circle cx="4" cy="9" r="1" fill="white"/>
+  <circle cx="5" cy="9" r="1" fill="white"/>
+  <circle cx="6" cy="9" r="1" fill="white"/>
+  <circle cx="7" cy="9" r="1" fill="white"/>
+  <circle cx="8" cy="9" r="1" fill="white"/>
+  <circle cx="9" cy="9" r="1" fill="white"/>
+  <circle cx="10" cy="9" r="1" fill="white"/>
+  <circle cx="11" cy="9" r="1" fill="white"/>
+  <circle cx="12" cy="9" r="1" fill="white"/>
+  <circle cx="13" cy="9" r="1" fill="white"/>
+  <circle cx="14" cy="9" r="1" fill="white"/>
+  <circle cx="15" cy="9" r="1" fill="white"/>
+  <circle cx="16" cy="9" r="1" fill="rgb(251,250,255)"/>
+  <circle cx="17" cy="9" r="1" fill="rgb(252,252,254)"/>
+  <circle cx="18" cy="9" r="1" fill="rgb(253,254,255)"/>
+  <circle cx="19" cy="9" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="20" cy="9" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="21" cy="9" r="1" fill="rgb(252,255,253)"/>
+  <circle cx="22" cy="9" r="1" fill="rgb(254,255,251)"/>
+  <circle cx="23" cy="9" r="1" fill="rgb(255,255,250)"/>
+  <circle cx="24" cy="9" r="1" fill="rgb(255,255,248)"/>
+  <circle cx="25" cy="9" r="1" fill="rgb(255,255,246)"/>
+  <circle cx="26" cy="9" r="1" fill="rgb(250,243,235)"/>
+  <circle cx="27" cy="9" r="1" fill="rgb(174,161,153)"/>
+  <circle cx="28" cy="9" r="1" fill="rgb(220,203,195)"/>
+  <circle cx="29" cy="9" r="1" fill="rgb(255,250,243)"/>
+  <circle cx="30" cy="9" r="1" fill="rgb(255,249,241)"/>
+  <circle cx="31" cy="9" r="1" fill="rgb(190,165,158)"/>
+  <circle cx="32" cy="9" r="1" fill="rgb(238,238,238)"/>
+  <circle cx="33" cy="9" r="1" fill="rgb(243,243,243)"/>
+  <circle cx="34" cy="9" r="1" fill="grey94"/>
+  <circle cx="35" cy="9" r="1" fill="white"/>
+  <circle cx="36" cy="9" r="1" fill="white"/>
+  <circle cx="37" cy="9" r="1" fill="white"/>
+  <circle cx="38" cy="9" r="1" fill="white"/>
+  <circle cx="39" cy="9" r="1" fill="rgb(251,251,251)"/>
+  <circle cx="40" cy="9" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="41" cy="9" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="42" cy="9" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="43" cy="9" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="0" cy="10" r="1" fill="white"/>
+  <circle cx="1" cy="10" r="1" fill="white"/>
+  <circle cx="2" cy="10" r="1" fill="white"/>
+  <circle cx="3" cy="10" r="1" fill="white"/>
+  <circle cx="4" cy="10" r="1" fill="white"/>
+  <circle cx="5" cy="10" r="1" fill="white"/>
+  <circle cx="6" cy="10" r="1" fill="white"/>
+  <circle cx="7" cy="10" r="1" fill="white"/>
+  <circle cx="8" cy="10" r="1" fill="white"/>
+  <circle cx="9" cy="10" r="1" fill="white"/>
+  <circle cx="10" cy="10" r="1" fill="white"/>
+  <circle cx="11" cy="10" r="1" fill="white"/>
+  <circle cx="12" cy="10" r="1" fill="white"/>
+  <circle cx="13" cy="10" r="1" fill="white"/>
+  <circle cx="14" cy="10" r="1" fill="white"/>
+  <circle cx="15" cy="10" r="1" fill="white"/>
+  <circle cx="16" cy="10" r="1" fill="rgb(251,250,255)"/>
+  <circle cx="17" cy="10" r="1" fill="rgb(252,251,255)"/>
+  <circle cx="18" cy="10" r="1" fill="rgb(253,254,255)"/>
+  <circle cx="19" cy="10" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="20" cy="10" r="1" fill="rgb(252,255,255)"/>
+  <circle cx="21" cy="10" r="1" fill="rgb(252,255,253)"/>
+  <circle cx="22" cy="10" r="1" fill="rgb(253,255,250)"/>
+  <circle cx="23" cy="10" r="1" fill="rgb(252,255,248)"/>
+  <circle cx="24" cy="10" r="1" fill="rgb(251,251,243)"/>
+  <circle cx="25" cy="10" r="1" fill="rgb(255,253,244)"/>
+  <circle cx="26" cy="10" r="1" fill="rgb(255,250,241)"/>
+  <circle cx="27" cy="10" r="1" fill="rgb(156,142,133)"/>
+  <circle cx="28" cy="10" r="1" fill="rgb(255,251,241)"/>
+  <circle cx="29" cy="10" r="1" fill="rgb(255,240,229)"/>
+  <circle cx="30" cy="10" r="1" fill="rgb(255,237,228)"/>
+  <circle cx="31" cy="10" r="1" fill="rgb(255,228,217)"/>
+  <circle cx="32" cy="10" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="33" cy="10" r="1" fill="white"/>
+  <circle cx="34" cy="10" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="35" cy="10" r="1" fill="grey98"/>
+  <circle cx="36" cy="10" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="37" cy="10" r="1" fill="rgb(243,243,243)"/>
+  <circle cx="38" cy="10" r="1" fill="rgb(249,249,249)"/>
+  <circle cx="39" cy="10" r="1" fill="white"/>
+  <circle cx="40" cy="10" r="1" fill="white"/>
+  <circle cx="41" cy="10" r="1" fill="white"/>
+  <circle cx="42" cy="10" r="1" fill="white"/>
+  <circle cx="43" cy="10" r="1" fill="white"/>
+  <circle cx="0" cy="11" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="1" cy="11" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="2" cy="11" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="3" cy="11" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="4" cy="11" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="5" cy="11" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="6" cy="11" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="7" cy="11" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="8" cy="11" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="9" cy="11" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="10" cy="11" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="11" cy="11" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="12" cy="11" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="13" cy="11" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="14" cy="11" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="15" cy="11" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="16" cy="11" r="1" fill="rgb(255,254,255)"/>
+  <circle cx="17" cy="11" r="1" fill="rgb(255,254,255)"/>
+  <circle cx="18" cy="11" r="1" fill="rgb(253,254,255)"/>
+  <circle cx="19" cy="11" r="1" fill="rgb(253,254,255)"/>
+  <circle cx="20" cy="11" r="1" fill="rgb(251,255,254)"/>
+  <circle cx="21" cy="11" r="1" fill="rgb(251,255,252)"/>
+  <circle cx="22" cy="11" r="1" fill="rgb(249,254,248)"/>
+  <circle cx="23" cy="11" r="1" fill="rgb(250,253,244)"/>
+  <circle cx="24" cy="11" r="1" fill="rgb(255,255,246)"/>
+  <circle cx="25" cy="11" r="1" fill="rgb(242,238,227)"/>
+  <circle cx="26" cy="11" r="1" fill="rgb(206,196,186)"/>
+  <circle cx="27" cy="11" r="1" fill="rgb(153,137,124)"/>
+  <circle cx="28" cy="11" r="1" fill="rgb(179,159,148)"/>
+  <circle cx="29" cy="11" r="1" fill="rgb(255,233,222)"/>
+  <circle cx="30" cy="11" r="1" fill="rgb(255,247,236)"/>
+  <circle cx="31" cy="11" r="1" fill="rgb(255,246,235)"/>
+  <circle cx="32" cy="11" r="1" fill="grey65"/>
+  <circle cx="33" cy="11" r="1" fill="rgb(243,243,243)"/>
+  <circle cx="34" cy="11" r="1" fill="white"/>
+  <circle cx="35" cy="11" r="1" fill="grey98"/>
+  <circle cx="36" cy="11" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="37" cy="11" r="1" fill="grey98"/>
+  <circle cx="38" cy="11" r="1" fill="rgb(251,251,251)"/>
+  <circle cx="39" cy="11" r="1" fill="grey98"/>
+  <circle cx="40" cy="11" r="1" fill="white"/>
+  <circle cx="41" cy="11" r="1" fill="white"/>
+  <circle cx="42" cy="11" r="1" fill="white"/>
+  <circle cx="43" cy="11" r="1" fill="white"/>
+  <circle cx="0" cy="12" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="1" cy="12" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="2" cy="12" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="3" cy="12" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="4" cy="12" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="5" cy="12" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="6" cy="12" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="7" cy="12" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="8" cy="12" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="9" cy="12" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="10" cy="12" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="11" cy="12" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="12" cy="12" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="13" cy="12" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="14" cy="12" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="15" cy="12" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="16" cy="12" r="1" fill="rgb(255,254,255)"/>
+  <circle cx="17" cy="12" r="1" fill="rgb(255,254,255)"/>
+  <circle cx="18" cy="12" r="1" fill="rgb(251,252,255)"/>
+  <circle cx="19" cy="12" r="1" fill="rgb(250,251,253)"/>
+  <circle cx="20" cy="12" r="1" fill="rgb(250,254,253)"/>
+  <circle cx="21" cy="12" r="1" fill="rgb(252,255,253)"/>
+  <circle cx="22" cy="12" r="1" fill="rgb(252,255,250)"/>
+  <circle cx="23" cy="12" r="1" fill="rgb(253,255,247)"/>
+  <circle cx="24" cy="12" r="1" fill="rgb(255,255,246)"/>
+  <circle cx="25" cy="12" r="1" fill="rgb(244,240,228)"/>
+  <circle cx="26" cy="12" r="1" fill="rgb(255,250,238)"/>
+  <circle cx="27" cy="12" r="1" fill="rgb(167,149,137)"/>
+  <circle cx="28" cy="12" r="1" fill="rgb(228,204,192)"/>
+  <circle cx="29" cy="12" r="1" fill="rgb(166,138,126)"/>
+  <circle cx="30" cy="12" r="1" fill="rgb(252,220,207)"/>
+  <circle cx="31" cy="12" r="1" fill="rgb(255,246,234)"/>
+  <circle cx="32" cy="12" r="1" fill="grey60"/>
+  <circle cx="33" cy="12" r="1" fill="rgb(233,233,233)"/>
+  <circle cx="34" cy="12" r="1" fill="white"/>
+  <circle cx="35" cy="12" r="1" fill="grey98"/>
+  <circle cx="36" cy="12" r="1" fill="white"/>
+  <circle cx="37" cy="12" r="1" fill="white"/>
+  <circle cx="38" cy="12" r="1" fill="white"/>
+  <circle cx="39" cy="12" r="1" fill="white"/>
+  <circle cx="40" cy="12" r="1" fill="white"/>
+  <circle cx="41" cy="12" r="1" fill="white"/>
+  <circle cx="42" cy="12" r="1" fill="white"/>
+  <circle cx="43" cy="12" r="1" fill="white"/>
+  <circle cx="0" cy="13" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="1" cy="13" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="2" cy="13" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="3" cy="13" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="4" cy="13" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="5" cy="13" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="6" cy="13" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="7" cy="13" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="8" cy="13" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="9" cy="13" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="10" cy="13" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="11" cy="13" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="12" cy="13" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="13" cy="13" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="14" cy="13" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="15" cy="13" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="16" cy="13" r="1" fill="rgb(255,254,255)"/>
+  <circle cx="17" cy="13" r="1" fill="rgb(252,251,255)"/>
+  <circle cx="18" cy="13" r="1" fill="rgb(248,249,253)"/>
+  <circle cx="19" cy="13" r="1" fill="rgb(249,250,252)"/>
+  <circle cx="20" cy="13" r="1" fill="rgb(251,255,254)"/>
+  <circle cx="21" cy="13" r="1" fill="rgb(252,255,253)"/>
+  <circle cx="22" cy="13" r="1" fill="rgb(252,255,250)"/>
+  <circle cx="23" cy="13" r="1" fill="rgb(254,255,248)"/>
+  <circle cx="24" cy="13" r="1" fill="rgb(215,215,203)"/>
+  <circle cx="25" cy="13" r="1" fill="rgb(219,213,201)"/>
+  <circle cx="26" cy="13" r="1" fill="rgb(247,235,221)"/>
+  <circle cx="27" cy="13" r="1" fill="rgb(247,229,215)"/>
+  <circle cx="28" cy="13" r="1" fill="rgb(177,154,140)"/>
+  <circle cx="29" cy="13" r="1" fill="rgb(202,173,159)"/>
+  <circle cx="30" cy="13" r="1" fill="rgb(190,157,142)"/>
+  <circle cx="31" cy="13" r="1" fill="rgb(159,121,108)"/>
+  <circle cx="32" cy="13" r="1" fill="grey95"/>
+  <circle cx="33" cy="13" r="1" fill="white"/>
+  <circle cx="34" cy="13" r="1" fill="grey99"/>
+  <circle cx="35" cy="13" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="36" cy="13" r="1" fill="white"/>
+  <circle cx="37" cy="13" r="1" fill="rgb(248,248,248)"/>
+  <circle cx="38" cy="13" r="1" fill="rgb(251,251,251)"/>
+  <circle cx="39" cy="13" r="1" fill="white"/>
+  <circle cx="40" cy="13" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="41" cy="13" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="42" cy="13" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="43" cy="13" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="0" cy="14" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="1" cy="14" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="2" cy="14" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="3" cy="14" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="4" cy="14" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="5" cy="14" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="6" cy="14" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="7" cy="14" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="8" cy="14" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="9" cy="14" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="10" cy="14" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="11" cy="14" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="12" cy="14" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="13" cy="14" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="14" cy="14" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="15" cy="14" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="16" cy="14" r="1" fill="rgb(253,252,255)"/>
+  <circle cx="17" cy="14" r="1" fill="rgb(251,250,255)"/>
+  <circle cx="18" cy="14" r="1" fill="rgb(249,250,254)"/>
+  <circle cx="19" cy="14" r="1" fill="rgb(251,252,254)"/>
+  <circle cx="20" cy="14" r="1" fill="rgb(252,255,255)"/>
+  <circle cx="21" cy="14" r="1" fill="rgb(251,255,252)"/>
+  <circle cx="22" cy="14" r="1" fill="rgb(246,251,244)"/>
+  <circle cx="23" cy="14" r="1" fill="rgb(243,246,237)"/>
+  <circle cx="24" cy="14" r="1" fill="rgb(211,211,199)"/>
+  <circle cx="25" cy="14" r="1" fill="rgb(202,196,182)"/>
+  <circle cx="26" cy="14" r="1" fill="rgb(255,247,233)"/>
+  <circle cx="27" cy="14" r="1" fill="rgb(255,251,236)"/>
+  <circle cx="28" cy="14" r="1" fill="rgb(246,220,205)"/>
+  <circle cx="29" cy="14" r="1" fill="rgb(221,189,174)"/>
+  <circle cx="30" cy="14" r="1" fill="rgb(163,127,113)"/>
+  <circle cx="31" cy="14" r="1" fill="rgb(255,245,229)"/>
+  <circle cx="32" cy="14" r="1" fill="rgb(243,243,243)"/>
+  <circle cx="33" cy="14" r="1" fill="grey97"/>
+  <circle cx="34" cy="14" r="1" fill="rgb(243,243,243)"/>
+  <circle cx="35" cy="14" r="1" fill="white"/>
+  <circle cx="36" cy="14" r="1" fill="white"/>
+  <circle cx="37" cy="14" r="1" fill="grey98"/>
+  <circle cx="38" cy="14" r="1" fill="rgb(248,248,248)"/>
+  <circle cx="39" cy="14" r="1" fill="rgb(241,241,241)"/>
+  <circle cx="40" cy="14" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="41" cy="14" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="42" cy="14" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="43" cy="14" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="0" cy="15" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="1" cy="15" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="2" cy="15" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="3" cy="15" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="4" cy="15" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="5" cy="15" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="6" cy="15" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="7" cy="15" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="8" cy="15" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="9" cy="15" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="10" cy="15" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="11" cy="15" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="12" cy="15" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="13" cy="15" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="14" cy="15" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="15" cy="15" r="1" fill="rgb(253,253,253)"/>
+  <circle cx="16" cy="15" r="1" fill="rgb(255,254,255)"/>
+  <circle cx="17" cy="15" r="1" fill="rgb(253,252,255)"/>
+  <circle cx="18" cy="15" r="1" fill="rgb(252,253,255)"/>
+  <circle cx="19" cy="15" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="20" cy="15" r="1" fill="rgb(252,255,255)"/>
+  <circle cx="21" cy="15" r="1" fill="rgb(247,252,248)"/>
+  <circle cx="22" cy="15" r="1" fill="rgb(236,241,234)"/>
+  <circle cx="23" cy="15" r="1" fill="rgb(229,232,221)"/>
+  <circle cx="24" cy="15" r="1" fill="rgb(218,218,206)"/>
+  <circle cx="25" cy="15" r="1" fill="rgb(178,172,158)"/>
+  <circle cx="26" cy="15" r="1" fill="rgb(255,253,239)"/>
+  <circle cx="27" cy="15" r="1" fill="rgb(255,244,229)"/>
+  <circle cx="28" cy="15" r="1" fill="rgb(255,245,230)"/>
+  <circle cx="29" cy="15" r="1" fill="rgb(255,247,232)"/>
+  <circle cx="30" cy="15" r="1" fill="rgb(183,146,130)"/>
+  <circle cx="31" cy="15" r="1" fill="rgb(255,244,229)"/>
+  <circle cx="32" cy="15" r="1" fill="grey99"/>
+  <circle cx="33" cy="15" r="1" fill="white"/>
+  <circle cx="34" cy="15" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="35" cy="15" r="1" fill="rgb(251,251,251)"/>
+  <circle cx="36" cy="15" r="1" fill="rgb(244,244,244)"/>
+  <circle cx="37" cy="15" r="1" fill="grey98"/>
+  <circle cx="38" cy="15" r="1" fill="white"/>
+  <circle cx="39" cy="15" r="1" fill="rgb(254,254,254)"/>
+  <circle cx="40" cy="15" r="1" fill="grey99"/>
+  <circle cx="41" cy="15" r="1" fill="grey99"/>
+  <circle cx="42" cy="15" r="1" fill="grey99"/>
+  <circle cx="43" cy="15" r="1" fill="grey99"/>
+  <circle cx="0" cy="16" r="1" fill="rgb(255,255,214)"/>
+  <circle cx="1" cy="16" r="1" fill="rgb(254,254,218)"/>
+  <circle cx="2" cy="16" r="1" fill="rgb(255,255,236)"/>
+  <circle cx="3" cy="16" r="1" fill="rgb(255,249,242)"/>
+  <circle cx="4" cy="16" r="1" fill="rgb(255,245,242)"/>
+  <circle cx="5" cy="16" r="1" fill="rgb(255,246,233)"/>
+  <circle cx="6" cy="16" r="1" fill="rgb(255,252,225)"/>
+  <circle cx="7" cy="16" r="1" fill="rgb(255,252,214)"/>
+  <circle cx="8" cy="16" r="1" fill="rgb(255,254,216)"/>
+  <circle cx="9" cy="16" r="1" fill="rgb(255,234,205)"/>
+  <circle cx="10" cy="16" r="1" fill="rgb(255,250,232)"/>
+  <circle cx="11" cy="16" r="1" fill="rgb(255,244,234)"/>
+  <circle cx="12" cy="16" r="1" fill="rgb(255,251,236)"/>
+  <circle cx="13" cy="16" r="1" fill="rgb(255,246,219)"/>
+  <circle cx="14" cy="16" r="1" fill="rgb(255,255,212)"/>
+  <circle cx="15" cy="16" r="1" fill="rgb(250,251,193)"/>
+  <circle cx="16" cy="16" r="1" fill="rgb(251,255,255)"/>
+  <circle cx="17" cy="16" r="1" fill="rgb(253,239,252)"/>
+  <circle cx="18" cy="16" r="1" fill="rgb(255,233,255)"/>
+  <circle cx="19" cy="16" r="1" fill="rgb(255,231,255)"/>
+  <circle cx="20" cy="16" r="1" fill="rgb(255,238,255)"/>
+  <circle cx="21" cy="16" r="1" fill="rgb(246,232,249)"/>
+  <circle cx="22" cy="16" r="1" fill="rgb(219,239,240)"/>
+  <circle cx="23" cy="16" r="1" fill="rgb(17,58,44)"/>
+  <circle cx="24" cy="16" r="1" fill="rgb(235,255,248)"/>
+  <circle cx="25" cy="16" r="1" fill="rgb(156,153,138)"/>
+  <circle cx="26" cy="16" r="1" fill="rgb(227,176,172)"/>
+  <circle cx="27" cy="16" r="1" fill="rgb(255,225,230)"/>
+  <circle cx="28" cy="16" r="1" fill="rgb(255,191,202)"/>
+  <circle cx="29" cy="16" r="1" fill="rgb(205,128,134)"/>
+  <circle cx="30" cy="16" r="1" fill="rgb(235,189,189)"/>
+  <circle cx="31" cy="16" r="1" fill="rgb(255,248,243)"/>
+  <circle cx="32" cy="16" r="1" fill="rgb(255,235,255)"/>
+  <circle cx="33" cy="16" r="1" fill="rgb(255,236,255)"/>
+  <circle cx="34" cy="16" r="1" fill="rgb(255,234,255)"/>
+  <circle cx="35" cy="16" r="1" fill="rgb(255,241,255)"/>
+  <circle cx="36" cy="16" r="1" fill="rgb(255,245,255)"/>
+  <circle cx="37" cy="16" r="1" fill="rgb(255,243,255)"/>
+  <circle cx="38" cy="16" r="1" fill="rgb(255,249,255)"/>
+  <circle cx="39" cy="16" r="1" fill="rgb(248,239,255)"/>
+  <circle cx="40" cy="16" r="1" fill="rgb(250,239,255)"/>
+  <circle cx="41" cy="16" r="1" fill="rgb(255,249,255)"/>
+  <circle cx="42" cy="16" r="1" fill="rgb(255,247,255)"/>
+  <circle cx="43" cy="16" r="1" fill="rgb(253,225,237)"/>
+  <circle cx="0" cy="17" r="1" fill="rgb(240,255,242)"/>
+  <circle cx="1" cy="17" r="1" fill="rgb(223,246,238)"/>
+  <circle cx="2" cy="17" r="1" fill="rgb(232,255,255)"/>
+  <circle cx="3" cy="17" r="1" fill="rgb(230,255,255)"/>
+  <circle cx="4" cy="17" r="1" fill="rgb(231,255,255)"/>
+  <circle cx="5" cy="17" r="1" fill="azure"/>
+  <circle cx="6" cy="17" r="1" fill="rgb(249,255,255)"/>
+  <circle cx="7" cy="17" r="1" fill="rgb(255,255,250)"/>
+  <circle cx="8" cy="17" r="1" fill="rgb(248,247,242)"/>
+  <circle cx="9" cy="17" r="1" fill="rgb(251,255,255)"/>
+  <circle cx="10" cy="17" r="1" fill="rgb(239,255,255)"/>
+  <circle cx="11" cy="17" r="1" fill="rgb(227,255,255)"/>
+  <circle cx="12" cy="17" r="1" fill="rgb(219,252,255)"/>
+  <circle cx="13" cy="17" r="1" fill="rgb(235,255,255)"/>
+  <circle cx="14" cy="17" r="1" fill="rgb(213,234,217)"/>
+  <circle cx="15" cy="17" r="1" fill="rgb(248,255,237)"/>
+  <circle cx="16" cy="17" r="1" fill="rgb(210,255,255)"/>
+  <circle cx="17" cy="17" r="1" fill="LightCyan"/>
+  <circle cx="18" cy="17" r="1" fill="rgb(244,255,255)"/>
+  <circle cx="19" cy="17" r="1" fill="rgb(255,250,255)"/>
+  <circle cx="20" cy="17" r="1" fill="rgb(252,247,255)"/>
+  <circle cx="21" cy="17" r="1" fill="rgb(237,253,255)"/>
+  <circle cx="22" cy="17" r="1" fill="rgb(167,211,212)"/>
+  <circle cx="23" cy="17" r="1" fill="rgb(36,98,85)"/>
+  <circle cx="24" cy="17" r="1" fill="rgb(191,244,226)"/>
+  <circle cx="25" cy="17" r="1" fill="rgb(234,255,240)"/>
+  <circle cx="26" cy="17" r="1" fill="rgb(187,168,162)"/>
+  <circle cx="27" cy="17" r="1" fill="rgb(190,144,146)"/>
+  <circle cx="28" cy="17" r="1" fill="rgb(203,157,159)"/>
+  <circle cx="29" cy="17" r="1" fill="rgb(223,202,199)"/>
+  <circle cx="30" cy="17" r="1" fill="rgb(247,255,250)"/>
+  <circle cx="31" cy="17" r="1" fill="rgb(229,255,250)"/>
+  <circle cx="32" cy="17" r="1" fill="rgb(254,254,255)"/>
+  <circle cx="33" cy="17" r="1" fill="rgb(245,247,255)"/>
+  <circle cx="34" cy="17" r="1" fill="rgb(249,255,255)"/>
+  <circle cx="35" cy="17" r="1" fill="rgb(237,249,255)"/>
+  <circle cx="36" cy="17" r="1" fill="rgb(229,247,255)"/>
+  <circle cx="37" cy="17" r="1" fill="rgb(235,255,255)"/>
+  <circle cx="38" cy="17" r="1" fill="rgb(227,255,255)"/>
+  <circle cx="39" cy="17" r="1" fill="rgb(233,255,255)"/>
+  <circle cx="40" cy="17" r="1" fill="rgb(228,255,255)"/>
+  <circle cx="41" cy="17" r="1" fill="rgb(226,251,255)"/>
+  <circle cx="42" cy="17" r="1" fill="rgb(241,255,255)"/>
+  <circle cx="43" cy="17" r="1" fill="rgb(247,255,255)"/>
+  <circle cx="0" cy="18" r="1" fill="rgb(223,250,255)"/>
+  <circle cx="1" cy="18" r="1" fill="rgb(221,255,255)"/>
+  <circle cx="2" cy="18" r="1" fill="rgb(105,176,204)"/>
+  <circle cx="3" cy="18" r="1" fill="rgb(87,176,210)"/>
+  <circle cx="4" cy="18" r="1" fill="rgb(96,185,219)"/>
+  <circle cx="5" cy="18" r="1" fill="rgb(101,167,201)"/>
+  <circle cx="6" cy="18" r="1" fill="rgb(196,233,255)"/>
+  <circle cx="7" cy="18" r="1" fill="azure"/>
+  <circle cx="8" cy="18" r="1" fill="azure"/>
+  <circle cx="9" cy="18" r="1" fill="rgb(181,218,245)"/>
+  <circle cx="10" cy="18" r="1" fill="rgb(95,162,191)"/>
+  <circle cx="11" cy="18" r="1" fill="rgb(108,195,225)"/>
+  <circle cx="12" cy="18" r="1" fill="rgb(98,188,215)"/>
+  <circle cx="13" cy="18" r="1" fill="rgb(172,244,255)"/>
+  <circle cx="14" cy="18" r="1" fill="rgb(221,255,255)"/>
+  <circle cx="15" cy="18" r="1" fill="rgb(223,250,255)"/>
+  <circle cx="16" cy="18" r="1" fill="rgb(88,217,197)"/>
+  <circle cx="17" cy="18" r="1" fill="rgb(93,199,189)"/>
+  <circle cx="18" cy="18" r="1" fill="rgb(106,177,183)"/>
+  <circle cx="19" cy="18" r="1" fill="rgb(118,161,180)"/>
+  <circle cx="20" cy="18" r="1" fill="rgb(149,184,206)"/>
+  <circle cx="21" cy="18" r="1" fill="rgb(220,255,255)"/>
+  <circle cx="22" cy="18" r="1" fill="rgb(171,240,245)"/>
+  <circle cx="23" cy="18" r="1" fill="rgb(0,81,75)"/>
+  <circle cx="24" cy="18" r="1" fill="rgb(205,255,255)"/>
+  <circle cx="25" cy="18" r="1" fill="rgb(223,255,255)"/>
+  <circle cx="26" cy="18" r="1" fill="rgb(235,251,248)"/>
+  <circle cx="27" cy="18" r="1" fill="rgb(180,178,181)"/>
+  <circle cx="28" cy="18" r="1" fill="rgb(232,238,238)"/>
+  <circle cx="29" cy="18" r="1" fill="rgb(228,255,255)"/>
+  <circle cx="30" cy="18" r="1" fill="rgb(199,255,255)"/>
+  <circle cx="31" cy="18" r="1" fill="rgb(127,235,211)"/>
+  <circle cx="32" cy="18" r="1" fill="rgb(110,159,166)"/>
+  <circle cx="33" cy="18" r="1" fill="rgb(132,182,189)"/>
+  <circle cx="34" cy="18" r="1" fill="rgb(133,188,193)"/>
+  <circle cx="35" cy="18" r="1" fill="rgb(204,255,255)"/>
+  <circle cx="36" cy="18" r="1" fill="rgb(210,255,255)"/>
+  <circle cx="37" cy="18" r="1" fill="rgb(140,208,209)"/>
+  <circle cx="38" cy="18" r="1" fill="rgb(159,229,229)"/>
+  <circle cx="39" cy="18" r="1" fill="rgb(180,250,250)"/>
+  <circle cx="40" cy="18" r="1" fill="rgb(130,198,197)"/>
+  <circle cx="41" cy="18" r="1" fill="rgb(106,172,170)"/>
+  <circle cx="42" cy="18" r="1" fill="rgb(162,222,220)"/>
+  <circle cx="43" cy="18" r="1" fill="rgb(215,255,255)"/>
+  <circle cx="0" cy="19" r="1" fill="rgb(237,255,255)"/>
+  <circle cx="1" cy="19" r="1" fill="rgb(86,130,157)"/>
+  <circle cx="2" cy="19" r="1" fill="rgb(27,102,134)"/>
+  <circle cx="3" cy="19" r="1" fill="rgb(38,136,171)"/>
+  <circle cx="4" cy="19" r="1" fill="rgb(40,138,175)"/>
+  <circle cx="5" cy="19" r="1" fill="rgb(25,103,139)"/>
+  <circle cx="6" cy="19" r="1" fill="rgb(49,95,129)"/>
+  <circle cx="7" cy="19" r="1" fill="rgb(227,252,255)"/>
+  <circle cx="8" cy="19" r="1" fill="rgb(227,252,255)"/>
+  <circle cx="9" cy="19" r="1" fill="rgb(158,207,239)"/>
+  <circle cx="10" cy="19" r="1" fill="rgb(50,129,162)"/>
+  <circle cx="11" cy="19" r="1" fill="rgb(38,141,174)"/>
+  <circle cx="12" cy="19" r="1" fill="rgb(7,107,139)"/>
+  <circle cx="13" cy="19" r="1" fill="rgb(3,82,112)"/>
+  <circle cx="14" cy="19" r="1" fill="rgb(217,255,255)"/>
+  <circle cx="15" cy="19" r="1" fill="rgb(203,230,251)"/>
+  <circle cx="16" cy="19" r="1" fill="rgb(0,118,109)"/>
+  <circle cx="17" cy="19" r="1" fill="rgb(31,149,149)"/>
+  <circle cx="18" cy="19" r="1" fill="rgb(51,134,150)"/>
+  <circle cx="19" cy="19" r="1" fill="rgb(63,118,148)"/>
+  <circle cx="20" cy="19" r="1" fill="rgb(39,85,118)"/>
+  <circle cx="21" cy="19" r="1" fill="rgb(126,183,212)"/>
+  <circle cx="22" cy="19" r="1" fill="rgb(175,250,255)"/>
+  <circle cx="23" cy="19" r="1" fill="rgb(7,94,103)"/>
+  <circle cx="24" cy="19" r="1" fill="rgb(182,255,255)"/>
+  <circle cx="25" cy="19" r="1" fill="rgb(216,255,255)"/>
+  <circle cx="26" cy="19" r="1" fill="rgb(103,131,142)"/>
+  <circle cx="27" cy="19" r="1" fill="rgb(55,69,82)"/>
+  <circle cx="28" cy="19" r="1" fill="rgb(206,230,242)"/>
+  <circle cx="29" cy="19" r="1" fill="rgb(207,255,255)"/>
+  <circle cx="30" cy="19" r="1" fill="rgb(117,213,209)"/>
+  <circle cx="31" cy="19" r="1" fill="rgb(0,108,97)"/>
+  <circle cx="32" cy="19" r="1" fill="rgb(54,121,137)"/>
+  <circle cx="33" cy="19" r="1" fill="rgb(58,126,139)"/>
+  <circle cx="34" cy="19" r="1" fill="rgb(16,86,98)"/>
+  <circle cx="35" cy="19" r="1" fill="rgb(85,158,167)"/>
+  <circle cx="36" cy="19" r="1" fill="rgb(201,255,255)"/>
+  <circle cx="37" cy="19" r="1" fill="rgb(73,148,154)"/>
+  <circle cx="38" cy="19" r="1" fill="rgb(50,125,130)"/>
+  <circle cx="39" cy="19" r="1" fill="rgb(48,123,126)"/>
+  <circle cx="40" cy="19" r="1" fill="rgb(25,99,100)"/>
+  <circle cx="41" cy="19" r="1" fill="rgb(24,95,97)"/>
+  <circle cx="42" cy="19" r="1" fill="rgb(50,118,119)"/>
+  <circle cx="43" cy="19" r="1" fill="rgb(191,255,255)"/>
+  <circle cx="0" cy="20" r="1" fill="rgb(241,252,255)"/>
+  <circle cx="1" cy="20" r="1" fill="rgb(68,95,106)"/>
+  <circle cx="2" cy="20" r="1" fill="rgb(103,148,167)"/>
+  <circle cx="3" cy="20" r="1" fill="rgb(199,255,255)"/>
+  <circle cx="4" cy="20" r="1" fill="rgb(194,255,255)"/>
+  <circle cx="5" cy="20" r="1" fill="rgb(208,255,255)"/>
+  <circle cx="6" cy="20" r="1" fill="rgb(181,220,235)"/>
+  <circle cx="7" cy="20" r="1" fill="rgb(224,253,255)"/>
+  <circle cx="8" cy="20" r="1" fill="rgb(218,248,255)"/>
+  <circle cx="9" cy="20" r="1" fill="LightCyan"/>
+  <circle cx="10" cy="20" r="1" fill="rgb(194,252,255)"/>
+  <circle cx="11" cy="20" r="1" fill="rgb(203,255,255)"/>
+  <circle cx="12" cy="20" r="1" fill="rgb(194,255,255)"/>
+  <circle cx="13" cy="20" r="1" fill="rgb(55,108,126)"/>
+  <circle cx="14" cy="20" r="1" fill="rgb(201,235,245)"/>
+  <circle cx="15" cy="20" r="1" fill="rgb(182,203,208)"/>
+  <circle cx="16" cy="20" r="1" fill="rgb(18,115,131)"/>
+  <circle cx="17" cy="20" r="1" fill="rgb(132,210,233)"/>
+  <circle cx="18" cy="20" r="1" fill="rgb(205,255,255)"/>
+  <circle cx="19" cy="20" r="1" fill="rgb(222,255,255)"/>
+  <circle cx="20" cy="20" r="1" fill="rgb(190,222,255)"/>
+  <circle cx="21" cy="20" r="1" fill="rgb(193,240,255)"/>
+  <circle cx="22" cy="20" r="1" fill="rgb(184,253,255)"/>
+  <circle cx="23" cy="20" r="1" fill="rgb(1,81,104)"/>
+  <circle cx="24" cy="20" r="1" fill="rgb(188,255,255)"/>
+  <circle cx="25" cy="20" r="1" fill="rgb(68,119,140)"/>
+  <circle cx="26" cy="20" r="1" fill="rgb(70,91,118)"/>
+  <circle cx="27" cy="20" r="1" fill="rgb(221,226,255)"/>
+  <circle cx="28" cy="20" r="1" fill="rgb(242,251,255)"/>
+  <circle cx="29" cy="20" r="1" fill="rgb(212,246,255)"/>
+  <circle cx="30" cy="20" r="1" fill="rgb(48,114,136)"/>
+  <circle cx="31" cy="20" r="1" fill="rgb(85,174,192)"/>
+  <circle cx="32" cy="20" r="1" fill="rgb(214,255,255)"/>
+  <circle cx="33" cy="20" r="1" fill="rgb(200,253,255)"/>
+  <circle cx="34" cy="20" r="1" fill="rgb(160,214,242)"/>
+  <circle cx="35" cy="20" r="1" fill="rgb(49,103,129)"/>
+  <circle cx="36" cy="20" r="1" fill="rgb(191,243,255)"/>
+  <circle cx="37" cy="20" r="1" fill="rgb(105,158,176)"/>
+  <circle cx="38" cy="20" r="1" fill="rgb(42,94,108)"/>
+  <circle cx="39" cy="20" r="1" fill="rgb(99,148,162)"/>
+  <circle cx="40" cy="20" r="1" fill="rgb(220,255,255)"/>
+  <circle cx="41" cy="20" r="1" fill="rgb(205,251,255)"/>
+  <circle cx="42" cy="20" r="1" fill="rgb(58,100,116)"/>
+  <circle cx="43" cy="20" r="1" fill="rgb(187,225,244)"/>
+  <circle cx="0" cy="21" r="1" fill="rgb(242,254,240)"/>
+  <circle cx="1" cy="21" r="1" fill="rgb(217,232,227)"/>
+  <circle cx="2" cy="21" r="1" fill="rgb(59,76,86)"/>
+  <circle cx="3" cy="21" r="1" fill="rgb(53,74,93)"/>
+  <circle cx="4" cy="21" r="1" fill="rgb(129,156,177)"/>
+  <circle cx="5" cy="21" r="1" fill="rgb(204,236,247)"/>
+  <circle cx="6" cy="21" r="1" fill="rgb(223,255,255)"/>
+  <circle cx="7" cy="21" r="1" fill="rgb(220,255,250)"/>
+  <circle cx="8" cy="21" r="1" fill="rgb(222,255,253)"/>
+  <circle cx="9" cy="21" r="1" fill="rgb(124,166,164)"/>
+  <circle cx="10" cy="21" r="1" fill="rgb(84,124,136)"/>
+  <circle cx="11" cy="21" r="1" fill="rgb(78,114,136)"/>
+  <circle cx="12" cy="21" r="1" fill="rgb(91,123,144)"/>
+  <circle cx="13" cy="21" r="1" fill="rgb(50,78,90)"/>
+  <circle cx="14" cy="21" r="1" fill="rgb(195,221,220)"/>
+  <circle cx="15" cy="21" r="1" fill="rgb(231,255,246)"/>
+  <circle cx="16" cy="21" r="1" fill="rgb(85,133,169)"/>
+  <circle cx="17" cy="21" r="1" fill="rgb(46,83,125)"/>
+  <circle cx="18" cy="21" r="1" fill="rgb(75,97,147)"/>
+  <circle cx="19" cy="21" r="1" fill="rgb(161,173,233)"/>
+  <circle cx="20" cy="21" r="1" fill="rgb(233,255,255)"/>
+  <circle cx="21" cy="21" r="1" fill="rgb(219,255,255)"/>
+  <circle cx="22" cy="21" r="1" fill="rgb(134,203,244)"/>
+  <circle cx="23" cy="21" r="1" fill="rgb(24,109,138)"/>
+  <circle cx="24" cy="21" r="1" fill="rgb(59,136,162)"/>
+  <circle cx="25" cy="21" r="1" fill="rgb(36,90,118)"/>
+  <circle cx="26" cy="21" r="1" fill="rgb(219,241,255)"/>
+  <circle cx="27" cy="21" r="1" fill="rgb(251,250,255)"/>
+  <circle cx="28" cy="21" r="1" fill="rgb(236,230,255)"/>
+  <circle cx="29" cy="21" r="1" fill="rgb(244,252,255)"/>
+  <circle cx="30" cy="21" r="1" fill="rgb(7,38,84)"/>
+  <circle cx="31" cy="21" r="1" fill="rgb(165,212,254)"/>
+  <circle cx="32" cy="21" r="1" fill="rgb(177,220,255)"/>
+  <circle cx="33" cy="21" r="1" fill="rgb(186,227,255)"/>
+  <circle cx="34" cy="21" r="1" fill="rgb(162,201,242)"/>
+  <circle cx="35" cy="21" r="1" fill="rgb(56,92,128)"/>
+  <circle cx="36" cy="21" r="1" fill="rgb(206,241,255)"/>
+  <circle cx="37" cy="21" r="1" fill="rgb(119,150,178)"/>
+  <circle cx="38" cy="21" r="1" fill="rgb(125,153,177)"/>
+  <circle cx="39" cy="21" r="1" fill="rgb(234,255,255)"/>
+  <circle cx="40" cy="21" r="1" fill="rgb(235,255,255)"/>
+  <circle cx="41" cy="21" r="1" fill="rgb(238,255,255)"/>
+  <circle cx="42" cy="21" r="1" fill="rgb(46,66,91)"/>
+  <circle cx="43" cy="21" r="1" fill="rgb(200,219,249)"/>
+  <circle cx="0" cy="22" r="1" fill="rgb(238,255,253)"/>
+  <circle cx="1" cy="22" r="1" fill="rgb(222,243,244)"/>
+  <circle cx="2" cy="22" r="1" fill="rgb(239,255,255)"/>
+  <circle cx="3" cy="22" r="1" fill="rgb(181,200,230)"/>
+  <circle cx="4" cy="22" r="1" fill="rgb(39,66,95)"/>
+  <circle cx="5" cy="22" r="1" fill="rgb(48,87,104)"/>
+  <circle cx="6" cy="22" r="1" fill="rgb(102,156,158)"/>
+  <circle cx="7" cy="22" r="1" fill="rgb(212,255,255)"/>
+  <circle cx="8" cy="22" r="1" fill="rgb(88,154,144)"/>
+  <circle cx="9" cy="22" r="1" fill="rgb(28,88,89)"/>
+  <circle cx="10" cy="22" r="1" fill="rgb(101,148,168)"/>
+  <circle cx="11" cy="22" r="1" fill="rgb(125,161,193)"/>
+  <circle cx="12" cy="22" r="1" fill="rgb(95,128,161)"/>
+  <circle cx="13" cy="22" r="1" fill="rgb(55,87,110)"/>
+  <circle cx="14" cy="22" r="1" fill="rgb(183,220,226)"/>
+  <circle cx="15" cy="22" r="1" fill="rgb(227,255,255)"/>
+  <circle cx="16" cy="22" r="1" fill="rgb(223,255,255)"/>
+  <circle cx="17" cy="22" r="1" fill="rgb(197,230,255)"/>
+  <circle cx="18" cy="22" r="1" fill="rgb(131,155,203)"/>
+  <circle cx="19" cy="22" r="1" fill="rgb(54,75,128)"/>
+  <circle cx="20" cy="22" r="1" fill="rgb(46,82,134)"/>
+  <circle cx="21" cy="22" r="1" fill="rgb(175,234,255)"/>
+  <circle cx="22" cy="22" r="1" fill="rgb(166,250,255)"/>
+  <circle cx="23" cy="22" r="1" fill="rgb(14,112,137)"/>
+  <circle cx="24" cy="22" r="1" fill="rgb(16,108,129)"/>
+  <circle cx="25" cy="22" r="1" fill="rgb(35,105,130)"/>
+  <circle cx="26" cy="22" r="1" fill="rgb(181,222,254)"/>
+  <circle cx="27" cy="22" r="1" fill="rgb(218,236,255)"/>
+  <circle cx="28" cy="22" r="1" fill="rgb(244,252,255)"/>
+  <circle cx="29" cy="22" r="1" fill="rgb(237,255,255)"/>
+  <circle cx="30" cy="22" r="1" fill="rgb(42,76,122)"/>
+  <circle cx="31" cy="22" r="1" fill="rgb(43,90,134)"/>
+  <circle cx="32" cy="22" r="1" fill="rgb(38,92,136)"/>
+  <circle cx="33" cy="22" r="1" fill="rgb(43,96,138)"/>
+  <circle cx="34" cy="22" r="1" fill="rgb(16,65,105)"/>
+  <circle cx="35" cy="22" r="1" fill="rgb(48,94,128)"/>
+  <circle cx="36" cy="22" r="1" fill="rgb(202,243,255)"/>
+  <circle cx="37" cy="22" r="1" fill="rgb(84,120,144)"/>
+  <circle cx="38" cy="22" r="1" fill="rgb(136,167,187)"/>
+  <circle cx="39" cy="22" r="1" fill="rgb(231,255,255)"/>
+  <circle cx="40" cy="22" r="1" fill="rgb(230,255,255)"/>
+  <circle cx="41" cy="22" r="1" fill="rgb(235,255,255)"/>
+  <circle cx="42" cy="22" r="1" fill="rgb(49,73,97)"/>
+  <circle cx="43" cy="22" r="1" fill="rgb(183,207,235)"/>
+  <circle cx="0" cy="23" r="1" fill="rgb(223,253,255)"/>
+  <circle cx="1" cy="23" r="1" fill="rgb(227,255,255)"/>
+  <circle cx="2" cy="23" r="1" fill="rgb(208,251,255)"/>
+  <circle cx="3" cy="23" r="1" fill="rgb(213,255,255)"/>
+  <circle cx="4" cy="23" r="1" fill="rgb(207,255,255)"/>
+  <circle cx="5" cy="23" r="1" fill="rgb(135,201,233)"/>
+  <circle cx="6" cy="23" r="1" fill="rgb(34,105,125)"/>
+  <circle cx="7" cy="23" r="1" fill="rgb(175,249,255)"/>
+  <circle cx="8" cy="23" r="1" fill="rgb(56,132,145)"/>
+  <circle cx="9" cy="23" r="1" fill="rgb(103,179,202)"/>
+  <circle cx="10" cy="23" r="1" fill="rgb(198,255,255)"/>
+  <circle cx="11" cy="23" r="1" fill="rgb(199,255,255)"/>
+  <circle cx="12" cy="23" r="1" fill="rgb(181,248,255)"/>
+  <circle cx="13" cy="23" r="1" fill="rgb(51,111,148)"/>
+  <circle cx="14" cy="23" r="1" fill="rgb(159,210,237)"/>
+  <circle cx="15" cy="23" r="1" fill="rgb(212,255,255)"/>
+  <circle cx="16" cy="23" r="1" fill="rgb(201,255,255)"/>
+  <circle cx="17" cy="23" r="1" fill="rgb(204,255,255)"/>
+  <circle cx="18" cy="23" r="1" fill="rgb(213,255,255)"/>
+  <circle cx="19" cy="23" r="1" fill="rgb(216,255,255)"/>
+  <circle cx="20" cy="23" r="1" fill="rgb(51,109,146)"/>
+  <circle cx="21" cy="23" r="1" fill="rgb(99,174,205)"/>
+  <circle cx="22" cy="23" r="1" fill="rgb(156,248,255)"/>
+  <circle cx="23" cy="23" r="1" fill="rgb(0,93,108)"/>
+  <circle cx="24" cy="23" r="1" fill="rgb(181,255,255)"/>
+  <circle cx="25" cy="23" r="1" fill="rgb(73,152,165)"/>
+  <circle cx="26" cy="23" r="1" fill="rgb(38,97,115)"/>
+  <circle cx="27" cy="23" r="1" fill="rgb(148,192,217)"/>
+  <circle cx="28" cy="23" r="1" fill="rgb(223,255,255)"/>
+  <circle cx="29" cy="23" r="1" fill="rgb(195,248,255)"/>
+  <circle cx="30" cy="23" r="1" fill="rgb(15,84,113)"/>
+  <circle cx="31" cy="23" r="1" fill="rgb(127,208,235)"/>
+  <circle cx="32" cy="23" r="1" fill="rgb(182,255,255)"/>
+  <circle cx="33" cy="23" r="1" fill="rgb(183,255,255)"/>
+  <circle cx="34" cy="23" r="1" fill="rgb(190,255,255)"/>
+  <circle cx="35" cy="23" r="1" fill="rgb(190,255,255)"/>
+  <circle cx="36" cy="23" r="1" fill="rgb(210,255,255)"/>
+  <circle cx="37" cy="23" r="1" fill="rgb(84,141,152)"/>
+  <circle cx="38" cy="23" r="1" fill="rgb(110,160,167)"/>
+  <circle cx="39" cy="23" r="1" fill="rgb(218,255,255)"/>
+  <circle cx="40" cy="23" r="1" fill="LightCyan"/>
+  <circle cx="41" cy="23" r="1" fill="rgb(216,255,255)"/>
+  <circle cx="42" cy="23" r="1" fill="rgb(56,98,110)"/>
+  <circle cx="43" cy="23" r="1" fill="rgb(152,198,214)"/>
+  <circle cx="0" cy="24" r="1" fill="rgb(234,248,255)"/>
+  <circle cx="1" cy="24" r="1" fill="rgb(49,82,113)"/>
+  <circle cx="2" cy="24" r="1" fill="rgb(97,157,194)"/>
+  <circle cx="3" cy="24" r="1" fill="rgb(109,192,234)"/>
+  <circle cx="4" cy="24" r="1" fill="rgb(103,195,236)"/>
+  <circle cx="5" cy="24" r="1" fill="rgb(80,164,200)"/>
+  <circle cx="6" cy="24" r="1" fill="rgb(24,93,124)"/>
+  <circle cx="7" cy="24" r="1" fill="rgb(204,255,255)"/>
+  <circle cx="8" cy="24" r="1" fill="rgb(83,143,169)"/>
+  <circle cx="9" cy="24" r="1" fill="rgb(35,110,142)"/>
+  <circle cx="10" cy="24" r="1" fill="rgb(114,206,245)"/>
+  <circle cx="11" cy="24" r="1" fill="rgb(74,177,222)"/>
+  <circle cx="12" cy="24" r="1" fill="rgb(17,114,159)"/>
+  <circle cx="13" cy="24" r="1" fill="rgb(23,98,140)"/>
+  <circle cx="14" cy="24" r="1" fill="rgb(159,209,246)"/>
+  <circle cx="15" cy="24" r="1" fill="rgb(148,181,214)"/>
+  <circle cx="16" cy="24" r="1" fill="rgb(31,123,118)"/>
+  <circle cx="17" cy="24" r="1" fill="rgb(82,166,166)"/>
+  <circle cx="18" cy="24" r="1" fill="rgb(142,215,224)"/>
+  <circle cx="19" cy="24" r="1" fill="rgb(113,176,193)"/>
+  <circle cx="20" cy="24" r="1" fill="rgb(41,103,124)"/>
+  <circle cx="21" cy="24" r="1" fill="rgb(114,180,202)"/>
+  <circle cx="22" cy="24" r="1" fill="rgb(163,236,253)"/>
+  <circle cx="23" cy="24" r="1" fill="rgb(21,99,111)"/>
+  <circle cx="24" cy="24" r="1" fill="rgb(193,255,255)"/>
+  <circle cx="25" cy="24" r="1" fill="rgb(208,255,255)"/>
+  <circle cx="26" cy="24" r="1" fill="rgb(124,177,185)"/>
+  <circle cx="27" cy="24" r="1" fill="rgb(14,64,75)"/>
+  <circle cx="28" cy="24" r="1" fill="rgb(129,187,199)"/>
+  <circle cx="29" cy="24" r="1" fill="rgb(200,255,255)"/>
+  <circle cx="30" cy="24" r="1" fill="rgb(54,148,156)"/>
+  <circle cx="31" cy="24" r="1" fill="rgb(1,110,117)"/>
+  <circle cx="32" cy="24" r="1" fill="rgb(118,202,226)"/>
+  <circle cx="33" cy="24" r="1" fill="rgb(109,191,212)"/>
+  <circle cx="34" cy="24" r="1" fill="rgb(114,191,209)"/>
+  <circle cx="35" cy="24" r="1" fill="rgb(108,180,192)"/>
+  <circle cx="36" cy="24" r="1" fill="rgb(207,255,255)"/>
+  <circle cx="37" cy="24" r="1" fill="rgb(84,144,145)"/>
+  <circle cx="38" cy="24" r="1" fill="rgb(96,151,148)"/>
+  <circle cx="39" cy="24" r="1" fill="rgb(220,255,255)"/>
+  <circle cx="40" cy="24" r="1" fill="rgb(219,255,255)"/>
+  <circle cx="41" cy="24" r="1" fill="rgb(223,255,255)"/>
+  <circle cx="42" cy="24" r="1" fill="rgb(36,84,88)"/>
+  <circle cx="43" cy="24" r="1" fill="rgb(149,199,208)"/>
+  <circle cx="0" cy="25" r="1" fill="rgb(255,249,255)"/>
+  <circle cx="1" cy="25" r="1" fill="rgb(174,187,206)"/>
+  <circle cx="2" cy="25" r="1" fill="rgb(53,103,126)"/>
+  <circle cx="3" cy="25" r="1" fill="rgb(38,115,141)"/>
+  <circle cx="4" cy="25" r="1" fill="rgb(32,118,143)"/>
+  <circle cx="5" cy="25" r="1" fill="rgb(39,109,134)"/>
+  <circle cx="6" cy="25" r="1" fill="rgb(151,196,217)"/>
+  <circle cx="7" cy="25" r="1" fill="rgb(235,255,255)"/>
+  <circle cx="8" cy="25" r="1" fill="rgb(216,243,255)"/>
+  <circle cx="9" cy="25" r="1" fill="rgb(61,109,131)"/>
+  <circle cx="10" cy="25" r="1" fill="rgb(31,108,134)"/>
+  <circle cx="11" cy="25" r="1" fill="rgb(40,138,167)"/>
+  <circle cx="12" cy="25" r="1" fill="rgb(65,156,185)"/>
+  <circle cx="13" cy="25" r="1" fill="rgb(66,130,158)"/>
+  <circle cx="14" cy="25" r="1" fill="rgb(184,211,238)"/>
+  <circle cx="15" cy="25" r="1" fill="rgb(242,246,255)"/>
+  <circle cx="16" cy="25" r="1" fill="rgb(65,141,128)"/>
+  <circle cx="17" cy="25" r="1" fill="rgb(47,114,107)"/>
+  <circle cx="18" cy="25" r="1" fill="rgb(36,92,93)"/>
+  <circle cx="19" cy="25" r="1" fill="rgb(59,103,112)"/>
+  <circle cx="20" cy="25" r="1" fill="rgb(112,151,166)"/>
+  <circle cx="21" cy="25" r="1" fill="rgb(205,242,255)"/>
+  <circle cx="22" cy="25" r="1" fill="rgb(204,240,255)"/>
+  <circle cx="23" cy="25" r="1" fill="rgb(63,97,109)"/>
+  <circle cx="24" cy="25" r="1" fill="rgb(233,255,255)"/>
+  <circle cx="25" cy="25" r="1" fill="rgb(217,242,247)"/>
+  <circle cx="26" cy="25" r="1" fill="rgb(238,255,255)"/>
+  <circle cx="27" cy="25" r="1" fill="rgb(153,181,185)"/>
+  <circle cx="28" cy="25" r="1" fill="rgb(94,135,139)"/>
+  <circle cx="29" cy="25" r="1" fill="rgb(212,255,255)"/>
+  <circle cx="30" cy="25" r="1" fill="rgb(198,255,255)"/>
+  <circle cx="31" cy="25" r="1" fill="rgb(74,168,167)"/>
+  <circle cx="32" cy="25" r="1" fill="rgb(44,102,122)"/>
+  <circle cx="33" cy="25" r="1" fill="rgb(41,98,115)"/>
+  <circle cx="34" cy="25" r="1" fill="rgb(55,108,122)"/>
+  <circle cx="35" cy="25" r="1" fill="rgb(70,118,128)"/>
+  <circle cx="36" cy="25" r="1" fill="rgb(191,232,238)"/>
+  <circle cx="37" cy="25" r="1" fill="rgb(129,164,166)"/>
+  <circle cx="38" cy="25" r="1" fill="rgb(148,178,178)"/>
+  <circle cx="39" cy="25" r="1" fill="rgb(232,255,255)"/>
+  <circle cx="40" cy="25" r="1" fill="rgb(223,248,245)"/>
+  <circle cx="41" cy="25" r="1" fill="rgb(232,255,255)"/>
+  <circle cx="42" cy="25" r="1" fill="rgb(112,137,141)"/>
+  <circle cx="43" cy="25" r="1" fill="rgb(177,206,214)"/>
+  <circle cx="0" cy="26" r="1" fill="rgb(255,242,238)"/>
+  <circle cx="1" cy="26" r="1" fill="rgb(255,253,251)"/>
+  <circle cx="2" cy="26" r="1" fill="rgb(228,249,254)"/>
+  <circle cx="3" cy="26" r="1" fill="rgb(223,255,255)"/>
+  <circle cx="4" cy="26" r="1" fill="rgb(219,255,255)"/>
+  <circle cx="5" cy="26" r="1" fill="rgb(216,253,255)"/>
+  <circle cx="6" cy="26" r="1" fill="rgb(244,255,255)"/>
+  <circle cx="7" cy="26" r="1" fill="rgb(249,251,248)"/>
+  <circle cx="8" cy="26" r="1" fill="rgb(254,255,253)"/>
+  <circle cx="9" cy="26" r="1" fill="rgb(239,255,255)"/>
+  <circle cx="10" cy="26" r="1" fill="LightCyan"/>
+  <circle cx="11" cy="26" r="1" fill="rgb(208,255,255)"/>
+  <circle cx="12" cy="26" r="1" fill="rgb(216,255,255)"/>
+  <circle cx="13" cy="26" r="1" fill="rgb(223,255,255)"/>
+  <circle cx="14" cy="26" r="1" fill="rgb(251,255,255)"/>
+  <circle cx="15" cy="26" r="1" fill="rgb(255,251,250)"/>
+  <circle cx="16" cy="26" r="1" fill="rgb(233,255,252)"/>
+  <circle cx="17" cy="26" r="1" fill="azure"/>
+  <circle cx="18" cy="26" r="1" fill="rgb(242,255,255)"/>
+  <circle cx="19" cy="26" r="1" fill="rgb(240,253,255)"/>
+  <circle cx="20" cy="26" r="1" fill="rgb(239,249,255)"/>
+  <circle cx="21" cy="26" r="1" fill="rgb(248,255,255)"/>
+  <circle cx="22" cy="26" r="1" fill="rgb(249,255,255)"/>
+  <circle cx="23" cy="26" r="1" fill="rgb(243,247,255)"/>
+  <circle cx="24" cy="26" r="1" fill="rgb(254,255,255)"/>
+  <circle cx="25" cy="26" r="1" fill="rgb(246,244,247)"/>
+  <circle cx="26" cy="26" r="1" fill="rgb(255,254,255)"/>
+  <circle cx="27" cy="26" r="1" fill="rgb(254,254,255)"/>
+  <circle cx="28" cy="26" r="1" fill="rgb(231,241,242)"/>
+  <circle cx="29" cy="26" r="1" fill="rgb(230,254,255)"/>
+  <circle cx="30" cy="26" r="1" fill="rgb(226,255,255)"/>
+  <circle cx="31" cy="26" r="1" fill="rgb(223,255,255)"/>
+  <circle cx="32" cy="26" r="1" fill="rgb(238,255,255)"/>
+  <circle cx="33" cy="26" r="1" fill="azure"/>
+  <circle cx="34" cy="26" r="1" fill="rgb(236,252,255)"/>
+  <circle cx="35" cy="26" r="1" fill="rgb(225,237,249)"/>
+  <circle cx="36" cy="26" r="1" fill="rgb(249,255,255)"/>
+  <circle cx="37" cy="26" r="1" fill="rgb(248,251,255)"/>
+  <circle cx="38" cy="26" r="1" fill="rgb(245,244,249)"/>
+  <circle cx="39" cy="26" r="1" fill="rgb(255,253,255)"/>
+  <circle cx="40" cy="26" r="1" fill="rgb(255,253,255)"/>
+  <circle cx="41" cy="26" r="1" fill="rgb(255,253,255)"/>
+  <circle cx="42" cy="26" r="1" fill="rgb(242,237,244)"/>
+  <circle cx="43" cy="26" r="1" fill="rgb(254,252,255)"/>
+  <circle cx="0" cy="27" r="1" fill="rgb(255,253,230)"/>
+  <circle cx="1" cy="27" r="1" fill="rgb(254,245,230)"/>
+  <circle cx="2" cy="27" r="1" fill="rgb(255,255,251)"/>
+  <circle cx="3" cy="27" r="1" fill="rgb(247,252,255)"/>
+  <circle cx="4" cy="27" r="1" fill="rgb(244,253,255)"/>
+  <circle cx="5" cy="27" r="1" fill="rgb(249,255,255)"/>
+  <circle cx="6" cy="27" r="1" fill="rgb(245,248,237)"/>
+  <circle cx="7" cy="27" r="1" fill="rgb(255,255,239)"/>
+  <circle cx="8" cy="27" r="1" fill="rgb(255,255,239)"/>
+  <circle cx="9" cy="27" r="1" fill="rgb(252,255,246)"/>
+  <circle cx="10" cy="27" r="1" fill="rgb(247,255,255)"/>
+  <circle cx="11" cy="27" r="1" fill="rgb(235,250,255)"/>
+  <circle cx="12" cy="27" r="1" fill="rgb(242,255,255)"/>
+  <circle cx="13" cy="27" r="1" fill="rgb(251,255,255)"/>
+  <circle cx="14" cy="27" r="1" fill="rgb(255,255,241)"/>
+  <circle cx="15" cy="27" r="1" fill="rgb(255,252,228)"/>
+  <circle cx="16" cy="27" r="1" fill="rgb(255,238,240)"/>
+  <circle cx="17" cy="27" r="1" fill="rgb(255,243,248)"/>
+  <circle cx="18" cy="27" r="1" fill="rgb(255,242,249)"/>
+  <circle cx="19" cy="27" r="1" fill="rgb(255,250,255)"/>
+  <circle cx="20" cy="27" r="1" fill="rgb(255,253,255)"/>
+  <circle cx="21" cy="27" r="1" fill="rgb(252,255,255)"/>
+  <circle cx="22" cy="27" r="1" fill="rgb(250,255,255)"/>
+  <circle cx="23" cy="27" r="1" fill="rgb(252,255,255)"/>
+  <circle cx="24" cy="27" r="1" fill="rgb(250,250,248)"/>
+  <circle cx="25" cy="27" r="1" fill="rgb(255,252,248)"/>
+  <circle cx="26" cy="27" r="1" fill="rgb(255,248,244)"/>
+  <circle cx="27" cy="27" r="1" fill="rgb(255,251,248)"/>
+  <circle cx="28" cy="27" r="1" fill="rgb(255,251,251)"/>
+  <circle cx="29" cy="27" r="1" fill="rgb(255,251,255)"/>
+  <circle cx="30" cy="27" r="1" fill="rgb(255,251,255)"/>
+  <circle cx="31" cy="27" r="1" fill="rgb(255,253,255)"/>
+  <circle cx="32" cy="27" r="1" fill="rgb(244,242,255)"/>
+  <circle cx="33" cy="27" r="1" fill="rgb(252,248,255)"/>
+  <circle cx="34" cy="27" r="1" fill="rgb(255,252,255)"/>
+  <circle cx="35" cy="27" r="1" fill="rgb(254,247,255)"/>
+  <circle cx="36" cy="27" r="1" fill="rgb(255,250,255)"/>
+  <circle cx="37" cy="27" r="1" fill="rgb(255,250,255)"/>
+  <circle cx="38" cy="27" r="1" fill="rgb(255,249,255)"/>
+  <circle cx="39" cy="27" r="1" fill="rgb(255,249,253)"/>
+  <circle cx="40" cy="27" r="1" fill="rgb(255,244,248)"/>
+  <circle cx="41" cy="27" r="1" fill="rgb(255,242,248)"/>
+  <circle cx="42" cy="27" r="1" fill="rgb(255,249,255)"/>
+  <circle cx="43" cy="27" r="1" fill="rgb(255,249,255)"/>
+  <circle cx="0" cy="28" r="1" fill="rgb(251,255,233)"/>
+  <circle cx="1" cy="28" r="1" fill="rgb(252,254,240)"/>
+  <circle cx="2" cy="28" r="1" fill="rgb(251,247,248)"/>
+  <circle cx="3" cy="28" r="1" fill="rgb(255,251,255)"/>
+  <circle cx="4" cy="28" r="1" fill="rgb(255,250,255)"/>
+  <circle cx="5" cy="28" r="1" fill="rgb(249,246,253)"/>
+  <circle cx="6" cy="28" r="1" fill="rgb(249,255,245)"/>
+  <circle cx="7" cy="28" r="1" fill="rgb(248,255,240)"/>
+  <circle cx="8" cy="28" r="1" fill="rgb(249,255,241)"/>
+  <circle cx="9" cy="28" r="1" fill="rgb(236,244,233)"/>
+  <circle cx="10" cy="28" r="1" fill="rgb(239,238,243)"/>
+  <circle cx="11" cy="28" r="1" fill="rgb(255,252,255)"/>
+  <circle cx="12" cy="28" r="1" fill="rgb(255,252,255)"/>
+  <circle cx="13" cy="28" r="1" fill="rgb(255,255,253)"/>
+  <circle cx="14" cy="28" r="1" fill="rgb(250,255,239)"/>
+  <circle cx="15" cy="28" r="1" fill="rgb(240,253,223)"/>
+  <circle cx="16" cy="28" r="1" fill="rgb(255,242,250)"/>
+  <circle cx="17" cy="28" r="1" fill="rgb(255,244,251)"/>
+  <circle cx="18" cy="28" r="1" fill="rgb(255,248,255)"/>
+  <circle cx="19" cy="28" r="1" fill="rgb(255,252,255)"/>
+  <circle cx="20" cy="28" r="1" fill="rgb(251,255,255)"/>
+  <circle cx="21" cy="28" r="1" fill="rgb(236,251,254)"/>
+  <circle cx="22" cy="28" r="1" fill="rgb(235,255,254)"/>
+  <circle cx="23" cy="28" r="1" fill="rgb(241,255,255)"/>
+  <circle cx="24" cy="28" r="1" fill="rgb(239,255,245)"/>
+  <circle cx="25" cy="28" r="1" fill="rgb(251,255,246)"/>
+  <circle cx="26" cy="28" r="1" fill="rgb(255,255,244)"/>
+  <circle cx="27" cy="28" r="1" fill="rgb(255,251,241)"/>
+  <circle cx="28" cy="28" r="1" fill="rgb(243,232,228)"/>
+  <circle cx="29" cy="28" r="1" fill="rgb(255,244,246)"/>
+  <circle cx="30" cy="28" r="1" fill="rgb(255,248,255)"/>
+  <circle cx="31" cy="28" r="1" fill="rgb(255,239,252)"/>
+  <circle cx="32" cy="28" r="1" fill="rgb(255,252,255)"/>
+  <circle cx="33" cy="28" r="1" fill="rgb(255,253,255)"/>
+  <circle cx="34" cy="28" r="1" fill="rgb(255,254,255)"/>
+  <circle cx="35" cy="28" r="1" fill="rgb(255,253,255)"/>
+  <circle cx="36" cy="28" r="1" fill="rgb(247,241,243)"/>
+  <circle cx="37" cy="28" r="1" fill="rgb(255,250,253)"/>
+  <circle cx="38" cy="28" r="1" fill="rgb(255,252,255)"/>
+  <circle cx="39" cy="28" r="1" fill="rgb(255,247,250)"/>
+  <circle cx="40" cy="28" r="1" fill="rgb(255,250,254)"/>
+  <circle cx="41" cy="28" r="1" fill="rgb(255,252,255)"/>
+  <circle cx="42" cy="28" r="1" fill="rgb(255,252,255)"/>
+  <circle cx="43" cy="28" r="1" fill="rgb(255,252,255)"/>
+  <circle cx="0" cy="29" r="1" fill="rgb(247,255,243)"/>
+  <circle cx="1" cy="29" r="1" fill="rgb(248,255,251)"/>
+  <circle cx="2" cy="29" r="1" fill="rgb(247,254,255)"/>
+  <circle cx="3" cy="29" r="1" fill="rgb(251,254,255)"/>
+  <circle cx="4" cy="29" r="1" fill="rgb(252,253,255)"/>
+  <circle cx="5" cy="29" r="1" fill="rgb(250,252,255)"/>
+  <circle cx="6" cy="29" r="1" fill="rgb(252,255,255)"/>
+  <circle cx="7" cy="29" r="1" fill="rgb(252,255,246)"/>
+  <circle cx="8" cy="29" r="1" fill="rgb(252,255,246)"/>
+  <circle cx="9" cy="29" r="1" fill="rgb(252,255,253)"/>
+  <circle cx="10" cy="29" r="1" fill="rgb(254,254,255)"/>
+  <circle cx="11" cy="29" r="1" fill="rgb(252,253,255)"/>
+  <circle cx="12" cy="29" r="1" fill="rgb(233,235,250)"/>
+  <circle cx="13" cy="29" r="1" fill="rgb(245,250,253)"/>
+  <circle cx="14" cy="29" r="1" fill="rgb(249,255,244)"/>
+  <circle cx="15" cy="29" r="1" fill="rgb(248,255,236)"/>
+  <circle cx="16" cy="29" r="1" fill="rgb(255,245,251)"/>
+  <circle cx="17" cy="29" r="1" fill="rgb(253,230,236)"/>
+  <circle cx="18" cy="29" r="1" fill="rgb(253,244,249)"/>
+  <circle cx="19" cy="29" r="1" fill="rgb(248,253,255)"/>
+  <circle cx="20" cy="29" r="1" fill="rgb(241,255,255)"/>
+  <circle cx="21" cy="29" r="1" fill="azure"/>
+  <circle cx="22" cy="29" r="1" fill="azure"/>
+  <circle cx="23" cy="29" r="1" fill="rgb(242,255,255)"/>
+  <circle cx="24" cy="29" r="1" fill="rgb(245,255,251)"/>
+  <circle cx="25" cy="29" r="1" fill="rgb(248,255,246)"/>
+  <circle cx="26" cy="29" r="1" fill="rgb(240,248,233)"/>
+  <circle cx="27" cy="29" r="1" fill="rgb(253,255,243)"/>
+  <circle cx="28" cy="29" r="1" fill="rgb(255,255,246)"/>
+  <circle cx="29" cy="29" r="1" fill="rgb(253,245,243)"/>
+  <circle cx="30" cy="29" r="1" fill="rgb(249,237,241)"/>
+  <circle cx="31" cy="29" r="1" fill="rgb(255,250,255)"/>
+  <circle cx="32" cy="29" r="1" fill="rgb(255,255,250)"/>
+  <circle cx="33" cy="29" r="1" fill="rgb(250,251,245)"/>
+  <circle cx="34" cy="29" r="1" fill="rgb(245,248,241)"/>
+  <circle cx="35" cy="29" r="1" fill="rgb(254,255,251)"/>
+  <circle cx="36" cy="29" r="1" fill="rgb(246,251,247)"/>
+  <circle cx="37" cy="29" r="1" fill="rgb(252,255,255)"/>
+  <circle cx="38" cy="29" r="1" fill="rgb(248,254,252)"/>
+  <circle cx="39" cy="29" r="1" fill="rgb(247,253,253)"/>
+  <circle cx="40" cy="29" r="1" fill="rgb(249,255,255)"/>
+  <circle cx="41" cy="29" r="1" fill="rgb(251,255,255)"/>
+  <circle cx="42" cy="29" r="1" fill="rgb(237,243,241)"/>
+  <circle cx="43" cy="29" r="1" fill="rgb(251,255,255)"/>
+  <circle cx="0" cy="30" r="1" fill="rgb(255,255,243)"/>
+  <circle cx="1" cy="30" r="1" fill="rgb(245,250,244)"/>
+  <circle cx="2" cy="30" r="1" fill="rgb(242,255,255)"/>
+  <circle cx="3" cy="30" r="1" fill="rgb(232,255,255)"/>
+  <circle cx="4" cy="30" r="1" fill="rgb(235,254,255)"/>
+  <circle cx="5" cy="30" r="1" fill="rgb(249,255,255)"/>
+  <circle cx="6" cy="30" r="1" fill="rgb(255,244,248)"/>
+  <circle cx="7" cy="30" r="1" fill="rgb(255,249,246)"/>
+  <circle cx="8" cy="30" r="1" fill="rgb(255,249,246)"/>
+  <circle cx="9" cy="30" r="1" fill="rgb(247,235,237)"/>
+  <circle cx="10" cy="30" r="1" fill="rgb(239,244,250)"/>
+  <circle cx="11" cy="30" r="1" fill="rgb(241,255,255)"/>
+  <circle cx="12" cy="30" r="1" fill="azure"/>
+  <circle cx="13" cy="30" r="1" fill="rgb(245,255,255)"/>
+  <circle cx="14" cy="30" r="1" fill="rgb(251,253,239)"/>
+  <circle cx="15" cy="30" r="1" fill="rgb(255,255,233)"/>
+  <circle cx="16" cy="30" r="1" fill="rgb(255,252,255)"/>
+  <circle cx="17" cy="30" r="1" fill="rgb(253,251,254)"/>
+  <circle cx="18" cy="30" r="1" fill="rgb(251,255,255)"/>
+  <circle cx="19" cy="30" r="1" fill="rgb(243,255,255)"/>
+  <circle cx="20" cy="30" r="1" fill="rgb(236,251,255)"/>
+  <circle cx="21" cy="30" r="1" fill="rgb(244,254,255)"/>
+  <circle cx="22" cy="30" r="1" fill="rgb(242,245,254)"/>
+  <circle cx="23" cy="30" r="1" fill="rgb(255,253,255)"/>
+  <circle cx="24" cy="30" r="1" fill="rgb(255,252,253)"/>
+  <circle cx="25" cy="30" r="1" fill="rgb(253,244,239)"/>
+  <circle cx="26" cy="30" r="1" fill="rgb(255,255,246)"/>
+  <circle cx="27" cy="30" r="1" fill="rgb(255,255,246)"/>
+  <circle cx="28" cy="30" r="1" fill="rgb(252,255,248)"/>
+  <circle cx="29" cy="30" r="1" fill="rgb(251,255,251)"/>
+  <circle cx="30" cy="30" r="1" fill="rgb(251,255,255)"/>
+  <circle cx="31" cy="30" r="1" fill="rgb(236,242,242)"/>
+  <circle cx="32" cy="30" r="1" fill="rgb(255,255,244)"/>
+  <circle cx="33" cy="30" r="1" fill="rgb(255,255,244)"/>
+  <circle cx="34" cy="30" r="1" fill="rgb(245,246,238)"/>
+  <circle cx="35" cy="30" r="1" fill="rgb(252,255,250)"/>
+  <circle cx="36" cy="30" r="1" fill="rgb(251,255,253)"/>
+  <circle cx="37" cy="30" r="1" fill="rgb(249,255,255)"/>
+  <circle cx="38" cy="30" r="1" fill="rgb(241,253,251)"/>
+  <circle cx="39" cy="30" r="1" fill="rgb(247,255,255)"/>
+  <circle cx="40" cy="30" r="1" fill="rgb(245,255,255)"/>
+  <circle cx="41" cy="30" r="1" fill="rgb(245,255,255)"/>
+  <circle cx="42" cy="30" r="1" fill="rgb(247,255,255)"/>
+  <circle cx="43" cy="30" r="1" fill="rgb(247,255,255)"/>
+  <circle cx="0" cy="31" r="1" fill="rgb(255,249,239)"/>
+  <circle cx="1" cy="31" r="1" fill="rgb(255,253,247)"/>
+  <circle cx="2" cy="31" r="1" fill="rgb(237,255,255)"/>
+  <circle cx="3" cy="31" r="1" fill="rgb(228,255,255)"/>
+  <circle cx="4" cy="31" r="1" fill="rgb(231,255,255)"/>
+  <circle cx="5" cy="31" r="1" fill="rgb(245,252,255)"/>
+  <circle cx="6" cy="31" r="1" fill="rgb(255,246,250)"/>
+  <circle cx="7" cy="31" r="1" fill="rgb(255,240,243)"/>
+  <circle cx="8" cy="31" r="1" fill="rgb(255,239,239)"/>
+  <circle cx="9" cy="31" r="1" fill="rgb(255,247,248)"/>
+  <circle cx="10" cy="31" r="1" fill="rgb(251,255,255)"/>
+  <circle cx="11" cy="31" r="1" fill="rgb(220,250,250)"/>
+  <circle cx="12" cy="31" r="1" fill="rgb(231,255,255)"/>
+  <circle cx="13" cy="31" r="1" fill="rgb(240,255,247)"/>
+  <circle cx="14" cy="31" r="1" fill="rgb(255,248,231)"/>
+  <circle cx="15" cy="31" r="1" fill="rgb(255,248,228)"/>
+  <circle cx="16" cy="31" r="1" fill="rgb(247,253,253)"/>
+  <circle cx="17" cy="31" r="1" fill="rgb(247,255,255)"/>
+  <circle cx="18" cy="31" r="1" fill="rgb(245,255,255)"/>
+  <circle cx="19" cy="31" r="1" fill="rgb(239,252,255)"/>
+  <circle cx="20" cy="31" r="1" fill="rgb(248,255,255)"/>
+  <circle cx="21" cy="31" r="1" fill="rgb(255,252,255)"/>
+  <circle cx="22" cy="31" r="1" fill="rgb(248,229,248)"/>
+  <circle cx="23" cy="31" r="1" fill="rgb(255,244,255)"/>
+  <circle cx="24" cy="31" r="1" fill="rgb(255,242,253)"/>
+  <circle cx="25" cy="31" r="1" fill="rgb(255,245,250)"/>
+  <circle cx="26" cy="31" r="1" fill="rgb(255,249,248)"/>
+  <circle cx="27" cy="31" r="1" fill="rgb(255,249,241)"/>
+  <circle cx="28" cy="31" r="1" fill="rgb(252,255,250)"/>
+  <circle cx="29" cy="31" r="1" fill="rgb(247,255,253)"/>
+  <circle cx="30" cy="31" r="1" fill="rgb(233,252,248)"/>
+  <circle cx="31" cy="31" r="1" fill="rgb(241,255,255)"/>
+  <circle cx="32" cy="31" r="1" fill="rgb(255,250,238)"/>
+  <circle cx="33" cy="31" r="1" fill="rgb(255,255,243)"/>
+  <circle cx="34" cy="31" r="1" fill="rgb(255,252,243)"/>
+  <circle cx="35" cy="31" r="1" fill="rgb(251,252,246)"/>
+  <circle cx="36" cy="31" r="1" fill="rgb(252,255,253)"/>
+  <circle cx="37" cy="31" r="1" fill="rgb(247,253,251)"/>
+  <circle cx="38" cy="31" r="1" fill="rgb(233,243,244)"/>
+  <circle cx="39" cy="31" r="1" fill="rgb(247,255,255)"/>
+  <circle cx="40" cy="31" r="1" fill="rgb(247,255,255)"/>
+  <circle cx="41" cy="31" r="1" fill="rgb(239,250,252)"/>
+  <circle cx="42" cy="31" r="1" fill="rgb(247,255,255)"/>
+  <circle cx="43" cy="31" r="1" fill="rgb(238,249,245)"/>
+  <circle cx="0" cy="32" r="1" fill="white"/>
+  <circle cx="1" cy="32" r="1" fill="white"/>
+  <circle cx="2" cy="32" r="1" fill="white"/>
+  <circle cx="3" cy="32" r="1" fill="white"/>
+  <circle cx="4" cy="32" r="1" fill="white"/>
+  <circle cx="5" cy="32" r="1" fill="white"/>
+  <circle cx="6" cy="32" r="1" fill="white"/>
+  <circle cx="7" cy="32" r="1" fill="white"/>
+  <circle cx="8" cy="32" r="1" fill="white"/>
+  <circle cx="9" cy="32" r="1" fill="white"/>
+  <circle cx="10" cy="32" r="1" fill="white"/>
+  <circle cx="11" cy="32" r="1" fill="white"/>
+  <circle cx="12" cy="32" r="1" fill="white"/>
+  <circle cx="13" cy="32" r="1" fill="white"/>
+  <circle cx="14" cy="32" r="1" fill="white"/>
+  <circle cx="15" cy="32" r="1" fill="white"/>
+  <circle cx="16" cy="32" r="1" fill="white"/>
+  <circle cx="17" cy="32" r="1" fill="white"/>
+  <circle cx="18" cy="32" r="1" fill="white"/>
+  <circle cx="19" cy="32" r="1" fill="white"/>
+  <circle cx="20" cy="32" r="1" fill="white"/>
+  <circle cx="21" cy="32" r="1" fill="white"/>
+  <circle cx="22" cy="32" r="1" fill="white"/>
+  <circle cx="23" cy="32" r="1" fill="white"/>
+  <circle cx="24" cy="32" r="1" fill="white"/>
+  <circle cx="25" cy="32" r="1" fill="white"/>
+  <circle cx="26" cy="32" r="1" fill="white"/>
+  <circle cx="27" cy="32" r="1" fill="white"/>
+  <circle cx="28" cy="32" r="1" fill="white"/>
+  <circle cx="29" cy="32" r="1" fill="white"/>
+  <circle cx="30" cy="32" r="1" fill="white"/>
+  <circle cx="31" cy="32" r="1" fill="white"/>
+  <circle cx="32" cy="32" r="1" fill="white"/>
+  <circle cx="33" cy="32" r="1" fill="white"/>
+  <circle cx="34" cy="32" r="1" fill="white"/>
+  <circle cx="35" cy="32" r="1" fill="white"/>
+  <circle cx="36" cy="32" r="1" fill="white"/>
+  <circle cx="37" cy="32" r="1" fill="white"/>
+  <circle cx="38" cy="32" r="1" fill="white"/>
+  <circle cx="39" cy="32" r="1" fill="white"/>
+  <circle cx="40" cy="32" r="1" fill="white"/>
+  <circle cx="41" cy="32" r="1" fill="white"/>
+  <circle cx="42" cy="32" r="1" fill="white"/>
+  <circle cx="43" cy="32" r="1" fill="white"/>
+  <circle cx="0" cy="33" r="1" fill="white"/>
+  <circle cx="1" cy="33" r="1" fill="white"/>
+  <circle cx="2" cy="33" r="1" fill="white"/>
+  <circle cx="3" cy="33" r="1" fill="white"/>
+  <circle cx="4" cy="33" r="1" fill="white"/>
+  <circle cx="5" cy="33" r="1" fill="white"/>
+  <circle cx="6" cy="33" r="1" fill="white"/>
+  <circle cx="7" cy="33" r="1" fill="white"/>
+  <circle cx="8" cy="33" r="1" fill="white"/>
+  <circle cx="9" cy="33" r="1" fill="white"/>
+  <circle cx="10" cy="33" r="1" fill="white"/>
+  <circle cx="11" cy="33" r="1" fill="white"/>
+  <circle cx="12" cy="33" r="1" fill="white"/>
+  <circle cx="13" cy="33" r="1" fill="white"/>
+  <circle cx="14" cy="33" r="1" fill="white"/>
+  <circle cx="15" cy="33" r="1" fill="white"/>
+  <circle cx="16" cy="33" r="1" fill="white"/>
+  <circle cx="17" cy="33" r="1" fill="white"/>
+  <circle cx="18" cy="33" r="1" fill="white"/>
+  <circle cx="19" cy="33" r="1" fill="white"/>
+  <circle cx="20" cy="33" r="1" fill="white"/>
+  <circle cx="21" cy="33" r="1" fill="white"/>
+  <circle cx="22" cy="33" r="1" fill="white"/>
+  <circle cx="23" cy="33" r="1" fill="white"/>
+  <circle cx="24" cy="33" r="1" fill="white"/>
+  <circle cx="25" cy="33" r="1" fill="white"/>
+  <circle cx="26" cy="33" r="1" fill="white"/>
+  <circle cx="27" cy="33" r="1" fill="white"/>
+  <circle cx="28" cy="33" r="1" fill="white"/>
+  <circle cx="29" cy="33" r="1" fill="white"/>
+  <circle cx="30" cy="33" r="1" fill="white"/>
+  <circle cx="31" cy="33" r="1" fill="white"/>
+  <circle cx="32" cy="33" r="1" fill="white"/>
+  <circle cx="33" cy="33" r="1" fill="white"/>
+  <circle cx="34" cy="33" r="1" fill="white"/>
+  <circle cx="35" cy="33" r="1" fill="white"/>
+  <circle cx="36" cy="33" r="1" fill="white"/>
+  <circle cx="37" cy="33" r="1" fill="white"/>
+  <circle cx="38" cy="33" r="1" fill="white"/>
+  <circle cx="39" cy="33" r="1" fill="white"/>
+  <circle cx="40" cy="33" r="1" fill="white"/>
+  <circle cx="41" cy="33" r="1" fill="white"/>
+  <circle cx="42" cy="33" r="1" fill="white"/>
+  <circle cx="43" cy="33" r="1" fill="white"/>
+</svg>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/smfdemo.svg	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="iso-8859-1"?><!-- Generator: eNetzwerk JPG2SVG 0.1 http://www.enetzwerk.de/svg -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN"   "http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd" [
+	<!ENTITY st0 "fill-rule:nonzero;clip-rule:nonzero;stroke:#000000;stroke-miterlimit:4;">
+]>
+<svg  width="256" height="228" viewBox="0 0 256 228" xml:space="preserve">
+	<g id="Ebene_x0020_1" style="&st0;">
+		<image width="256" height="228" xlink:href="data:image/jpeg;base64,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" transform="matrix(1 0 0 1 0 0)"/>
+	</g>
+</svg>
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/tmp/.svn/all-wcprops	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,5 @@
+K 25
+svn:wc:ra_dav:version-url
+V 120
+/svn/symbian/!svn/ver/414/products/s-series/engg/symbian/s60-app-dev/SocialMobileFrameWork/MissingCodeForSmf/DemoGUI/tmp
+END
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/tmp/.svn/entries	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,28 @@
+10
+
+dir
+415
+http://svnz02/svn/symbian/products/s-series/engg/symbian/s60-app-dev/SocialMobileFrameWork/MissingCodeForSmf/DemoGUI/tmp
+http://svnz02/svn/symbian
+
+
+
+2010-07-30T12:20:29.303136Z
+414
+nalinah
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ddc49ed9-7720-479e-b42b-43a572c34f33
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/example/DemoGUI/ui_mainwindow.h	Thu Aug 05 16:35:33 2010 +0530
@@ -0,0 +1,76 @@
+/********************************************************************************
+** Form generated from reading UI file 'mainwindow.ui'
+**
+** Created: Fri Jul 30 12:42:18 2010
+**      by: Qt User Interface Compiler version 4.6.2
+**
+** WARNING! All changes made in this file will be lost when recompiling UI file!
+********************************************************************************/
+
+#ifndef UI_MAINWINDOW_H
+#define UI_MAINWINDOW_H
+
+#include <QtCore/QVariant>
+#include <QtGui/QAction>
+#include <QtGui/QApplication>
+#include <QtGui/QButtonGroup>
+#include <QtGui/QHeaderView>
+#include <QtGui/QMainWindow>
+#include <QtGui/QMenuBar>
+#include <QtGui/QStatusBar>
+#include <QtGui/QTextEdit>
+#include <QtGui/QToolBar>
+#include <QtGui/QWidget>
+
+QT_BEGIN_NAMESPACE
+
+class Ui_MainWindow
+{
+public:
+    QWidget *centralWidget;
+    QTextEdit *textEdit;
+    QMenuBar *menuBar;
+    QToolBar *mainToolBar;
+    QStatusBar *statusBar;
+
+    void setupUi(QMainWindow *MainWindow)
+    {
+        if (MainWindow->objectName().isEmpty())
+            MainWindow->setObjectName(QString::fromUtf8("MainWindow"));
+        MainWindow->resize(600, 400);
+        centralWidget = new QWidget(MainWindow);
+        centralWidget->setObjectName(QString::fromUtf8("centralWidget"));
+        textEdit = new QTextEdit(centralWidget);
+        textEdit->setObjectName(QString::fromUtf8("textEdit"));
+        textEdit->setGeometry(QRect(40, 50, 104, 64));
+        MainWindow->setCentralWidget(centralWidget);
+        menuBar = new QMenuBar(MainWindow);
+        menuBar->setObjectName(QString::fromUtf8("menuBar"));
+        menuBar->setGeometry(QRect(0, 0, 600, 21));
+        MainWindow->setMenuBar(menuBar);
+        mainToolBar = new QToolBar(MainWindow);
+        mainToolBar->setObjectName(QString::fromUtf8("mainToolBar"));
+        MainWindow->addToolBar(Qt::TopToolBarArea, mainToolBar);
+        statusBar = new QStatusBar(MainWindow);
+        statusBar->setObjectName(QString::fromUtf8("statusBar"));
+        MainWindow->setStatusBar(statusBar);
+
+        retranslateUi(MainWindow);
+
+        QMetaObject::connectSlotsByName(MainWindow);
+    } // setupUi
+
+    void retranslateUi(QMainWindow *MainWindow)
+    {
+        MainWindow->setWindowTitle(QApplication::translate("MainWindow", "MainWindow", 0, QApplication::UnicodeUTF8));
+    } // retranslateUi
+
+};
+
+namespace Ui {
+    class MainWindow: public Ui_MainWindow {};
+} // namespace Ui
+
+QT_END_NAMESPACE
+
+#endif // UI_MAINWINDOW_H