summaryrefslogtreecommitdiffstats
path: root/cli/src
diff options
context:
space:
mode:
authorAtin Mukherjee <amukherj@redhat.com>2015-10-09 22:11:23 +0530
committerJeff Darcy <jdarcy@redhat.com>2015-10-20 09:53:53 -0700
commitaa2373dab1fe2e5d5554f7cba1b77de621bb2ddf (patch)
tree6f22005c8147a9f1c1a2e956216799cfc52b30e9 /cli/src
parent59401a32de51cdb6c1a5a1208723e89e1a4abd30 (diff)
tests: return success if the last test ends up with core and a bad test
Change-Id: Ie2695ebff8678851edb6b0b6e1de37e1f5ec9077 Signed-off-by: Atin Mukherjee <amukherj@redhat.com> Reviewed-on: http://review.gluster.org/12328 Tested-by: NetBSD Build System <jenkins@build.gluster.org> Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Jeff Darcy <jdarcy@redhat.com>
Diffstat (limited to 'cli/src')
0 files changed, 0 insertions, 0 deletions
th: 99.7%;'/> -rw-r--r--src/com.gluster.storage.management.console.help/plugin.xml25
-rw-r--r--src/com.gluster.storage.management.console.help/toc.xml17
-rw-r--r--src/com.gluster.storage.management.console.help/tocconcepts.xml11
-rw-r--r--src/com.gluster.storage.management.console.help/tocgettingstarted.xml11
-rw-r--r--src/com.gluster.storage.management.console.help/tocreference.xml11
-rw-r--r--src/com.gluster.storage.management.console.help/toctasks.xml11
-rw-r--r--src/com.gluster.storage.management.core/META-INF/MANIFEST.MF16
-rw-r--r--src/com.gluster.storage.management.core/build.properties7
-rw-r--r--src/com.gluster.storage.management.core/junit/com/gluster/storage/management/core/utils/TestFileUtil.java75
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/constants/GlusterConstants.java38
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/exceptions/GlusterValidationException.java27
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/AbstractResponse.java35
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GenericResponse.java58
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GlusterServerListResponse.java57
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GlusterServerResponse.java35
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/LogMessageListResponse.java33
-rwxr-xr-xsrc/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/TaskResponse.java52
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/VolumeListResponse.java31
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/GlusterCoreUtil.java138
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/MD5.java504
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/MD5Crypt.java339
-rw-r--r--src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/ProcessUtil.java97
-rw-r--r--src/com.gluster.storage.management.gui.feature.webstart/.project17
-rw-r--r--src/com.gluster.storage.management.gui.feature.webstart/build.properties2
-rw-r--r--src/com.gluster.storage.management.gui.feature.webstart/build/gluster.keystorebin2738 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui.feature.webstart/rootfiles/index.html8
-rw-r--r--src/com.gluster.storage.management.gui.feature.webstart/rootfiles/splash.jpgbin9195 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui.feature/build.properties1
-rw-r--r--src/com.gluster.storage.management.gui/build.properties15
-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/16x16/arrow-down.pngbin703 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/16x16/arrow-up.pngbin712 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/16x16/pause.pngbin658 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/16x16/progress-bar.pngbin261 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/16x16/start.pngbin716 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/16x16/stop.pngbin635 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/16x16/task-completed.pngbin748 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/16x16/task-error.pngbin760 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/22x22/offline-brick.pngbin880 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/32x32/add-brick.pngbin2092 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/32x32/change-password.pngbin2119 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/32x32/create-volume.pngbin1607 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/32x32/remove-brick.pngbin2024 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/32x32/remove-volume.pngbin1449 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/32x32/replace-brick.pngbin2013 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/32x32/reset-volume-option.pngbin1960 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/32x32/start-volume.pngbin1463 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/32x32/stop-volume.pngbin1400 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/32x32/volume-create.pngbin1399 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/32x32/volume-rebalance.pngbin1599 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/48x48/create-volume.pngbin2531 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/48x48/volume-create.pngbin2853 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/48x48/volume.pngbin2965 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/icons/tango/8x8/online.pngbin321 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/plugin.xml1563
-rw-r--r--src/com.gluster.storage.management.gui/preferences.ini2
-rw-r--r--src/com.gluster.storage.management.gui/splash.bmpbin377610 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/splash/gluster_about.jpgbin4072 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/splash/splash-dialog.bmpbin312054 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/splash/splash-dialog.pngbin5552 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/BrickTableLabelProvider.java96
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/ICommandIds.java33
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java117
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ChangePasswordAction.java23
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ClearTaskAction.java46
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/CommitTaskAction.java45
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DeleteVolumeAction.java101
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DownloadVolumeLogsAction.java77
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ExportSshKeysAction.java77
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/IActionConstants.java36
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ImportSshKeysAction.java44
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RebalanceVolumeAction.java72
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RefreshDataAction.java43
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ResumeTaskAction.java45
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ServerAdditionAction.java34
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java65
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopTaskAction.java46
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java82
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java119
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/InitializeDiskTypeSelection.java148
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/MigrateBrickWizard.java77
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/ClusterSummaryView.java349
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/DisksView.java45
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServerDisksView.java57
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServerLogsView.java59
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServerSummaryView.java380
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServersSummaryView.java189
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/TasksView.java39
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/ViewsManager.java38
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeBricksView.java40
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeLogsView.java35
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeOptionsView.java36
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java510
-rw-r--r--src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumesSummaryView.java180
-rw-r--r--src/com.gluster.storage.management.gui/src/test.xml1
-rw-r--r--src/com.gluster.storage.management.releng/build.properties1
-rw-r--r--src/com.gluster.storage.management.releng/com.gluster.storage.management.client.cquery4
-rw-r--r--src/com.gluster.storage.management.releng/com.gluster.storage.management.core.cquery4
-rw-r--r--src/com.gluster.storage.management.releng/com.gluster.storage.management.gui.feature.webstart.cquery4
-rw-r--r--src/com.gluster.storage.management.releng/com.gluster.storage.management.server.cquery4
-rw-r--r--src/com.gluster.storage.management.releng/feature.xml20
-rw-r--r--src/com.gluster.storage.management.releng/gluster-management-console.target13
-rw-r--r--src/com.gluster.storage.management.releng/glustermc.rmap12
-rw-r--r--src/com.gluster.storage.management.releng/glustermc_build.properties14
-rw-r--r--src/com.gluster.storage.management.server.scripts/.project17
-rw-r--r--src/com.gluster.storage.management.server.scripts/.pydevproject10
-rw-r--r--src/com.gluster.storage.management.server.scripts/src/Commands.py78
-rw-r--r--src/com.gluster.storage.management.server.scripts/src/Common.py20
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/Disk.py140
-rw-r--r--src/com.gluster.storage.management.server.scripts/src/DiskUtils.py948
-rw-r--r--src/com.gluster.storage.management.server.scripts/src/GetServerNetworkConfig.py96
-rw-r--r--src/com.gluster.storage.management.server.scripts/src/Globals.py120
-rw-r--r--src/com.gluster.storage.management.server.scripts/src/GlusterdUtils.py250
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/NetworkUtils.py448
-rw-r--r--src/com.gluster.storage.management.server.scripts/src/Protocol.py438
-rw-r--r--src/com.gluster.storage.management.server.scripts/src/RRDUtils.py72
-rw-r--r--src/com.gluster.storage.management.server.scripts/src/ServerUtils.py308
-rw-r--r--src/com.gluster.storage.management.server.scripts/src/Utils.py1064
-rw-r--r--src/com.gluster.storage.management.server.scripts/src/VolumeUtils.py610
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/clear_volume_directory.py97
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/create_volume_directory.py82
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/disable-ssh-password-auth.sh30
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/format_device.py82
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/get_brick_status.py40
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/get_disk_mount_point.py62
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/get_disk_name_by_path.py68
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/get_file.py130
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/get_rrd_cpu_details.py55
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/get_rrd_memory_details.py89
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/get_rrd_net_details.py52
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/get_server_details.py118
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/get_server_status.py22
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/get_volume_log.py131
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/gluster_provision_block_wrapper.py109
-rw-r--r--src/com.gluster.storage.management.server.scripts/src/multicast_response.py74
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/rrd_update_cpu_details.py90
-rwxr-xr-xsrc/com.gluster.storage.management.server.scripts/src/rrd_update_memory_details.py90
-rw-r--r--src/com.gluster.storage.management.server/.settings/org.eclipse.wst.common.component10
-rw-r--r--src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/log4j-1.2.16.jarbin481534 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/plugins/com.gluster.storage.management.client_1.0.0.jarbin513103 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/plugins/com.gluster.storage.management.core_1.0.0.jarbin50608 -> 0 bytes-rw-r--r--src/com.gluster.storage.management.server/WebContent/WEB-INF/web.xml94
-rw-r--r--src/com.gluster.storage.management.server/WebContent/index.html8
-rw-r--r--src/com.gluster.storage.management.server/WebContent/scripts/Common.py43
-rw-r--r--src/com.gluster.storage.management.server/WebContent/scripts/Globals.py120
-rw-r--r--src/com.gluster.storage.management.server/WebContent/scripts/Protocol.py438
-rw-r--r--src/com.gluster.storage.management.server/WebContent/scripts/Utils.py705
-rw-r--r--src/com.gluster.storage.management.server/WebContent/scripts/XmlHandler.py346
-rwxr-xr-xsrc/com.gluster.storage.management.server/WebContent/scripts/vmware-discover-servers.py90
-rw-r--r--src/com.gluster.storage.management.server/src/META-INF/persistence.xml5
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/constants/VolumeOptionsDefaults.java118
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/data/GlusterDataSource.java48
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/filters/AuditFilter.java38
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/filters/GlusterResourceFilterFactory.java31
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/AbstractServersResource.java38
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/DiscoveredServersResource.java141
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/GenericExceptionMapper.java45
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/GlusterExceptionMapper.java39
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/GlusterServersResource.java522
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/KeysResource.java150
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/TasksResource.java194
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/UsersResource.java91
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/ValidationExceptionMapper.java39
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/VolumesResource.java1029
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/security/GlusterUserDetailsService.java31
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/security/UserAuthDao.java42
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/BrickMigrationStatusTask.java42
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/InitializeDiskTask.java168
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/MigrateBrickTask.java227
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/RebalanceVolumeTask.java134
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/ServerDiscoveryTask.java77
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/GlusterUtil.java646
-rw-r--r--src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/ServerUtil.java365
-rw-r--r--src/com.gluster.storage.management.server/src/log4j.properties19
-rw-r--r--src/org.gluster.storage.management.client/.classpath (renamed from src/com.gluster.storage.management.client/.classpath)6
-rw-r--r--src/org.gluster.storage.management.client/.project (renamed from src/com.gluster.storage.management.core/.project)8
-rw-r--r--src/org.gluster.storage.management.client/.settings/org.eclipse.jdt.core.prefs (renamed from src/com.gluster.storage.management.client/.settings/org.eclipse.jdt.core.prefs)0
-rw-r--r--src/org.gluster.storage.management.client/META-INF/MANIFEST.MF (renamed from src/com.gluster.storage.management.client/META-INF/MANIFEST.MF)12
-rw-r--r--src/org.gluster.storage.management.client/build.properties27
-rw-r--r--src/org.gluster.storage.management.client/keystore/gmc-trusted.keystore (renamed from src/com.gluster.storage.management.client/keystore/gmc-trusted.keystore)bin81843 -> 81843 bytes-rw-r--r--src/org.gluster.storage.management.client/lib/jersey-1.5/Jersey-LICENSE.txt135
-rw-r--r--src/org.gluster.storage.management.client/lib/jersey-1.5/Jersey-third-party-license-readme.txt188
-rw-r--r--src/org.gluster.storage.management.client/lib/jersey-1.5/jersey-client-1.5.jar (renamed from src/com.gluster.storage.management.client/lib/jersey-1.5/jersey-client-1.5.jar)bin128096 -> 128096 bytes-rw-r--r--src/org.gluster.storage.management.client/lib/jersey-1.5/jersey-core-1.5.jar (renamed from src/com.gluster.storage.management.client/lib/jersey-1.5/jersey-core-1.5.jar)bin455665 -> 455665 bytes-rw-r--r--src/org.gluster.storage.management.client/lib/jersey-1.5/jersey-multipart-1.5.jar (renamed from src/com.gluster.storage.management.client/lib/jersey-1.5/jersey-multipart-1.5.jar)bin49330 -> 49330 bytes-rw-r--r--src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/AbstractClient.java (renamed from src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java)866
-rw-r--r--src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/ClustersClient.java (renamed from src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/ClustersClient.java)41
-rw-r--r--src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/DiscoveredServersClient.java (renamed from src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java)46
-rw-r--r--src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/GlusterServersClient.java139
-rw-r--r--src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/KeysClient.java (renamed from src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/KeysClient.java)33
-rw-r--r--src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/TasksClient.java (renamed from src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/TasksClient.java)37
-rw-r--r--src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/UsersClient.java (renamed from src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java)53
-rw-r--r--src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/VolumesClient.java (renamed from src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java)111
-rw-r--r--src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/constants/ClientConstants.java38
-rw-r--r--src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/utils/ClientUtil.java43
-rw-r--r--src/org.gluster.storage.management.console.feature.webstart/.project (renamed from src/com.gluster.storage.management.releng/.project)2
-rw-r--r--src/org.gluster.storage.management.console.feature.webstart/buckminster.cspex (renamed from src/com.gluster.storage.management.gui.feature.webstart/buckminster.cspex)6
-rw-r--r--src/org.gluster.storage.management.console.feature.webstart/build.properties20
-rw-r--r--src/org.gluster.storage.management.console.feature.webstart/build/glustermc.ant (renamed from src/com.gluster.storage.management.gui.feature.webstart/build/glustermc.ant)17
-rw-r--r--src/org.gluster.storage.management.console.feature.webstart/feature.xml (renamed from src/com.gluster.storage.management.gui.feature.webstart/feature.xml)34
-rw-r--r--src/org.gluster.storage.management.console.feature.webstart/rootfiles/gluster-management-console.jnlp (renamed from src/com.gluster.storage.management.gui.feature.webstart/rootfiles/gluster-management-console.jnlp)22
-rw-r--r--src/org.gluster.storage.management.console.feature.webstart/rootfiles/splash.pngbin0 -> 121581 bytes-rw-r--r--src/org.gluster.storage.management.console.feature/.project (renamed from src/com.gluster.storage.management.gui.feature/.project)2
-rw-r--r--src/org.gluster.storage.management.console.feature/build.properties19
-rw-r--r--src/org.gluster.storage.management.console.feature/feature.xml (renamed from src/com.gluster.storage.management.gui.feature/feature.xml)138
-rw-r--r--src/org.gluster.storage.management.console.help/.project (renamed from src/com.gluster.storage.management.console.help/.project)2
-rw-r--r--src/org.gluster.storage.management.console.help/.settings/org.eclipse.core.resources.prefs8
-rw-r--r--src/org.gluster.storage.management.console.help/.settings/org.eclipse.wst.css.core.prefs4
-rw-r--r--src/org.gluster.storage.management.console.help/META-INF/MANIFEST.MF9
-rw-r--r--src/org.gluster.storage.management.console.help/build.properties26
-rw-r--r--src/org.gluster.storage.management.console.help/html/concepts/about_gmc.html21
-rw-r--r--src/org.gluster.storage.management.console.help/html/concepts/about_gmg.html16
-rw-r--r--src/org.gluster.storage.management.console.help/html/concepts/common_terms.html50
-rw-r--r--src/org.gluster.storage.management.console.help/html/concepts/gluster_fs.html19
-rw-r--r--src/org.gluster.storage.management.console.help/html/concepts/maintopic.html (renamed from src/com.gluster.storage.management.console.help/html/concepts/maintopic.html)0
-rw-r--r--src/org.gluster.storage.management.console.help/html/concepts/subtopic.html (renamed from src/com.gluster.storage.management.console.help/html/concepts/subtopic.html)0
-rw-r--r--src/org.gluster.storage.management.console.help/html/concepts/subtopic2.html (renamed from src/com.gluster.storage.management.console.help/html/concepts/subtopic2.html)0
-rw-r--r--src/org.gluster.storage.management.console.help/html/css/Builder/style.css939
-rw-r--r--src/org.gluster.storage.management.console.help/html/css/builder-gluster/style.css1341
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/ subtopic3.html (renamed from src/com.gluster.storage.management.console.help/html/gettingstarted/subtopic2.html)0
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/access_gmc_jws.html43
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/alerts.html24
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/change_password.html38
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/check_req_client.html27
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/check_req_gmg.html23
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/cifs_service.html42
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/configure_cifs.html15
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/explore_gmc.html30
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/gmc_install_overview.html15
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/gmc_terminal_window.html20
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/gmc_toolbar.html98
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/gmg_install_overview.html15
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/install_gmg.html49
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/install_gmg_backend.html47
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/maintopic (4).html (renamed from src/com.gluster.storage.management.console.help/html/reference/maintopic.html)24
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/maintopic - Copy (3).html13
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/maintopic - Copy (4).html13
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/maintopic - Copy.html13
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/maintopic.html (renamed from src/com.gluster.storage.management.console.help/html/gettingstarted/maintopic.html)24
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/manage_bricks.html19
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/manage_cluster.html30
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/manage_logs.html28
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/manage_servers.html22
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/manage_volumes.html34
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/monitor_resources.html34
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/resetting_pwd.html20
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/security_keys.html32
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/setting_alerts_prefs.html27
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/setting_charts_prefs.html29
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/setting_gluster_prefs.html25
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/setting_preferences.html22
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/setting_terminal_prefs.html26
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/setting_the_gmc.html15
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/subtopic (3) - Copy.html (renamed from src/com.gluster.storage.management.console.help/html/reference/subtopic.html)24
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/subtopic (3).html13
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/subtopic.html (renamed from src/com.gluster.storage.management.console.help/html/tasks/subtopic.html)24
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/subtopic2 (2).html13
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/subtopic2 (3).html13
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/subtopic2.html (renamed from src/com.gluster.storage.management.console.help/html/reference/subtopic2.html)0
-rw-r--r--src/org.gluster.storage.management.console.help/html/gettingstarted/tasks.html17
-rw-r--r--src/org.gluster.storage.management.console.help/html/help_home.html29
-rw-r--r--src/org.gluster.storage.management.console.help/html/images/Delete-brick.pngbin0 -> 125545 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC-Preferences-alerts .jpgbin0 -> 55125 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC-Preferences-charts.jpgbin0 -> 62538 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC-Preferences-gluster .jpgbin0 -> 52380 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_02.jpgbin0 -> 39901 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_03.jpgbin0 -> 14542 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_04.jpgbin0 -> 18303 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_05.jpgbin0 -> 16557 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_06.jpgbin0 -> 16959 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_07.jpgbin0 -> 93914 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_09.jpgbin0 -> 52606 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Add_Brick.jpgbin0 -> 101781 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Add_Brick_confirm.jpgbin0 -> 28654 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Add_Server_Confirm.jpgbin0 -> 18572 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Create_Vol.jpgbin0 -> 40060 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Discovered_Server_Add.jpgbin0 -> 92039 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Display_log_criteria.jpgbin0 -> 333591 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Remove_Brick_confirm.jpgbin0 -> 19105 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Remove_Bricks.jpgbin0 -> 28865 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Remove_Bricks_success.jpgbin0 -> 18917 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Remove_Server.jpgbin0 -> 15948 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Remove_Server_1.jpgbin0 -> 20426 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Select_FS_Type.jpgbin0 -> 19850 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_1.0_create_cluster.jpgbin0 -> 12353 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_1.0_login.jpgbin0 -> 14542 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_1.0_multiple_vols.jpgbin0 -> 12508 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_1.0_multiple_vols_confirm.jpgbin0 -> 11321 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_1.0_register_cluster.jpgbin0 -> 15437 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_1.0_removeBrick_confirm.jpgbin0 -> 29142 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_1.0_select_cluster.jpgbin0 -> 18303 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_1.0_server_add_success.jpgbin0 -> 10640 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_1.0_vol_success.jpgbin0 -> 18866 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_10.jpgbin0 -> 70046 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Add_Brick.jpgbin0 -> 89897 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Add_Brick_confirm.jpgbin0 -> 21385 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Add_Brick_icon.jpgbin0 -> 1536 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Add_Server_Manual.jpgbin0 -> 11525 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Add_brick.jpgbin0 -> 68440 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Add_brick_confirm.jpgbin0 -> 15084 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Alerts.jpgbin0 -> 52402 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Bricks_Tab.jpgbin0 -> 115478 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Change_Password.jpgbin0 -> 22096 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Change_Password_Confirm.jpgbin0 -> 17204 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Charts.jpgbin0 -> 60205 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Clear_task_icon.jpgbin0 -> 1276 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Cluster_Summary.jpgbin0 -> 106434 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Cluster_Summary_tab.jpgbin0 -> 212681 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Cluster_Summary_tab_new.jpgbin0 -> 172135 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Create_Cluster.jpgbin0 -> 19986 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Create_Vol_icon.jpgbin0 -> 1340 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Create_Volume.jpgbin0 -> 63917 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Create_Volume_success.jpgbin0 -> 19385 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Delete_Vol.jpgbin0 -> 26774 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Delete_Vol_Confirm.jpgbin0 -> 17356 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Delete_Vol_multiple.jpgbin0 -> 30788 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Delete_Vol_multiple_success.jpgbin0 -> 19616 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Delete_Vol_success.jpgbin0 -> 18884 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Disk_tab.jpgbin0 -> 224966 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Landing_Page.jpgbin0 -> 163592 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Log_list.jpgbin0 -> 171345 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Login_Change_Pwd.jpgbin0 -> 22584 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Login_Window.jpgbin0 -> 28664 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Migrate_Brick.jpgbin0 -> 107849 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Migrate_Brick_success.jpgbin0 -> 17196 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Preferences_alerts.jpgbin0 -> 55125 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Preferences_charts.jpgbin0 -> 62538 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Preferences_gluster.jpgbin0 -> 51110 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Preferences_terminal.jpgbin0 -> 52304 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Rebalance_icon.jpgbin0 -> 1559 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Refresh.jpgbin0 -> 1572 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Register_Cluster.jpgbin0 -> 21831 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Remove_Brick_Confirm.jpgbin0 -> 19955 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Remove_Brick_icon.jpgbin0 -> 1567 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Remove_Server_icon.jpgbin0 -> 1506 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Remove_server.jpgbin0 -> 20022 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Remove_server_success.jpgbin0 -> 17303 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Select_Cluster.jpgbin0 -> 23467 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Select_Cluster_progess.jpgbin0 -> 19762 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Server_Disk.jpgbin0 -> 222242 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Server_Summ.jpgbin0 -> 165858 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Server_Summary_tab.jpgbin0 -> 100798 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Server_Tab.jpgbin0 -> 109711 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Single_Vol.jpgbin0 -> 13304 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Start_task_icon.jpgbin0 -> 1298 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Stop_Multiple_Vol.jpgbin0 -> 14017 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Stop_Vol.jpgbin0 -> 12503 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Stop_icon.jpgbin0 -> 1103 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Task_tab.jpgbin0 -> 101601 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Terminal_window.jpgbin0 -> 135724 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Toolbar.jpgbin0 -> 15211 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Vol_List.jpgbin0 -> 67235 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Vol_Options.jpgbin0 -> 80035 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Vol_rebalance_success.jpgbin0 -> 12603 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Volume_Options.jpgbin0 -> 135662 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Volume_Summary.jpgbin0 -> 113645 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Volume_Summary_tab.jpgbin0 -> 97314 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Volume_logs.jpgbin0 -> 314494 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Volume_properties.jpgbin0 -> 145098 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_Volumes_tab.jpgbin0 -> 115212 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_add_server_icon.jpgbin0 -> 1391 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_change_pwd.jpgbin0 -> 16076 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_create_vol (2).jpgbin0 -> 44511 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_create_vol.jpgbin0 -> 44511 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_download_log_icon.jpgbin0 -> 1611 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_landing_page.jpgbin0 -> 106427 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_log_criteria.jpgbin0 -> 117809 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_migrate_brick.jpgbin0 -> 60009 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_migrate_brick_icon.jpgbin0 -> 1647 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_pause_icon.jpgbin0 -> 1262 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_pwd_change_success.jpgbin0 -> 11852 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_rebalance_vol.jpgbin0 -> 18396 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_remove_server_confirm.jpgbin0 -> 11560 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_remove_volume_icon.jpgbin0 -> 1517 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_server_summary.jpgbin0 -> 70046 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_setting_icon.jpgbin0 -> 1619 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_settings.jpgbin0 -> 1596 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_start_vol_Multiple.jpgbin0 -> 19551 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_start_vol_icon.jpgbin0 -> 1540 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_start_vol_success.jpgbin0 -> 18795 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_stop_vol_Multiple.jpgbin0 -> 19551 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_stop_vol_icon.jpgbin0 -> 1545 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_terminal_Settings.jpgbin0 -> 34801 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMC_terminal_toolbar.jpgbin0 -> 1371 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GMG_Architecture.jpgbin0 -> 46322 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GlusterFS_3.2_Architecture.jpgbin0 -> 62893 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GlusterFS_3.2_Architecture.pngbin0 -> 133597 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/GlusterMC_Architecture.jpgbin0 -> 69990 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/Migration.pngbin0 -> 126167 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/Preferences-alerts .pngbin0 -> 33540 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/Preferences-charts.pngbin0 -> 43267 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/Preferences-gluster .pngbin0 -> 29612 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/Running tasks & alerts.pngbin0 -> 131944 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/Stop_Vol.jpgbin0 -> 20638 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/Stop_Vol_confirm.jpgbin0 -> 18391 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/Stop_Vol_multiple.jpgbin0 -> 20979 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/Stop_Vol_multiple_confirm.jpgbin0 -> 19308 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/discovered_servers.pngbin0 -> 80490 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/java-web-start.jpgbin0 -> 33899 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/java_web_start.jpgbin0 -> 33899 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/images/login-dialog.pngbin0 -> 67859 bytes-rw-r--r--src/org.gluster.storage.management.console.help/html/reference/maintopic.html13
-rw-r--r--src/org.gluster.storage.management.console.help/html/reference/subtopic.html13
-rw-r--r--src/org.gluster.storage.management.console.help/html/reference/subtopic2.html13
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/access_gmc_jws.html32
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/add_brick.html34
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/add_servers.html31
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/configure_gmc.html19
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/create_cluster.html25
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/create_volume.html47
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/delete_brick.html40
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/delete_volume.html34
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/deploy_gmc_dedicated_host.html36
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/display_log.html26
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/download_log.html23
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/initialize_disk.html25
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/logging.html16
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/maintopic (3).html13
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/maintopic.html (renamed from src/com.gluster.storage.management.console.help/html/tasks/maintopic.html)24
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/migrate_brick.html30
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/rebalance_vol.html24
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/register_cluster.html23
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/remove_brick.html38
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/remove_server.html27
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/select_cluster.html26
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/start_vol.html28
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/starting_gmc.html15
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/stop_vol.html26
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/subtopic.html (renamed from src/com.gluster.storage.management.console.help/html/gettingstarted/subtopic.html)24
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/subtopic2 (3).html13
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/subtopic2.html (renamed from src/com.gluster.storage.management.console.help/html/tasks/subtopic2.html)24
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/subtopic3.html13
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/subtopic4.html13
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/subtopic5.html13
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/subtopic6.html13
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/tune_vol_opt.html24
-rw-r--r--src/org.gluster.storage.management.console.help/html/tasks/volumes.html38
-rw-r--r--src/org.gluster.storage.management.console.help/html/toc.html15
-rw-r--r--src/org.gluster.storage.management.console.help/plugin.xml45
-rw-r--r--src/org.gluster.storage.management.console.help/toc.xml32
-rw-r--r--src/org.gluster.storage.management.console.help/tocconcepts.xml30
-rw-r--r--src/org.gluster.storage.management.console.help/tocgettingstarted.xml62
-rw-r--r--src/org.gluster.storage.management.console.help/tocreference.xml29
-rw-r--r--src/org.gluster.storage.management.console.help/toctasks.xml58
-rw-r--r--src/org.gluster.storage.management.console/.classpath (renamed from src/com.gluster.storage.management.gui/.classpath)0
-rw-r--r--src/org.gluster.storage.management.console/.project (renamed from src/com.gluster.storage.management.client/.project)8
-rw-r--r--src/org.gluster.storage.management.console/.settings/org.eclipse.jdt.core.prefs (renamed from src/com.gluster.storage.management.gui/.settings/org.eclipse.jdt.core.prefs)0
-rw-r--r--src/org.gluster.storage.management.console/META-INF/MANIFEST.MF (renamed from src/com.gluster.storage.management.gui/META-INF/MANIFEST.MF)16
-rw-r--r--src/org.gluster.storage.management.console/buckminster.cspex30
-rw-r--r--src/org.gluster.storage.management.console/build.properties32
-rw-r--r--src/org.gluster.storage.management.console/build/glustermc.ant25
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/arrow-down.pngbin0 -> 683 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/arrow-up.pngbin0 -> 652 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/bricks.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/bricks.png)bin807 -> 807 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/close_task.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/close_task.png)bin588 -> 588 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/cluster.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/cluster.png)bin622 -> 622 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/disk-available.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/disk-available.png)bin769 -> 769 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/disk-error.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/disk-error.png)bin801 -> 801 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/disk-initialisation.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/disk-initialisation.png)bin817 -> 817 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/disk-inuse.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/disk-inuse.png)bin798 -> 798 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/disk-uninitialized.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/disk-uninitialized.png)bin809 -> 809 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/disk.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/disk.png)bin717 -> 717 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/error.pngbin0 -> 603 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/gluster_icon.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/gluster_icon.png)bin3131 -> 3131 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/help.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/help.png)bin932 -> 932 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/logs.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/logs.png)bin796 -> 796 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/offline-brick.pngbin0 -> 621 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/online-brick.pngbin0 -> 532 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/pause.pngbin0 -> 729 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/question.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/question.png)bin766 -> 766 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/running-task.pngbin0 -> 858 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/server.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/server.png)bin725 -> 725 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/servers.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/servers.png)bin393 -> 393 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/settings.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/settings.png)bin588 -> 588 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/start-offline-bricks-disabled.pngbin0 -> 889 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/start-offline-bricks.pngbin0 -> 875 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/start.pngbin0 -> 734 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/status-offline.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/status-offline.png)bin945 -> 945 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/status-online.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/status-online.png)bin689 -> 689 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/stop.pngbin0 -> 690 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/task-completed.pngbin0 -> 767 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/task-error.pngbin0 -> 768 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/utilities-terminal.pngbin0 -> 668 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/view-refresh.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/view-refresh.png)bin912 -> 912 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/volume-create.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/volume-create.png)bin635 -> 635 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/volume-options.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/volume-options.png)bin713 -> 713 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/volume.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/volume.png)bin774 -> 774 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/16x16/volumes.png (renamed from src/com.gluster.storage.management.gui/icons/tango/16x16/volumes.png)bin830 -> 830 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/22x22/disk-initialisation.png (renamed from src/com.gluster.storage.management.gui/icons/tango/22x22/disk-initialisation.png)bin1100 -> 1100 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/22x22/high-memory-usage.png (renamed from src/com.gluster.storage.management.gui/icons/tango/22x22/high-memory-usage.png)bin834 -> 834 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/22x22/low-diskspace.png (renamed from src/com.gluster.storage.management.gui/icons/tango/22x22/low-diskspace.png)bin1042 -> 1042 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/22x22/migrate-brick.png (renamed from src/com.gluster.storage.management.gui/icons/tango/22x22/replace-brick.png)bin1213 -> 1213 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/22x22/offline-brick.pngbin0 -> 835 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/22x22/offline-server.png (renamed from src/com.gluster.storage.management.gui/icons/tango/22x22/offline-server.png)bin1276 -> 1276 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/22x22/offline-volume.pngbin0 -> 1034 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/22x22/server-warning.png (renamed from src/com.gluster.storage.management.gui/icons/tango/22x22/server-warning.png)bin806 -> 806 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/22x22/start-offline-bricks-disabled.pngbin0 -> 1362 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/22x22/start-offline-bricks.pngbin0 -> 1332 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/22x22/system-search.png (renamed from src/com.gluster.storage.management.gui/icons/tango/22x22/system-search.png)bin1267 -> 1267 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/22x22/utilities-terminal.pngbin0 -> 1026 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/22x22/volume-rebalance.png (renamed from src/com.gluster.storage.management.gui/icons/tango/22x22/volume-rebalance.png)bin955 -> 955 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/add-brick-disabled.pngbin0 -> 2063 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/add-brick.pngbin0 -> 2105 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/add-server.png (renamed from src/com.gluster.storage.management.gui/icons/tango/32x32/add-server.png)bin2137 -> 2137 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/clear-task-disabled.pngbin0 -> 1416 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/clear-task.png (renamed from src/com.gluster.storage.management.gui/icons/tango/32x32/clear-task.png)bin1424 -> 1424 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/commit-task-disabled.pngbin0 -> 1246 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/commit-task.png (renamed from src/com.gluster.storage.management.gui/icons/tango/32x32/commit-task.png)bin1294 -> 1294 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/create-volume-disabled.pngbin0 -> 1929 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/create-volume.pngbin0 -> 1788 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/disk.png (renamed from src/com.gluster.storage.management.gui/icons/tango/32x32/disk.png)bin1155 -> 1155 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/download-log.png (renamed from src/com.gluster.storage.management.gui/icons/tango/32x32/download-log.png)bin2065 -> 2065 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/help.png (renamed from src/com.gluster.storage.management.gui/icons/tango/32x32/help.png)bin2231 -> 2231 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/log-rotate.pngbin0 -> 1839 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/logs.png (renamed from src/com.gluster.storage.management.gui/icons/tango/32x32/logs.png)bin1886 -> 1886 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/migrate-brick-disabled.pngbin0 -> 2591 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/migrate-brick.pngbin0 -> 2343 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/pause-disabled.pngbin0 -> 1001 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/pause.png (renamed from src/com.gluster.storage.management.gui/icons/tango/32x32/pause.png)bin1037 -> 1037 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/remove-brick-disabled.pngbin0 -> 2206 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/remove-brick.pngbin0 -> 1988 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/remove-server-disabled.pngbin0 -> 1907 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/remove-server.png (renamed from src/com.gluster.storage.management.gui/icons/tango/32x32/remove-server.png)bin2143 -> 2143 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/remove-volume-disabled.pngbin0 -> 1644 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/remove-volume.pngbin0 -> 1712 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/reset-volume-option-disabled.pngbin0 -> 2273 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/reset-volume-option.pngbin0 -> 2303 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/server.png (renamed from src/com.gluster.storage.management.gui/icons/tango/32x32/server.png)bin1591 -> 1591 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/servers.png (renamed from src/com.gluster.storage.management.gui/icons/tango/32x32/servers.png)bin1264 -> 1264 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/settings.png (renamed from src/com.gluster.storage.management.gui/icons/tango/32x32/settings.png)bin2544 -> 2544 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/start-disabled.pngbin0 -> 1181 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/start-offline-bricks-disabled.pngbin0 -> 2127 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/start-offline-bricks.pngbin0 -> 2145 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/start-volume-disabled.pngbin0 -> 1968 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/start-volume.pngbin0 -> 1818 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/start.png (renamed from src/com.gluster.storage.management.gui/icons/tango/32x32/start.png)bin1207 -> 1207 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/stop-disabled.pngbin0 -> 532 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/stop-volume-disabled.pngbin0 -> 1851 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/stop-volume.pngbin0 -> 1754 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/stop.png (renamed from src/com.gluster.storage.management.gui/icons/tango/32x32/stop.png)bin540 -> 540 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/utilities-terminal.pngbin0 -> 1488 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/view-refresh.png (renamed from src/com.gluster.storage.management.gui/icons/tango/32x32/view-refresh.png)bin2024 -> 2024 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/volume-rebalance-disabled.pngbin0 -> 1927 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/volume-rebalance.pngbin0 -> 1969 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/32x32/volume.png (renamed from src/com.gluster.storage.management.gui/icons/tango/32x32/volume.png)bin1446 -> 1446 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/48x48/add-server.png (renamed from src/com.gluster.storage.management.gui/icons/tango/48x48/add-server.png)bin3606 -> 3606 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/48x48/create-volume.pngbin0 -> 2898 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/48x48/remove-brick-disabled.pngbin0 -> 3186 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/48x48/server.png (renamed from src/com.gluster.storage.management.gui/icons/tango/48x48/server.png)bin3295 -> 3295 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/48x48/start-offline-bricks-disabled.pngbin0 -> 3080 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/48x48/start-offline-bricks.pngbin0 -> 3130 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/48x48/start-volume-disabled.pngbin0 -> 2742 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/48x48/stop-volume-disabled.pngbin0 -> 2470 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/8x8/offline.png (renamed from src/com.gluster.storage.management.gui/icons/tango/8x8/offline.png)bin381 -> 381 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/8x8/online.pngbin0 -> 315 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/8x8/star.png (renamed from src/com.gluster.storage.management.gui/icons/tango/8x8/star.png)bin244 -> 244 bytes-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/add_brick.svg4155
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/add_volume.svg3235
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/brick.svg652
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/brick_migration.svg3697
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/bricks.svg684
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/cloud.svg425
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/create-volume-disabled.svg3044
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/create-volume.svg3006
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/disk (32-32).svg1088
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/disk (48-48).svg2263
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/disk.svg850
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/disk_available.svg1983
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/disk_error.svg1991
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/disk_initialisation.svg2302
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/disk_inuse.svg1848
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/disk_uninitialised.svg2585
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/download_log.svg1187
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/high_CPU_usage.svg1661
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/high_memory_usage.svg589
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/log.svg1160
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/low_diskspace.svg1790
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/offline-8x8.svg154
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/offline.svg1637
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/offline_brick.svg4413
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/offline_brick_alert.svg713
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/offline_server.svg838
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/offline_volume.svg3171
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/online-8x8.svg246
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/online.svg1410
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/remove-server.svg (renamed from src/com.gluster.storage.management.gui/icons/tango/scalable/remove-server.svg)0
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/remove_brick.svg4483
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/remove_volume.svg3248
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/reset_volume_option.svg2946
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/running_task.svg1498
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/star-8x8.svg15
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/start-volume-disabled.svg3350
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/start_volume.svg3312
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/stop_volume.svg3268
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/task_clear.svg845
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/task_commit.svg310
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/task_pause.svg821
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/task_paused.svg812
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/task_resume.svg395
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/task_running.svg796
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/task_status_completed.svg577
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/task_status_error.svg654
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/task_stop.svg748
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/task_stopped.svg784
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/utilities-terminal.svg500
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/view-refresh.svg (renamed from src/com.gluster.storage.management.gui/icons/tango/scalable/view-refresh.svg)0
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/volume.svg2917
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/volume_option.svg2875
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/volume_rebalance.svg3713
-rw-r--r--src/org.gluster.storage.management.console/icons/tango/scalable/volumes.svg2949
-rw-r--r--src/org.gluster.storage.management.console/images/gauge.png (renamed from src/com.gluster.storage.management.gui/images/gauge.png)bin45242 -> 45242 bytes-rw-r--r--src/org.gluster.storage.management.console/images/gauge_small.png (renamed from src/com.gluster.storage.management.gui/images/gauge_small.png)bin13875 -> 13875 bytes-rw-r--r--src/org.gluster.storage.management.console/images/gluster-about.pngbin0 -> 34661 bytes-rw-r--r--src/org.gluster.storage.management.console/images/login-screen-with-text.psdbin0 -> 4367373 bytes-rw-r--r--src/org.gluster.storage.management.console/images/login-screen.psdbin0 -> 1512790 bytes-rw-r--r--src/org.gluster.storage.management.console/images/splash-dialog.bmpbin0 -> 248192 bytes-rw-r--r--src/org.gluster.storage.management.console/images/splash-screen.psdbin0 -> 2004782 bytes-rw-r--r--src/org.gluster.storage.management.console/plugin.properties26
-rw-r--r--src/org.gluster.storage.management.console/plugin.xml1656
-rw-r--r--src/org.gluster.storage.management.console/preferences.ini3
-rw-r--r--src/org.gluster.storage.management.console/splash.bmpbin0 -> 381054 bytes-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/Activator.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/Activator.java)30
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/AlertsManager.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/AlertsManager.java)70
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/Application.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/Application.java)34
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/ApplicationActionBarAdvisor.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/ApplicationActionBarAdvisor.java)37
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/ApplicationWorkbenchAdvisor.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/ApplicationWorkbenchAdvisor.java)63
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/ApplicationWorkbenchWindowAdvisor.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/ApplicationWorkbenchWindowAdvisor.java)30
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/BrickTableLabelProvider.java85
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/ConsoleConstants.java29
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/DeviceTableLabelProvider.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/DeviceTableLabelProvider.java)42
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/EntityGroupContentProvider.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/EntityGroupContentProvider.java)30
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/GlusterDataModelManager.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/GlusterDataModelManager.java)553
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/GlusterServerTableLabelProvider.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/GlusterServerTableLabelProvider.java)38
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/ICommandIds.java33
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/IEntityListener.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/IEntityListener.java)30
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/IImageKeys.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/IImageKeys.java)41
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/NetworkInterfaceTableLabelProvider.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/NetworkInterfaceTableLabelProvider.java)35
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/Perspective.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/Perspective.java)28
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/ServerDiskTableLabelProvider.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/ServerDiskTableLabelProvider.java)47
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/ServerTableLabelProvider.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/ServerTableLabelProvider.java)37
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/TableLabelProviderAdapter.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/TableLabelProviderAdapter.java)28
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/TasksTableLabelProvider.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/TasksTableLabelProvider.java)46
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/VolumeLogTableLabelProvider.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/VolumeLogTableLabelProvider.java)37
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/VolumeOptionsContentProvider.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/VolumeOptionsContentProvider.java)30
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/VolumeOptionsTableLabelProvider.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/VolumeOptionsTableLabelProvider.java)33
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/VolumeTableLabelProvider.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/VolumeTableLabelProvider.java)36
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/AbstractActionDelegate.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AbstractActionDelegate.java)55
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/AbstractMonitoredActionDelegate.java56
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/ActionConstants.java36
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/AddBrickAction.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddBrickAction.java)36
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/AddServerAction.java123
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/ChangePasswordAction.java41
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/ClearTaskAction.java65
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/CommitTaskAction.java90
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/CreateVolumeAction.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/CreateVolumeAction.java)36
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/DeleteVolumeAction.java210
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/DownloadVolumeLogsAction.java61
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/EditVolumeAction.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/EditVolumeAction.java)28
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/ExportSshKeysAction.java59
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/ForceStartVolumeAction.java89
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/ImportSshKeysAction.java62
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/MigrateBrickAction.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/MigrateBrickAction.java)42
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/MigrateVolumeAction.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/MigrateVolumeAction.java)28
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/PauseTaskAction.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/PauseTaskAction.java)41
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/PreferencesAction.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/PreferencesAction.java)28
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/RebalanceVolumeAction.java87
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/RefreshDataAction.java43
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/RemoveBrickAction.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveBrickAction.java)45
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/RemoveServerAction.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RemoveServerAction.java)129
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/ResetVolumeOptionsAction.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ResetVolumeOptionsAction.java)33
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/ResumeTaskAction.java63
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/ServerAdditionAction.java46
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/StartVolumeAction.java167
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/StopTaskAction.java65
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/StopVolumeAction.java228
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/SupportAction.java48
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/TerminalAction.java44
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/TestPopupMenuAction.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/TestPopupMenuAction.java)29
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/actions/VolumeLogRotateAction.java82
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/dialogs/AddBrickPage.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddBrickPage.java)50
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/dialogs/AddBrickWizard.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/AddBrickWizard.java)41
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/dialogs/BricksSelectionPage.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/BricksSelectionPage.java)71
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/dialogs/ChangePasswordDialog.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/ChangePasswordDialog.java)50
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/dialogs/ClusterSelectionDialog.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/ClusterSelectionDialog.java)80
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/dialogs/CreateVolumePage1.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumePage1.java)178
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/dialogs/CreateVolumeWizard.java158
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/dialogs/GlusterSupportDialog.java137
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/dialogs/InitDiskDialog.java209
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/dialogs/LoginDialog.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/LoginDialog.java)135
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/dialogs/MigrateBrickPage1.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/MigrateBrickPage1.java)113
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/dialogs/MigrateBrickWizard.java111
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/dialogs/SelectDisksDialog.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/SelectDisksDialog.java)38
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/dialogs/ServerAdditionDialog.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/ServerAdditionDialog.java)45
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/jobs/DataSyncJob.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/jobs/DataSyncJob.java)34
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/preferences/AlertsPreferencePage.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/preferences/AlertsPreferencePage.java)22
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/preferences/ChartsPreferencePage.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/preferences/ChartsPreferencePage.java)53
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/preferences/GlusterPreferencePage.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/preferences/GlusterPreferencePage.java)38
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/preferences/PreferenceConstants.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/preferences/PreferenceConstants.java)31
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/preferences/PreferenceInitializer.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/preferences/PreferenceInitializer.java)38
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/toolbar/GlusterToolbarManager.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/toolbar/GlusterToolbarManager.java)60
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/toolbar/ToolbarManager.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/toolbar/ToolbarManager.java)30
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/utils/ChartUtil.java337
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/utils/ChartViewerComposite.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/utils/ChartViewerComposite.java)233
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/utils/EntityViewerFilter.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/utils/EntityViewerFilter.java)32
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/utils/GUIHelper.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/utils/GUIHelper.java)110
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/utils/GlusterChartPalette.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/utils/GlusterChartPalette.java)40
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/utils/GlusterLogger.java67
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/utils/ImageUtil.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/utils/ImageUtil.java)34
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/utils/TableViewerComparator.java73
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/validators/StringRequiredValidator.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/validators/StringRequiredValidator.java)28
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/ClusterAdapterFactory.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/ClusterAdapterFactory.java)50
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/ClusterSummaryView.java467
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/DiscoveredServerView.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/DiscoveredServerView.java)38
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/DiscoveredServersView.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/DiscoveredServersView.java)40
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/DisksView.java62
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/GlusterServerDisksView.java82
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/GlusterServerLogsView.java57
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/GlusterServerSummaryView.java472
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/GlusterServersSummaryView.java287
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/GlusterServersView.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServersView.java)43
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/GlusterViewsManager.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterViewsManager.java)53
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/NavigationTreeLabelDecorator.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/NavigationTreeLabelDecorator.java)40
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/NavigationView.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/NavigationView.java)47
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/TasksView.java57
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/ViewsManager.java36
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/VolumeBricksView.java57
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/VolumeLogsView.java75
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/VolumeOptionsView.java54
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/VolumeSummaryView.java871
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/VolumeView.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeView.java)38
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/VolumesSummaryView.java299
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/VolumesView.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumesView.java)40
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/pages/AbstractDisksPage.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/AbstractDisksPage.java)156
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/pages/AbstractTableTreeViewerPage.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/AbstractTableTreeViewerPage.java)36
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/pages/AbstractTableViewerPage.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/AbstractTableViewerPage.java)66
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/pages/BricksPage.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/BricksPage.java)58
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/pages/DiskTreeContentProvider.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/DiskTreeContentProvider.java)39
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/pages/DisksPage.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/DisksPage.java)41
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/pages/GlusterServersPage.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/GlusterServersPage.java)55
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/pages/OptionKeyEditingSupport.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/OptionKeyEditingSupport.java)32
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/pages/OptionValueEditingSupport.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/OptionValueEditingSupport.java)34
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/pages/ServerDisksPage.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/ServerDisksPage.java)36
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/pages/ServerLogsPage.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/ServerLogsPage.java)38
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/pages/ServersPage.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/ServersPage.java)51
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/pages/TasksPage.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/TasksPage.java)68
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/pages/VolumeLogsPage.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/VolumeLogsPage.java)53
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/pages/VolumeOptionsPage.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/VolumeOptionsPage.java)61
-rw-r--r--src/org.gluster.storage.management.console/src/org/gluster/storage/management/console/views/pages/VolumesPage.java (renamed from src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/pages/VolumesPage.java)58
-rw-r--r--src/org.gluster.storage.management.core/.classpath (renamed from src/com.gluster.storage.management.core/.classpath)7
-rw-r--r--src/org.gluster.storage.management.core/.project (renamed from src/com.gluster.storage.management.gui/.project)15
-rw-r--r--src/org.gluster.storage.management.core/.settings/org.eclipse.jdt.core.prefs (renamed from src/com.gluster.storage.management.core/.settings/org.eclipse.jdt.core.prefs)0
-rw-r--r--src/org.gluster.storage.management.core/.settings/org.eclipse.wst.common.component6
-rw-r--r--src/org.gluster.storage.management.core/.settings/org.eclipse.wst.common.project.facet.core.xml7
-rw-r--r--src/org.gluster.storage.management.core/META-INF/MANIFEST.MF15
-rw-r--r--src/org.gluster.storage.management.core/build.properties23
-rw-r--r--src/org.gluster.storage.management.core/junit/core.junit.launch (renamed from src/com.gluster.storage.management.core/junit/core.junit.launch)6
-rw-r--r--src/org.gluster.storage.management.core/junit/org/gluster/storage/management/core/model/AlertTest.java101
-rw-r--r--src/org.gluster.storage.management.core/junit/org/gluster/storage/management/core/model/BrickTest.java323
-rw-r--r--src/org.gluster.storage.management.core/junit/org/gluster/storage/management/core/model/ClusterTest.java229
-rw-r--r--src/org.gluster.storage.management.core/junit/org/gluster/storage/management/core/model/DiskTest.java495
-rw-r--r--src/org.gluster.storage.management.core/junit/org/gluster/storage/management/core/model/TestAll.java53
-rw-r--r--src/org.gluster.storage.management.core/junit/org/gluster/storage/management/core/utils/DateUtilTest.java236
-rw-r--r--src/org.gluster.storage.management.core/junit/org/gluster/storage/management/core/utils/FileUtilTest.java500
-rw-r--r--src/org.gluster.storage.management.core/junit/org/gluster/storage/management/core/utils/StringUtilTest.java327
-rw-r--r--src/org.gluster.storage.management.core/junit/test/test.txt (renamed from src/com.gluster.storage.management.core/junit/test/test.txt)0
-rw-r--r--src/org.gluster.storage.management.core/src/META-INF/MANIFEST.MF (renamed from src/com.gluster.storage.management.server/WebContent/META-INF/MANIFEST.MF)0
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/constants/CoreConstants.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/constants/CoreConstants.java)31
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/constants/GlusterConstants.java48
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/constants/RESTConstants.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/constants/RESTConstants.java)63
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/exceptions/ConnectionException.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/exceptions/ConnectionException.java)28
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/exceptions/GlusterRuntimeException.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/exceptions/GlusterRuntimeException.java)28
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/exceptions/GlusterValidationException.java27
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/Alert.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Alert.java)25
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/Brick.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Brick.java)53
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/Cluster.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Cluster.java)48
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/ClusterListener.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ClusterListener.java)34
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/ConnectionDetails.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ConnectionDetails.java)28
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/DefaultClusterListener.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/DefaultClusterListener.java)43
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/Device.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Device.java)48
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/Disk.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Disk.java)51
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/Entity.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Entity.java)31
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/EntityGroup.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/EntityGroup.java)30
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/Event.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Event.java)36
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/Filterable.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Filterable.java)28
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/GlusterDataModel.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterDataModel.java)28
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/GlusterDummyModel.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterDummyModel.java)53
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/GlusterServer.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/GlusterServer.java)32
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/InitDiskStatusResponse.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/InitDiskStatusResponse.java)30
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/NetworkInterface.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/NetworkInterface.java)28
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/Partition.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Partition.java)28
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/Response.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Response.java)62
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/Server.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Server.java)41
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/ServerStats.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ServerStats.java)28
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/ServerStatsRow.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/ServerStatsRow.java)28
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/StatsMetadata.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/StatsMetadata.java)28
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/Status.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Status.java)33
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/TaskInfo.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/TaskInfo.java)35
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/TaskStatus.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/TaskStatus.java)34
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/User.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/User.java)28
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/Version.java65
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/Volume.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/Volume.java)101
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/VolumeLogMessage.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/VolumeLogMessage.java)45
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/VolumeOption.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/VolumeOption.java)31
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/VolumeOptionInfo.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/VolumeOptionInfo.java)32
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/VolumeOptions.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/VolumeOptions.java)33
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/model/adapters/VolumeLogDateAdapter.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/model/adapters/VolumeLogDateAdapter.java)31
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/response/AbstractResponse.java35
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/response/ClusterNameListResponse.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/ClusterNameListResponse.java)28
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/response/FsTypeListResponse.java45
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/response/GlusterServerListResponse.java53
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/response/GlusterServerResponse.java54
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/response/LogMessageListResponse.java52
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/response/ServerListResponse.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/ServerListResponse.java)31
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/response/ServerNameListResponse.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/ServerNameListResponse.java)28
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/response/StringListResponse.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/StringListResponse.java)31
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/response/TaskIdResponse.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/TaskIdResponse.java)28
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/response/TaskInfoListResponse.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/TaskInfoListResponse.java)33
-rwxr-xr-xsrc/org.gluster.storage.management.core/src/org/gluster/storage/management/core/response/TaskResponse.java51
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/response/VolumeListResponse.java50
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/response/VolumeOptionInfoListResponse.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/VolumeOptionInfoListResponse.java)36
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/utils/DateUtil.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/DateUtil.java)41
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/utils/FileUtil.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/FileUtil.java)52
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/utils/GlusterCoreUtil.java204
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/utils/JavaUtil.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/JavaUtil.java)28
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/utils/LRUCache.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/LRUCache.java)30
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/utils/NumberUtil.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/NumberUtil.java)28
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/utils/ProcessResult.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/ProcessResult.java)28
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/utils/ProcessUtil.java144
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/utils/StringUtil.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/StringUtil.java)65
-rw-r--r--src/org.gluster.storage.management.core/src/org/gluster/storage/management/core/utils/ValidationUtil.java (renamed from src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/ValidationUtil.java)38
-rw-r--r--src/org.gluster.storage.management.gateway.scripts/.externalToolBuilders/org.python.pydev.PyDevBuilder.launch7
-rw-r--r--src/org.gluster.storage.management.gateway.scripts/.project22
-rw-r--r--src/org.gluster.storage.management.gateway.scripts/src/backend/DiskUtils.py212
-rw-r--r--src/org.gluster.storage.management.gateway.scripts/src/backend/FsTabUtils.py (renamed from src/com.gluster.storage.management.server.scripts/src/FsTabUtils.py)45
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/NetworkUtils.py166
-rw-r--r--src/org.gluster.storage.management.gateway.scripts/src/backend/VolumeUtils.py109
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/add_user_cifs.py79
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/clear_volume_directory.py62
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/create_volume_cifs.py61
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/delete_user_cifs.py45
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/delete_volume_cifs.py54
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/format_device.py122
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/format_device_background.py142
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/get_brick_status.py60
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/get_filesystem_type.py36
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/get_format_device_status.py (renamed from src/com.gluster.storage.management.server.scripts/src/get_format_device_status.py)75
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/get_rrd_cpu_details.py61
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/get_rrd_memory_details.py62
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/get_rrd_net_details.py55
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/get_server_details.py286
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/get_server_status.py42
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/get_volume_brick_log.py (renamed from src/com.gluster.storage.management.server.scripts/src/get_volume_brick_log.py)50
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/gluster-volume-settings.init.d36
-rw-r--r--src/org.gluster.storage.management.gateway.scripts/src/backend/gluster_cifs_volume_startup.py128
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/modify_volume_cifs.py50
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/multicast-discoverd.init.d62
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/multicast-discoverd.py117
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/rrd_cpu.pl (renamed from src/com.gluster.storage.management.server.scripts/src/rrd_cpu.pl)20
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/rrd_mem.pl (renamed from src/com.gluster.storage.management.server.scripts/src/rrd_mem.pl)18
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/rrd_net.pl (renamed from src/com.gluster.storage.management.server.scripts/src/rrd_net.pl)44
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/setup_cifs_config.py122
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/start_volume_cifs.py67
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/stop_volume_cifs.py62
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/update-rrd.sh24
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/backend/update_volume_cifs.py51
-rw-r--r--src/org.gluster.storage.management.gateway.scripts/src/common/Globals.py49
-rw-r--r--src/org.gluster.storage.management.gateway.scripts/src/common/Utils.py343
-rw-r--r--src/org.gluster.storage.management.gateway.scripts/src/common/XmlHandler.py (renamed from src/com.gluster.storage.management.server.scripts/src/XmlHandler.py)692
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/gateway/add_user_cifs_all.py92
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/gateway/create_volume_cifs_all.py76
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/gateway/delete_user_cifs_all.py66
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/gateway/delete_volume_cifs_all.py65
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/gateway/get_volume_user_cifs.py52
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/gateway/gmg-reset-password.sh46
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/gateway/grun.py35
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/gateway/multicast-discover-servers.py126
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/gateway/remove_server_volume_cifs_config.py82
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/gateway/setup_cifs_config_all.py43
-rwxr-xr-xsrc/org.gluster.storage.management.gateway.scripts/src/gateway/update_volume_cifs_all.py77
-rw-r--r--src/org.gluster.storage.management.gateway/.classpath (renamed from src/com.gluster.storage.management.server/.classpath)3
-rw-r--r--src/org.gluster.storage.management.gateway/.project (renamed from src/com.gluster.storage.management.server/.project)8
-rw-r--r--src/org.gluster.storage.management.gateway/.settings/.jsdtscope (renamed from src/com.gluster.storage.management.server/.settings/.jsdtscope)0
-rw-r--r--src/org.gluster.storage.management.gateway/.settings/org.eclipse.core.resources.prefs3
-rw-r--r--src/org.gluster.storage.management.gateway/.settings/org.eclipse.jdt.core.prefs (renamed from src/com.gluster.storage.management.server/.settings/org.eclipse.jdt.core.prefs)0
-rw-r--r--src/org.gluster.storage.management.gateway/.settings/org.eclipse.ltk.core.refactoring.prefs (renamed from src/com.gluster.storage.management.server/.settings/org.eclipse.ltk.core.refactoring.prefs)0
-rw-r--r--src/org.gluster.storage.management.gateway/.settings/org.eclipse.wst.common.component12
-rw-r--r--src/org.gluster.storage.management.gateway/.settings/org.eclipse.wst.common.project.facet.core.xml (renamed from src/com.gluster.storage.management.server/.settings/org.eclipse.wst.common.project.facet.core.xml)0
-rw-r--r--src/org.gluster.storage.management.gateway/.settings/org.eclipse.wst.jsdt.ui.superType.container (renamed from src/com.gluster.storage.management.server/.settings/org.eclipse.wst.jsdt.ui.superType.container)0
-rw-r--r--src/org.gluster.storage.management.gateway/.settings/org.eclipse.wst.jsdt.ui.superType.name (renamed from src/com.gluster.storage.management.server/.settings/org.eclipse.wst.jsdt.ui.superType.name)0
-rw-r--r--src/org.gluster.storage.management.gateway/.settings/org.eclipse.wst.ws.service.policy.prefs (renamed from src/com.gluster.storage.management.server/.settings/org.eclipse.wst.ws.service.policy.prefs)0
-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/META-INF/MANIFEST.MF3
-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/Jersey-LICENSE.txt135
-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/Jersey-third-party-license-readme.txt188
-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/antlr-2.7.6.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/antlr-2.7.6.jar)bin443432 -> 443432 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/aopalliance-1.0.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/aopalliance-1.0.jar)bin4467 -> 4467 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/asm-3.1.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/asm-3.1.jar)bin43033 -> 43033 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/commons-collections-3.1.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/commons-collections-3.1.jar)bin559366 -> 559366 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/commons-logging-1.1.1.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/commons-logging-1.1.1.jar)bin60841 -> 60841 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/derby.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/derby.jar)bin2512189 -> 2512189 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/derbytools.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/derbytools.jar)bin165188 -> 165188 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/dom4j-1.6.1.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/dom4j-1.6.1.jar)bin313898 -> 313898 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/ganymed-ssh2-build250-LICENSE.txt (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/ganymed-ssh2-build250-LICENSE.txt)0
-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/ganymed-ssh2-build250.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/ganymed-ssh2-build250.jar)bin248915 -> 248915 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/hibernate-jpa-2.0-api-1.0.0.Final.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/hibernate-jpa-2.0-api-1.0.0.Final.jar)bin100884 -> 100884 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/hibernate3.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/hibernate3.jar)bin4133342 -> 4133342 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/jackson-core-asl-1.5.5.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jackson-core-asl-1.5.5.jar)bin171958 -> 171958 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/jackson-jaxrs-1.5.5.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jackson-jaxrs-1.5.5.jar)bin17065 -> 17065 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/jackson-mapper-asl-1.5.5.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jackson-mapper-asl-1.5.5.jar)bin485699 -> 485699 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/jackson-xc-1.5.5.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jackson-xc-1.5.5.jar)bin24745 -> 24745 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/javassist-3.12.0.GA.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/javassist-3.12.0.GA.jar)bin633312 -> 633312 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/jersey-client-1.5.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jersey-client-1.5.jar)bin128096 -> 128096 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/jersey-core-1.5.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jersey-core-1.5.jar)bin455665 -> 455665 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/jersey-json-1.5.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jersey-json-1.5.jar)bin144810 -> 144810 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/jersey-multipart-1.5.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jersey-multipart-1.5.jar)bin49330 -> 49330 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/jersey-server-1.5.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jersey-server-1.5.jar)bin681117 -> 681117 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/jersey-spring-1.5.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jersey-spring-1.5.jar)bin17079 -> 17079 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/jettison-1.1.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jettison-1.1.jar)bin67758 -> 67758 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/jnlp-servlet.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jnlp-servlet.jar)bin61712 -> 61712 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/jsr311-api-1.1.1.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jsr311-api-1.1.1.jar)bin46367 -> 46367 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/jta-1.1.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/jta-1.1.jar)bin10899 -> 10899 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/log4j-1.2.16.jar (renamed from src/com.gluster.storage.management.core/lib/log4j-1.2.16.jar)bin481534 -> 481534 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/mimepull-1.3.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/mimepull-1.3.jar)bin38683 -> 38683 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.eclipse.equinox.common_3.6.0.v20100503.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.eclipse.equinox.common_3.6.0.v20100503.jar)bin101958 -> 101958 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.springframework.aop-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.springframework.aop-3.0.5.RELEASE.jar)bin321190 -> 321190 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.springframework.asm-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.springframework.asm-3.0.5.RELEASE.jar)bin53082 -> 53082 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.springframework.aspects-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.springframework.aspects-3.0.5.RELEASE.jar)bin35548 -> 35548 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.springframework.beans-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.springframework.beans-3.0.5.RELEASE.jar)bin555410 -> 555410 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.springframework.context-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.springframework.context-3.0.5.RELEASE.jar)bin668861 -> 668861 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.springframework.context.support-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.springframework.context.support-3.0.5.RELEASE.jar)bin100870 -> 100870 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.springframework.core-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.springframework.core-3.0.5.RELEASE.jar)bin382442 -> 382442 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.springframework.expression-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.springframework.expression-3.0.5.RELEASE.jar)bin169752 -> 169752 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.springframework.instrument-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.springframework.instrument-3.0.5.RELEASE.jar)bin1810 -> 1810 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.springframework.instrument.tomcat-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.springframework.instrument.tomcat-3.0.5.RELEASE.jar)bin5728 -> 5728 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.springframework.jdbc-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.springframework.jdbc-3.0.5.RELEASE.jar)bin385712 -> 385712 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.springframework.jms-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.springframework.jms-3.0.5.RELEASE.jar)bin185312 -> 185312 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.springframework.orm-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.springframework.orm-3.0.5.RELEASE.jar)bin334327 -> 334327 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.springframework.oxm-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.springframework.oxm-3.0.5.RELEASE.jar)bin61379 -> 61379 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.springframework.spring-library-3.0.5.RELEASE.libd (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.springframework.spring-library-3.0.5.RELEASE.libd)0
-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.springframework.test-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.springframework.test-3.0.5.RELEASE.jar)bin205278 -> 205278 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.springframework.transaction-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.springframework.transaction-3.0.5.RELEASE.jar)bin231922 -> 231922 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.springframework.web-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.springframework.web-3.0.5.RELEASE.jar)bin395587 -> 395587 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.springframework.web.portlet-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.springframework.web.portlet-3.0.5.RELEASE.jar)bin175412 -> 175412 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.springframework.web.servlet-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.springframework.web.servlet-3.0.5.RELEASE.jar)bin418977 -> 418977 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/org.springframework.web.struts-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/org.springframework.web.struts-3.0.5.RELEASE.jar)bin31404 -> 31404 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/servlet-api.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/servlet-api.jar)bin176386 -> 176386 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/slf4j-api-1.6.1.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/slf4j-api-1.6.1.jar)bin25496 -> 25496 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/spring-framework-3.0.5.RELEASE-LICENSE.txt201
-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/spring-security-3.0.5.RELEASE-LICENSE.txt201
-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/spring-security-config-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/spring-security-config-3.0.5.RELEASE.jar)bin185716 -> 185716 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/spring-security-core-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/spring-security-core-3.0.5.RELEASE.jar)bin311038 -> 311038 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/lib/spring-security-web-3.0.5.RELEASE.jar (renamed from src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/spring-security-web-3.0.5.RELEASE.jar)bin242833 -> 242833 bytes-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/WEB-INF/web.xml95
-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/data/scripts/1.0.0/0-version.sql (renamed from src/com.gluster.storage.management.server/WebContent/data/scripts/1.0.0/0-version.sql)0
-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/data/scripts/1.0.0/1-security-schema.sql (renamed from src/com.gluster.storage.management.server/WebContent/data/scripts/1.0.0/1-security-schema.sql)8
-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/data/scripts/1.0.0/2-users-authorities-groups.sql (renamed from src/com.gluster.storage.management.server/WebContent/data/scripts/1.0.0/2-users-authorities-groups.sql)5
-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/data/scripts/1.0.0/3-cluster-servers.sql (renamed from src/com.gluster.storage.management.server/WebContent/data/scripts/1.0.0/3-cluster-servers.sql)0
-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/index.html158
l---------src/org.gluster.storage.management.gateway/WebContent/scripts/Globals.py1
l---------src/org.gluster.storage.management.gateway/WebContent/scripts/Utils.py1
l---------src/org.gluster.storage.management.gateway/WebContent/scripts/XmlHandler.py1
l---------src/org.gluster.storage.management.gateway/WebContent/scripts/add_user_cifs_all.py1
l---------src/org.gluster.storage.management.gateway/WebContent/scripts/create_volume_cifs_all.py1
l---------src/org.gluster.storage.management.gateway/WebContent/scripts/delete_user_cifs_all.py1
l---------src/org.gluster.storage.management.gateway/WebContent/scripts/delete_volume_cifs_all.py1
l---------src/org.gluster.storage.management.gateway/WebContent/scripts/get_volume_user_cifs.py1
l---------src/org.gluster.storage.management.gateway/WebContent/scripts/gmg-reset-password.sh1
l---------src/org.gluster.storage.management.gateway/WebContent/scripts/grun.py1
l---------src/org.gluster.storage.management.gateway/WebContent/scripts/multicast-discover-servers.py1
l---------src/org.gluster.storage.management.gateway/WebContent/scripts/remove_server_volume_cifs_config.py1
l---------src/org.gluster.storage.management.gateway/WebContent/scripts/setup_cifs_config_all.py1
l---------src/org.gluster.storage.management.gateway/WebContent/scripts/update_volume_cifs_all.py1
-rw-r--r--src/org.gluster.storage.management.gateway/WebContent/ssl/gmg-ssl.keystore (renamed from src/com.gluster.storage.management.server/WebContent/ssl/gmg-ssl.keystore)bin1380 -> 1380 bytes-rw-r--r--src/org.gluster.storage.management.gateway/buckminster.cspex (renamed from src/com.gluster.storage.management.server/buckminster.cspex)2
-rw-r--r--src/org.gluster.storage.management.gateway/build/glustermg.ant (renamed from src/com.gluster.storage.management.server/build/glusterserver.ant)14
-rw-r--r--src/org.gluster.storage.management.gateway/src/META-INF/persistence.xml23
-rw-r--r--src/org.gluster.storage.management.gateway/src/log4j.properties38
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/data/ClusterInfo.java (renamed from src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/data/ClusterInfo.java)31
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/data/GlusterDataSource.java46
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/data/PersistenceDao.java (renamed from src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/data/PersistenceDao.java)33
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/data/ServerInfo.java (renamed from src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/data/ServerInfo.java)30
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/filters/AuditFilter.java66
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/filters/AuthenticationFailureFilter.java (renamed from src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/filters/AuthenticationFailureFilter.java)30
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/filters/GlusterResourceFilterFactory.java49
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/listeners/ShutdownListener.java48
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/resources/v1_0/AbstractResource.java (renamed from src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/AbstractResource.java)54
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/resources/v1_0/ClustersResource.java (renamed from src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/ClustersResource.java)50
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/resources/v1_0/DiscoveredServersResource.java101
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/resources/v1_0/GenericExceptionMapper.java59
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/resources/v1_0/GlusterServersResource.java343
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/resources/v1_0/KeysResource.java152
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/resources/v1_0/TasksResource.java225
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/resources/v1_0/UsersResource.java124
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/resources/v1_0/VolumesResource.java381
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/security/GlusterUserDetailsService.java29
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/security/UserAuthDao.java55
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/services/AbstractGlusterInterface.java38
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/services/ClusterService.java (renamed from src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/services/ClusterService.java)70
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/services/DiscoveredServerService.java130
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/services/Gluster323InterfaceService.java598
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/services/GlusterInterface.java387
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/services/GlusterInterfaceService.java254
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/services/GlusterServerService.java530
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/services/VolumeService.java984
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/tasks/InitServerTask.java (renamed from src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/InitServerTask.java)82
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/tasks/InitializeDiskTask.java196
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/tasks/MigrateBrickTask.java220
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/tasks/RebalanceVolumeTask.java141
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/tasks/ServerSyncTask.java165
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/tasks/Task.java (renamed from src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/Task.java)43
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/utils/AbstractStatsFactory.java162
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/utils/CpuStatsFactory.java36
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/utils/DBUtil.java84
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/utils/MemoryStatsFactory.java68
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/utils/NetworkStatsFactory.java173
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/utils/PasswordManager.java83
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/utils/ServerUtil.java374
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/utils/SshUtil.java (renamed from src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/SshUtil.java)273
-rw-r--r--src/org.gluster.storage.management.gateway/src/org/gluster/storage/management/gateway/utils/StatsFactory.java32
-rw-r--r--src/org.gluster.storage.management.gateway/src/rebel.xml35
-rw-r--r--src/org.gluster.storage.management.gateway/src/spring/gluster-server-base.xml (renamed from src/com.gluster.storage.management.server/src/spring/gluster-server-base.xml)58
-rw-r--r--src/org.gluster.storage.management.gateway/src/spring/gluster-server-security.xml (renamed from src/com.gluster.storage.management.server/src/spring/gluster-server-security.xml)37
1028 files changed, 127035 insertions, 23603 deletions
diff --git a/src/com.gluster.storage.management.client/build.properties b/src/com.gluster.storage.management.client/build.properties
deleted file mode 100644
index bc0c59d7..00000000
--- a/src/com.gluster.storage.management.client/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = .,\
- META-INF/,\
- lib/,\
- keystore/,\
- lib/jersey-1.5/jersey-multipart-1.5.jar
-src.includes = src/,\
- lib/,\
- keystore/,\
- build.properties,\
- .project,\
- .classpath,\
- .settings/,\
- META-INF/
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java
deleted file mode 100644
index 8be5beac..00000000
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/GlusterServersClient.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*******************************************************************************
-* Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.client;
-
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_CLUSTERS;
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_SERVERS;
-
-import java.net.URI;
-import java.util.List;
-
-import javax.ws.rs.core.MultivaluedMap;
-
-import com.gluster.storage.management.core.constants.RESTConstants;
-import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.core.model.Server;
-import com.gluster.storage.management.core.model.ServerStats;
-import com.gluster.storage.management.core.model.ServerStatsRow;
-import com.gluster.storage.management.core.response.GlusterServerListResponse;
-import com.gluster.storage.management.core.utils.GlusterCoreUtil;
-import com.sun.jersey.api.representation.Form;
-import com.sun.jersey.core.util.MultivaluedMapImpl;
-
-public class GlusterServersClient extends AbstractClient {
-
- public GlusterServersClient() {
- super();
- }
-
- public GlusterServersClient(String clusterName) {
- super(clusterName);
- }
-
- public GlusterServersClient(String securityToken, String clusterName) {
- super(securityToken, clusterName);
- }
-
- @Override
- public String getResourcePath() {
- return RESOURCE_PATH_CLUSTERS + "/" + clusterName + "/" + RESOURCE_SERVERS;
- }
-
- public List<GlusterServer> getServers() {
- List<GlusterServer> servers = ((GlusterServerListResponse) fetchResource(GlusterServerListResponse.class)).getServers();
- for(GlusterServer server : servers) {
- GlusterCoreUtil.updateServerNameOnDevices(server);
- }
- return servers;
- }
-
- public GlusterServer getGlusterServer(String serverName) {
- GlusterServer server = (GlusterServer) fetchSubResource(serverName, GlusterServer.class);
- GlusterCoreUtil.updateServerNameOnDevices(server);
- return server;
- }
-
- public void addServer(String serverName) {
- Form form = new Form();
- form.add(RESTConstants.FORM_PARAM_SERVER_NAME, serverName);
- postRequest(form);
- }
-
- public URI initializeDisk(String serverName, String diskName, String fsType) {
- Form form = new Form();
- form.add(RESTConstants.FORM_PARAM_FSTYPE, fsType);
- return putRequestURI(serverName + "/" + RESTConstants.RESOURCE_DISKS + "/" + diskName, form);
- }
-
- public void removeServer(String serverName) {
- deleteSubResource(serverName);
- }
-
- public ServerStats getCPUStats(String serverName) {
- MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
- queryParams.add(RESTConstants.QUERY_PARAM_TYPE, RESTConstants.STATISTICS_TYPE_CPU);
- return fetchSubResource(serverName + "/" + RESTConstants.RESOURCE_STATISTICS, queryParams, ServerStats.class);
- }
-
- public ServerStats getAggregatedCPUStats() {
- MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
- queryParams.add(RESTConstants.QUERY_PARAM_TYPE, RESTConstants.STATISTICS_TYPE_CPU);
- return fetchSubResource(RESTConstants.RESOURCE_STATISTICS, queryParams, ServerStats.class);
- }
-}
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/constants/ClientConstants.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/constants/ClientConstants.java
deleted file mode 100644
index 765735fb..00000000
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/constants/ClientConstants.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/**
- * ClientConstants.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.client.constants;
-
-/**
- *
- */
-public class ClientConstants {
- public static final String SYS_PROP_SERVER_URL = "gluster.server.url";
- public static final String DEFAULT_SERVER_URL = "https://localhost:8443/glustermg/linux.gtk.x86_64";
- public static final String CONTEXT_ROOT = "glustermg";
- public static final String REST_API_VERSION = "1.0";
-
- // SSL related
- public static final String TRUSTED_KEYSTORE = "gmc-trusted.keystore";
- public static final String TRUSTED_KEYSTORE_ACCESS = "gluster";
- public static final String PROTOCOL_TLS = "TLS";
- public static final String ALGORITHM_SUNX509 = "SunX509";
- public static final String KEYSTORE_TYPE_JKS = "JKS";
-}
-
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/utils/ClientUtil.java b/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/utils/ClientUtil.java
deleted file mode 100644
index 3f87fd27..00000000
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/utils/ClientUtil.java
+++ /dev/null
@@ -1,20 +0,0 @@
-package com.gluster.storage.management.client.utils;
-
-import java.net.URI;
-
-import javax.ws.rs.core.UriBuilder;
-
-import com.gluster.storage.management.client.constants.ClientConstants;
-
-public class ClientUtil {
-
- public static URI getServerBaseURI() {
- return UriBuilder.fromUri(getBaseURL()).path(ClientConstants.REST_API_VERSION).build();
- }
-
- private static String getBaseURL() {
- // remove the platform path (e.g. /linux.gtk.x86_64) from the URL
- return System.getProperty(ClientConstants.SYS_PROP_SERVER_URL, ClientConstants.DEFAULT_SERVER_URL)
- .replaceAll(ClientConstants.CONTEXT_ROOT + "\\/.*", ClientConstants.CONTEXT_ROOT + "\\/");
- }
-}
diff --git a/src/com.gluster.storage.management.console.help/META-INF/MANIFEST.MF b/src/com.gluster.storage.management.console.help/META-INF/MANIFEST.MF
deleted file mode 100644
index 2bfb3270..00000000
--- a/src/com.gluster.storage.management.console.help/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,8 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Gluster Management Console - Help
-Bundle-SymbolicName: com.gluster.storage.management.console.help; singleton:=true
-Bundle-Version: 1.0.0
-Bundle-Vendor: GLUSTER
-Require-Bundle: org.eclipse.help.ui;bundle-version="3.5.2",
- org.eclipse.help.webapp;bundle-version="3.5.2"
diff --git a/src/com.gluster.storage.management.console.help/build.properties b/src/com.gluster.storage.management.console.help/build.properties
deleted file mode 100644
index 3c05d072..00000000
--- a/src/com.gluster.storage.management.console.help/build.properties
+++ /dev/null
@@ -1,4 +0,0 @@
-bin.includes = plugin.xml,\
- META-INF/,\
- html/,\
- *.xml
diff --git a/src/com.gluster.storage.management.console.help/html/help_home.html b/src/com.gluster.storage.management.console.help/html/help_home.html
deleted file mode 100644
index cfd6489d..00000000
--- a/src/com.gluster.storage.management.console.help/html/help_home.html
+++ /dev/null
@@ -1,10 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Gluster Management Console</title>
-</head>
-<body>
-Gluster Management Console Help Home Page
-</body>
-</html> \ No newline at end of file
diff --git a/src/com.gluster.storage.management.console.help/html/toc.html b/src/com.gluster.storage.management.console.help/html/toc.html
deleted file mode 100644
index 326f0a9f..00000000
--- a/src/com.gluster.storage.management.console.help/html/toc.html
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Table of Contents</title>
-</head>
-
-<body>
-<h1>Table of Contents</h1>
-Please enter your text here.
-</body>
-</html> \ No newline at end of file
diff --git a/src/com.gluster.storage.management.console.help/plugin.xml b/src/com.gluster.storage.management.console.help/plugin.xml
deleted file mode 100644
index 0b62d954..00000000
--- a/src/com.gluster.storage.management.console.help/plugin.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-
- <extension
- point="org.eclipse.help.toc">
- <toc
- file="toc.xml"
- primary="true">
- </toc>
- <toc
- file="tocconcepts.xml">
- </toc>
- <toc
- file="tocgettingstarted.xml">
- </toc>
- <toc
- file="tocreference.xml">
- </toc>
- <toc
- file="toctasks.xml">
- </toc>
- </extension>
-
-</plugin>
diff --git a/src/com.gluster.storage.management.console.help/toc.xml b/src/com.gluster.storage.management.console.help/toc.xml
deleted file mode 100644
index 963995c6..00000000
--- a/src/com.gluster.storage.management.console.help/toc.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Gluster Management Console - Help" topic="html/toc.html">
- <topic label="Getting Started">
- <anchor id="gettingstarted"/>
- </topic>
- <topic label="Concepts">
- <anchor id="concepts"/>
- </topic>
- <topic label="Tasks">
- <anchor id="tasks"/>
- </topic>
- <topic label="Reference">
- <anchor id="reference"/>
- </topic>
-</toc>
diff --git a/src/com.gluster.storage.management.console.help/tocconcepts.xml b/src/com.gluster.storage.management.console.help/tocconcepts.xml
deleted file mode 100644
index d01f925e..00000000
--- a/src/com.gluster.storage.management.console.help/tocconcepts.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Concepts" link_to="toc.xml#concepts">
- <topic label="Main Topic" href="html/concepts/maintopic.html">
- <topic label="Sub Topic" href="html/concepts/subtopic.html" />
- </topic>
- <topic label="Main Topic 2">
- <topic label="Sub Topic 2" href="html/concepts/subtopic2.html" />
- </topic>
-</toc>
diff --git a/src/com.gluster.storage.management.console.help/tocgettingstarted.xml b/src/com.gluster.storage.management.console.help/tocgettingstarted.xml
deleted file mode 100644
index 38f27e0b..00000000
--- a/src/com.gluster.storage.management.console.help/tocgettingstarted.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Getting Started" link_to="toc.xml#gettingstarted">
- <topic label="Main Topic" href="html/gettingstarted/maintopic.html">
- <topic label="Sub Topic" href="html/gettingstarted/subtopic.html" />
- </topic>
- <topic label="Main Topic 2">
- <topic label="Sub Topic 2" href="html/gettingstarted/subtopic2.html" />
- </topic>
-</toc>
diff --git a/src/com.gluster.storage.management.console.help/tocreference.xml b/src/com.gluster.storage.management.console.help/tocreference.xml
deleted file mode 100644
index 660cdecc..00000000
--- a/src/com.gluster.storage.management.console.help/tocreference.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Reference" link_to="toc.xml#reference">
- <topic label="Main Topic" href="html/reference/maintopic.html">
- <topic label="Sub Topic" href="html/reference/subtopic.html" />
- </topic>
- <topic label="Main Topic 2">
- <topic label="Sub Topic 2" href="html/reference/subtopic2.html" />
- </topic>
-</toc>
diff --git a/src/com.gluster.storage.management.console.help/toctasks.xml b/src/com.gluster.storage.management.console.help/toctasks.xml
deleted file mode 100644
index c96b94bb..00000000
--- a/src/com.gluster.storage.management.console.help/toctasks.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?NLS TYPE="org.eclipse.help.toc"?>
-
-<toc label="Tasks" link_to="toc.xml#tasks">
- <topic label="Main Topic" href="html/tasks/maintopic.html">
- <topic label="Sub Topic" href="html/tasks/subtopic.html" />
- </topic>
- <topic label="Main Topic 2">
- <topic label="Sub Topic 2" href="html/tasks/subtopic2.html" />
- </topic>
-</toc>
diff --git a/src/com.gluster.storage.management.core/META-INF/MANIFEST.MF b/src/com.gluster.storage.management.core/META-INF/MANIFEST.MF
deleted file mode 100644
index fae660fb..00000000
--- a/src/com.gluster.storage.management.core/META-INF/MANIFEST.MF
+++ /dev/null
@@ -1,16 +0,0 @@
-Manifest-Version: 1.0
-Bundle-ManifestVersion: 2
-Bundle-Name: Gluster Storage Platform Core
-Bundle-SymbolicName: com.gluster.storage.management.core
-Bundle-Version: 1.0.0
-Bundle-Vendor: GLUSTER
-Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Export-Package: com.gluster.storage.management.core.constants,
- com.gluster.storage.management.core.exceptions,
- com.gluster.storage.management.core.model,
- com.gluster.storage.management.core.response,
- com.gluster.storage.management.core.utils,
- org.apache.log4j
-Require-Bundle: org.eclipse.core.runtime;bundle-version="3.6.0"
-Bundle-ClassPath: lib/log4j-1.2.16.jar,
- .
diff --git a/src/com.gluster.storage.management.core/build.properties b/src/com.gluster.storage.management.core/build.properties
deleted file mode 100644
index 89d32a46..00000000
--- a/src/com.gluster.storage.management.core/build.properties
+++ /dev/null
@@ -1,7 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- lib/
-src.includes = lib/,\
- src/
diff --git a/src/com.gluster.storage.management.core/junit/com/gluster/storage/management/core/utils/TestFileUtil.java b/src/com.gluster.storage.management.core/junit/com/gluster/storage/management/core/utils/TestFileUtil.java
deleted file mode 100644
index 699346f7..00000000
--- a/src/com.gluster.storage.management.core/junit/com/gluster/storage/management/core/utils/TestFileUtil.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/**
- * TestFileUtil.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.core.utils;
-
-import static org.junit.Assert.assertTrue;
-
-import java.io.BufferedOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.InputStream;
-import java.io.OutputStreamWriter;
-
-import org.junit.After;
-import org.junit.Assert;
-import org.junit.Before;
-import org.junit.Test;
-
-public class TestFileUtil {
- private String testFileName;
- private String fileContent;
- private FileUtil fileUtil;
-
- /**
- * @throws java.lang.Exception
- */
- @Before
- public void setUp() throws Exception {
- testFileName = "testFileUtil.txt";
- fileContent = "Testing FileUtil class.";
- fileUtil = new FileUtil();
-
- BufferedOutputStream outStream = new BufferedOutputStream(new FileOutputStream(testFileName));
- OutputStreamWriter writer = new OutputStreamWriter(outStream);
- writer.write(fileContent);
- writer.close();
- outStream.close();
- }
-
- /**
- * @throws java.lang.Exception
- */
- @After
- public void tearDown() throws Exception {
- File testFile = new File(testFileName);
- testFile.delete();
- }
-
- /**
- * Test method for {@link com.gluster.storage.management.core.utils.FileUtil#readFileAsString(java.io.File)}.
- */
- @Test
- public final void testReadFileAsString() {
- String readContent = fileUtil.readFileAsString(new File(testFileName));
- assertTrue("File contents expected [" + fileContent + "], actual [" + readContent + "]",
- readContent.equals(fileContent));
- }
-}
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/constants/GlusterConstants.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/constants/GlusterConstants.java
deleted file mode 100644
index b87d38f5..00000000
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/constants/GlusterConstants.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.core.constants;
-
-import java.util.List;
-
-import com.gluster.storage.management.core.utils.StringUtil;
-
-/**
- *
- */
-public class GlusterConstants {
- public enum VOLUME_LOG_LEVELS {
- EMERGENCY, ALERT, CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG, TRACE
- };
-
- public static final List<String> VOLUME_LOG_LEVELS_ARR = StringUtil.enumToArray(VOLUME_LOG_LEVELS.values());
- public static final String FSTYPE_DEFAULT = "default";
- public static final String FSTYPE_EXT_3 = "ext3";
- public static final String FSTYPE_EXT_4 = "ext4";
- public static final String FSTYPE_XFS = "xfs";
-}
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/exceptions/GlusterValidationException.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/exceptions/GlusterValidationException.java
deleted file mode 100644
index ca5e01f8..00000000
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/exceptions/GlusterValidationException.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.core.exceptions;
-
-public class GlusterValidationException extends GlusterRuntimeException {
- private static final long serialVersionUID = 1L;
-
- public GlusterValidationException(String message) {
- super(message);
- }
-}
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/AbstractResponse.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/AbstractResponse.java
deleted file mode 100644
index 9a6a48f5..00000000
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/AbstractResponse.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.core.response;
-
-import com.gluster.storage.management.core.model.Response;
-import com.gluster.storage.management.core.model.Status;
-
-public abstract class AbstractResponse implements Response {
- private Status status;
-
- @Override
- public Status getStatus() {
- return status;
- }
-
- public void setStatus(Status status) {
- this.status = status;
- }
-} \ No newline at end of file
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GenericResponse.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GenericResponse.java
deleted file mode 100644
index 6c8e87b5..00000000
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GenericResponse.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
- * GenericServerResponse.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.core.response;
-
-import javax.xml.bind.annotation.XmlRootElement;
-
-import com.gluster.storage.management.core.model.Status;
-
-@XmlRootElement(name = "response")
-public class GenericResponse<T> extends AbstractResponse {
- private T data;
- private Status status;
-
- @Override
- public Status getStatus() {
- return status;
- }
-
- public void setStatus(Status status) {
- this.status = status;
- }
-
- public GenericResponse(Status status, T data) {
- setStatus(status);
- this.data = data;
- }
-
- public GenericResponse() {
- }
-
- @Override
- public T getData() {
- return data;
- }
-
- public void setData(T data) {
- this.data = data;
- }
-
-}
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GlusterServerListResponse.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GlusterServerListResponse.java
deleted file mode 100644
index f375905c..00000000
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GlusterServerListResponse.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * GlusterServerListResponse.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.core.response;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-
-import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.core.model.Status;
-
-/**
- *
- */
-@XmlRootElement(name = "servers")
-public class GlusterServerListResponse {
- private List<GlusterServer> servers = new ArrayList<GlusterServer>();
-
- public GlusterServerListResponse() {
- }
-
- public GlusterServerListResponse(List<GlusterServer> servers) {
- setServers(servers);
- }
-
- @XmlElement(name = "server", type=GlusterServer.class)
- public List<GlusterServer> getServers() {
- return servers;
- }
-
- public void setServers(List<GlusterServer> servers) {
- this.servers = servers;
- }
-}
-
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GlusterServerResponse.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GlusterServerResponse.java
deleted file mode 100644
index 7af9b240..00000000
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/GlusterServerResponse.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.gluster.storage.management.core.response;
-
-import javax.xml.bind.annotation.XmlRootElement;
-import javax.xml.bind.annotation.XmlTransient;
-
-import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.core.model.Status;
-
-@XmlRootElement(name = "response")
-public class GlusterServerResponse extends AbstractResponse {
- private GlusterServer glusterServer;
-
- public GlusterServerResponse() {
- }
-
- public GlusterServerResponse(Status status, GlusterServer server) {
- setStatus(status);
- setGlusterServer(server);
- }
-
- public GlusterServer getGlusterServer() {
- return glusterServer;
- }
-
- public void setGlusterServer(GlusterServer glusterServer) {
- this.glusterServer = glusterServer;
- }
-
- @XmlTransient
- @Override
- public GlusterServer getData() {
- return getGlusterServer();
- }
-
-}
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/LogMessageListResponse.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/LogMessageListResponse.java
deleted file mode 100644
index 8c362fa9..00000000
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/LogMessageListResponse.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/**
- *
- */
-package com.gluster.storage.management.core.response;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import com.gluster.storage.management.core.model.VolumeLogMessage;
-
-@XmlRootElement(name = "logMessages")
-public class LogMessageListResponse {
- private List<VolumeLogMessage> logMessages = new ArrayList<VolumeLogMessage>();
-
- public LogMessageListResponse() {
- }
-
- public LogMessageListResponse(List<VolumeLogMessage> logMessages) {
- setLogMessages(logMessages);
- }
-
- @XmlElement(name = "logMessage", type = VolumeLogMessage.class)
- public List<VolumeLogMessage> getLogMessages() {
- return logMessages;
- }
-
- public void setLogMessages(List<VolumeLogMessage> logMessages) {
- this.logMessages = logMessages;
- }
-}
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/TaskResponse.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/TaskResponse.java
deleted file mode 100755
index a11c9903..00000000
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/TaskResponse.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/**
- * TaskInfoResponse.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.core.response;
-
-import javax.xml.bind.annotation.XmlRootElement;
-
-import com.gluster.storage.management.core.model.Status;
-import com.gluster.storage.management.core.model.TaskInfo;
-
-@XmlRootElement(name = "response")
-public class TaskResponse extends AbstractResponse {
- private TaskInfo taskInfo;
- private Status status;
-
- public TaskResponse() {
- }
-
- public Status getStatus() {
- return status;
- }
-
- public void setStatus(Status status) {
- this.status = status;
- }
-
- public void setData(TaskInfo taskInfo) {
- this.taskInfo = taskInfo;
- }
-
- @Override
- public TaskInfo getData() {
- return taskInfo;
- }
-}
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/VolumeListResponse.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/VolumeListResponse.java
deleted file mode 100644
index 6518f0d5..00000000
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/response/VolumeListResponse.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.gluster.storage.management.core.response;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlRootElement;
-
-import com.gluster.storage.management.core.model.Volume;
-
-@XmlRootElement(name = "volumes")
-public class VolumeListResponse {
- private List<Volume> volumes = new ArrayList<Volume>();
-
- public VolumeListResponse() {
-
- }
-
- public VolumeListResponse(List<Volume> volumes) {
- setVolumes(volumes);
- }
-
- @XmlElement(name = "volume", type = Volume.class)
- public List<Volume> getVolumes() {
- return this.volumes;
- }
-
- public void setVolumes(List<Volume> volumes) {
- this.volumes = volumes;
- }
-}
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/GlusterCoreUtil.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/GlusterCoreUtil.java
deleted file mode 100644
index 7b1eec36..00000000
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/GlusterCoreUtil.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/**
- * GlusterCoreUtil.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.core.utils;
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import com.gluster.storage.management.core.model.Brick;
-import com.gluster.storage.management.core.model.Disk;
-import com.gluster.storage.management.core.model.Entity;
-import com.gluster.storage.management.core.model.Partition;
-import com.gluster.storage.management.core.model.Server;
-
-
-public class GlusterCoreUtil {
- // Convert from Disk list to Qualified disk name list
- public static final List<String> getQualifiedDiskNames(List<Disk> diskList) {
- List<String> qualifiedDiskNames = new ArrayList<String>();
- for (Disk disk : diskList) {
- qualifiedDiskNames.add(disk.getQualifiedName());
- }
- return qualifiedDiskNames;
- }
-
- public static final List<String> getQualifiedBrickList(Set<Brick> bricks) {
- List<String> qualifiedBricks = new ArrayList<String>();
- for (Brick brick : bricks) {
- qualifiedBricks.add(brick.getQualifiedName());
- }
- return qualifiedBricks;
- }
-
- /**
- * Compares the two entity lists and returns the list of entities from first list that have been modified in the second
- *
- * @param oldEntities
- * @param newEntities
- * @return List of entities that have been modified
- */
- public static <T extends Entity> Map<T, T> getModifiedEntities(List<T> oldEntities, List<T> newEntities) {
- Map<T, T> modifiedEntities = new HashMap<T, T>();
- for (T oldEntity : oldEntities) {
- T newEntity = getEntity(newEntities, oldEntity.getName(), false);
- if(newEntity != null && !oldEntity.equals(newEntity)) {
- // old and new entities differ. mark it as modified.
- modifiedEntities.put(oldEntity, newEntity);
- }
- }
- return modifiedEntities;
- }
-
- /**
- * Compares the two entity lists and returns the list of entities present only in the second argument
- * <code>newEntities</code>
- *
- * @param oldEntities
- * @param newEntities
- * @param caseInsensitive If true, the entity name comparison will be done in case insensitive manner
- * @return List of entities that are present only in the second argument <code>newEntities</code>
- */
- public static <T extends Entity> Set<T> getAddedEntities(List<T> oldEntities, List<T> newEntities,
- boolean caseInsensitive) {
- Set<T> addedEntities = new HashSet<T>();
- for (T newEntity : newEntities) {
- if (!containsEntity(oldEntities, newEntity, caseInsensitive)) {
- // old entity list doesn't contain this entity. mark it as new.
- addedEntities.add(newEntity);
- }
- }
- return addedEntities;
- }
-
- public static <T extends Entity> boolean containsEntity(List<T> entityList, Entity searchEntity,
- boolean caseInsensitive) {
- return getEntity(entityList, searchEntity.getName(), caseInsensitive) != null;
- }
-
- public static <T extends Entity> T getEntity(Collection<T> entityList, String searchEntityName, boolean caseInsensitive) {
- if (caseInsensitive) {
- searchEntityName = searchEntityName.toUpperCase();
- }
-
- for (T entity : entityList) {
- String nextEntityName = entity.getName();
- if (caseInsensitive) {
- nextEntityName = nextEntityName.toUpperCase();
- }
- if (nextEntityName.equals(searchEntityName)) {
- return entity;
- }
- }
-
- return null;
- }
-
- public static void updateServerNameOnDevices(Server server) {
- String serverName = server.getName();
- for(Disk disk : server.getDisks()) {
- disk.setServerName(serverName);
-
- if (disk.getRaidDisks() != null) {
- for (Disk raidDisk : disk.getRaidDisks()) {
- raidDisk.setServerName(serverName);
- }
- }
-
- if (disk.getPartitions() != null) {
- for (Partition partition : disk.getPartitions()) {
- partition.setServerName(serverName);
- }
- }
- }
- // TODO: do the same for raid disks and/or partitions whenever we start supporting them
- }
-}
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/MD5.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/MD5.java
deleted file mode 100644
index e0daaf81..00000000
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/MD5.java
+++ /dev/null
@@ -1,504 +0,0 @@
-/*
- * MD5 in Java JDK Beta-2
- * written Santeri Paavolainen, Helsinki Finland 1996
- * (c) Santeri Paavolainen, Helsinki Finland 1996
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- *
- * See http://www.cs.hut.fi/~santtu/java/ for more information on this
- * class.
- *
- * This is rather straight re-implementation of the reference implementation
- * given in RFC1321 by RSA.
- *
- * Passes MD5 test suite as defined in RFC1321.
- *
- *
- * This Java class has been derivedfrom the RSA Data Security, Inc. MD5
- * Message-Digest Algorithm and its reference implementation.
- *
- *
- * $Log: MD5.java,v $
- * Revision 1.1 2004/07/12 13:35:20 aubryp
- * initial commit
- *
- * Revision 1.3 2002/03/16 01:46:39 broccol
- * Moved the MD5 classes into the md5 package to make 1.4 javac happy
- *
- * Revision 1.2 1999/11/04 21:38:00 broccol
- * Got MD5Crypt calculating the same hash as the OpenBSD md5crypt.c routine.
- *
- * Revision 1.1 1999/08/05 22:07:03 broccol
- * Added support for the MD5 classes.
- *
- * Revision 1.3 1996/04/15 07:28:09 santtu
- * Added GPL statements, and RSA derivate statements.
- *
- * Revision 1.2 1996/03/04 08:05:48 santtu
- * Added offsets to Update method
- *
- * Revision 1.1 1996/01/07 20:51:59 santtu
- * Initial revision
- *
- */
-package com.gluster.storage.management.core.utils;
-
-/**
- * Contains internal state of the MD5 class
- *
- * @author Santeri Paavolainen <sjpaavol@cc.helsinki.fi>
- */
-
-class MD5State {
- /**
- * 128-byte state
- */
- int state[];
-
- /**
- * 64-bit character count (could be true Java long?)
- */
- int count[];
-
- /**
- * 64-byte buffer (512 bits) for storing to-be-hashed characters
- */
- byte buffer[];
-
- public MD5State() {
- buffer = new byte[64];
- count = new int[2];
- state = new int[4];
-
- state[0] = 0x67452301;
- state[1] = 0xefcdab89;
- state[2] = 0x98badcfe;
- state[3] = 0x10325476;
-
- count[0] = count[1] = 0;
- }
-
- /** Create this State as a copy of another state */
- public MD5State(MD5State from) {
- this ();
-
- int i;
-
- for (i = 0; i < buffer.length; i++)
- this .buffer[i] = from.buffer[i];
-
- for (i = 0; i < state.length; i++)
- this .state[i] = from.state[i];
-
- for (i = 0; i < count.length; i++)
- this .count[i] = from.count[i];
- }
-};
-
-/**
- * Implementation of RSA's MD5 hash generator
- *
- * @version $Revision: 1.1 $
- * @author Santeri Paavolainen <sjpaavol@cc.helsinki.fi>
- */
-
-public class MD5 {
- /**
- * MD5 state
- */
- MD5State state;
-
- /**
- * If Final() has been called, finals is set to the current finals
- * state. Any Update() causes this to be set to null.
- */
- MD5State finals;
-
- /**
- * Padding for Final()
- */
- static byte padding[] = { (byte) 0x80, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
-
- /**
- * Initialize MD5 internal state (object can be reused just by
- * calling Init() after every Final()
- */
- public synchronized void Init() {
- state = new MD5State();
- finals = null;
- }
-
- /**
- * Class constructor
- */
- public MD5() {
- this .Init();
- }
-
- /**
- * Initialize class, and update hash with ob.toString()
- *
- * @param ob Object, ob.toString() is used to update hash
- * after initialization
- */
- public MD5(Object ob) {
- this ();
- Update(ob.toString());
- }
-
- public String debugDump() {
- return asHex();
- }
-
- private int rotate_left(int x, int n) {
- return (x << n) | (x >>> (32 - n));
- }
-
- /* I wonder how many loops and hoops you'll have to go through to
- get unsigned add for longs in java */
-
- private int uadd(int a, int b) {
- long aa, bb;
- aa = ((long) a) & 0xffffffffL;
- bb = ((long) b) & 0xffffffffL;
-
- aa += bb;
-
- return (int) (aa & 0xffffffffL);
- }
-
- private int uadd(int a, int b, int c) {
- return uadd(uadd(a, b), c);
- }
-
- private int uadd(int a, int b, int c, int d) {
- return uadd(uadd(a, b, c), d);
- }
-
- private int FF(int a, int b, int c, int d, int x, int s, int ac) {
- a = uadd(a, ((b & c) | (~b & d)), x, ac);
- return uadd(rotate_left(a, s), b);
- }
-
- private int GG(int a, int b, int c, int d, int x, int s, int ac) {
- a = uadd(a, ((b & d) | (c & ~d)), x, ac);
- return uadd(rotate_left(a, s), b);
- }
-
- private int HH(int a, int b, int c, int d, int x, int s, int ac) {
- a = uadd(a, (b ^ c ^ d), x, ac);
- return uadd(rotate_left(a, s), b);
- }
-
- private int II(int a, int b, int c, int d, int x, int s, int ac) {
- a = uadd(a, (c ^ (b | ~d)), x, ac);
- return uadd(rotate_left(a, s), b);
- }
-
- private int[] Decode(byte buffer[], int len, int shift) {
- int out[];
- int i, j;
-
- out = new int[16];
-
- for (i = j = 0; j < len; i++, j += 4) {
- out[i] = ((int) (buffer[j + shift] & 0xff))
- | (((int) (buffer[j + 1 + shift] & 0xff)) << 8)
- | (((int) (buffer[j + 2 + shift] & 0xff)) << 16)
- | (((int) (buffer[j + 3 + shift] & 0xff)) << 24);
- }
-
- return out;
- }
-
- private void Transform(MD5State state, byte buffer[], int shift) {
- int a = state.state[0], b = state.state[1], c = state.state[2], d = state.state[3], x[];
-
- x = Decode(buffer, 64, shift);
-
- /* Round 1 */
- a = FF(a, b, c, d, x[0], 7, 0xd76aa478); /* 1 */
- d = FF(d, a, b, c, x[1], 12, 0xe8c7b756); /* 2 */
- c = FF(c, d, a, b, x[2], 17, 0x242070db); /* 3 */
- b = FF(b, c, d, a, x[3], 22, 0xc1bdceee); /* 4 */
- a = FF(a, b, c, d, x[4], 7, 0xf57c0faf); /* 5 */
- d = FF(d, a, b, c, x[5], 12, 0x4787c62a); /* 6 */
- c = FF(c, d, a, b, x[6], 17, 0xa8304613); /* 7 */
- b = FF(b, c, d, a, x[7], 22, 0xfd469501); /* 8 */
- a = FF(a, b, c, d, x[8], 7, 0x698098d8); /* 9 */
- d = FF(d, a, b, c, x[9], 12, 0x8b44f7af); /* 10 */
- c = FF(c, d, a, b, x[10], 17, 0xffff5bb1); /* 11 */
- b = FF(b, c, d, a, x[11], 22, 0x895cd7be); /* 12 */
- a = FF(a, b, c, d, x[12], 7, 0x6b901122); /* 13 */
- d = FF(d, a, b, c, x[13], 12, 0xfd987193); /* 14 */
- c = FF(c, d, a, b, x[14], 17, 0xa679438e); /* 15 */
- b = FF(b, c, d, a, x[15], 22, 0x49b40821); /* 16 */
-
- /* Round 2 */
- a = GG(a, b, c, d, x[1], 5, 0xf61e2562); /* 17 */
- d = GG(d, a, b, c, x[6], 9, 0xc040b340); /* 18 */
- c = GG(c, d, a, b, x[11], 14, 0x265e5a51); /* 19 */
- b = GG(b, c, d, a, x[0], 20, 0xe9b6c7aa); /* 20 */
- a = GG(a, b, c, d, x[5], 5, 0xd62f105d); /* 21 */
- d = GG(d, a, b, c, x[10], 9, 0x2441453); /* 22 */
- c = GG(c, d, a, b, x[15], 14, 0xd8a1e681); /* 23 */
- b = GG(b, c, d, a, x[4], 20, 0xe7d3fbc8); /* 24 */
- a = GG(a, b, c, d, x[9], 5, 0x21e1cde6); /* 25 */
- d = GG(d, a, b, c, x[14], 9, 0xc33707d6); /* 26 */
- c = GG(c, d, a, b, x[3], 14, 0xf4d50d87); /* 27 */
- b = GG(b, c, d, a, x[8], 20, 0x455a14ed); /* 28 */
- a = GG(a, b, c, d, x[13], 5, 0xa9e3e905); /* 29 */
- d = GG(d, a, b, c, x[2], 9, 0xfcefa3f8); /* 30 */
- c = GG(c, d, a, b, x[7], 14, 0x676f02d9); /* 31 */
- b = GG(b, c, d, a, x[12], 20, 0x8d2a4c8a); /* 32 */
-
- /* Round 3 */
- a = HH(a, b, c, d, x[5], 4, 0xfffa3942); /* 33 */
- d = HH(d, a, b, c, x[8], 11, 0x8771f681); /* 34 */
- c = HH(c, d, a, b, x[11], 16, 0x6d9d6122); /* 35 */
- b = HH(b, c, d, a, x[14], 23, 0xfde5380c); /* 36 */
- a = HH(a, b, c, d, x[1], 4, 0xa4beea44); /* 37 */
- d = HH(d, a, b, c, x[4], 11, 0x4bdecfa9); /* 38 */
- c = HH(c, d, a, b, x[7], 16, 0xf6bb4b60); /* 39 */
- b = HH(b, c, d, a, x[10], 23, 0xbebfbc70); /* 40 */
- a = HH(a, b, c, d, x[13], 4, 0x289b7ec6); /* 41 */
- d = HH(d, a, b, c, x[0], 11, 0xeaa127fa); /* 42 */
- c = HH(c, d, a, b, x[3], 16, 0xd4ef3085); /* 43 */
- b = HH(b, c, d, a, x[6], 23, 0x4881d05); /* 44 */
- a = HH(a, b, c, d, x[9], 4, 0xd9d4d039); /* 45 */
- d = HH(d, a, b, c, x[12], 11, 0xe6db99e5); /* 46 */
- c = HH(c, d, a, b, x[15], 16, 0x1fa27cf8); /* 47 */
- b = HH(b, c, d, a, x[2], 23, 0xc4ac5665); /* 48 */
-
- /* Round 4 */
- a = II(a, b, c, d, x[0], 6, 0xf4292244); /* 49 */
- d = II(d, a, b, c, x[7], 10, 0x432aff97); /* 50 */
- c = II(c, d, a, b, x[14], 15, 0xab9423a7); /* 51 */
- b = II(b, c, d, a, x[5], 21, 0xfc93a039); /* 52 */
- a = II(a, b, c, d, x[12], 6, 0x655b59c3); /* 53 */
- d = II(d, a, b, c, x[3], 10, 0x8f0ccc92); /* 54 */
- c = II(c, d, a, b, x[10], 15, 0xffeff47d); /* 55 */
- b = II(b, c, d, a, x[1], 21, 0x85845dd1); /* 56 */
- a = II(a, b, c, d, x[8], 6, 0x6fa87e4f); /* 57 */
- d = II(d, a, b, c, x[15], 10, 0xfe2ce6e0); /* 58 */
- c = II(c, d, a, b, x[6], 15, 0xa3014314); /* 59 */
- b = II(b, c, d, a, x[13], 21, 0x4e0811a1); /* 60 */
- a = II(a, b, c, d, x[4], 6, 0xf7537e82); /* 61 */
- d = II(d, a, b, c, x[11], 10, 0xbd3af235); /* 62 */
- c = II(c, d, a, b, x[2], 15, 0x2ad7d2bb); /* 63 */
- b = II(b, c, d, a, x[9], 21, 0xeb86d391); /* 64 */
-
- state.state[0] += a;
- state.state[1] += b;
- state.state[2] += c;
- state.state[3] += d;
- }
-
- /**
- * Updates hash with the bytebuffer given (using at maximum length bytes from
- * that buffer)
- *
- * @param stat Which state is updated
- * @param buffer Array of bytes to be hashed
- * @param offset Offset to buffer array
- * @param length Use at maximum `length' bytes (absolute
- * maximum is buffer.length)
- */
- public void Update(MD5State stat, byte buffer[], int offset,
- int length) {
- int index, partlen, i, start;
-
- finals = null;
-
- /* Length can be told to be shorter, but not inter */
- if ((length - offset) > buffer.length)
- length = buffer.length - offset;
-
- /* compute number of bytes mod 64 */
- index = (int) (stat.count[0] >>> 3) & 0x3f;
-
- if ((stat.count[0] += (length << 3)) < (length << 3))
- stat.count[1]++;
-
- stat.count[1] += length >>> 29;
-
- partlen = 64 - index;
-
- if (length >= partlen) {
- for (i = 0; i < partlen; i++)
- stat.buffer[i + index] = buffer[i + offset];
-
- Transform(stat, stat.buffer, 0);
-
- for (i = partlen; (i + 63) < length; i += 64)
- Transform(stat, buffer, i);
-
- index = 0;
- } else
- i = 0;
-
- /* buffer remaining input */
- if (i < length) {
- start = i;
- for (; i < length; i++)
- stat.buffer[index + i - start] = buffer[i + offset];
- }
- }
-
- /*
- * Update()s for other datatypes than byte[] also. Update(byte[], int)
- * is only the main driver.
- */
-
- /**
- * Plain update, updates this object
- */
-
- public void Update(byte buffer[], int offset, int length) {
- Update(this .state, buffer, offset, length);
- }
-
- public void Update(byte buffer[], int length) {
- Update(this .state, buffer, 0, length);
- }
-
- /**
- * Updates hash with given array of bytes
- *
- * @param buffer Array of bytes to use for updating the hash
- */
- public void Update(byte buffer[]) {
- Update(buffer, 0, buffer.length);
- }
-
- /**
- * Updates hash with a single byte
- *
- * @param b Single byte to update the hash
- */
- public void Update(byte b) {
- byte buffer[] = new byte[1];
- buffer[0] = b;
-
- Update(buffer, 1);
- }
-
- /**
- * Update buffer with given string.
- *
- * @param s String to be update to hash (is used as
- * s.getBytes())
- */
- public void Update(String s) {
- byte chars[];
-
- chars = s.getBytes();
-
- Update(chars, chars.length);
- }
-
- private byte[] Encode(int input[], int len) {
- int i, j;
- byte out[];
-
- out = new byte[len];
-
- for (i = j = 0; j < len; i++, j += 4) {
- out[j] = (byte) (input[i] & 0xff);
- out[j + 1] = (byte) ((input[i] >>> 8) & 0xff);
- out[j + 2] = (byte) ((input[i] >>> 16) & 0xff);
- out[j + 3] = (byte) ((input[i] >>> 24) & 0xff);
- }
-
- return out;
- }
-
- /**
- * Returns array of bytes (16 bytes) representing hash as of the
- * current state of this object. Note: getting a hash does not
- * invalidate the hash object, it only creates a copy of the real
- * state which is finalized.
- *
- * @return Array of 16 bytes, the hash of all updated bytes
- */
- public synchronized byte[] Final() {
- byte bits[];
- int index, padlen;
- MD5State fin;
-
- if (finals == null) {
- fin = new MD5State(state);
-
- bits = Encode(fin.count, 8);
-
- index = (int) ((fin.count[0] >>> 3) & 0x3f);
- padlen = (index < 56) ? (56 - index) : (120 - index);
-
- Update(fin, padding, 0, padlen);
- /**/
- Update(fin, bits, 0, 8);
-
- /* Update() sets finalds to null */
- finals = fin;
- }
-
- return Encode(finals.state, 16);
- }
-
- /**
- * Turns array of bytes into string representing each byte as
- * unsigned hex number.
- *
- * @param hash Array of bytes to convert to hex-string
- * @return Generated hex string
- */
- public static String asHex(byte hash[]) {
- StringBuffer buf = new StringBuffer(hash.length * 2);
- int i;
-
- for (i = 0; i < hash.length; i++) {
- if (((int) hash[i] & 0xff) < 0x10)
- buf.append("0");
-
- buf.append(Long.toString((int) hash[i] & 0xff, 16));
- }
-
- return buf.toString();
- }
-
- /**
- * Returns 32-character hex representation of this objects hash
- *
- * @return String of this object's hash
- */
- public String asHex() {
- return asHex(this .Final());
- }
-
- /**
- * One-stop md5 string encrypting.
- */
-
- public static String md5crypt(String input) {
- MD5 md5 = new MD5();
- md5.Init();
- md5.Update(input);
- return md5.asHex();
- }
-} \ No newline at end of file
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/MD5Crypt.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/MD5Crypt.java
deleted file mode 100644
index 25c757a2..00000000
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/MD5Crypt.java
+++ /dev/null
@@ -1,339 +0,0 @@
-/*------------------------------------------------------------------------------
- class
- MD5Crypt
- ------------------------------------------------------------------------------*/
-
-package com.gluster.storage.management.core.utils;
-
-
-/**
- * <p>This class defines a method,
- * {@link MD5Crypt#crypt(java.lang.String, java.lang.String) crypt()}, which
- * takes a password and a salt string and generates an OpenBSD/FreeBSD/Linux-compatible
- * md5-encoded password entry.</p>
- *
- * <p>Created: 3 November 1999</p>
- * <p>Release: $Name: $</p>
- * <p>Version: $Revision: 1.1 $</p>
- * <p>Last Mod Date: $Date: 2004/07/12 13:35:20 $</p>
- * <p>Java Code By: Jonathan Abbey, jonabbey@arlut.utexas.edu</p>
- * <p>Original C Version:<pre>
- * ----------------------------------------------------------------------------
- * "THE BEER-WARE LICENSE" (Revision 42):
- * <phk@login.dknet.dk> wrote this file. As long as you retain this notice you
- * can do whatever you want with this stuff. If we meet some day, and you think
- * this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
- * ----------------------------------------------------------------------------
- * </pre></p>
- *
- * @author Jonathan Abbey <jonabbey at arlut.utexas.edu>
- */
-public final class MD5Crypt {
-
- /**
- *
- * Command line test rig.
- *
- */
-
- static public void main(String argv[]) {
- if ((argv.length < 1) || (argv.length > 3)) {
- System.err
- .println("Usage: MD5Crypt [-apache] password salt");
- System.exit(1);
- }
-
- if (argv.length == 3) {
- System.err.println(MD5Crypt.apacheCrypt(argv[1], argv[2]));
- } else if (argv.length == 2) {
- System.err.println(MD5Crypt.crypt(argv[0], argv[1]));
- } else {
- System.err.println(MD5Crypt.crypt(argv[0]));
- }
-
- System.exit(0);
- }
-
- static private final String SALTCHARS = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
-
- static private final String itoa64 = "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
-
- static private final String to64(long v, int size) {
- StringBuffer result = new StringBuffer();
-
- while (--size >= 0) {
- result.append(itoa64.charAt((int) (v & 0x3f)));
- v >>>= 6;
- }
-
- return result.toString();
- }
-
- static private final void clearbits(byte bits[]) {
- for (int i = 0; i < bits.length; i++) {
- bits[i] = 0;
- }
- }
-
- /**
- * convert an encoded unsigned byte value into a int
- * with the unsigned value.
- */
-
- static private final int bytes2u(byte inp) {
- return (int) inp & 0xff;
- }
-
- /**
- * <p>This method actually generates a OpenBSD/FreeBSD/Linux PAM compatible
- * md5-encoded password hash from a plaintext password and a
- * salt.</p>
- *
- * <p>The resulting string will be in the form '$1$&lt;salt&gt;$&lt;hashed mess&gt;</p>
- *
- * @param password Plaintext password
- *
- * @return An OpenBSD/FreeBSD/Linux-compatible md5-hashed password field.
- */
-
- static public final String crypt(String password) {
- StringBuffer salt = new StringBuffer();
- java.util.Random randgen = new java.util.Random();
-
- /* -- */
-
- while (salt.length() < 8) {
- int index = (int) (randgen.nextFloat() * SALTCHARS.length());
- salt.append(SALTCHARS.substring(index, index + 1));
- }
-
- return MD5Crypt.crypt(password, salt.toString());
- }
-
- /**
- * <p>This method actually generates a OpenBSD/FreeBSD/Linux PAM compatible
- * md5-encoded password hash from a plaintext password and a
- * salt.</p>
- *
- * <p>The resulting string will be in the form '$1$&lt;salt&gt;$&lt;hashed mess&gt;</p>
- *
- * @param password Plaintext password
- * @param salt A short string to use to randomize md5. May start with $1$, which
- * will be ignored. It is explicitly permitted to pass a pre-existing
- * MD5Crypt'ed password entry as the salt. crypt() will strip the salt
- * chars out properly.
- *
- * @return An OpenBSD/FreeBSD/Linux-compatible md5-hashed password field.
- */
-
- static public final String crypt(String password, String salt) {
- return MD5Crypt.crypt(password, salt, "$1$");
- }
-
- /**
- * <p>This method generates an Apache MD5 compatible
- * md5-encoded password hash from a plaintext password and a
- * salt.</p>
- *
- * <p>The resulting string will be in the form '$apr1$&lt;salt&gt;$&lt;hashed mess&gt;</p>
- *
- * @param password Plaintext password
- *
- * @return An Apache-compatible md5-hashed password string.
- */
-
- static public final String apacheCrypt(String password) {
- StringBuffer salt = new StringBuffer();
- java.util.Random randgen = new java.util.Random();
-
- /* -- */
-
- while (salt.length() < 8) {
- int index = (int) (randgen.nextFloat() * SALTCHARS.length());
- salt.append(SALTCHARS.substring(index, index + 1));
- }
-
- return MD5Crypt.apacheCrypt(password, salt.toString());
- }
-
- /**
- * <p>This method actually generates an Apache MD5 compatible
- * md5-encoded password hash from a plaintext password and a
- * salt.</p>
- *
- * <p>The resulting string will be in the form '$apr1$&lt;salt&gt;$&lt;hashed mess&gt;</p>
- *
- * @param password Plaintext password
- * @param salt A short string to use to randomize md5. May start with $apr1$, which
- * will be ignored. It is explicitly permitted to pass a pre-existing
- * MD5Crypt'ed password entry as the salt. crypt() will strip the salt
- * chars out properly.
- *
- * @return An Apache-compatible md5-hashed password string.
- */
-
- static public final String apacheCrypt(String password, String salt) {
- return MD5Crypt.crypt(password, salt, "$apr1$");
- }
-
- /**
- * <p>This method actually generates md5-encoded password hash from
- * a plaintext password, a salt, and a magic string.</p>
- *
- * <p>There are two magic strings that make sense to use here.. '$1$' is the
- * magic string used by the FreeBSD/Linux/OpenBSD MD5Crypt algorithm, and
- * '$apr1$' is the magic string used by the Apache MD5Crypt algorithm.</p>
- *
- * <p>The resulting string will be in the form '&lt;magic&gt;&lt;salt&gt;$&lt;hashed mess&gt;</p>
- *
- * @param password Plaintext password @param salt A short string to
- * use to randomize md5. May start with the magic string, which
- * will be ignored. It is explicitly permitted to pass a
- * pre-existing MD5Crypt'ed password entry as the salt. crypt()
- * will strip the salt chars out properly.
- *
- * @return An md5-hashed password string.
- */
-
- static public final String crypt(String password, String salt,
- String magic) {
- /* This string is magic for this algorithm. Having it this way,
- * we can get get better later on */
-
- byte finalState[];
- MD5 ctx, ctx1;
- long l;
-
- /* -- */
-
- /* Refine the Salt first */
-
- /* If it starts with the magic string, then skip that */
-
- if (salt.startsWith(magic)) {
- salt = salt.substring(magic.length());
- }
-
- /* It stops at the first '$', max 8 chars */
-
- if (salt.indexOf('$') != -1) {
- salt = salt.substring(0, salt.indexOf('$'));
- }
-
- if (salt.length() > 8) {
- salt = salt.substring(0, 8);
- }
-
- ctx = new MD5();
-
- ctx.Update(password); // The password first, since that is what is most unknown
- ctx.Update(magic); // Then our magic string
- ctx.Update(salt); // Then the raw salt
-
- /* Then just as many characters of the MD5(pw,salt,pw) */
-
- ctx1 = new MD5();
- ctx1.Update(password);
- ctx1.Update(salt);
- ctx1.Update(password);
- finalState = ctx1.Final();
-
- for (int pl = password.length(); pl > 0; pl -= 16) {
- ctx.Update(finalState, pl > 16 ? 16 : pl);
- }
-
- /* the original code claimed that finalState was being cleared
- to keep dangerous bits out of memory, but doing this is also
- required in order to get the right output. */
-
- clearbits(finalState);
-
- /* Then something really weird... */
-
- for (int i = password.length(); i != 0; i >>>= 1) {
- if ((i & 1) != 0) {
- ctx.Update(finalState, 1);
- } else {
- ctx.Update(password.getBytes(), 1);
- }
- }
-
- finalState = ctx.Final();
-
- /*
- * and now, just to make sure things don't run too fast
- * On a 60 Mhz Pentium this takes 34 msec, so you would
- * need 30 seconds to build a 1000 entry dictionary...
- *
- * (The above timings from the C version)
- */
-
- for (int i = 0; i < 1000; i++) {
- ctx1 = new MD5();
-
- if ((i & 1) != 0) {
- ctx1.Update(password);
- } else {
- ctx1.Update(finalState, 16);
- }
-
- if ((i % 3) != 0) {
- ctx1.Update(salt);
- }
-
- if ((i % 7) != 0) {
- ctx1.Update(password);
- }
-
- if ((i & 1) != 0) {
- ctx1.Update(finalState, 16);
- } else {
- ctx1.Update(password);
- }
-
- finalState = ctx1.Final();
- }
-
- /* Now make the output string */
-
- StringBuffer result = new StringBuffer();
-
- result.append(magic);
- result.append(salt);
- result.append("$");
-
- l = (bytes2u(finalState[0]) << 16)
- | (bytes2u(finalState[6]) << 8)
- | bytes2u(finalState[12]);
- result.append(to64(l, 4));
-
- l = (bytes2u(finalState[1]) << 16)
- | (bytes2u(finalState[7]) << 8)
- | bytes2u(finalState[13]);
- result.append(to64(l, 4));
-
- l = (bytes2u(finalState[2]) << 16)
- | (bytes2u(finalState[8]) << 8)
- | bytes2u(finalState[14]);
- result.append(to64(l, 4));
-
- l = (bytes2u(finalState[3]) << 16)
- | (bytes2u(finalState[9]) << 8)
- | bytes2u(finalState[15]);
- result.append(to64(l, 4));
-
- l = (bytes2u(finalState[4]) << 16)
- | (bytes2u(finalState[10]) << 8)
- | bytes2u(finalState[5]);
- result.append(to64(l, 4));
-
- l = bytes2u(finalState[11]);
- result.append(to64(l, 2));
-
- /* Don't leave anything around in vm they could use. */
- clearbits(finalState);
-
- return result.toString();
- }
-}
-
diff --git a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/ProcessUtil.java b/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/ProcessUtil.java
deleted file mode 100644
index 507c6d95..00000000
--- a/src/com.gluster.storage.management.core/src/com/gluster/storage/management/core/utils/ProcessUtil.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.core.utils;
-
-import static com.gluster.storage.management.core.constants.CoreConstants.NEWLINE;
-
-import java.io.BufferedReader;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-import java.util.ArrayList;
-import java.util.List;
-
-import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
-
-/**
- * Utility class for creating processes (foreground/background) with given
- * command and checking the output/exit status
- */
-public class ProcessUtil {
-
- private static final ProcessUtil instance = new ProcessUtil();
-
- public ProcessResult executeCommand(List<String> command) {
- return executeCommand(true, command);
- }
-
- /**
- * Executes given command in a separate process in FOREGROUND
- * @param command
- * @return {@link ProcessResult} object
- */
- public ProcessResult executeCommand(String... command) {
- ArrayList<String> commandList = new ArrayList<String>();
- for (String part : command) {
- commandList.add(part);
- }
- return executeCommand(commandList);
- }
-
- /**
- * Executes given command in foreground/background
- * @param runInForeground Boolean flag indicating whether the command should
- * be executed in foreground
- * @param command
- * @return {@link ProcessResult} object
- */
- public ProcessResult executeCommand(boolean runInForeground, List<String> command) {
- StringBuilder output = new StringBuilder();
- try {
- Process process = new ProcessBuilder(command).redirectErrorStream(true).start();
-
- if (runInForeground) {
- process.waitFor(); // Wait for process to finish
-
- InputStream is = process.getInputStream();
- InputStreamReader isr = new InputStreamReader(is);
- BufferedReader br = new BufferedReader(isr);
- String line;
-
- while ((line = br.readLine()) != null) {
- output.append(line);
- output.append(NEWLINE);
- }
- } else {
- output.append("Command [");
- output.append(command);
- output.append("] triggerred in background.");
- }
-
- return new ProcessResult(process.exitValue(), output.toString());
- } catch (Throwable e) {
- throw new GlusterRuntimeException("Exception while executing command [" + command + "]", e);
- }
- }
-
- public static void main(String args[]) {
- ProcessResult result = new ProcessUtil().executeCommand("ls", "-lrt", "/");
- System.out.println(result.getExitValue());
- System.out.println(result.getOutput());
- }
-}
diff --git a/src/com.gluster.storage.management.gui.feature.webstart/.project b/src/com.gluster.storage.management.gui.feature.webstart/.project
deleted file mode 100644
index 03adbe4c..00000000
--- a/src/com.gluster.storage.management.gui.feature.webstart/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>com.gluster.storage.management.gui.feature.webstart</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.eclipse.pde.FeatureBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.eclipse.pde.FeatureNature</nature>
- </natures>
-</projectDescription>
diff --git a/src/com.gluster.storage.management.gui.feature.webstart/build.properties b/src/com.gluster.storage.management.gui.feature.webstart/build.properties
deleted file mode 100644
index 322a3114..00000000
--- a/src/com.gluster.storage.management.gui.feature.webstart/build.properties
+++ /dev/null
@@ -1,2 +0,0 @@
-#bin.includes = feature.xml
-root=rootfiles
diff --git a/src/com.gluster.storage.management.gui.feature.webstart/build/gluster.keystore b/src/com.gluster.storage.management.gui.feature.webstart/build/gluster.keystore
deleted file mode 100644
index ee3bc3a9..00000000
--- a/src/com.gluster.storage.management.gui.feature.webstart/build/gluster.keystore
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui.feature.webstart/rootfiles/index.html b/src/com.gluster.storage.management.gui.feature.webstart/rootfiles/index.html
deleted file mode 100644
index 70f47279..00000000
--- a/src/com.gluster.storage.management.gui.feature.webstart/rootfiles/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<html>
-<head>
-<title>Gluster Storage Platform</title>
-</head>
-<body>
-<a href="http://192.168.1.123:8080/glustersp-webstart/linux.gtk.x86_64/gluster-management-console.jnlp">Gluster Storage Platform</a>
-</body>
-</html>
diff --git a/src/com.gluster.storage.management.gui.feature.webstart/rootfiles/splash.jpg b/src/com.gluster.storage.management.gui.feature.webstart/rootfiles/splash.jpg
deleted file mode 100644
index d03cf87b..00000000
--- a/src/com.gluster.storage.management.gui.feature.webstart/rootfiles/splash.jpg
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui.feature/build.properties b/src/com.gluster.storage.management.gui.feature/build.properties
deleted file mode 100644
index 64f93a9f..00000000
--- a/src/com.gluster.storage.management.gui.feature/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-bin.includes = feature.xml
diff --git a/src/com.gluster.storage.management.gui/build.properties b/src/com.gluster.storage.management.gui/build.properties
deleted file mode 100644
index 47ced62b..00000000
--- a/src/com.gluster.storage.management.gui/build.properties
+++ /dev/null
@@ -1,15 +0,0 @@
-source.. = src/
-output.. = bin/
-bin.includes = META-INF/,\
- .,\
- icons/,\
- product_lg.gif,\
- splash.bmp,\
- splash/,\
- images/,\
- plugin.xml,\
- preferences.ini
-src.includes = icons/,\
- splash.bmp,\
- images/,\
- preferences.ini
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/arrow-down.png b/src/com.gluster.storage.management.gui/icons/tango/16x16/arrow-down.png
deleted file mode 100644
index 7f23e3f4..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/arrow-down.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/arrow-up.png b/src/com.gluster.storage.management.gui/icons/tango/16x16/arrow-up.png
deleted file mode 100644
index b8ad3050..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/arrow-up.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/pause.png b/src/com.gluster.storage.management.gui/icons/tango/16x16/pause.png
deleted file mode 100644
index e1bd14d9..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/pause.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/progress-bar.png b/src/com.gluster.storage.management.gui/icons/tango/16x16/progress-bar.png
deleted file mode 100644
index c7db00ae..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/progress-bar.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/start.png b/src/com.gluster.storage.management.gui/icons/tango/16x16/start.png
deleted file mode 100644
index 2d6c7ab9..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/start.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/stop.png b/src/com.gluster.storage.management.gui/icons/tango/16x16/stop.png
deleted file mode 100644
index 78c4433d..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/stop.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/task-completed.png b/src/com.gluster.storage.management.gui/icons/tango/16x16/task-completed.png
deleted file mode 100644
index b71b825e..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/task-completed.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/task-error.png b/src/com.gluster.storage.management.gui/icons/tango/16x16/task-error.png
deleted file mode 100644
index 0488fd0d..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/task-error.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/22x22/offline-brick.png b/src/com.gluster.storage.management.gui/icons/tango/22x22/offline-brick.png
deleted file mode 100644
index 57694d4b..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/22x22/offline-brick.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/add-brick.png b/src/com.gluster.storage.management.gui/icons/tango/32x32/add-brick.png
deleted file mode 100644
index d3ce7e1b..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/add-brick.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/change-password.png b/src/com.gluster.storage.management.gui/icons/tango/32x32/change-password.png
deleted file mode 100644
index ea8f97ae..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/change-password.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/create-volume.png b/src/com.gluster.storage.management.gui/icons/tango/32x32/create-volume.png
deleted file mode 100644
index 43f0ddb4..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/create-volume.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/remove-brick.png b/src/com.gluster.storage.management.gui/icons/tango/32x32/remove-brick.png
deleted file mode 100644
index 603f09ee..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/remove-brick.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/remove-volume.png b/src/com.gluster.storage.management.gui/icons/tango/32x32/remove-volume.png
deleted file mode 100644
index 68de86a3..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/remove-volume.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/replace-brick.png b/src/com.gluster.storage.management.gui/icons/tango/32x32/replace-brick.png
deleted file mode 100644
index 7250242a..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/replace-brick.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/reset-volume-option.png b/src/com.gluster.storage.management.gui/icons/tango/32x32/reset-volume-option.png
deleted file mode 100644
index a857791c..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/reset-volume-option.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/start-volume.png b/src/com.gluster.storage.management.gui/icons/tango/32x32/start-volume.png
deleted file mode 100644
index 30e3b295..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/start-volume.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/stop-volume.png b/src/com.gluster.storage.management.gui/icons/tango/32x32/stop-volume.png
deleted file mode 100644
index 5b2f6460..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/stop-volume.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/volume-create.png b/src/com.gluster.storage.management.gui/icons/tango/32x32/volume-create.png
deleted file mode 100644
index fcd15c01..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/volume-create.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/volume-rebalance.png b/src/com.gluster.storage.management.gui/icons/tango/32x32/volume-rebalance.png
deleted file mode 100644
index 872dbc44..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/volume-rebalance.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/48x48/create-volume.png b/src/com.gluster.storage.management.gui/icons/tango/48x48/create-volume.png
deleted file mode 100644
index da964059..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/48x48/create-volume.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/48x48/volume-create.png b/src/com.gluster.storage.management.gui/icons/tango/48x48/volume-create.png
deleted file mode 100644
index 967d1844..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/48x48/volume-create.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/48x48/volume.png b/src/com.gluster.storage.management.gui/icons/tango/48x48/volume.png
deleted file mode 100644
index 4bd1a2aa..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/48x48/volume.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/8x8/online.png b/src/com.gluster.storage.management.gui/icons/tango/8x8/online.png
deleted file mode 100644
index 435999b5..00000000
--- a/src/com.gluster.storage.management.gui/icons/tango/8x8/online.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/plugin.xml b/src/com.gluster.storage.management.gui/plugin.xml
deleted file mode 100644
index 3955ed91..00000000
--- a/src/com.gluster.storage.management.gui/plugin.xml
+++ /dev/null
@@ -1,1563 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<?eclipse version="3.4"?>
-<plugin>
-
- <extension
- id="application"
- point="org.eclipse.core.runtime.applications">
- <application>
- <run
- class="com.gluster.storage.management.gui.Application">
- </run>
- </application>
- </extension>
- <extension
- point="org.eclipse.ui.perspectives">
- <perspective
- name="Gluster Perspective"
- class="com.gluster.storage.management.gui.Perspective"
- id="com.gluster.storage.management.gui.Perspective">
- </perspective>
- </extension>
- <extension
- point="org.eclipse.ui.views">
- <view
- category="com.gluster.storage.management.gui.category"
- class="com.gluster.storage.management.gui.views.NavigationView"
- id="com.gluster.storage.management.gui.views.NavigationView"
- name="Cluster Navigation Tree"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="com.gluster.storage.management.gui.category"
- class="com.gluster.storage.management.gui.views.DiscoveredServersView"
- icon="icons/tango/16x16/servers.png"
- id="com.gluster.storage.management.gui.views.DiscoveredServersView"
- name="Discovered Servers"
- restorable="true">
- </view>
- <view
- category="com.gluster.storage.management.gui.category"
- class="com.gluster.storage.management.gui.views.DiscoveredServerView"
- icon="icons/tango/16x16/server.png"
- id="com.gluster.storage.management.gui.views.DiscoveredServerView"
- name="Discovered Server"
- restorable="true">
- </view>
- <category
- id="com.gluster.storage.management.gui.category"
- name="Gluster Managament Console">
- </category>
- <view
- allowMultiple="false"
- category="com.gluster.storage.management.gui.category"
- class="com.gluster.storage.management.gui.views.VolumesView"
- icon="icons/tango/16x16/volumes.png"
- id="com.gluster.storage.management.gui.views.VolumesView"
- name="Volumes"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="com.gluster.storage.management.gui.category"
- class="com.gluster.storage.management.gui.views.VolumesSummaryView"
- icon="icons/tango/16x16/gluster_icon.png"
- id="com.gluster.storage.management.gui.views.VolumesSummaryView"
- name="Summary (Volumes)"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="com.gluster.storage.management.gui.category"
- class="com.gluster.storage.management.gui.views.ClusterSummaryView"
- icon="icons/tango/16x16/gluster_icon.png"
- id="com.gluster.storage.management.gui.views.ClusterSummaryView"
- name="Summary (Cluster)"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="com.gluster.storage.management.gui.category"
- class="com.gluster.storage.management.gui.views.VolumeSummaryView"
- icon="icons/tango/16x16/gluster_icon.png"
- id="com.gluster.storage.management.gui.views.VolumeSummaryView"
- name="Summary (Volume)"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="com.gluster.storage.management.gui.category"
- class="com.gluster.storage.management.gui.views.VolumeBricksView"
- icon="icons/tango/16x16/bricks.png"
- id="com.gluster.storage.management.gui.views.VolumeBricksView"
- name="Bricks"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="com.gluster.storage.management.gui.category"
- class="com.gluster.storage.management.gui.views.VolumeOptionsView"
- icon="icons/tango/16x16/volume-options.png"
- id="com.gluster.storage.management.gui.views.VolumeOptionsView"
- name="Volume Options"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="com.gluster.storage.management.gui.category"
- class="com.gluster.storage.management.gui.views.VolumeLogsView"
- icon="icons/tango/16x16/logs.png"
- id="com.gluster.storage.management.gui.views.VolumeLogsView"
- name="Volume Logs"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="com.gluster.storage.management.gui.category"
- class="com.gluster.storage.management.gui.views.GlusterServersSummaryView"
- icon="icons/tango/16x16/gluster_icon.png"
- id="com.gluster.storage.management.gui.views.GlusterServersSummaryView"
- name="Summary (Servers)"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="com.gluster.storage.management.gui.category"
- class="com.gluster.storage.management.gui.views.GlusterServersView"
- icon="icons/tango/16x16/servers.png"
- id="com.gluster.storage.management.gui.views.GlusterServersView"
- name="Servers"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="com.gluster.storage.management.gui.category"
- class="com.gluster.storage.management.gui.views.DisksView"
- icon="icons/tango/16x16/disk.png"
- id="com.gluster.storage.management.gui.views.DisksView"
- name="Disks"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="com.gluster.storage.management.gui.category"
- class="com.gluster.storage.management.gui.views.GlusterServerSummaryView"
- icon="icons/tango/16x16/gluster_icon.png"
- id="com.gluster.storage.management.gui.views.GlusterServerSummaryView"
- name="Summary (Server)"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="com.gluster.storage.management.gui.category"
- class="com.gluster.storage.management.gui.views.GlusterServerDisksView"
- icon="icons/tango/16x16/disk.png"
- id="com.gluster.storage.management.gui.views.GlusterServerDisksView"
- name="Server Disks"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="com.gluster.storage.management.gui.category"
- class="com.gluster.storage.management.gui.views.GlusterServerLogsView"
- icon="icons/tango/16x16/logs.png"
- id="com.gluster.storage.management.gui.views.GlusterServerLogsView"
- name="Server Logs"
- restorable="true">
- </view>
- <view
- allowMultiple="false"
- category="com.gluster.storage.management.gui.category"
- class="com.gluster.storage.management.gui.views.TasksView"
- icon="icons/tango/16x16/progress-bar.png"
- id="com.gluster.storage.management.gui.views.TasksView"
- name="Tasks"
- restorable="true">
- </view>
- </extension>
- <extension
- point="org.eclipse.ui.commands">
- <category
- name="Gluster Commands"
- id="com.gluster.storage.management.gui.category">
- </category>
- <command
- name="Create Volume"
- description="Create a new Volume"
- categoryId="com.gluster.storage.management.gui.category"
- id="com.gluster.storage.management.gui.commands.CreateVolume">
- </command>
- <command
- categoryId="com.gluster.storage.management.gui.category"
- description="Delete Volume"
- id="com.gluster.storage.management.gui.commands.DeleteVolume"
- name="Delete Volume">
- </command>
- <command
- categoryId="com.gluster.storage.management.gui.category"
- description="Start Volume"
- id="com.gluster.storage.management.gui.commands.StartVolume"
- name="Start Volume">
- </command>
- <command
- categoryId="com.gluster.storage.management.gui.category"
- description="Stop Volume"
- id="com.gluster.storage.management.gui.commands.StopVolume"
- name="Stop Volume">
- </command>
- <command
- categoryId="com.gluster.storage.management.gui.category"
- description="Edit Volume"
- id="com.gluster.storage.management.gui.commands.EditVolume"
- name="Edit Volume">
- </command>
- <command
- categoryId="com.gluster.storage.management.gui.category"
- description="Reset all options of a Volume"
- id="com.gluster.storage.management.gui.commands.ResetVolumeOptions"
- name="Reset Options">
- </command>
- <command
- categoryId="com.gluster.storage.management.gui.category"
- description="Rebalance Volume"
- id="com.gluster.storage.management.gui.commands.RebalanceVolume"
- name="Rebalance Volume">
- </command>
- <command
- categoryId="com.gluster.storage.management.gui.category"
- description="Add Server(s) to Cluster"
- id="com.gluster.storage.management.gui.commands.AddServer"
- name="Add Server(s)">
- </command>
- <command
- categoryId="com.gluster.storage.management.gui.category"
- description="Remove Server(s) from Cluster"
- id="com.gluster.storage.management.gui.commands.RemoveServer"
- name="Remove Server(s)">
- </command>
- <command
- categoryId="com.gluster.storage.management.gui.category"
- description="Migrate Brick"
- id="com.gluster.storage.management.gui.commands.MigrateDisk"
- name="Migrate Brick">
- </command>
- <command
- categoryId="com.gluster.storage.management.gui.category"
- description="Remove Brick"
- id="com.gluster.storage.management.gui.commands.RemoveDisk"
- name="Remove Brick">
- </command>
- <command
- categoryId="com.gluster.storage.management.gui.category"
- description="Add Brick"
- id="com.gluster.storage.management.gui.commands.AddDisk"
- name="Add Brick">
- </command>
- <command
- categoryId="com.gluster.storage.management.gui.category"
- description="Pause Task"
- id="com.gluster.storage.management.gui.commands.Pause"
- name="Pause">
- </command>
- <command
- categoryId="com.gluster.storage.management.gui.category"
- description="Resume Task"
- id="com.gluster.storage.management.gui.commands.Resume"
- name="Resume">
- </command>
- <command
- categoryId="com.gluster.storage.management.gui.category"
- description="Stop Task"
- id="com.gluster.storage.management.gui.commands.Stop"
- name="Stop">
- </command>
- <command
- categoryId="com.gluster.storage.management.gui.category"
- description="Delete Task"
- id="com.gluster.storage.management.gui.commands.Delete"
- name="Delete">
- </command>
- <command
- categoryId="com.gluster.storage.management.gui.category"
- description="Change Password"
- id="com.gluster.storage.management.gui.commands.ChangePassword"
- name="Change Password">
- </command>
- </extension>
- <extension
- point="org.eclipse.ui.bindings">
- <key
- commandId="com.gluster.storage.management.gui.commands.CreateVolume"
- schemeId="com.gluster.storage.management.gui.KeyConfig"
- sequence="CTRL+SHIFT+C">
- </key>
- <key
- commandId="com.gluster.storage.management.gui.commands.DeleteVolume"
- schemeId="com.gluster.storage.management.gui.KeyConfig"
- sequence="CTRL+SHIFT+D">
- </key>
- <key
- commandId="com.gluster.storage.management.gui.commands.StartVolume"
- schemeId="com.gluster.storage.management.gui.KeyConfig"
- sequence="CTRL+SHIFT+S">
- </key>
- <key
- commandId="com.gluster.storage.management.gui.commands.StopVolume"
- schemeId="com.gluster.storage.management.gui.KeyConfig"
- sequence="CTRL+SHIFT+T">
- </key>
- <key
- commandId="com.gluster.storage.management.gui.commands.EditVolume"
- schemeId="com.gluster.storage.management.gui.KeyConfig"
- sequence="CTRL+SHIFT+E">
- </key>
- <key
- commandId="com.gluster.storage.management.gui.commands.RebalanceVolume"
- schemeId="com.gluster.storage.management.gui.KeyConfig"
- sequence="CTRL+SHIFT+B">
- </key>
- <key
- commandId="com.gluster.storage.management.gui.commands.AddServer"
- schemeId="com.gluster.storage.management.gui.KeyConfig"
- sequence="CTRL+SHIFT+A">
- </key>
- <key
- commandId="com.gluster.storage.management.gui.commands.RemoveServer"
- schemeId="com.gluster.storage.management.gui.KeyConfig"
- sequence="CTRL+SHIFT+R">
- </key>
- <key
- commandId="com.gluster.storage.management.gui.commands.MigrateDisk"
- schemeId="com.gluster.storage.management.gui.KeyConfig"
- sequence="CTRL+SHIFT+M">
- </key>
- <key
- commandId="org.eclipse.ui.window.preferences"
- schemeId="com.gluster.storage.management.gui.KeyConfig"
- sequence="CTRL+SHIFT+P">
- </key>
- <key
- commandId="org.eclipse.ui.window.showKeyAssist"
- schemeId="com.gluster.storage.management.gui.KeyConfig"
- sequence="CTRL+SHIFT+L">
- </key>
- <key
- commandId="org.eclipse.ui.navigate.nextTab"
- contextId="org.eclipse.ui.contexts.window"
- schemeId="com.gluster.storage.management.gui.KeyConfig"
- sequence="ALT+ARROW_RIGHT">
- </key>
- <key
- commandId="org.eclipse.ui.navigate.previousTab"
- contextId="org.eclipse.ui.contexts.window"
- schemeId="com.gluster.storage.management.gui.KeyConfig"
- sequence="ALT+ARROW_LEFT">
- </key>
- <scheme
- description="Default Key Bindings Scheme for Gluster Management Console"
- id="com.gluster.storage.management.gui.KeyConfig"
- name="Gluster">
- </scheme>
- <key
- commandId="com.gluster.storage.management.gui.commands.ResetVolumeOptions"
- schemeId="com.gluster.storage.management.gui.KeyConfig"
- sequence="CTRL+SHIFT+O">
- </key>
- </extension>
- <extension
- id="product"
- name="Gluster Management Console"
- point="org.eclipse.core.runtime.products">
- <product
- application="com.gluster.storage.management.gui.application"
- name="Gluster Management Console">
- <property
- name="aboutText"
- value="GlusterFS is an open source clustered storage solution. The software is a powerful and flexible solution that simplifies the task of managing unstructured file data whether you have a few terabytes of storage or multiple petabytes. Gluster Management Console is a powerful GUI management interface for the GlusterFS.">
- </property>
- <property
- name="windowImages"
- value="icons/tango/16x16/gluster_icon.png">
- </property>
- <property
- name="aboutImage"
- value="splash/gluster_about.jpg">
- </property>
- <property
- name="appName"
- value="about">
- </property>
- <property
- name="preferenceCustomization"
- value="preferences.ini">
- </property>
- </product>
- </extension>
- <extension
- point="org.eclipse.ui.actionSets">
- <actionSet
- description="Set of actions that can be performed on multiple Volumes"
- id="com.gluster.storage.management.gui.actionsets.volumes"
- label="Volumes Actions"
- visible="false">
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.DeleteVolumeAction"
- definitionId="com.gluster.storage.management.gui.commands.DeleteVolume"
- icon="icons/tango/32x32/remove-volume.png"
- id="com.gluster.storage.management.gui.actions.DeleteVolumeAction"
- label="&amp;Delete Volume(s)"
- menubarPath="com.gluster.storage.management.gui.actionsets.volumes/volumes"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Delete Volume(s)">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.StopVolumeAction"
- definitionId="com.gluster.storage.management.gui.commands.StopVolume"
- icon="icons/tango/32x32/stop-volume.png"
- id="com.gluster.storage.management.gui.actions.StopVolumeAction"
- label="S&amp;top Volume(s)"
- menubarPath="com.gluster.storage.management.gui.actionsets.volumes/volumes"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Stop Volume(s)">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.StartVolumeAction"
- definitionId="com.gluster.storage.management.gui.commands.StartVolume"
- icon="icons/tango/32x32/start-volume.png"
- id="com.gluster.storage.management.gui.actions.StartVolumeAction"
- label="&amp;Start Volume(s)"
- menubarPath="com.gluster.storage.management.gui.actionsets.volumes/volumes"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Start Volume(s)">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.CreateVolumeAction"
- definitionId="com.gluster.storage.management.gui.commands.CreateVolume"
- icon="icons/tango/32x32/create-volume.png"
- id="com.gluster.storage.management.gui.actions.CreateVolumeAction"
- label="Create &amp;Volume"
- menubarPath="com.gluster.storage.management.gui.actionsets.volumes/volumes"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Create a new Volume">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.ServerAdditionAction"
- definitionId="com.gluster.storage.management.gui.commands.ServerAddition"
- id="com.gluster.storage.management.gui.actions.ServerAdditionAction"
- label="Add Server"
- menubarPath="com.gluster.storage.management.gui.actionsets.volumes/volumes"
- mode="FORCE_TEXT"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- tooltip="Manual Server Addition">
- </action>
- <menu
- id="com.gluster.storage.management.gui.actionsets.volumes"
- label="&amp;Gluster"
- path="additions">
- <groupMarker
- name="volumes">
- </groupMarker>
- </menu>
- </actionSet>
- <actionSet
- description="Set of actions that can be performed on a single volume"
- id="com.gluster.storage.management.gui.actionsets.volume"
- label="Volume Actions"
- visible="false">
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.MigrateBrickAction"
- definitionId="com.gluster.storage.management.gui.commands.MigrateDisk"
- icon="icons/tango/32x32/replace-brick.png"
- id="com.gluster.storage.management.gui.actions.MigrateDiskAction"
- label="&amp;Migrate Brick"
- menubarPath="com.gluster.storage.management.gui.menu.glusterserver/glusterserver"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Migrate Disk">
- <enablement>
- <objectClass
- name="com.gluster.storage.management.core.model.Disk">
- </objectClass>
- </enablement>
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.DeleteVolumeAction"
- definitionId="com.gluster.storage.management.gui.commands.DeleteVolume"
- icon="icons/tango/32x32/remove-volume.png"
- id="com.gluster.storage.management.gui.actions.DeleteVolumeAction"
- label="&amp;Delete Volume"
- menubarPath="com.gluster.storage.management.gui.menu.volume/volume"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Delete Volume">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.DownloadVolumeLogsAction"
- definitionId="com.gluster.storage.management.gui.commands.DownloadVolumeLogs"
- icon="icons/tango/32x32/download-log.png"
- id="com.gluster.storage.management.gui.actions.DownloadVolumeLogsAction"
- label="Download &amp;Logs"
- menubarPath="com.gluster.storage.management.gui.menu.volume/volume"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Download all logs of the volume">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.ResetVolumeOptionsAction"
- definitionId="com.gluster.storage.management.gui.commands.ResetVolumeOptions"
- icon="icons/tango/32x32/reset-volume-option.png"
- id="com.gluster.storage.management.gui.actions.ResetVolumeOptionsAction"
- label="Reset &amp;Options"
- menubarPath="com.gluster.storage.management.gui.menu.volume/volume"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Reset all options of the volume">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.RebalanceVolumeAction"
- definitionId="com.gluster.storage.management.gui.commands.RebalanceVolume"
- icon="icons/tango/32x32/volume-rebalance.png"
- id="com.gluster.storage.management.gui.actions.RebalanceVolumeAction"
- label="&amp;Rebalance Volume"
- menubarPath="com.gluster.storage.management.gui.menu.volume/volume"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Rebalance Volume">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.StopVolumeAction"
- definitionId="com.gluster.storage.management.gui.commands.StopVolume"
- icon="icons/tango/32x32/stop-volume.png"
- id="com.gluster.storage.management.gui.actions.StopVolumeAction"
- label="S&amp;top Volume"
- menubarPath="com.gluster.storage.management.gui.menu.volume/volume"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Stop Volume">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.StartVolumeAction"
- definitionId="com.gluster.storage.management.gui.commands.StartVolume"
- icon="icons/tango/32x32/start-volume.png"
- id="com.gluster.storage.management.gui.actions.StartVolumeAction"
- label="&amp;Start Volume"
- menubarPath="com.gluster.storage.management.gui.menu.volume/volume"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Start Volume">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.RemoveBrickAction"
- definitionId="com.gluster.storage.management.gui.commands.RemoveDisk"
- icon="icons/tango/32x32/remove-brick.png"
- id="com.gluster.storage.management.gui.actions.RemoveDiskAction"
- label="Remove Brick"
- menubarPath="com.gluster.storage.management.gui.menu.volume/volume"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Remove Brick from Volume">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.AddBrickAction"
- definitionId="com.gluster.storage.management.gui.commands.AddDisk"
- icon="icons/tango/32x32/add-brick.png"
- id="com.gluster.storage.management.gui.actions.AddDiskAction"
- label="&amp;Add Brick"
- menubarPath="com.gluster.storage.management.gui.menu.volume/volume"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Add Brick to Volume">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.CreateVolumeAction"
- definitionId="com.gluster.storage.management.gui.commands.CreateVolume"
- icon="icons/tango/32x32/create-volume.png"
- id="com.gluster.storage.management.gui.actions.CreateVolumeAction"
- label="Create &amp;Volume"
- menubarPath="com.gluster.storage.management.gui.menu.volume/volume"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Create a new Volume">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.ServerAdditionAction"
- definitionId="com.gluster.storage.management.gui.commands.ServerAddition"
- id="com.gluster.storage.management.gui.actions.ServerAdditionAction"
- label="Add Server"
- menubarPath="com.gluster.storage.management.gui.menu.volume/volume"
- mode="FORCE_TEXT"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- tooltip="Manual Server Addition">
- </action>
- <menu
- id="com.gluster.storage.management.gui.menu.volume"
- label="&amp;Gluster"
- path="additions">
- <groupMarker
- name="volume">
- </groupMarker>
- </menu>
- </actionSet>
- <actionSet
- description="Set of actions that can be performed on multiple Gluster Servers"
- id="com.gluster.storage.management.gui.actionsets.glusterservers"
- label="Gluster Servers Actions"
- visible="false">
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.RemoveServerAction"
- definitionId="com.gluster.storage.management.gui.commands.RemoveServer"
- icon="icons/tango/32x32/remove-server.png"
- id="com.gluster.storage.management.gui.actions.RemoveServerAction"
- label="&amp;Remove Server(s)"
- menubarPath="com.gluster.storage.management.gui.menu.servers/servers"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Remove Server(s)">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.CreateVolumeAction"
- definitionId="com.gluster.storage.management.gui.commands.CreateVolume"
- icon="icons/tango/32x32/create-volume.png"
- id="com.gluster.storage.management.gui.actions.CreateVolumeAction"
- label="Create &amp;Volume"
- menubarPath="com.gluster.storage.management.gui.menu.servers/servers"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Create a new Volume">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.ServerAdditionAction"
- definitionId="com.gluster.storage.management.gui.commands.ServerAddition"
- id="com.gluster.storage.management.gui.actions.ServerAdditionAction"
- label="Add Server"
- menubarPath="com.gluster.storage.management.gui.menu.servers/servers"
- mode="FORCE_TEXT"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- tooltip="Manual Server Addition">
- </action>
- <menu
- id="com.gluster.storage.management.gui.menu.servers"
- label="&amp;Gluster"
- path="additions">
- <groupMarker
- name="servers">
- </groupMarker>
- </menu>
- </actionSet>
- <actionSet
- description="Set of actions that can be performed in the &quot;Gluster Server&quot; contextt; context"
- id="com.gluster.storage.management.gui.actionsets.glusterserver"
- label="Gluster Server Actions"
- visible="false">
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.RemoveServerAction"
- definitionId="com.gluster.storage.management.gui.commands.RemoveServer"
- icon="icons/tango/32x32/remove-server.png"
- id="com.gluster.storage.management.gui.actions.RemoveServerAction"
- label="&amp;Remove Server(s)"
- menubarPath="com.gluster.storage.management.gui.menu.glusterserver/glusterserver"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Remove Server">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.CreateVolumeAction"
- definitionId="com.gluster.storage.management.gui.commands.CreateVolume"
- icon="icons/tango/32x32/create-volume.png"
- id="com.gluster.storage.management.gui.actions.CreateVolumeAction"
- label="Create &amp;Volume"
- menubarPath="com.gluster.storage.management.gui.menu.glusterserver/glusterserver"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Create a new Volume">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.ServerAdditionAction"
- definitionId="com.gluster.storage.management.gui.commands.ServerAddition"
- id="com.gluster.storage.management.gui.actions.ServerAdditionAction"
- label="Add Server"
- menubarPath="com.gluster.storage.management.gui.menu.glusterserver/glusterserver"
- mode="FORCE_TEXT"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- tooltip="Manual Server Addition">
- </action>
- <menu
- id="com.gluster.storage.management.gui.menu.glusterserver"
- label="&amp;Gluster"
- path="additions">
- <groupMarker
- name="glusterserver">
- </groupMarker>
- </menu>
- </actionSet>
- <actionSet
- description="Set of actions that can be performed on multiple Discovered Servers"
- id="com.gluster.storage.management.gui.actionsets.serversdiscovered"
- label="Discovered Servers Actions"
- visible="false">
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.AddServerAction"
- definitionId="com.gluster.storage.management.gui.commands.AddServer"
- icon="icons/tango/32x32/add-server.png"
- id="com.gluster.storage.management.gui.actions.AddServerAction"
- label="&amp;Add Server(s)"
- menubarPath="com.gluster.storage.management.gui.menu.discoveredservers/discoveredservers"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Add Server(s) to Cluster">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.CreateVolumeAction"
- definitionId="com.gluster.storage.management.gui.commands.CreateVolume"
- icon="icons/tango/32x32/create-volume.png"
- id="com.gluster.storage.management.gui.actions.CreateVolumeAction"
- label="Create &amp;Volume"
- menubarPath="com.gluster.storage.management.gui.menu.discoveredservers/discoveredservers"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Create a new Volume">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.ServerAdditionAction"
- definitionId="com.gluster.storage.management.gui.commands.ServerAddition"
- id="com.gluster.storage.management.gui.actions.ServerAdditionAction"
- label="Add Server"
- menubarPath="com.gluster.storage.management.gui.menu.discoveredservers/discoveredservers"
- mode="FORCE_TEXT"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- tooltip="Manual Server Addition">
- </action>
- <menu
- id="com.gluster.storage.management.gui.menu.discoveredservers"
- label="&amp;Gluster"
- path="additions">
- <groupMarker
- name="discoveredservers">
- </groupMarker>
- </menu>
- </actionSet>
- <actionSet
- description="Set of actions that can be performed on single Discovered Server"
- id="com.gluster.storage.management.gui.actionsets.serverdiscovered"
- label="Discovered Server Actions"
- visible="false">
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.AddServerAction"
- definitionId="com.gluster.storage.management.gui.commands.AddServer"
- icon="icons/tango/32x32/add-server.png"
- id="com.gluster.storage.management.gui.actions.AddServerAction"
- label="&amp;Add Server(s)"
- menubarPath="com.gluster.storage.management.gui.menu.discoveredserver/discoveredserver"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Add Server(s) to Cluster">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.CreateVolumeAction"
- definitionId="com.gluster.storage.management.gui.commands.CreateVolume"
- icon="icons/tango/32x32/create-volume.png"
- id="com.gluster.storage.management.gui.actions.CreateVolumeAction"
- label="Create &amp;Volume"
- menubarPath="com.gluster.storage.management.gui.menu.discoveredserver/discoveredserver"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Create a new Volume">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.ServerAdditionAction"
- definitionId="com.gluster.storage.management.gui.commands.ServerAddition"
- id="com.gluster.storage.management.gui.actions.ServerAdditionAction"
- label="Add Server"
- menubarPath="com.gluster.storage.management.gui.menu.discoveredserver/discoveredserver"
- mode="FORCE_TEXT"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- tooltip="Manual Server Addition">
- </action>
- <menu
- id="com.gluster.storage.management.gui.menu.discoveredserver"
- label="&amp;Gluster"
- path="additions">
- <groupMarker
- name="discoveredserver">
- </groupMarker>
- </menu>
- </actionSet>
- <actionSet
- description="Set of actions that can be performed from &quot;Cluster&quot; context"
- id="com.gluster.storage.management.gui.actionsets.task"
- label="Task Action Set"
- visible="false">
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.ClearTaskAction"
- definitionId="com.gluster.storage.management.gui.commands.Clear"
- icon="icons/tango/32x32/clear-task.png"
- id="com.gluster.storage.management.gui.actions.Clear"
- label="&amp;Clear Task"
- menubarPath="com.gluster.storage.management.gui.menu.task/task"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="To clear selected task from task list">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.CommitTaskAction"
- definitionId="com.gluster.storage.management.gui.commands.Commit"
- icon="icons/tango/32x32/commit-task.png"
- id="com.gluster.storage.management.gui.actions.Commit"
- label="&amp;Commit Task"
- menubarPath="com.gluster.storage.management.gui.menu.task/task"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="To Commit the selected task">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.StopTaskAction"
- definitionId="com.gluster.storage.management.gui.commands.Stop"
- icon="icons/tango/32x32/stop.png"
- id="com.gluster.storage.management.gui.actions.Stop"
- label="&amp;Stop Task"
- menubarPath="com.gluster.storage.management.gui.menu.task/task"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="To Stop the selected task">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.ResumeTaskAction"
- definitionId="com.gluster.storage.management.gui.commands.Pause"
- icon="icons/tango/32x32/start.png"
- id="com.gluster.storage.management.gui.actions.Resume"
- label="&amp;Resume Task"
- menubarPath="com.gluster.storage.management.gui.menu.task/task"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="To Resume the selected task">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.PauseTaskAction"
- definitionId="com.gluster.storage.management.gui.commands.Pause"
- icon="icons/tango/32x32/pause.png"
- id="com.gluster.storage.management.gui.actions.Pause"
- label="&amp;Pause Task"
- menubarPath="com.gluster.storage.management.gui.menu.task/task"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="To Pause the selected task">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.CreateVolumeAction"
- definitionId="com.gluster.storage.management.gui.commands.CreateVolume"
- icon="icons/tango/32x32/create-volume.png"
- id="com.gluster.storage.management.gui.actions.CreateVolumeAction"
- label="Create &amp;Volume"
- menubarPath="com.gluster.storage.management.gui.menu.task/task"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Create a new Volume">
- </action>
- <menu
- id="com.gluster.storage.management.gui.menu.task"
- label="&amp;Gluster">
- <groupMarker
- name="task">
- </groupMarker>
- </menu>
- </actionSet>
- <actionSet
- description="Set of actions that can be performed at Cluster context"
- id="com.gluster.storage.management.gui.actionsets.gluster"
- label="Gluster Actions"
- visible="false">
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.CreateVolumeAction"
- definitionId="com.gluster.storage.management.gui.commands.CreateVolume"
- icon="icons/tango/32x32/create-volume.png"
- id="com.gluster.storage.management.gui.actions.CreateVolumeAction"
- label="Create &amp;Volume"
- menubarPath="com.gluster.storage.management.gui.menu.gluster/gluster"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Create a new Volume">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.ServerAdditionAction"
- definitionId="com.gluster.storage.management.gui.commands.ServerAddition"
- id="com.gluster.storage.management.gui.actions.ServerAdditionAction"
- label="Add Server"
- menubarPath="com.gluster.storage.management.gui.menu.gluster/gluster"
- mode="FORCE_TEXT"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- tooltip="Manual Server Addition">
- </action>
- <menu
- id="com.gluster.storage.management.gui.menu.gluster"
- label="&amp;Gluster"
- path="additions">
- <groupMarker
- name="gluster">
- </groupMarker>
- </menu>
- </actionSet>
- <actionSet
- description="Set of Actions in &quot;Edit&quot; menu"
- id="com.gluster.storage.management.gui.actionsets.edit"
- label="Edit Action Set"
- visible="true">
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.RefreshDataAction"
- definitionId="org.eclipse.ui.window.preferences"
- icon="icons/tango/32x32/view-refresh.png"
- id="com.gluster.storage.management.gui.actions.RefreshDataAction"
- label="&amp;Refresh"
- menubarPath="com.gluster.storage.management.gui.menu.edit/edit"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Refresh data from Gluster Management Gateway">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.PreferencesAction"
- definitionId="org.eclipse.ui.window.preferences"
- icon="icons/tango/32x32/settings.png"
- id="com.gluster.storage.management.gui.actions.PreferencesAction"
- label="&amp;Settings"
- menubarPath="com.gluster.storage.management.gui.menu.edit/edit"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Settings">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.ChangePasswordAction"
- definitionId="com.gluster.storage.management.gui.commands.ChangePassword"
- icon="icons/tango/32x32/change-password.png"
- id="com.gluster.storage.management.gui.actions.ChangePasswordAction"
- label="&amp;Change Password"
- menubarPath="com.gluster.storage.management.gui.menu.edit/edit"
- mode="FORCE_TEXT"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- tooltip="Change password">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.ExportSshKeysAction"
- definitionId="com.gluster.storage.management.gui.commands.ExportSshKeys"
- icon="icons/tango/32x32/export-keys.png"
- id="com.gluster.storage.management.gui.actions.ExportSshKeysAction"
- label="&amp;Export Keys"
- menubarPath="com.gluster.storage.management.gui.menu.edit/edit"
- mode="FORCE_TEXT"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- tooltip="Export SSH keys">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.ImportSshKeysAction"
- definitionId="com.gluster.storage.management.gui.commands.ImportSshKeys"
- icon="icons/tango/32x32/import-keys.png"
- id="com.gluster.storage.management.gui.actions.ImportSshKeysAction"
- label="&amp;Import Keys"
- menubarPath="com.gluster.storage.management.gui.menu.edit/edit"
- mode="FORCE_TEXT"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- tooltip="Import SSH keys">
- </action>
- <menu
- id="com.gluster.storage.management.gui.menu.edit"
- label="&amp;Edit"
- path="additions">
- <groupMarker
- name="edit">
- </groupMarker>
- </menu>
- </actionSet>
- </extension>
- <extension
- point="org.eclipse.ui.perspectiveExtensions">
- <perspectiveExtension
- targetID="*">
- <view
- closeable="false"
- id="com.gluster.storage.management.gui.views.NavigationView"
- minimized="false"
- moveable="false"
- ratio="0.30f"
- relationship="left"
- relative="org.eclipse.ui.editorss"
- showTitle="false"
- standalone="true"
- visible="true">
- </view>
- <view
- closeable="false"
- id="com.gluster.storage.management.gui.views.ClusterSummaryView"
- minimized="false"
- moveable="false"
- ratio="0.30f"
- relationship="right"
- relative="com.gluster.storage.management.gui.views.navigator.NavigationView"
- showTitle="true"
- standalone="false"
- visible="false">
- </view>
- <view
- closeable="false"
- id="com.gluster.storage.management.gui.views.details.DetailsView"
- minimized="false"
- moveable="false"
- ratio="0.70f"
- relationship="right"
- relative="com.gluster.storage.management.gui.views.navigator.NavigationView"
- showTitle="false"
- standalone="false"
- visible="false">
- </view>
- <view
- closeable="true"
- id="org.eclipse.ui.views.ProgressView"
- minimized="false"
- moveable="false"
- ratio="0.80f"
- relationship="bottom"
- relative="com.gluster.storage.management.gui.views.ClusterSummaryView"
- showTitle="true"
- standalone="true"
- visible="false">
- </view>
- <view
- closeable="false"
- id="com.gluster.storage.management.gui.views.DiscoveredServersView"
- minimized="false"
- moveable="false"
- ratio="0.30f"
- relationship="stack"
- relative="com.gluster.storage.management.gui.views.ClusterSummaryView"
- showTitle="true"
- standalone="false"
- visible="false">
- </view>
- <view
- closeable="false"
- id="com.gluster.storage.management.gui.views.DiscoveredServerView"
- minimized="false"
- moveable="false"
- ratio="0.30f"
- relationship="right"
- relative="com.gluster.storage.management.gui.views.navigator.NavigationView"
- showTitle="true"
- standalone="false"
- visible="false">
- </view>
- <view
- closeable="false"
- id="com.gluster.storage.management.gui.views.VolumesSummaryView"
- minimized="false"
- moveable="false"
- ratio="0.30f"
- relationship="stack"
- relative="com.gluster.storage.management.gui.views.ClusterSummaryView"
- showTitle="true"
- standalone="false"
- visible="false">
- </view>
- <view
- closeable="false"
- id="com.gluster.storage.management.gui.views.VolumesView"
- minimized="false"
- moveable="false"
- ratio="0.30f"
- relationship="stack"
- relative="com.gluster.storage.management.gui.views.VolumesSummaryView"
- showTitle="true"
- standalone="false"
- visible="false">
- </view>
- <view
- closeable="false"
- id="com.gluster.storage.management.gui.views.VolumeSummaryView"
- minimized="false"
- moveable="false"
- ratio="0.30f"
- relationship="stack"
- relative="com.gluster.storage.management.gui.views.ClusterSummaryView"
- showTitle="true"
- standalone="false"
- visible="false">
- </view>
- <view
- closeable="false"
- id="com.gluster.storage.management.gui.views.VolumeBricksView"
- minimized="false"
- moveable="false"
- ratio="0.30f"
- relationship="stack"
- relative="com.gluster.storage.management.gui.views.ClusterSummaryView"
- showTitle="true"
- standalone="false"
- visible="false">
- </view>
- <view
- closeable="false"
- id="com.gluster.storage.management.gui.views.VolumeOptionsView"
- minimized="false"
- moveable="false"
- ratio="0.30f"
- relationship="stack"
- relative="com.gluster.storage.management.gui.views.ClusterSummaryView"
- showTitle="true"
- standalone="false"
- visible="false">
- </view>
- <view
- closeable="false"
- id="com.gluster.storage.management.gui.views.VolumeLogsView"
- minimized="false"
- moveable="false"
- ratio="0.30f"
- relationship="stack"
- relative="com.gluster.storage.management.gui.views.ClusterSummaryView"
- showTitle="true"
- standalone="false"
- visible="false">
- </view>
- <view
- closeable="false"
- id="com.gluster.storage.management.gui.views.GlusterServersSummaryView"
- minimized="false"
- moveable="false"
- ratio="0.30f"
- relationship="stack"
- relative="com.gluster.storage.management.gui.views.ClusterSummaryView"
- showTitle="true"
- standalone="false"
- visible="false">
- </view>
- <view
- closeable="false"
- id="com.gluster.storage.management.gui.views.GlusterServersView"
- minimized="false"
- moveable="false"
- ratio="0.30f"
- relationship="stack"
- relative="com.gluster.storage.management.gui.views.ClusterSummaryView"
- showTitle="true"
- standalone="false"
- visible="false">
- </view>
- <view
- closeable="false"
- id="com.gluster.storage.management.gui.views.DisksView"
- minimized="false"
- moveable="false"
- ratio="0.30f"
- relationship="stack"
- relative="com.gluster.storage.management.gui.views.ClusterSummaryView"
- showTitle="true"
- standalone="false"
- visible="false">
- </view>
- <view
- closeable="false"
- id="com.gluster.storage.management.gui.views.GlusterServerSummaryView"
- minimized="false"
- moveable="false"
- ratio="0.30f"
- relationship="stack"
- relative="com.gluster.storage.management.gui.views.ClusterSummaryView"
- showTitle="true"
- standalone="false"
- visible="false">
- </view>
- <view
- closeable="false"
- id="com.gluster.storage.management.gui.views.GlusterServerDisksView"
- minimized="false"
- moveable="false"
- ratio="0.30f"
- relationship="stack"
- relative="com.gluster.storage.management.gui.views.ClusterSummaryView"
- showTitle="true"
- standalone="false"
- visible="false">
- </view>
- <view
- closeable="false"
- id="com.gluster.storage.management.gui.views.GlusterServerLogsView"
- minimized="false"
- moveable="false"
- ratio="0.30f"
- relationship="stack"
- relative="com.gluster.storage.management.gui.views.ClusterSummaryView"
- showTitle="true"
- standalone="false"
- visible="false">
- </view>
- <view
- closeable="false"
- id="com.gluster.storage.management.gui.views.TasksView"
- minimized="false"
- moveable="false"
- ratio="0.30f"
- relationship="stack"
- relative="com.gluster.storage.management.gui.views.ClusterSummaryView"
- showTitle="true"
- standalone="false"
- visible="false">
- </view>
- </perspectiveExtension>
- </extension>
- <extension
- point="org.eclipse.ui.decorators">
- <decorator
- adaptable="false"
- class="com.gluster.storage.management.gui.views.NavigationTreeLabelDecorator"
- id="com.gluster.storage.management.gui.views.navigator.decorator"
- label="Navigation Tree Decorator"
- lightweight="true"
- location="BOTTOM_LEFT"
- state="true">
- </decorator>
- </extension>
- <extension
- point="org.eclipse.ui.preferencePages">
- <page
- class="com.gluster.storage.management.gui.preferences.GlusterPreferencePage"
- id="com.gluster.storage.management.gui.preferences.GlusterPreferencePage"
- name="Gluster">
- </page>
- <page
- category="com.gluster.storage.management.gui.preferences.GlusterPreferencePage"
- class="com.gluster.storage.management.gui.preferences.AlertsPreferencePage"
- id="com.gluster.storage.management.gui.preferences.AlertsPreferencePage"
- name="Alerts">
- </page>
- <page
- category="com.gluster.storage.management.gui.preferences.GlusterPreferencePage"
- class="com.gluster.storage.management.gui.preferences.ChartsPreferencePage"
- id="com.gluster.storage.management.gui.preferences.ChartsPreferencePage"
- name="Charts">
- </page>
- </extension>
- <extension
- point="org.eclipse.core.runtime.preferences">
- <initializer
- class="com.gluster.storage.management.gui.preferences.PreferenceInitializer">
- </initializer>
- </extension>
- <extension
- point="org.eclipse.ui.popupMenus">
- <objectContribution
- id="gluster.context.menu.glusterserver"
- objectClass="com.gluster.storage.management.core.model.GlusterServer">
- <action
- class="com.gluster.storage.management.gui.actions.RemoveServerAction"
- definitionId="com.gluster.storage.management.gui.commands.RemoveServer"
- enablesFor="+"
- id="com.gluster.storage.management.gui.actions.RemoveServerAction"
- label="&amp;Remove Server"
- menubarPath="additions">
- </action>
- </objectContribution>
- <objectContribution
- id="gluster.context.menu.volume"
- objectClass="com.gluster.storage.management.core.model.Volume">
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.MigrateBrickAction"
- definitionId="com.gluster.storage.management.gui.commands.MigrateDisk"
- enablesFor="1"
- id="com.gluster.storage.management.gui.actions.MigrateDiskAction"
- label="&amp;Migrate Disk"
- menubarPath="additions"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Migrate Disk">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.DeleteVolumeAction"
- definitionId="com.gluster.storage.management.gui.commands.DeleteVolume"
- enablesFor="1"
- id="com.gluster.storage.management.gui.actions.DeleteVolumeAction"
- label="&amp;Delete Volume"
- menubarPath="additions"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Delete Volume">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.RebalanceVolumeAction"
- definitionId="com.gluster.storage.management.gui.commands.RebalanceVolume"
- enablesFor="1"
- id="com.gluster.storage.management.gui.actions.RebalanceVolumeAction"
- label="&amp;Rebalance Volume"
- menubarPath="additions"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Rebalance Volume">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.StopVolumeAction"
- definitionId="com.gluster.storage.management.gui.commands.StopVolume"
- enablesFor="+"
- id="com.gluster.storage.management.gui.actions.StopVolumeAction"
- label="S&amp;top Volume"
- menubarPath="additions"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Stop Volume">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.StartVolumeAction"
- definitionId="com.gluster.storage.management.gui.commands.StartVolume"
- enablesFor="+"
- id="com.gluster.storage.management.gui.actions.StartVolumeAction"
- label="&amp;Start Volume"
- menubarPath="additions"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Start Volume">
- </action>
- </objectContribution>
- <objectContribution
- id="gluster.context.menu.server"
- objectClass="com.gluster.storage.management.core.model.Server">
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.AddServerAction"
- definitionId="com.gluster.storage.management.gui.commands.AddServer"
- enablesFor="+"
- id="com.gluster.storage.management.gui.actions.AddServerAction"
- label="&amp;Add Server(s)"
- menubarPath="additions"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Add Server(s) to Cluster">
- </action>
- <visibility>
- <not>
- <objectClass
- name="com.gluster.storage.management.core.model.GlusterServer">
- </objectClass>
- </not>
- </visibility>
- </objectContribution>
- <objectContribution
- id="gluster.context.menu.entityGroup"
- objectClass="com.gluster.storage.management.core.model.EntityGroup">
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.CreateVolumeAction"
- definitionId="com.gluster.storage.management.gui.commands.CreateVolume"
- id="com.gluster.storage.management.gui.actions.CreateVolumeAction"
- label="&amp;Create Volume"
- menubarPath="additions"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Create a new Volume">
- </action>
- <action
- allowLabelUpdate="false"
- class="com.gluster.storage.management.gui.actions.AddServerAction"
- definitionId="com.gluster.storage.management.gui.commands.AddServer"
- id="com.gluster.storage.management.gui.actions.AddServerAction"
- label="&amp;Add Server(s)"
- menubarPath="additions"
- pulldown="false"
- retarget="false"
- state="false"
- style="push"
- toolbarPath="Normal"
- tooltip="Add Server(s) to Cluster">
- </action>
- </objectContribution>
- </extension>
-
-</plugin>
diff --git a/src/com.gluster.storage.management.gui/preferences.ini b/src/com.gluster.storage.management.gui/preferences.ini
deleted file mode 100644
index 24389288..00000000
--- a/src/com.gluster.storage.management.gui/preferences.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-org.eclipse.ui/KEY_CONFIGURATION_ID = com.gluster.storage.management.gui.KeyConfig
-org.eclipse.help.base/help_home=/com.gluster.storage.management.console.help/html/help_home.html \ No newline at end of file
diff --git a/src/com.gluster.storage.management.gui/splash.bmp b/src/com.gluster.storage.management.gui/splash.bmp
deleted file mode 100644
index 059c28f9..00000000
--- a/src/com.gluster.storage.management.gui/splash.bmp
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/splash/gluster_about.jpg b/src/com.gluster.storage.management.gui/splash/gluster_about.jpg
deleted file mode 100644
index 242fa560..00000000
--- a/src/com.gluster.storage.management.gui/splash/gluster_about.jpg
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/splash/splash-dialog.bmp b/src/com.gluster.storage.management.gui/splash/splash-dialog.bmp
deleted file mode 100644
index 2de2897f..00000000
--- a/src/com.gluster.storage.management.gui/splash/splash-dialog.bmp
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/splash/splash-dialog.png b/src/com.gluster.storage.management.gui/splash/splash-dialog.png
deleted file mode 100644
index 789eafb0..00000000
--- a/src/com.gluster.storage.management.gui/splash/splash-dialog.png
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/BrickTableLabelProvider.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/BrickTableLabelProvider.java
deleted file mode 100644
index 7e1319c4..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/BrickTableLabelProvider.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.gui;
-
-import org.eclipse.swt.graphics.Image;
-
-import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
-import com.gluster.storage.management.core.model.Brick;
-import com.gluster.storage.management.core.model.Device;
-import com.gluster.storage.management.core.model.Device.DEVICE_STATUS;
-import com.gluster.storage.management.core.utils.NumberUtil;
-import com.gluster.storage.management.gui.utils.GUIHelper;
-import com.gluster.storage.management.gui.views.pages.BricksPage.BRICK_TABLE_COLUMN_INDICES;
-import com.gluster.storage.management.gui.views.pages.DisksPage.DISK_TABLE_COLUMN_INDICES;
-
-public class BrickTableLabelProvider extends TableLabelProviderAdapter {
- private GUIHelper guiHelper = GUIHelper.getInstance();
-
- @Override
- public Image getColumnImage(Object element, int columnIndex) {
-
- if (!(element instanceof Brick)) {
- return null;
- }
-
- Brick brick = (Brick) element;
- Device device = GlusterDataModelManager.getInstance().getDeviceDetails(brick.getDeviceName());
-
- if (columnIndex == DISK_TABLE_COLUMN_INDICES.STATUS.ordinal()) {
- DEVICE_STATUS status = device.getStatus();
- // TODO: Use different images for all four statuses
- switch (status) {
- case INITIALIZED:
- return guiHelper.getImage(IImageKeys.STATUS_ONLINE_16x16);
- case IO_ERROR:
- return guiHelper.getImage(IImageKeys.STATUS_OFFLINE_16x16);
- case UNINITIALIZED:
- return guiHelper.getImage(IImageKeys.STATUS_OFFLINE_16x16);
- case INITIALIZING:
- return guiHelper.getImage(IImageKeys.STATUS_OFFLINE_16x16);
- default:
- throw new GlusterRuntimeException("Invalid brick status [" + status + "]");
- }
- }
-
- return null;
- }
-
- private String getDeviceFreeSpace(Device device) {
- if (device != null && device.isReady() && device.getFreeSpace() != null) {
- return NumberUtil.formatNumber((device.getFreeSpace() / 1024));
- } else {
- return "NA";
- }
- }
-
- private String getDeviceCapacity(Device device) {
- if (device.isReady() && device.getSpace() != null && device.getSpace() != 0.0) {
- return NumberUtil.formatNumber((device.getSpace() / 1024));
- } else {
- return "NA";
- }
- }
-
- @Override
- public String getColumnText(Object element, int columnIndex) {
- if (!(element instanceof Brick)) {
- return null;
- }
-
- Brick brick = (Brick) element;
- Device device = GlusterDataModelManager.getInstance().getDeviceDetails(brick.getDeviceName());
- return (columnIndex == BRICK_TABLE_COLUMN_INDICES.SERVER.ordinal() ? brick.getServerName()
- : columnIndex == BRICK_TABLE_COLUMN_INDICES.BRICK.ordinal() ? brick.getBrickDirectory()
- : columnIndex == BRICK_TABLE_COLUMN_INDICES.FREE_SPACE.ordinal() ? getDeviceFreeSpace(device)
- : columnIndex == BRICK_TABLE_COLUMN_INDICES.TOTAL_SPACE.ordinal() ? getDeviceCapacity(device)
- : columnIndex == BRICK_TABLE_COLUMN_INDICES.STATUS.ordinal() ? brick
- .getStatusStr() : "Invalid");
- }
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/ICommandIds.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/ICommandIds.java
deleted file mode 100644
index d9cb434c..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/ICommandIds.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.gui;
-
-/**
- * Interface defining the application's command IDs.
- * Key bindings can be defined for specific commands.
- * To associate an action with a command, use IAction.setActionDefinitionId(commandId).
- *
- * @see org.eclipse.jface.action.IAction#setActionDefinitionId(String)
- */
-public interface ICommandIds {
-
- public static final String CMD_OPEN = "com.gluster.storage.management.gui.open";
- public static final String CMD_OPEN_MESSAGE = "com.gluster.storage.management.gui.openMessage";
-
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java
deleted file mode 100644
index a97e537a..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/AddServerAction.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.gui.actions;
-
-import java.util.HashSet;
-import java.util.Set;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Display;
-
-import com.gluster.storage.management.client.GlusterServersClient;
-import com.gluster.storage.management.core.constants.CoreConstants;
-import com.gluster.storage.management.core.model.Server;
-import com.gluster.storage.management.gui.GlusterDataModelManager;
-import com.gluster.storage.management.gui.utils.GUIHelper;
-
-public class AddServerAction extends AbstractActionDelegate {
- private GUIHelper guiHelper = GUIHelper.getInstance();
-
- @Override
- protected void performAction(final IAction action) {
- final Runnable addServerThread = new Runnable() {
- @Override
- public void run() {
- GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
- GlusterServersClient glusterServersClient = new GlusterServersClient();
-
- Set<Server> selectedServers = GUIHelper.getInstance().getSelectedEntities(getWindow(), Server.class);
- Set<Server> successServers = new HashSet<Server>();
- Set<Server> partSuccessServers = new HashSet<Server>();
- String errMsg = "";
- String partErrMsg = "";
- for (Server server : selectedServers) {
- guiHelper.setStatusMessage("Adding server [" + server.getName() + "]...");
-
- try {
- glusterServersClient.addServer(server.getName());
- modelManager.addGlusterServer(glusterServersClient.getGlusterServer(server.getName()));
- successServers.add(server);
- } catch (Exception e) {
- // TODO: Handle error conditions
- }
- }
-
- guiHelper.clearStatusMessage();
- showStatusMessage(action.getDescription(), selectedServers, successServers, partSuccessServers, errMsg,
- partErrMsg);
- }
- };
-
- BusyIndicator.showWhile(Display.getDefault(), new Runnable() {
- @Override
- public void run() {
- Display.getDefault().asyncExec(addServerThread);
- }
- });
- }
-
- private void showStatusMessage(String dialogTitle, Set<Server> selectedServers, Set<Server> successServers,
- Set<Server> partSuccessServers, String errMsg, String partErrMsg) {
- if (successServers.size() == selectedServers.size()) {
- if (selectedServers.size() == 1) {
- showInfoDialog(dialogTitle, "Server [" + selectedServers.iterator().next() + "] added successfully!");
- } else {
- showInfoDialog(dialogTitle, "Following servers added successfully!" + CoreConstants.NEWLINE
- + selectedServers);
- }
- return;
- }
-
- String finalMsg = "";
- if (successServers.size() == 0 && partSuccessServers.size() == 0) {
- finalMsg = "Server Addition Failed! Error(s):" + CoreConstants.NEWLINE + errMsg;
- } else {
- finalMsg = (successServers.isEmpty() ? "" : "Following servers added successfully : "
- + CoreConstants.NEWLINE + successServers + CoreConstants.NEWLINE)
- + (partSuccessServers.isEmpty() ? "" : "Following servers were added to cluster, but with some errors: "
- + CoreConstants.NEWLINE + partErrMsg + CoreConstants.NEWLINE)
- + (errMsg.isEmpty() ? "" : CoreConstants.NEWLINE
- + "Following errors occurred on other selected servers: " + CoreConstants.NEWLINE + errMsg);
- }
- showErrorDialog(dialogTitle, finalMsg);
- }
-
- @Override
- public void dispose() {
- System.out.println("Disposing [" + this.getClass().getSimpleName() + "]");
- }
-
- @Override
- public void selectionChanged(IAction action, ISelection selection) {
- Set<Server> selectedServers = GUIHelper.getInstance().getSelectedEntities(getWindow(), Server.class);
- if (selectedServers == null || selectedServers.isEmpty()) {
- action.setEnabled(false);
- } else {
- action.setEnabled(true);
- }
- }
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ChangePasswordAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ChangePasswordAction.java
deleted file mode 100644
index c7001dda..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ChangePasswordAction.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package com.gluster.storage.management.gui.actions;
-
-import org.eclipse.jface.action.IAction;
-
-import com.gluster.storage.management.gui.dialogs.ChangePasswordDialog;
-
-public class ChangePasswordAction extends AbstractActionDelegate {
-
- @Override
- protected void performAction(IAction action) {
- try {
- // To open a dialog for change password
- ChangePasswordDialog dialog = new ChangePasswordDialog(getShell());
- dialog.open();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- @Override
- public void dispose() {
- }
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ClearTaskAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ClearTaskAction.java
deleted file mode 100644
index 2c9baf59..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ClearTaskAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.gluster.storage.management.gui.actions;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-
-import com.gluster.storage.management.client.TasksClient;
-import com.gluster.storage.management.core.model.Status;
-import com.gluster.storage.management.core.model.TaskInfo;
-import com.gluster.storage.management.gui.GlusterDataModelManager;
-
-public class ClearTaskAction extends AbstractActionDelegate {
- private TaskInfo taskInfo;
- private GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
-
- @Override
- protected void performAction(final IAction action) {
- final String actionDesc = action.getDescription();
-
- try {
- new TasksClient().deleteTask(taskInfo.getName()); // taskId
- modelManager.removeTask(taskInfo);
- action.setEnabled(false); // TODO disable other task buttons
- } catch (Exception e) {
- showErrorDialog(actionDesc,
- "Task [" + taskInfo.getName() + "] could not be cleared! Error: [" + e.getMessage() + "]");
- }
- }
-
- @Override
- public void selectionChanged(IAction action, ISelection selection) {
- super.selectionChanged(action, selection);
- action.setEnabled(false);
- if (selectedEntity instanceof TaskInfo) {
- taskInfo = (TaskInfo) selectedEntity;
- action.setEnabled(taskInfo.getStatus().getCode() == Status.STATUS_CODE_SUCCESS
- || taskInfo.getStatus().getCode() == Status.STATUS_CODE_FAILURE);
- } else {
- action.setEnabled(false);
- }
- }
-
- @Override
- public void dispose() {
-
- }
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/CommitTaskAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/CommitTaskAction.java
deleted file mode 100644
index 6a13fc8e..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/CommitTaskAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.gluster.storage.management.gui.actions;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-
-import com.gluster.storage.management.client.TasksClient;
-import com.gluster.storage.management.core.model.Status;
-import com.gluster.storage.management.core.model.TaskInfo;
-import com.gluster.storage.management.core.model.TaskStatus;
-import com.gluster.storage.management.gui.GlusterDataModelManager;
-
-public class CommitTaskAction extends AbstractActionDelegate {
- private TaskInfo taskInfo;
- private GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
-
- @Override
- protected void performAction(final IAction action) {
- final String actionDesc = action.getDescription();
- try {
- new TasksClient().commitTask(taskInfo.getName());
- taskInfo.setStatus(new TaskStatus(new Status(Status.STATUS_CODE_SUCCESS, "Committed")));
- showInfoDialog(actionDesc, "Commit successful");
- modelManager.removeTask(taskInfo);
- } catch (Exception e) {
- showErrorDialog(actionDesc,
- "Task [" + taskInfo.getName() + "] could not be Committed! Error: [" + e.getMessage() + "]");
- }
- }
-
- @Override
- public void selectionChanged(IAction action, ISelection selection) {
- super.selectionChanged(action, selection);
- action.setEnabled(false);
- if (selectedEntity instanceof TaskInfo) {
- taskInfo = (TaskInfo) selectedEntity;
- action.setEnabled(taskInfo.getCommitSupported()
- && taskInfo.getStatus().getCode() == Status.STATUS_CODE_COMMIT_PENDING);
- }
- }
-
- @Override
- public void dispose() {
-
- }
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DeleteVolumeAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DeleteVolumeAction.java
deleted file mode 100644
index ae2d574b..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DeleteVolumeAction.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.gui.actions;
-
-import org.apache.log4j.Logger;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-
-import com.gluster.storage.management.client.VolumesClient;
-import com.gluster.storage.management.core.model.Volume;
-import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS;
-import com.gluster.storage.management.gui.GlusterDataModelManager;
-import com.gluster.storage.management.gui.IImageKeys;
-import com.gluster.storage.management.gui.utils.GUIHelper;
-
-public class DeleteVolumeAction extends AbstractActionDelegate {
- private Volume volume;
- private GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
- private static final Logger logger = Logger.getLogger(DeleteVolumeAction.class);
-
- @Override
- protected void performAction(final IAction action) {
- final String actionDesc = action.getDescription();
-
- String warningMessage;
- if (volume.getStatus() == VOLUME_STATUS.OFFLINE) {
- warningMessage = "Are you sure to delete the Volume[" + volume.getName() + "] ?";
- } else {
- warningMessage = "Volume [" + volume.getName() + "] is online, \nAre you sure to continue?";
- }
-
- Integer deleteOption = new MessageDialog(getShell(), "Delete Volume", GUIHelper.getInstance().getImage(
- IImageKeys.VOLUME_16x16), warningMessage, MessageDialog.QUESTION, new String[] { "Cancel",
- "Delete volume and data", "Delete volume, keep data" }, -1).open();
- if (deleteOption <= 0) { // By Cancel button(0) or Escape key(-1)
- return;
- }
-
- VolumesClient client = new VolumesClient();
-
- if (volume.getStatus() == VOLUME_STATUS.ONLINE) { // To stop the volume service, if running
- try {
- client.stopVolume(volume.getName());
- } catch (Exception e) {
- showErrorDialog(actionDesc,
- "Volume [" + volume.getName() + "] could not be stopped! Error: [" + e.getMessage() + "]");
- return;
- }
- }
-
- boolean confirmDelete = false;
- if (deleteOption == 1) {
- confirmDelete = true;
- }
-
- try {
- client.deleteVolume(volume, confirmDelete);
- showInfoDialog(actionDesc, "Volume [" + volume.getName() + "] deleted successfully!");
- modelManager.deleteVolume(volume);
- } catch (Exception e) {
- // there is a possibility that the error was in post-delete operation, which means
- // volume was deleted, but some other error happened. check if this is the case.
- if (client.volumeExists(volume.getName())) {
- showErrorDialog(actionDesc,
- "Volume [" + volume.getName() + "] could not be deleted! Error: [" + e.getMessage() + "]");
- } else {
- showWarningDialog(actionDesc, "Volume deleted, but following error(s) occured: " + e.getMessage());
- }
- }
- }
-
- @Override
- public void dispose() {
- System.out.println("Disposing [" + this.getClass().getSimpleName() + "]");
- }
-
- @Override
- public void selectionChanged(IAction action, ISelection selection) {
- super.selectionChanged(action, selection);
- if (selectedEntity instanceof Volume) {
- volume = (Volume) selectedEntity;
- }
- }
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DownloadVolumeLogsAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DownloadVolumeLogsAction.java
deleted file mode 100644
index 226e4d00..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/DownloadVolumeLogsAction.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.gui.actions;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.FileDialog;
-
-import com.gluster.storage.management.client.VolumesClient;
-import com.gluster.storage.management.core.model.Volume;
-import com.gluster.storage.management.gui.utils.GUIHelper;
-
-/**
- *
- */
-public class DownloadVolumeLogsAction extends AbstractActionDelegate {
- private GUIHelper guiHelper = GUIHelper.getInstance();
-
- @Override
- public void dispose() {
- }
-
- @Override
- protected void performAction(IAction action) {
- final VolumesClient client = new VolumesClient();
- final Runnable downloadLogsThread = new Runnable() {
-
- @Override
- public void run() {
- Volume volume = guiHelper.getSelectedEntity(getWindow(), Volume.class);
-
- FileDialog dialog = new FileDialog(getShell(), SWT.SAVE);
- dialog.setFilterNames(new String[] {"GZipped Tar (*.tar.gz)"});
- dialog.setFilterExtensions(new String[] {"*.tar.gz"});
- String filePath = dialog.open();
-
- if(filePath == null) {
- return;
- }
-
- String title = "Download Volume Logs [" + volume.getName() + "]";
- try {
- client.downloadLogs(volume.getName(), filePath);
- showInfoDialog(title, "Volume logs downloaded successfully to [" + filePath + "]");
- } catch(Exception e) {
- showErrorDialog(title, e.getMessage());
- }
- }
- };
-
- BusyIndicator.showWhile(Display.getDefault(), new Runnable() {
-
- @Override
- public void run() {
- Display.getDefault().asyncExec(downloadLogsThread);
- }
- });
- }
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ExportSshKeysAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ExportSshKeysAction.java
deleted file mode 100644
index 86f44d8e..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ExportSshKeysAction.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * ExportSshKeysAction.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.gui.actions;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.FileDialog;
-
-import com.gluster.storage.management.client.KeysClient;
-
-/**
- * @author root
- *
- */
-public class ExportSshKeysAction extends AbstractActionDelegate {
-
- @Override
- protected void performAction(IAction action) {
- final KeysClient client = new KeysClient();
- final Runnable exportKeysThread = new Runnable() {
-
- @Override
- public void run() {
- FileDialog dialog = new FileDialog(getShell(), SWT.SAVE);
- dialog.setFilterNames(new String[] {"Tar (*.tar)"});
- dialog.setFilterExtensions(new String[] {"*.tar"});
- String filePath = dialog.open();
-
- if(filePath == null) {
- return;
- }
-
- String title = "Export SSH Keys";
- try {
- client.exportSshKeys(filePath);
- showInfoDialog(title, "SSH keys exported successfully to [" + filePath + "]");
- } catch(Exception e) {
- showErrorDialog(title, e.getMessage());
- }
- }
- };
-
- BusyIndicator.showWhile(Display.getDefault(), new Runnable() {
-
- @Override
- public void run() {
- Display.getDefault().asyncExec(exportKeysThread);
- }
- });
- }
-
-
- @Override
- public void dispose() {
- }
-
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/IActionConstants.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/IActionConstants.java
deleted file mode 100644
index c5e8958f..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/IActionConstants.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.gui.actions;
-
-public interface IActionConstants {
- public static final String ACTION_SET_CLUSTER = "com.gluster.storage.management.gui.actionsets.gluster";
- public static final String ACTION_SET_VOLUMES = "com.gluster.storage.management.gui.actionsets.volumes";
- public static final String ACTION_SET_VOLUME = "com.gluster.storage.management.gui.actionsets.volume";
- public static final String ACTION_SET_DISKS = "com.gluster.storage.management.gui.actionsets.disks";
- public static final String ACTION_SET_DISK = "com.gluster.storage.management.gui.actionsets.disk";
- public static final String ACTION_SET_GLUSTER_SERVERS = "com.gluster.storage.management.gui.actionsets.glusterservers";
- public static final String ACTION_SET_GLUSTER_SERVER = "com.gluster.storage.management.gui.actionsets.glusterserver";
- public static final String ACTION_SET_DISCOVERED_SERVERS = "com.gluster.storage.management.gui.actionsets.serversdiscovered";
- public static final String ACTION_SET_DISCOVERED_SERVER = "com.gluster.storage.management.gui.actionsets.serverdiscovered";
- public static final String ACTION_SET_TASK = "com.gluster.storage.management.gui.actionsets.task";
- public static final String ACTION_SET_EDIT = "com.gluster.storage.management.gui.actionsets.edit";
-
- public static final String COMMAND_CREATE_VOLUME = "com.gluster.storage.management.gui.commands.CreateVolume";
- public static final String COMMAND_ADD_SERVER = "com.gluster.storage.management.gui.commands.AddServer";
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ImportSshKeysAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ImportSshKeysAction.java
deleted file mode 100644
index a166f509..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ImportSshKeysAction.java
+++ /dev/null
@@ -1,44 +0,0 @@
-package com.gluster.storage.management.gui.actions;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.FileDialog;
-
-import com.gluster.storage.management.client.KeysClient;
-
-public class ImportSshKeysAction extends AbstractActionDelegate {
-
- @Override
- protected void performAction(IAction action) {
- final KeysClient client = new KeysClient();
-
- Display.getDefault().asyncExec(new Runnable() {
-
- @Override
- public void run() {
- FileDialog dialog = new FileDialog(getShell(), SWT.OPEN);
- dialog.setText("Open");
- dialog.setFilterNames(new String[] { "ssh-keys (*.tar)" });
- dialog.setFilterExtensions(new String[] { "*.tar" });
-
- String selectedFile = dialog.open();
- if (selectedFile == null) {
- return;
- }
-
- String title = "Import SSH Keys";
- try {
- client.importSshKeys(selectedFile);
- showInfoDialog(title, "SSH keys imported successfully!");
- } catch (Exception e) {
- showErrorDialog(title, e.getMessage());
- }
- }
- });
- }
-
- @Override
- public void dispose() {
- }
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RebalanceVolumeAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RebalanceVolumeAction.java
deleted file mode 100644
index 41b74082..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RebalanceVolumeAction.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.gui.actions;
-
-import java.net.URI;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-
-import com.gluster.storage.management.client.TasksClient;
-import com.gluster.storage.management.client.VolumesClient;
-import com.gluster.storage.management.core.model.TaskInfo;
-import com.gluster.storage.management.core.model.Volume;
-import com.gluster.storage.management.gui.GlusterDataModelManager;
-import com.gluster.storage.management.gui.utils.GUIHelper;
-
-public class RebalanceVolumeAction extends AbstractActionDelegate {
- private Volume volume;
- private GUIHelper guiHelper = GUIHelper.getInstance();
-
- @Override
- protected void performAction(final IAction action) {
- final String actionDesc = action.getDescription();
- try {
- URI uri = new VolumesClient().rebalanceStart(volume.getName(), false, false, false);
- // Add the task to model
- TasksClient taskClient = new TasksClient();
- TaskInfo taskInfo = taskClient.getTaskInfo(uri);
- if (taskInfo != null && taskInfo instanceof TaskInfo) {
- GlusterDataModelManager.getInstance().getModel().getCluster().addTaskInfo(taskInfo);
- }
- showInfoDialog(actionDesc, "Volume [" + volume.getName() + "] rebalance started successfully!");
- } catch (Exception e) {
- showErrorDialog(actionDesc, "Volume rebalance could not be started on [" + volume.getName() + "]! Error: ["
- + e.getMessage() + "]");
- }
- }
-
- @Override
- public void selectionChanged(IAction action, ISelection selection) {
- super.selectionChanged(action, selection);
-
- Volume selectedVolume = guiHelper.getSelectedEntity(getWindow(), Volume.class);
- if (selectedVolume != null) {
- volume = (Volume) selectedVolume;
- action.setEnabled(true);
- } else {
- action.setEnabled(false);
- }
- }
-
- @Override
- public void dispose() {
- System.out.println("Disposing [" + this.getClass().getSimpleName() + "]");
- }
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RefreshDataAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RefreshDataAction.java
deleted file mode 100644
index 6bcbc066..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/RefreshDataAction.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.gui.actions;
-
-import org.eclipse.jface.action.IAction;
-
-import com.gluster.storage.management.gui.jobs.DataSyncJob;
-
-/**
- *
- */
-public class RefreshDataAction extends AbstractActionDelegate {
- /* (non-Javadoc)
- * @see org.eclipse.ui.IWorkbenchWindowActionDelegate#dispose()
- */
- @Override
- public void dispose() {
- }
-
- /* (non-Javadoc)
- * @see com.gluster.storage.management.gui.actions.AbstractActionDelegate#performAction(org.eclipse.jface.action.IAction)
- */
- @Override
- protected void performAction(IAction action) {
- new DataSyncJob("Cluster Data Sync").schedule();
- }
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ResumeTaskAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ResumeTaskAction.java
deleted file mode 100644
index d5cfe2c5..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ResumeTaskAction.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.gluster.storage.management.gui.actions;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-
-import com.gluster.storage.management.client.TasksClient;
-import com.gluster.storage.management.core.model.Status;
-import com.gluster.storage.management.core.model.TaskInfo;
-import com.gluster.storage.management.core.model.TaskStatus;
-import com.gluster.storage.management.gui.GlusterDataModelManager;
-
-public class ResumeTaskAction extends AbstractActionDelegate {
- private TaskInfo taskInfo;
- private GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
-
- @Override
- protected void performAction(final IAction action) {
- final String actionDesc = action.getDescription();
-
- try {
- new TasksClient().resumeTask(taskInfo.getName());
- taskInfo.setStatus(new TaskStatus(new Status(Status.STATUS_CODE_RUNNING, "Resumed")));
- modelManager.updateTask(taskInfo);
- } catch (Exception e) {
- showErrorDialog(actionDesc,
- "Task [" + taskInfo.getDescription() + "] could not be Resumed! Error: [" + e.getMessage() + "]");
- }
- }
-
- @Override
- public void selectionChanged(IAction action, ISelection selection) {
- super.selectionChanged(action, selection);
- action.setEnabled(false);
- if (selectedEntity instanceof TaskInfo) {
- taskInfo = (TaskInfo) selectedEntity;
- action.setEnabled(taskInfo.getStatus().getCode() == Status.STATUS_CODE_PAUSE);
- }
- }
-
- @Override
- public void dispose() {
-
- }
-
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ServerAdditionAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ServerAdditionAction.java
deleted file mode 100644
index 410b7bea..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/ServerAdditionAction.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.gluster.storage.management.gui.actions;
-
-import org.apache.log4j.Logger;
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.IWorkbenchWindowActionDelegate;
-
-import com.gluster.storage.management.gui.dialogs.ChangePasswordDialog;
-import com.gluster.storage.management.gui.dialogs.ServerAdditionDialog;
-import com.gluster.storage.management.gui.views.pages.AbstractDisksPage;
-
-public class ServerAdditionAction extends AbstractActionDelegate {
- private static final Logger logger = Logger.getLogger(ServerAdditionAction.class);
- @Override
- public void dispose() {
- // TODO Auto-generated method stub
-
- }
-
- @Override
- protected void performAction(IAction action) {
-
- try {
- // To open a dialog for server addition
- ServerAdditionDialog dialog = new ServerAdditionDialog(getShell());
- dialog.open();
- } catch (Exception e) {
- logger.error("Error in Manual server addition", e);
- e.printStackTrace();
- }
- }
-
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java
deleted file mode 100644
index 8b3fee68..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StartVolumeAction.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.gui.actions;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-
-import com.gluster.storage.management.client.VolumesClient;
-import com.gluster.storage.management.core.model.Volume;
-import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS;
-import com.gluster.storage.management.gui.GlusterDataModelManager;
-
-public class StartVolumeAction extends AbstractActionDelegate {
- private Volume volume;
- private GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
-
- @Override
- protected void performAction(IAction action) {
- if (volume.getStatus() == VOLUME_STATUS.ONLINE) {
- return; // Volume already online. Don't do anything.
- }
-
- VolumesClient client = new VolumesClient();
- final String actionDesc = action.getDescription();
- try {
- client.startVolume(volume.getName());
- showInfoDialog(actionDesc, "Volume [" + volume.getName() + "] started successfully!");
- modelManager.updateVolumeStatus(volume, VOLUME_STATUS.ONLINE);
- } catch (Exception e) {
- showErrorDialog(actionDesc,
- "Volume [" + volume.getName() + "] could not be started! Error: [" + e.getMessage() + "]");
- }
- }
-
- @Override
- public void dispose() {
-
- }
-
- @Override
- public void selectionChanged(IAction action, ISelection selection) {
- super.selectionChanged(action, selection);
-
- if (selectedEntity instanceof Volume) {
- volume = (Volume) selectedEntity;
- action.setEnabled(volume.getStatus() == VOLUME_STATUS.OFFLINE);
- }
- }
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopTaskAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopTaskAction.java
deleted file mode 100644
index 19030712..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopTaskAction.java
+++ /dev/null
@@ -1,46 +0,0 @@
-package com.gluster.storage.management.gui.actions;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.viewers.ISelection;
-
-import com.gluster.storage.management.client.TasksClient;
-import com.gluster.storage.management.core.model.Status;
-import com.gluster.storage.management.core.model.TaskInfo;
-import com.gluster.storage.management.gui.GlusterDataModelManager;
-
-public class StopTaskAction extends AbstractActionDelegate {
- private TaskInfo taskInfo;
- private GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
-
- @Override
- protected void performAction(final IAction action) {
- final String actionDesc = action.getDescription();
-
- try {
- new TasksClient().stopTask(taskInfo.getName());
- // On successful stop clear from the task list
- modelManager.removeTask(taskInfo);
- action.setEnabled(false); // TODO disable other task buttons
- } catch (Exception e) {
- showErrorDialog(actionDesc,
- "Task [" + taskInfo.getDescription() + "] could not be Stopped! Error: [" + e.getMessage() + "]");
- }
- }
-
- @Override
- public void selectionChanged(IAction action, ISelection selection) {
- super.selectionChanged(action, selection);
- action.setEnabled(false);
- if (selectedEntity instanceof TaskInfo) {
- taskInfo = (TaskInfo) selectedEntity;
- action.setEnabled(taskInfo.getStopSupported()
- && (taskInfo.getStatus().getCode() == Status.STATUS_CODE_PAUSE
- || taskInfo.getStatus().getCode() == Status.STATUS_CODE_RUNNING));
- }
- }
-
- @Override
- public void dispose() {
- }
-
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java
deleted file mode 100644
index 4ee2cff3..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/actions/StopVolumeAction.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.gui.actions;
-
-import org.eclipse.jface.action.IAction;
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.viewers.ISelection;
-
-import com.gluster.storage.management.client.VolumesClient;
-import com.gluster.storage.management.core.model.Volume;
-import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS;
-import com.gluster.storage.management.gui.GlusterDataModelManager;
-import com.gluster.storage.management.gui.IImageKeys;
-import com.gluster.storage.management.gui.utils.GUIHelper;
-
-public class StopVolumeAction extends AbstractActionDelegate {
- private Volume volume;
- private GlusterDataModelManager modelManager = GlusterDataModelManager.getInstance();
-
- @Override
- protected void performAction(final IAction action) {
- final String actionDesc = action.getDescription();
- if (volume.getStatus() == VOLUME_STATUS.OFFLINE) {
- showWarningDialog(actionDesc, "Volume [" + volume.getName() + "] is already offline!");
- return; // Volume already offline. Don't do anything.
- }
-
- Integer deleteOption = new MessageDialog(getShell(), "Stop Volume", GUIHelper.getInstance().getImage(
- IImageKeys.VOLUME_16x16), "Are you sure you want to stop the volume [" + volume.getName() + "] ?",
- MessageDialog.QUESTION, new String[] { "No", "Yes" }, -1).open();
-
- if (deleteOption <= 0) {
- return;
- }
-
- try {
- new VolumesClient().stopVolume(volume.getName());
- showInfoDialog(actionDesc, "Volume [" + volume.getName() + "] stopped successfully!");
- modelManager.updateVolumeStatus(volume, VOLUME_STATUS.OFFLINE);
- } catch (Exception e) {
- showErrorDialog(actionDesc,
- "Volume [" + volume.getName() + "] could not be stopped! Error: [" + e.getMessage() + "]");
- }
- }
-
- @Override
- public void dispose() {
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * com.gluster.storage.management.gui.actions.AbstractActionDelegate#selectionChanged(org.eclipse.jface.action.IAction
- * , org.eclipse.jface.viewers.ISelection)
- */
- @Override
- public void selectionChanged(IAction action, ISelection selection) {
- super.selectionChanged(action, selection);
-
- if (selectedEntity instanceof Volume) {
- volume = (Volume) selectedEntity;
- action.setEnabled(volume.getStatus() == VOLUME_STATUS.ONLINE);
- }
- }
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java
deleted file mode 100644
index c5cbcc16..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/CreateVolumeWizard.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.gui.dialogs;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.wizard.Wizard;
-
-import com.gluster.storage.management.client.VolumesClient;
-import com.gluster.storage.management.core.model.Volume;
-import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS;
-import com.gluster.storage.management.gui.GlusterDataModelManager;
-
-public class CreateVolumeWizard extends Wizard {
- private static final String title = "Gluster Management Console - Create Volume";
- private CreateVolumePage1 page;
-
- public CreateVolumeWizard() {
- setWindowTitle(title);
- setHelpAvailable(false); // TODO: Introduce wizard help
- }
-
- @Override
- public void addPages() {
- page = new CreateVolumePage1();
- addPage(page);
- }
-
- @Override
- public boolean performFinish() {
- Volume newVolume = page.getVolume();
- VolumesClient volumesClient = new VolumesClient();
-
- try {
- volumesClient.createVolume(newVolume);
- handleSuccess(newVolume, volumesClient);
- } catch(Exception e) {
- String errMsg = e.getMessage();
- // the error could be in to post-volume-create processing. check if this is the case.
- if (volumesClient.volumeExists(newVolume.getName())) {
- handlePartSuccess(newVolume, volumesClient, errMsg);
- } else {
- MessageDialog.openError(getShell(), title, "Volume creation failed! Error: " + errMsg);
- }
- }
-
- return true;
- }
-
- public void handleSuccess(Volume newVolume, VolumesClient volumesClient) {
- String message = "Volume created successfully!";
- newVolume.setStatus(VOLUME_STATUS.OFFLINE);
- boolean warning = false;
- if (page.startVolumeAfterCreation()) {
- try {
- volumesClient.startVolume(newVolume.getName());
- newVolume.setStatus(VOLUME_STATUS.ONLINE);
- message = "Volume created and started successfully!";
- } catch(Exception e) {
- message = "Volume created successfuly, but couldn't be started. Error: " + e.getMessage();
- warning = true;
- }
- }
-
- // update the model
- GlusterDataModelManager.getInstance().addVolume(newVolume);
- if (warning) {
- MessageDialog.openWarning(getShell(), title, message);
- } else {
- MessageDialog.openInformation(getShell(), title, message);
- }
- }
-
- public void handlePartSuccess(Volume newVolume, VolumesClient volumesClient, String errMsg) {
- // volume exists. error was in post-volume-create
- newVolume.setStatus(VOLUME_STATUS.OFFLINE);
- boolean error = false;
- String message1 = null;
- if (page.startVolumeAfterCreation()) {
- if (MessageDialog.openConfirm(getShell(), title,
- "Volume created, but following error(s) occured: " + errMsg
- + "\n\nDo you still want to start the volume [" + newVolume.getName() + "]?")) {
- try {
- volumesClient.startVolume(newVolume.getName());
- newVolume.setStatus(VOLUME_STATUS.ONLINE);
- message1 = "Volume [" + newVolume.getName() + "] started successfully!"; // Only start operation
- } catch(Exception e1) {
- message1 = "Volume couldn't be started. Error: " + e1.getMessage();
- error = true;
- }
- }
-
- if (error) {
- MessageDialog.openWarning(getShell(), title, message1);
- } else {
- MessageDialog.openInformation(getShell(), title, message1);
- }
- } else { // Start volume is not checked
- MessageDialog.openWarning(getShell(), title,
- "Volume created, but following error(s) occured: " + errMsg);
- }
- GlusterDataModelManager.getInstance().addVolume(newVolume);
- }
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/InitializeDiskTypeSelection.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/InitializeDiskTypeSelection.java
deleted file mode 100644
index 5fce27e4..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/InitializeDiskTypeSelection.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*******************************************************************************
- *
- * InitializeDiskTypeSelection.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.gui.dialogs;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.Dialog;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.events.TraverseEvent;
-import org.eclipse.swt.events.TraverseListener;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Combo;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Control;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Shell;
-
-import com.gluster.storage.management.core.constants.GlusterConstants;
-import com.gluster.storage.management.gui.utils.GUIHelper;
-
-public class InitializeDiskTypeSelection extends Dialog {
-
- private Combo formatTypeCombo = null;
- private final GUIHelper guiHelper = GUIHelper.getInstance();
- private Composite initializeDiskTypeComposite;
- private Composite composite;
- private String fsType;
-
- public InitializeDiskTypeSelection(Shell parentShell) {
- super(parentShell);
- // TODO Auto-generated constructor stub
- }
-
- @Override
- protected void configureShell(Shell newShell) {
- super.configureShell(newShell);
-
- newShell.setText("Gluster Management Console - Select FS Type");
- addEscapeListener(newShell);
- }
-
- private void addEscapeListener(Shell shell) {
- shell.addTraverseListener(new TraverseListener() {
-
- @Override
- public void keyTraversed(TraverseEvent e) {
- if (e.keyCode == SWT.ESC) {
- cancelPressed();
- }
- }
- });
- }
-
- @Override
- protected Control createDialogArea(Composite parent) {
- // Makes sure that child composites inherit the same background
- parent.setBackgroundMode(SWT.INHERIT_FORCE);
-
- composite = (Composite) super.createDialogArea(parent);
- configureDialogLayout(composite);
- createComposite(composite);
- return composite;
- }
-
- private void configureDialogLayout(Composite composite) {
- GridLayout layout = (GridLayout) composite.getLayout();
- layout.numColumns = 3;
- layout.marginLeft = 20;
- layout.marginRight = 20;
- layout.marginTop = 20;
- layout.horizontalSpacing = 20;
- layout.verticalSpacing = 20;
- }
-
- private void createComposite(Composite composite) {
- initializeDiskTypeComposite = new Composite(composite, SWT.NONE);
- GridLayout layout = new GridLayout(3, false);
- initializeDiskTypeComposite.setLayout(layout);
-
- createLabel(initializeDiskTypeComposite, "Format disk using ");
- createFormatTypeCombo(initializeDiskTypeComposite);
- createLabel(initializeDiskTypeComposite, " file system");
- }
-
- private void createLabel(Composite composite, String labelText) {
- Label formatTypeLabel = new Label(composite, SWT.NONE);
- formatTypeLabel.setText(labelText);
- formatTypeLabel.setLayoutData(new GridData(GridData.END, GridData.CENTER, false, false));
- }
-
- private void createFormatTypeCombo(Composite composite) {
- List<String> fsType = new ArrayList<String>();
- fsType.add(GlusterConstants.FSTYPE_DEFAULT);
- fsType.add(GlusterConstants.FSTYPE_EXT_3);
- fsType.add(GlusterConstants.FSTYPE_EXT_4);
- fsType.add(GlusterConstants.FSTYPE_XFS);
- formatTypeCombo = new Combo(composite, SWT.READ_ONLY);
- formatTypeCombo.setItems(fsType.toArray(new String[0]));
- formatTypeCombo.select(0);
- }
-
- @Override
- protected void okPressed() {
- fsType = formatTypeCombo.getText();
- super.okPressed();
- }
-
- @Override
- public void cancelPressed() {
- super.cancelPressed();
- }
-
- /**
- * Overriding to make sure that the dialog is centered in screen
- */
- @Override
- protected void initializeBounds() {
- super.initializeBounds();
-
- guiHelper.centerShellInScreen(getShell());
- }
-
- public String getFSType() {
- return fsType.trim();
- }
-
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/MigrateBrickWizard.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/MigrateBrickWizard.java
deleted file mode 100644
index c125a3c8..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/dialogs/MigrateBrickWizard.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.gui.dialogs;
-
-import java.net.URI;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.wizard.Wizard;
-
-import com.gluster.storage.management.client.TasksClient;
-import com.gluster.storage.management.client.VolumesClient;
-import com.gluster.storage.management.core.model.Brick;
-import com.gluster.storage.management.core.model.Cluster;
-import com.gluster.storage.management.core.model.TaskInfo;
-import com.gluster.storage.management.core.model.Volume;
-import com.gluster.storage.management.gui.GlusterDataModelManager;
-
-public class MigrateBrickWizard extends Wizard {
- private Volume volume;
- private Brick brick;
- private MigrateBrickPage1 page;
- private Cluster cluster = GlusterDataModelManager.getInstance().getModel().getCluster();
-
- public MigrateBrickWizard(Volume volume, Brick brick) {
- setWindowTitle("Gluster Management Console - Migrate Brick [" + volume.getName() + "]");
- this.volume = volume;
- this.brick = brick;
- setHelpAvailable(false); // TODO: Introduce wizard help
- }
-
- @Override
- public void addPages() {
- page = new MigrateBrickPage1(volume, brick);
- addPage(page);
- }
-
- @Override
- public boolean performFinish() {
-
- String sourceDir = page.getSourceBrickDir();
- String targetDir = page.getTargetBrickDir();
- Boolean autoCommit = page.getAutoCommitSelection();
- VolumesClient volumesClient = new VolumesClient();
-
- try {
- URI uri = volumesClient.startMigration(volume.getName(), sourceDir, targetDir, autoCommit);
-
- // To get the object
- TasksClient taskClient = new TasksClient();
- TaskInfo taskInfo = taskClient.getTaskInfo(uri);
- if (taskInfo != null && taskInfo instanceof TaskInfo) {
- cluster.addTaskInfo(taskInfo);
- GlusterDataModelManager.getInstance().refreshVolumeData(cluster.getVolume(taskInfo.getReference()));
- }
- MessageDialog.openInformation(getShell(), "Brick migration", "Brick migration started successfully");
- } catch (Exception e) {
- MessageDialog.openError(getShell(), "Error: Migrate brick", e.getMessage());
- }
- return true;
- }
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/ClusterSummaryView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/ClusterSummaryView.java
deleted file mode 100644
index 8f2288ec..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/ClusterSummaryView.java
+++ /dev/null
@@ -1,349 +0,0 @@
-/**
- * DiscoveredServerView.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.gui.views;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.birt.chart.util.CDateTime;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.ui.forms.events.HyperlinkAdapter;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.Hyperlink;
-import org.eclipse.ui.forms.widgets.ImageHyperlink;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.handlers.IHandlerService;
-import org.eclipse.ui.part.ViewPart;
-
-import com.gluster.storage.management.client.GlusterServersClient;
-import com.gluster.storage.management.core.model.Alert;
-import com.gluster.storage.management.core.model.Cluster;
-import com.gluster.storage.management.core.model.EntityGroup;
-import com.gluster.storage.management.core.model.GlusterDataModel;
-import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.core.model.Server;
-import com.gluster.storage.management.core.model.Server.SERVER_STATUS;
-import com.gluster.storage.management.core.model.ServerStats;
-import com.gluster.storage.management.core.model.ServerStatsRow;
-import com.gluster.storage.management.core.model.TaskInfo;
-import com.gluster.storage.management.core.utils.NumberUtil;
-import com.gluster.storage.management.gui.GlusterDataModelManager;
-import com.gluster.storage.management.gui.IImageKeys;
-import com.gluster.storage.management.gui.actions.IActionConstants;
-import com.gluster.storage.management.gui.utils.ChartViewerComposite;
-import com.gluster.storage.management.gui.utils.GUIHelper;
-import com.ibm.icu.util.Calendar;
-
-/**
- *
- */
-public class ClusterSummaryView extends ViewPart {
- public static final String ID = ClusterSummaryView.class.getName();
- private static final GUIHelper guiHelper = GUIHelper.getInstance();
- private final FormToolkit toolkit = new FormToolkit(Display.getCurrent());
- private ScrolledForm form;
- private Cluster cluster;
- private GlusterDataModel model = GlusterDataModelManager.getInstance().getModel();
- private static final int CHART_WIDTH = 350;
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
- */
- @Override
- public void createPartControl(Composite parent) {
- if (cluster == null) {
- cluster = model.getCluster();
- }
- setPartName("Summary");
- createSections(parent);
- }
-
- private int getServerCountByStatus(Cluster cluster, SERVER_STATUS status) {
- int count = 0;
- for (GlusterServer server : cluster.getServers()) {
- if (server.getStatus() == status) {
- count++;
- }
- }
- return count;
- }
-
- private void createServersSection() {
- Composite section = guiHelper.createSection(form, toolkit, "Servers", null, 2, false);
-
- int onlineServerCount = getServerCountByStatus(cluster, SERVER_STATUS.ONLINE);
- int offlineServerCount = getServerCountByStatus(cluster, SERVER_STATUS.OFFLINE);
-
- toolkit.createLabel(section, "Online : ");
- Label label = toolkit.createLabel(section, "" + onlineServerCount);
- label.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_DARK_GREEN));
-
- toolkit.createLabel(section, "Offline : ");
- label = toolkit.createLabel(section, "" + offlineServerCount);
- label.setForeground(Display.getCurrent().getSystemColor(SWT.COLOR_RED));
- }
-
- private void createDiskSpaceSection() {
- Composite section = guiHelper.createSection(form, toolkit, "Disk Space", null, 3, false);
- if (cluster.getServers().size() == 0) {
- toolkit.createLabel(section, "This section will be populated after at least\none server is added to the storage cloud.");
- return;
- }
-
- double totalDiskSpace = cluster.getTotalDiskSpace();
- double diskSpaceInUse = cluster.getDiskSpaceInUse();
- Double[] values = new Double[] { diskSpaceInUse, totalDiskSpace - diskSpaceInUse };
- createDiskSpaceChart(section, values);
- }
-
- private void createDiskSpaceChart(Composite section, Double[] values) {
- String[] categories = new String[] { "Used Space: " + NumberUtil.formatNumber((values[0] / 1024)) + " GB",
- "Free Space: " + NumberUtil.formatNumber((values[1] / 1024)) + " GB" };
- ChartViewerComposite chartViewerComposite = new ChartViewerComposite(section, SWT.NONE, categories, values);
-
- GridData data = new GridData(SWT.FILL, SWT.FILL, false, false);
- data.widthHint = 400;
- data.heightHint = 150;
- data.verticalAlignment = SWT.CENTER;
- chartViewerComposite.setLayoutData(data);
- }
-
- private Composite createChartLinks(Composite section, int columnCount) {
- GridLayout layout = new org.eclipse.swt.layout.GridLayout(columnCount, false);
- layout.marginBottom = 0;
- layout.marginTop = 0;
- layout.marginLeft = (CHART_WIDTH - (50*columnCount)) / 2;
- Composite graphComposite = toolkit.createComposite(section, SWT.NONE);
- graphComposite.setLayout(layout);
- GridData data = new GridData(SWT.FILL, SWT.FILL, false, false);
- data.widthHint = CHART_WIDTH;
- graphComposite.setLayoutData(data);
-
- Label label1 = toolkit.createLabel(graphComposite, "1 day");
- Hyperlink link1 = toolkit.createHyperlink(graphComposite, "1 week", SWT.NONE);
- Hyperlink link2 = toolkit.createHyperlink(graphComposite, "1 month", SWT.NONE);
- Hyperlink link3 = toolkit.createHyperlink(graphComposite, "1 year", SWT.NONE);
-
- return graphComposite;
- }
-
- private void createLineChart(Composite section, Calendar timestamps[], Double values[], String unit) {
- ChartViewerComposite chartViewerComposite = new ChartViewerComposite(section, SWT.NONE, timestamps, values, unit);
- GridData data = new GridData(SWT.FILL, SWT.FILL, false, false);
- data.widthHint = CHART_WIDTH;
- data.heightHint = 250;
- data.verticalAlignment = SWT.CENTER;
- chartViewerComposite.setLayoutData(data);
- }
-
- private void createAlertsSection() {
- Composite section = guiHelper.createSection(form, toolkit, "Alerts", null, 1, false);
- List<Alert> alerts = cluster.getAlerts();
-
- for (Alert alert : alerts) {
- addAlertLabel(section, alert);
- }
- }
-
- private void addAlertLabel(Composite section, Alert alert) {
- CLabel lblAlert = new CLabel(section, SWT.FLAT);
- Image alertImage = null;
- switch (alert.getType()) {
- case OFFLINE_VOLUME_BRICKS_ALERT:
- alertImage = guiHelper.getImage(IImageKeys.BRICK_OFFLINE_22x22);
- break;
- case DISK_USAGE_ALERT:
- alertImage = guiHelper.getImage(IImageKeys.LOW_DISK_SPACE_22x22);
- break;
- case OFFLINE_SERVERS_ALERT:
- alertImage = guiHelper.getImage(IImageKeys.SERVER_OFFLINE_22x22);
- break;
- case MEMORY_USAGE_ALERT:
- alertImage = guiHelper.getImage(IImageKeys.MEMORY_USAGE_ALERT_22x22);
- break;
- case CPU_USAGE_ALERT:
- alertImage = guiHelper.getImage(IImageKeys.SERVER_WARNING_22x22);
- break;
- }
- lblAlert.setImage(alertImage);
- lblAlert.setText(alert.getMessage());
- lblAlert.redraw();
- }
-
- private void createActionsSection() {
- Composite section = guiHelper.createSection(form, toolkit, "Actions", null, 1, false);
-
- ImageHyperlink imageHyperlink = toolkit.createImageHyperlink(section, SWT.NONE);
- imageHyperlink.setText("Create Volume");
- imageHyperlink.setImage(guiHelper.getImage(IImageKeys.CREATE_VOLUME_48x48));
- imageHyperlink.addHyperlinkListener(new HyperlinkAdapter() {
- @Override
- public void linkActivated(HyperlinkEvent e) {
- IHandlerService hs = (IHandlerService) getSite().getService(IHandlerService.class);
- try {
- hs.executeCommand(IActionConstants.COMMAND_CREATE_VOLUME, null);
- } catch (Exception e1) {
- e1.printStackTrace();
- }
- }
- });
-
- imageHyperlink = toolkit.createImageHyperlink(section, SWT.NONE);
- imageHyperlink.setText("Add Server(s)");
- imageHyperlink.setImage(guiHelper.getImage(IImageKeys.ADD_SERVER_48x48));
- imageHyperlink.addHyperlinkListener(new HyperlinkAdapter() {
- @Override
- public void linkActivated(HyperlinkEvent e) {
- // Open the "discovered servers" view by selecting the corresponding entity in the navigation view
- EntityGroup<Server> autoDiscoveredServersEntityGroup = GlusterDataModelManager.getInstance().getModel()
- .getCluster().getEntityGroup(Server.class);
-
- NavigationView navigationView = (NavigationView) guiHelper.getView(NavigationView.ID);
- navigationView.selectEntity(autoDiscoveredServersEntityGroup);
- }
- });
- }
-
- private void createSections(Composite parent) {
- form = guiHelper.setupForm(parent, toolkit, "Cluster Summary");
-
- createServersSection();
- createDiskSpaceSection();
- createCPUUsageSection();
- createNetworkUsageSection();
- //createMemoryUsageSection();
- createActionsSection();
- createAlertsSection();
- createRunningTasksSection();
-
- parent.layout(); // IMP: lays out the form properly
- }
-
- private void createCPUUsageSection() {
- ServerStats stats;
- try {
- stats = new GlusterServersClient().getAggregatedCPUStats();
- } catch(Exception e) {
- return;
- }
-
- Composite section = guiHelper.createSection(form, toolkit, "CPU Usage (aggregated)", null, 1, false);
- if (cluster.getServers().size() == 0) {
- toolkit.createLabel(section, "This section will be populated after at least\none server is added to the storage cloud.");
- return;
- }
-
- List<Calendar> timestamps = new ArrayList<Calendar>();
- List<Double> data = new ArrayList<Double>();
- for(ServerStatsRow row : stats.getRows()) {
- // in case of CPU usage, there are three elements in usage data: user, system and total. we use total.
- Double cpuUsage = row.getUsageData().get(2);
- if(!cpuUsage.isNaN()) {
- timestamps.add(new CDateTime(row.getTimestamp() * 1000));
- data.add(cpuUsage);
- }
- }
- createLineChart(section, timestamps.toArray(new Calendar[0]), data.toArray(new Double[0]), "%");
-
-// Calendar[] timestamps = new Calendar[] { new CDateTime(1000l*1310468100), new CDateTime(1000l*1310468400), new CDateTime(1000l*1310468700),
-// new CDateTime(1000l*1310469000), new CDateTime(1000l*1310469300), new CDateTime(1000l*1310469600), new CDateTime(1000l*1310469900),
-// new CDateTime(1000l*1310470200), new CDateTime(1000l*1310470500), new CDateTime(1000l*1310470800), new CDateTime(1000l*1310471100),
-// new CDateTime(1000l*1310471400), new CDateTime(1000l*1310471700), new CDateTime(1000l*1310472000), new CDateTime(1000l*1310472300),
-// new CDateTime(1000l*1310472600), new CDateTime(1000l*1310472900), new CDateTime(1000l*1310473200), new CDateTime(1000l*1310473500),
-// new CDateTime(1000l*1310473800) };
-//
-// Double[] values = new Double[] { 10d, 11.23d, 17.92d, 18.69d, 78.62d, 89.11d, 92.43d, 89.31d, 57.39d, 18.46d, 10.44d, 16.28d, 13.51d, 17.53d, 12.21, 20d, 21.43d, 16.45d, 14.86d, 15.27d };
-// createLineChart(section, timestamps, values, "%");
- createChartLinks(section, 4);
- }
-
- private void createNetworkUsageSection() {
- Composite section = guiHelper.createSection(form, toolkit, "Network Usage (Aggregated)", null, 1, false);
- //toolkit.createLabel(section, "Historical Network Usage graph will be displayed here.");
-
- Calendar[] timestamps = new Calendar[] { new CDateTime(1000l*1310468100), new CDateTime(1000l*1310468400), new CDateTime(1000l*1310468700),
- new CDateTime(1000l*1310469000), new CDateTime(1000l*1310469300), new CDateTime(1000l*1310469600), new CDateTime(1000l*1310469900),
- new CDateTime(1000l*1310470200), new CDateTime(1000l*1310470500), new CDateTime(1000l*1310470800), new CDateTime(1000l*1310471100),
- new CDateTime(1000l*1310471400), new CDateTime(1000l*1310471700), new CDateTime(1000l*1310472000), new CDateTime(1000l*1310472300),
- new CDateTime(1000l*1310472600), new CDateTime(1000l*1310472900), new CDateTime(1000l*1310473200), new CDateTime(1000l*1310473500),
- new CDateTime(1000l*1310473800) };
-// Date[] timestamps = new Date[] { new Date(1310468100), new Date(1310468400), new Date(1310468700),
-// new Date(1310469000), new Date(1310469300), new Date(1310469600), new Date(1310469900),
-// new Date(1310470200), new Date(1310470500), new Date(1310470800), new Date(1310471100),
-// new Date(1310471400), new Date(1310471700), new Date(1310472000), new Date(1310472300),
-// new Date(1310472600), new Date(1310472900), new Date(1310473200), new Date(1310473500),
-// new Date(1310473800) };
- Double[] values = new Double[] { 32d, 31.23d, 27.92d, 48.69d, 58.62d, 49.11d, 72.43d, 69.31d, 87.39d, 78.46d, 60.44d, 56.28d, 33.51d, 27.53d, 12.21, 10d, 21.43d, 36.45d, 34.86d, 35.27d };
- createLineChart(section, timestamps, values, "KiB/s");
- createChartLinks(section, 4);
- }
-
- private void createRunningTasksSection() {
- Composite section = guiHelper.createSection(form, toolkit, "Running Tasks", null, 1, false);
-
- for (TaskInfo taskInfo : cluster.getTaskInfoList()) {
- addTaskLabel(section, taskInfo);
- }
- }
-
- private void addTaskLabel(Composite section, TaskInfo taskInfo) {
- //TODO: create link and open the task progress view
- CLabel lblAlert = new CLabel(section, SWT.NONE);
- lblAlert.setText(taskInfo.getDescription());
-
- Image taskImage = null;
- switch(taskInfo.getType()) {
- case DISK_FORMAT:
- taskImage = guiHelper.getImage(IImageKeys.DISK_INITIALIZING_22x22);
- break;
- case BRICK_MIGRATE:
- taskImage = guiHelper.getImage(IImageKeys.BRICK_MIGRATE_22x22);
- break;
- case VOLUME_REBALANCE:
- taskImage = guiHelper.getImage(IImageKeys.VOLUME_REBALANCE_22x22);
- break;
- }
- lblAlert.setImage(taskImage);
- lblAlert.redraw();
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
- */
- @Override
- public void setFocus() {
- if (form != null) {
- form.setFocus();
- }
- }
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/DisksView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/DisksView.java
deleted file mode 100644
index 7a19afc0..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/DisksView.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.gluster.storage.management.gui.views;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.ViewPart;
-
-import com.gluster.storage.management.core.model.Disk;
-import com.gluster.storage.management.core.model.EntityGroup;
-import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.gui.utils.GUIHelper;
-import com.gluster.storage.management.gui.views.pages.DisksPage;
-
-public class DisksView extends ViewPart {
- public static final String ID = DisksView.class.getName();
- private static final GUIHelper guiHelper = GUIHelper.getInstance();
- private EntityGroup<GlusterServer> servers;
- private DisksPage page;
-
- @SuppressWarnings("unchecked")
- @Override
- public void createPartControl(Composite parent) {
- if (servers == null) {
- servers = (EntityGroup<GlusterServer>)guiHelper.getSelectedEntity(getSite(), EntityGroup.class);
- }
-
- page = new DisksPage(parent, SWT.NONE, getSite(), getAllDisks(servers));
- //page.layout(); // IMP: lays out the form properly
- }
-
- private List<Disk> getAllDisks(EntityGroup<GlusterServer> servers) {
- List<Disk> disks = new ArrayList<Disk>();
- for(GlusterServer server : (List<GlusterServer>)servers.getEntities()) {
- disks.addAll(server.getDisks());
- }
- return disks;
- }
-
- @Override
- public void setFocus() {
- page.setFocus();
- }
-} \ No newline at end of file
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServerDisksView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServerDisksView.java
deleted file mode 100644
index e55543ab..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServerDisksView.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/**
- * GlusterServerDisksView.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.gui.views;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.ViewPart;
-
-import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.gui.utils.GUIHelper;
-import com.gluster.storage.management.gui.views.pages.ServerDisksPage;
-
-public class GlusterServerDisksView extends ViewPart {
- public static final String ID = GlusterServerDisksView.class.getName();
- private static final GUIHelper guiHelper = GUIHelper.getInstance();
- private GlusterServer server;
- private ServerDisksPage page;
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
- */
- @Override
- public void createPartControl(Composite parent) {
- if (server == null) {
- server = (GlusterServer) guiHelper.getSelectedEntity(getSite(), GlusterServer.class);
- }
- page = new ServerDisksPage(parent, SWT.NONE, getSite(), server.getDisks());
-
-// parent.layout(); // IMP: lays out the form properly
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
- */
- @Override
- public void setFocus() {
- page.setFocus();
- }
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServerLogsView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServerLogsView.java
deleted file mode 100644
index 84568ca6..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServerLogsView.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- * GlusterServerLogsView.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.gui.views;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.ViewPart;
-
-import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.gui.utils.GUIHelper;
-import com.gluster.storage.management.gui.views.pages.ServerLogsPage;
-
-public class GlusterServerLogsView extends ViewPart {
- public static final String ID = GlusterServerLogsView.class.getName();
- private static final GUIHelper guiHelper = GUIHelper.getInstance();
- private GlusterServer server;
- private ServerLogsPage page;
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
- */
- @Override
- public void createPartControl(Composite parent) {
- if (server == null) {
- server = (GlusterServer) guiHelper.getSelectedEntity(getSite(), GlusterServer.class);
- }
-
- page = new ServerLogsPage(parent, SWT.NONE, server);
-
- parent.layout(); // IMP: lays out the form properly
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
- */
- @Override
- public void setFocus() {
- page.setFocus();
- }
-}
-
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServerSummaryView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServerSummaryView.java
deleted file mode 100644
index 498c9fe0..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServerSummaryView.java
+++ /dev/null
@@ -1,380 +0,0 @@
-/**
- * GlusterServerSummaryView.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.gui.views;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.birt.chart.util.CDateTime;
-import org.eclipse.jface.layout.TableColumnLayout;
-import org.eclipse.jface.viewers.ArrayContentProvider;
-import org.eclipse.jface.viewers.ColumnWeightData;
-import org.eclipse.jface.viewers.TableViewer;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CCombo;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.layout.GridLayout;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.ProgressBar;
-import org.eclipse.swt.widgets.Table;
-import org.eclipse.swt.widgets.TableColumn;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.Hyperlink;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.part.ViewPart;
-
-import com.gluster.storage.management.core.model.ClusterListener;
-import com.gluster.storage.management.core.model.DefaultClusterListener;
-import com.gluster.storage.management.core.model.Event;
-import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.core.model.Server.SERVER_STATUS;
-import com.gluster.storage.management.core.utils.NumberUtil;
-import com.gluster.storage.management.gui.GlusterDataModelManager;
-import com.gluster.storage.management.gui.IImageKeys;
-import com.gluster.storage.management.gui.NetworkInterfaceTableLabelProvider;
-import com.gluster.storage.management.gui.toolbar.GlusterToolbarManager;
-import com.gluster.storage.management.gui.utils.ChartViewerComposite;
-import com.gluster.storage.management.gui.utils.GUIHelper;
-import com.ibm.icu.util.Calendar;
-import com.richclientgui.toolbox.gauges.CoolGauge;
-
-public class GlusterServerSummaryView extends ViewPart {
- public static final String ID = GlusterServerSummaryView.class.getName();
- private static final GUIHelper guiHelper = GUIHelper.getInstance();
- private final FormToolkit toolkit = new FormToolkit(Display.getCurrent());
- private ScrolledForm form;
- private GlusterServer server;
- private ClusterListener serverChangedListener;
- private static final int CHART_WIDTH = 350;
-
- public enum NETWORK_INTERFACE_TABLE_COLUMN_INDICES {
- INTERFACE, MODEL, SPEED, IP_ADDRESS, NETMASK, GATEWAY
- };
-
- private static final String[] NETWORK_INTERFACE_TABLE_COLUMN_NAMES = { "Interface", "Model", "Speed", "IP Address",
- "Netmask", "Gateway" };
- private CoolGauge cpuGauge;
-
- @Override
- public void createPartControl(Composite parent) {
- if (server == null) {
- server = (GlusterServer) guiHelper.getSelectedEntity(getSite(), GlusterServer.class);
- }
- setPartName("Summary");
- createSections(parent);
-
- final GlusterToolbarManager toolbarManager = new GlusterToolbarManager(getSite().getWorkbenchWindow());
- // Refresh the navigation tree whenever there is a change to the data model
- serverChangedListener = new DefaultClusterListener() {
- @Override
- public void serverChanged(GlusterServer server, Event event) {
- updateServerDetails();
- toolbarManager.updateToolbar(server);
- }
- };
- GlusterDataModelManager.getInstance().addClusterListener(serverChangedListener);
- }
-
- private void updateServerDetails() {
- }
-
- @Override
- public void dispose() {
- super.dispose();
- GlusterDataModelManager.getInstance().removeClusterListener(serverChangedListener);
- }
-
- private void createLineChart(Composite section, Calendar timestamps[], Double values[], String unit) {
- ChartViewerComposite chartViewerComposite = new ChartViewerComposite(section, SWT.NONE, timestamps, values, unit);
- GridData data = new GridData(SWT.FILL, SWT.FILL, false, false);
- data.widthHint = CHART_WIDTH;
- data.heightHint = 250;
-// data.verticalAlignment = SWT.CENTER;
-// data.grabExcessVerticalSpace = false;
-// data.horizontalSpan = 5;
-// data.verticalIndent = 0;
-// data.verticalSpan = 1;
- chartViewerComposite.setLayoutData(data);
- }
-
- private void createMemoryUsageSection() {
- Composite section = guiHelper.createSection(form, toolkit, "Memory Usage", null, 1, false);
- Calendar[] timestamps = new Calendar[] { new CDateTime(1000l*1310468100), new CDateTime(1000l*1310468400), new CDateTime(1000l*1310468700),
- new CDateTime(1000l*1310469000), new CDateTime(1000l*1310469300), new CDateTime(1000l*1310469600), new CDateTime(1000l*1310469900),
- new CDateTime(1000l*1310470200), new CDateTime(1000l*1310470500), new CDateTime(1000l*1310470800), new CDateTime(1000l*1310471100),
- new CDateTime(1000l*1310471400), new CDateTime(1000l*1310471700), new CDateTime(1000l*1310472000), new CDateTime(1000l*1310472300),
- new CDateTime(1000l*1310472600), new CDateTime(1000l*1310472900), new CDateTime(1000l*1310473200), new CDateTime(1000l*1310473500),
- new CDateTime(1000l*1310473800) };
- //Double[] values = new Double[] { 10d, 11.23d, 17.92d, 18.69d, 78.62d, 89.11d, 92.43d, 20.31d, 19.63d, 18.46d, 10.44d, 16.28d, 13.51d, 17.53d, 12.21, 20d, 40d, 10d, 90d, 40d };
- Double[] values = new Double[] { 35d, 34.23d, 37.92d, 28.69d, 38.62d, 39.11d, 38.46d, 30.44d, 36.28d, 72.43d, 79.31d, 77.39d, 33.51d, 37.53d, 32.21, 30d, 31.43d, 36.45d, 34.86d, 35.27d };
- createLineChart(section, timestamps, values, "%");
- createChartLinks(section, 4);
- }
-
- private void createNetworkUsageSection() {
- Composite section = guiHelper.createSection(form, toolkit, "Network Usage", null, 1, false);
-
- Calendar[] timestamps = new Calendar[] { new CDateTime(1000l*1310468100), new CDateTime(1000l*1310468400), new CDateTime(1000l*1310468700),
- new CDateTime(1000l*1310469000), new CDateTime(1000l*1310469300), new CDateTime(1000l*1310469600), new CDateTime(1000l*1310469900),
- new CDateTime(1000l*1310470200), new CDateTime(1000l*1310470500), new CDateTime(1000l*1310470800), new CDateTime(1000l*1310471100),
- new CDateTime(1000l*1310471400), new CDateTime(1000l*1310471700), new CDateTime(1000l*1310472000), new CDateTime(1000l*1310472300),
- new CDateTime(1000l*1310472600), new CDateTime(1000l*1310472900), new CDateTime(1000l*1310473200), new CDateTime(1000l*1310473500),
- new CDateTime(1000l*1310473800) };
- Double[] values = new Double[] { 32d, 31.23d, 27.92d, 48.69d, 58.62d, 49.11d, 72.43d, 69.31d, 87.39d, 78.46d, 60.44d, 56.28d, 33.51d, 27.53d, 12.21, 10d, 21.43d, 36.45d, 34.86d, 35.27d };
-
- createLineChart(section, timestamps, values, "Kib/s");
-
- Composite graphComposite = createChartLinks(section, 5);
-
- CCombo interfaceCombo = new CCombo(graphComposite, SWT.DROP_DOWN | SWT.READ_ONLY | SWT.BORDER | SWT.FLAT);
- interfaceCombo.setItems(new String[] {"eth0"});
- interfaceCombo.select(0);
- }
-
-
- private void createCPUUsageSection() {
- Composite section = guiHelper.createSection(form, toolkit, "CPU Usage", null, 1, false);
- //toolkit.createLabel(section, "Historical CPU Usage graph aggregated across\nall servers will be displayed here.");
-
- Calendar[] timestamps = new Calendar[] { new CDateTime(1000l*1310468100), new CDateTime(1000l*1310468400), new CDateTime(1000l*1310468700),
- new CDateTime(1000l*1310469000), new CDateTime(1000l*1310469300), new CDateTime(1000l*1310469600), new CDateTime(1000l*1310469900),
- new CDateTime(1000l*1310470200), new CDateTime(1000l*1310470500), new CDateTime(1000l*1310470800), new CDateTime(1000l*1310471100),
- new CDateTime(1000l*1310471400), new CDateTime(1000l*1310471700), new CDateTime(1000l*1310472000), new CDateTime(1000l*1310472300),
- new CDateTime(1000l*1310472600), new CDateTime(1000l*1310472900), new CDateTime(1000l*1310473200), new CDateTime(1000l*1310473500),
- new CDateTime(1000l*1310473800) };
- //Double[] values = new Double[] { 10d, 11.23d, 17.92d, 18.69d, 78.62d, 89.11d, 92.43d, 20.31d, 19.63d, 18.46d, 10.44d, 16.28d, 13.51d, 17.53d, 12.21, 20d, 40d, 10d, 90d, 40d };
- Double[] values = new Double[] { 10d, 11.23d, 17.92d, 18.69d, 78.62d, 89.11d, 92.43d, 89.31d, 57.39d, 18.46d, 10.44d, 16.28d, 13.51d, 17.53d, 12.21, 20d, 21.43d, 16.45d, 14.86d, 15.27d };
- createLineChart(section, timestamps, values, "%");
-
-// ServerStats stats = new GlusterServersClient().getAggregatedCPUStats();
-// List<Calendar> timestamps = new ArrayList<Calendar>();
-// List<Double> data = new ArrayList<Double>();
-// for(ServerStatsRow row : stats.getRows()) {
-// timestamps.add(new CDateTime(row.getTimestamp() * 1000));
-// // in case of CPU usage, there are three elements in usage data: user, system and total. we use total.
-// data.add(row.getUsageData().get(2));
-// }
-//
-// createLineChart(section, timestamps.toArray(new Calendar[0]), data.toArray(new Double[0]));
- createChartLinks(section, 4);
- }
-
- private Composite createChartLinks(Composite section, int columnCount) {
- GridLayout layout = new org.eclipse.swt.layout.GridLayout(columnCount, false);
- layout.marginBottom = 0;
- layout.marginTop = 0;
- layout.marginLeft = (CHART_WIDTH - (50*columnCount)) / 2;
- Composite graphComposite = toolkit.createComposite(section, SWT.NONE);
- graphComposite.setLayout(layout);
- GridData data = new GridData(SWT.FILL, SWT.FILL, false, false);
- data.widthHint = CHART_WIDTH;
- graphComposite.setLayoutData(data);
-
- Label label1 = toolkit.createLabel(graphComposite, "1 day");
- Hyperlink link1 = toolkit.createHyperlink(graphComposite, "1 week", SWT.NONE);
- Hyperlink link2 = toolkit.createHyperlink(graphComposite, "1 month", SWT.NONE);
- Hyperlink link3 = toolkit.createHyperlink(graphComposite, "1 year", SWT.NONE);
-
- return graphComposite;
- }
-
- private void createSections(Composite parent) {
- String serverName = server.getName();
- form = guiHelper.setupForm(parent, toolkit, "Server Summary [" + serverName + "]");
- createServerSummarySection(server, toolkit, form);
-
- if (server.getStatus() == SERVER_STATUS.ONLINE) {
- createMemoryUsageSection();
- createNetworkUsageSection();
- createCPUUsageSection();
- createNetworkInterfacesSection(server, toolkit, form);
- }
-
- parent.layout(); // IMP: lays out the form properly
- }
-
- private void createServerSummarySection(GlusterServer server, FormToolkit toolkit, final ScrolledForm form) {
- Composite section = guiHelper.createSection(form, toolkit, "Summary", null, 2, false);
-
- // toolkit.createLabel(section, "Preferred Network: ", SWT.NONE);
- // toolkit.createLabel(section, server.getPreferredNetworkInterface().getName(), SWT.NONE);
-
- boolean online = server.getStatus() == SERVER_STATUS.ONLINE;
-
- if (online) {
- toolkit.createLabel(section, "Number of CPUs: ", SWT.NONE);
- toolkit.createLabel(section, "" + server.getNumOfCPUs(), SWT.NONE);
-
- // toolkit.createLabel(section, "CPU Usage (%): ", SWT.NONE);
- // toolkit.createLabel(section, online ? "" + server.getCpuUsage() : "NA", SWT.NONE);
-
- toolkit.createLabel(section, "% CPU Usage (avg): ", SWT.NONE);
- cpuGauge = new CoolGauge(section, guiHelper.getImage(IImageKeys.GAUGE_SMALL));
- cpuGauge.setLayoutData(new GridData(SWT.BEGINNING, SWT.BEGINNING, false, false));
- cpuGauge.setGaugeNeedleColour(Display.getDefault().getSystemColor(SWT.COLOR_RED));
- cpuGauge.setGaugeNeedleWidth(2);
- cpuGauge.setGaugeNeedlePivot(new Point(66, 65));
-
- cpuGauge.setPoints(getPnts());
- cpuGauge.setLevel(server.getCpuUsage() / 100);
- cpuGauge.setToolTipText(server.getCpuUsage() + "%");
-
- toolkit.createLabel(section, "Memory Usage: ", SWT.NONE);
- ProgressBar memoryUsageBar = new ProgressBar(section, SWT.SMOOTH);
- memoryUsageBar.setMinimum(0);
- memoryUsageBar.setMaximum((int) Math.round(server.getTotalMemory()));
- memoryUsageBar.setSelection((int) Math.round(server.getMemoryInUse()));
- memoryUsageBar.setToolTipText("Total: " + NumberUtil.formatNumber((server.getTotalMemory()/1024)) + "GB, In Use: "
- + NumberUtil.formatNumber((server.getMemoryInUse()/1024)) + "GB");
-
- // toolkit.createLabel(section, "Memory Usage: ", SWT.NONE);
- // final CoolProgressBar bar = new CoolProgressBar(section,SWT.HORIZONTAL,
- // guiHelper.getImage(IImageKeys.PROGRESS_BAR_LEFT),
- // guiHelper.getImage(IImageKeys.PROGRESS_BAR_FILLED),
- // guiHelper.getImage(IImageKeys.PROGRESS_BAR_EMPTY),
- // guiHelper.getImage(IImageKeys.PROGRESS_BAR_RIGHT));
- // bar.updateProgress(server.getMemoryInUse() / server.getTotalMemory());
-
- // toolkit.createLabel(section, "Total Disk Space (GB): ", SWT.NONE);
- // toolkit.createLabel(section, online ? "" + server.getTotalDiskSpace() : "NA", SWT.NONE);
- //
- // toolkit.createLabel(section, "Disk Space in Use (GB): ", SWT.NONE);
- // toolkit.createLabel(section, online ? "" + server.getDiskSpaceInUse() : "NA", SWT.NONE);
-
- toolkit.createLabel(section, "Disk Usage: ", SWT.NONE);
- ProgressBar diskUsageBar = new ProgressBar(section, SWT.SMOOTH);
- diskUsageBar.setMinimum(0);
- diskUsageBar.setMaximum((int) Math.round(server.getTotalDiskSpace()));
- diskUsageBar.setSelection((int) Math.round(server.getDiskSpaceInUse()));
- diskUsageBar.setToolTipText("Total: " + NumberUtil.formatNumber((server.getTotalDiskSpace()/1024))
- + "GB, In Use: " + NumberUtil.formatNumber((server.getDiskSpaceInUse()/1024)) + "GB");
- }
-
- toolkit.createLabel(section, "Status: ", SWT.NONE);
- CLabel lblStatusValue = new CLabel(section, SWT.NONE);
- lblStatusValue.setText(server.getStatusStr());
- lblStatusValue.setImage(server.getStatus() == GlusterServer.SERVER_STATUS.ONLINE ? guiHelper
- .getImage(IImageKeys.STATUS_ONLINE_16x16) : guiHelper.getImage(IImageKeys.STATUS_OFFLINE_16x16));
- toolkit.adapt(lblStatusValue, true, true);
- }
-
- private List<Point> getPnts() {
- final List<Point> pnts = new ArrayList<Point>();
- pnts.add(new Point(47, 98));
- pnts.add(new Point(34, 84));
- pnts.add(new Point(29, 65));
- pnts.add(new Point(33, 48));
- pnts.add(new Point(48, 33));
- pnts.add(new Point(66, 28));
- pnts.add(new Point(83, 32));
- pnts.add(new Point(98, 47));
- pnts.add(new Point(103, 65));
- pnts.add(new Point(98, 83));
- pnts.add(new Point(84, 98));
- return pnts;
- }
-
- private Composite createNetworkInterfacesSection(GlusterServer server, FormToolkit toolkit, ScrolledForm form) {
- final Composite section = guiHelper.createSection(form, toolkit, "Network Interfaces", null, 1, false);
- createNetworkInterfacesTableViewer(createTableViewerComposite(section), server);
- // Hyperlink changePreferredNetworkLink = toolkit.createHyperlink(section, "Change Preferred Network",
- // SWT.NONE);
- // changePreferredNetworkLink.addHyperlinkListener(new HyperlinkAdapter() {
- //
- // @Override
- // public void linkActivated(HyperlinkEvent e) {
- // new MessageDialog(
- // section.getShell(),
- // "Gluster Storage Platform",
- // guiHelper.getImage(IImageKeys.SERVER),
- // "This will show additional controls to help user choose a new network interface. TO BE IMPLEMENTED.",
- // MessageDialog.INFORMATION, new String[] { "OK" }, 0).open();
- // }
- // });
- return section;
- }
-
- private TableViewer createNetworkInterfacesTableViewer(final Composite parent, GlusterServer server) {
- TableViewer tableViewer = new TableViewer(parent, SWT.FLAT | SWT.FULL_SELECTION | SWT.MULTI);
- // TableViewer tableViewer = new TableViewer(parent, SWT.FLAT | SWT.FULL_SELECTION | SWT.MULTI);
- tableViewer.setLabelProvider(new NetworkInterfaceTableLabelProvider());
- tableViewer.setContentProvider(new ArrayContentProvider());
-
- setupNetworkInterfaceTable(parent, tableViewer.getTable());
- tableViewer.setInput(server.getNetworkInterfaces().toArray());
-
- return tableViewer;
- }
-
- private void setupNetworkInterfaceTable(Composite parent, Table table) {
- table.setHeaderVisible(true);
- table.setLinesVisible(false);
-
- TableColumnLayout tableColumnLayout = guiHelper.createTableColumnLayout(table,
- NETWORK_INTERFACE_TABLE_COLUMN_NAMES);
- parent.setLayout(tableColumnLayout);
-
- setColumnProperties(table, NETWORK_INTERFACE_TABLE_COLUMN_INDICES.INTERFACE, SWT.CENTER, 70);
- setColumnProperties(table, NETWORK_INTERFACE_TABLE_COLUMN_INDICES.MODEL, SWT.CENTER, 70);
- setColumnProperties(table, NETWORK_INTERFACE_TABLE_COLUMN_INDICES.SPEED, SWT.CENTER, 70);
- setColumnProperties(table, NETWORK_INTERFACE_TABLE_COLUMN_INDICES.IP_ADDRESS, SWT.CENTER, 100);
- setColumnProperties(table, NETWORK_INTERFACE_TABLE_COLUMN_INDICES.NETMASK, SWT.CENTER, 70);
- setColumnProperties(table, NETWORK_INTERFACE_TABLE_COLUMN_INDICES.GATEWAY, SWT.CENTER, 70);
- }
-
- private Composite createTableViewerComposite(Composite parent) {
- Composite tableViewerComposite = new Composite(parent, SWT.NO);
- tableViewerComposite.setLayout(new FillLayout(SWT.HORIZONTAL));
- GridData tableLayoutData = new GridData(SWT.FILL, SWT.FILL, true, false);
- tableLayoutData.widthHint = 400;
- tableLayoutData.minimumWidth = 400;
- // tableLayoutData.grabExcessHorizontalSpace = true;
- tableViewerComposite.setLayoutData(tableLayoutData);
- return tableViewerComposite;
- }
-
- /**
- * Sets properties for alignment and weight of given column of given table
- *
- * @param table
- * @param columnIndex
- * @param alignment
- * @param weight
- */
- public void setColumnProperties(Table table, NETWORK_INTERFACE_TABLE_COLUMN_INDICES columnIndex, int alignment,
- int weight) {
- TableColumn column = table.getColumn(columnIndex.ordinal());
- column.setAlignment(alignment);
-
- TableColumnLayout tableColumnLayout = (TableColumnLayout) table.getParent().getLayout();
- tableColumnLayout.setColumnData(column, new ColumnWeightData(weight));
- }
-
- @Override
- public void setFocus() {
- form.setFocus();
- }
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServersSummaryView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServersSummaryView.java
deleted file mode 100644
index dab2f178..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/GlusterServersSummaryView.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/**
- * GlusterServersSummaryView.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.gui.views;
-
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.part.ViewPart;
-
-import com.gluster.storage.management.core.model.Alert;
-import com.gluster.storage.management.core.model.Alert.ALERT_TYPES;
-import com.gluster.storage.management.core.model.EntityGroup;
-import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.core.model.Server.SERVER_STATUS;
-import com.gluster.storage.management.core.model.TaskInfo;
-import com.gluster.storage.management.core.model.TaskInfo.TASK_TYPE;
-import com.gluster.storage.management.gui.GlusterDataModelManager;
-import com.gluster.storage.management.gui.IImageKeys;
-import com.gluster.storage.management.gui.utils.ChartViewerComposite;
-import com.gluster.storage.management.gui.utils.GUIHelper;
-
-/**
- *
- */
-public class GlusterServersSummaryView extends ViewPart {
- public static final String ID = GlusterServersSummaryView.class.getName();
- private static final GUIHelper guiHelper = GUIHelper.getInstance();
- private final FormToolkit toolkit = new FormToolkit(Display.getCurrent());
- private ScrolledForm form;
- private EntityGroup<GlusterServer> servers;
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
- */
- @Override
- public void createPartControl(Composite parent) {
- if (servers == null) {
- servers = (EntityGroup<GlusterServer>)guiHelper.getSelectedEntity(getSite(), EntityGroup.class);
- }
- setPartName("Summary");
- createSections(parent);
- }
-
- /**
- * @param parent
- */
- private void createSections(Composite parent) {
- form = guiHelper.setupForm(parent, toolkit, "Servers - Summary");
-
- createSummarySection();
- createRunningTasksSection();
- createAlertsSection();
-
- parent.layout(); // IMP: lays out the form properly
- }
-
- private void createSummarySection() {
- Composite section = guiHelper.createSection(form, toolkit, "Availability", null, 2, false);
- if(servers.getEntities().size() == 0) {
- toolkit.createLabel(section, "This section will be populated after at least\none server is added to the storage cloud.");
- return;
- }
-
- Double[] values = new Double[] { Double.valueOf(getServerCountByStatus(servers, SERVER_STATUS.ONLINE)),
- Double.valueOf(getServerCountByStatus(servers, SERVER_STATUS.OFFLINE)) };
- createStatusChart(section, values);
- }
-
- private int getServerCountByStatus(EntityGroup<GlusterServer> servers, SERVER_STATUS status) {
- int count = 0;
- for (GlusterServer server : (List<GlusterServer>)servers.getEntities()) {
- if (server.getStatus() == status) {
- count++;
- }
- }
- return count;
- }
-
- private void createStatusChart(Composite section, Double[] values) {
- String[] categories = new String[] { "Online", "Offline" };
- ChartViewerComposite chartViewerComposite = new ChartViewerComposite(section, SWT.NONE, categories, values);
-
- GridData data = new GridData(SWT.FILL, SWT.FILL, false, false);
- data.widthHint = 300;
- data.heightHint = 150;
- chartViewerComposite.setLayoutData(data);
- }
-
- private void createAlertsSection() {
- Composite section = guiHelper.createSection(form, toolkit, "Alerts", null, 1, false);
- List<Alert> alerts = GlusterDataModelManager.getInstance().getModel().getCluster().getAlerts();
-
- for (Alert alert : alerts) {
- if (alert.getType() != ALERT_TYPES.OFFLINE_VOLUME_BRICKS_ALERT) {
- addAlertLabel(section, alert);
- }
- }
- }
-
- private void addAlertLabel(Composite section, Alert alert) {
- CLabel lblAlert = new CLabel(section, SWT.FLAT);
- Image alertImage = null;
- switch (alert.getType()) {
- case OFFLINE_VOLUME_BRICKS_ALERT:
- alertImage = guiHelper.getImage(IImageKeys.BRICK_OFFLINE_22x22);
- break;
- case DISK_USAGE_ALERT:
- alertImage = guiHelper.getImage(IImageKeys.LOW_DISK_SPACE_22x22);
- break;
- case OFFLINE_SERVERS_ALERT:
- alertImage = guiHelper.getImage(IImageKeys.SERVER_OFFLINE_22x22);
- break;
- case MEMORY_USAGE_ALERT:
- alertImage = guiHelper.getImage(IImageKeys.MEMORY_USAGE_ALERT_22x22);
- break;
- case CPU_USAGE_ALERT:
- alertImage = guiHelper.getImage(IImageKeys.SERVER_WARNING_22x22);
- break;
- }
- lblAlert.setImage(alertImage);
- lblAlert.setText(alert.getMessage());
- lblAlert.redraw();
- }
-
-
-
- private void createRunningTasksSection() {
- Composite section = guiHelper.createSection(form, toolkit, "Running Tasks", null, 1, false);
-
- for (TaskInfo taskInfo : GlusterDataModelManager.getInstance().getModel().getCluster().getTaskInfoList()) {
- if (taskInfo.getType() != TASK_TYPE.VOLUME_REBALANCE && taskInfo.getType() != TASK_TYPE.BRICK_MIGRATE) { // Exclude volume related tasks
- addTaskLabel(section, taskInfo);
- }
- }
- }
-
- private void addTaskLabel(Composite section, TaskInfo taskInfo) {
- CLabel lblAlert = new CLabel(section, SWT.NONE);
- lblAlert.setText(taskInfo.getDescription());
-
- Image taskImage = null;
- switch(taskInfo.getType()) {
- case DISK_FORMAT:
- taskImage = guiHelper.getImage(IImageKeys.DISK_INITIALIZING_22x22);
- break;
- case BRICK_MIGRATE:
- taskImage = guiHelper.getImage(IImageKeys.BRICK_MIGRATE_22x22);
- break;
- case VOLUME_REBALANCE:
- taskImage = guiHelper.getImage(IImageKeys.VOLUME_REBALANCE_22x22);
- break;
- }
- lblAlert.setImage(taskImage);
- lblAlert.redraw();
- }
-
- /* (non-Javadoc)
- * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
- */
- @Override
- public void setFocus() {
- form.setFocus();
- }
-} \ No newline at end of file
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/TasksView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/TasksView.java
deleted file mode 100644
index 06342bf8..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/TasksView.java
+++ /dev/null
@@ -1,39 +0,0 @@
-package com.gluster.storage.management.gui.views;
-
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.ViewPart;
-
-import com.gluster.storage.management.core.model.TaskInfo;
-import com.gluster.storage.management.gui.GlusterDataModelManager;
-import com.gluster.storage.management.gui.views.pages.TasksPage;
-
-public class TasksView extends ViewPart {
-
- public static final String ID = TasksView.class.getName();
- private TasksPage page;
-
-
- public TasksView() {
- // TODO Auto-generated constructor stub
- }
-
- @Override
- public void createPartControl(Composite parent) {
- page = new TasksPage(getSite(), parent, SWT.NONE, getAllTasks());
- page.layout(); // IMP: lays out the form properly
- }
-
-
- private List<TaskInfo> getAllTasks() {
- return GlusterDataModelManager.getInstance().getModel().getCluster().getTaskInfoList();
- }
-
- @Override
- public void setFocus() {
- page.setFocus();
- }
-
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/ViewsManager.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/ViewsManager.java
deleted file mode 100644
index 2b33308e..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/ViewsManager.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * ViewsManager.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.gui.views;
-
-import com.gluster.storage.management.core.model.Entity;
-
-/**
- * Whenever the current selection/action demands opening different set of views, the views manager is used to open
- * appropriate views.
- */
-public interface ViewsManager {
- /**
- * Updates the views for given entity. This typically means that user is working with the given entity, and hence
- * the views related to that entity should be made visible, and other un-related views should be hidden.
- *
- * @param entity
- * The entity for which views are to be updated
- */
- public void updateViews(Entity entity);
-} \ No newline at end of file
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeBricksView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeBricksView.java
deleted file mode 100644
index bb008f09..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeBricksView.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package com.gluster.storage.management.gui.views;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.ViewPart;
-
-import com.gluster.storage.management.core.model.Volume;
-import com.gluster.storage.management.gui.GlusterDataModelManager;
-import com.gluster.storage.management.gui.utils.GUIHelper;
-import com.gluster.storage.management.gui.views.pages.BricksPage;
-
-public class VolumeBricksView extends ViewPart {
- public static final String ID = VolumeBricksView.class.getName();
- private static final GUIHelper guiHelper = GUIHelper.getInstance();
- private BricksPage page;
- private Volume volume;
-
- @Override
- public void createPartControl(Composite parent) {
- if (volume == null) {
- volume = (Volume) guiHelper.getSelectedEntity(getSite(), Volume.class);
- }
-
- createPage(parent);
- }
-
- /**
- * @param parent
- */
- private void createPage(Composite parent) {
- page = new BricksPage(parent, SWT.NONE, getSite(), volume.getBricks());
- parent.layout(); // IMP: lays out the form properly
- }
-
- @Override
- public void setFocus() {
- page.setFocus();
- }
-}
-
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeLogsView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeLogsView.java
deleted file mode 100644
index 89c343d7..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeLogsView.java
+++ /dev/null
@@ -1,35 +0,0 @@
-package com.gluster.storage.management.gui.views;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.ViewPart;
-
-import com.gluster.storage.management.core.model.Volume;
-import com.gluster.storage.management.gui.utils.GUIHelper;
-import com.gluster.storage.management.gui.views.pages.VolumeLogsPage;
-
-public class VolumeLogsView extends ViewPart {
- VolumeLogsPage logsPage;
- public static final String ID = VolumeLogsView.class.getName();
- private static final GUIHelper guiHelper = GUIHelper.getInstance();
- private Volume volume;
-
- @Override
- public void createPartControl(Composite parent) {
- if (volume == null) {
- volume = (Volume) guiHelper.getSelectedEntity(getSite(), Volume.class);
- }
-
- createPage(parent);
- }
-
- private void createPage(Composite parent) {
- logsPage = new VolumeLogsPage(parent, SWT.NONE, volume);
- parent.layout(); // IMP: lays out the form properly
- }
-
- @Override
- public void setFocus() {
- logsPage.setFocus();
- }
-} \ No newline at end of file
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeOptionsView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeOptionsView.java
deleted file mode 100644
index 0780cf6a..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeOptionsView.java
+++ /dev/null
@@ -1,36 +0,0 @@
-package com.gluster.storage.management.gui.views;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.ui.part.ViewPart;
-
-import com.gluster.storage.management.core.model.Volume;
-import com.gluster.storage.management.gui.utils.GUIHelper;
-import com.gluster.storage.management.gui.views.pages.VolumeOptionsPage;
-
-public class VolumeOptionsView extends ViewPart {
- public static final String ID = VolumeOptionsView.class.getName();
- private static final GUIHelper guiHelper = GUIHelper.getInstance();
- private VolumeOptionsPage page;
- private Volume volume;
-
- @Override
- public void createPartControl(Composite parent) {
- if (volume == null) {
- volume = (Volume) guiHelper.getSelectedEntity(getSite(), Volume.class);
- }
-
- createPage(parent);
- }
-
- private void createPage(Composite parent) {
- page = new VolumeOptionsPage(parent, SWT.NONE, volume);
- parent.layout(); // IMP: lays out the form properly
- }
-
- @Override
- public void setFocus() {
- page.setFocus();
- }
-}
-
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java
deleted file mode 100644
index 8b5b3fee..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumeSummaryView.java
+++ /dev/null
@@ -1,510 +0,0 @@
-package com.gluster.storage.management.gui.views;
-
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.jface.dialogs.MessageDialog;
-import org.eclipse.jface.fieldassist.ControlDecoration;
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.BusyIndicator;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.events.KeyAdapter;
-import org.eclipse.swt.events.KeyEvent;
-import org.eclipse.swt.graphics.Font;
-import org.eclipse.swt.graphics.FontData;
-import org.eclipse.swt.layout.FillLayout;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Button;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.swt.widgets.Label;
-import org.eclipse.swt.widgets.Text;
-import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.PlatformUI;
-import org.eclipse.ui.forms.events.HyperlinkAdapter;
-import org.eclipse.ui.forms.events.HyperlinkEvent;
-import org.eclipse.ui.forms.widgets.FormText;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.Hyperlink;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.part.ViewPart;
-
-import com.gluster.storage.management.client.VolumesClient;
-import com.gluster.storage.management.core.model.Alert;
-import com.gluster.storage.management.core.model.Brick;
-import com.gluster.storage.management.core.model.Cluster;
-import com.gluster.storage.management.core.model.DefaultClusterListener;
-import com.gluster.storage.management.core.model.Disk;
-import com.gluster.storage.management.core.model.Event;
-import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.core.model.Partition;
-import com.gluster.storage.management.core.model.Server.SERVER_STATUS;
-import com.gluster.storage.management.core.model.Volume;
-import com.gluster.storage.management.core.model.Volume.NAS_PROTOCOL;
-import com.gluster.storage.management.core.model.Volume.VOLUME_TYPE;
-import com.gluster.storage.management.core.utils.NumberUtil;
-import com.gluster.storage.management.core.utils.StringUtil;
-import com.gluster.storage.management.core.utils.ValidationUtil;
-import com.gluster.storage.management.gui.GlusterDataModelManager;
-import com.gluster.storage.management.gui.IImageKeys;
-import com.gluster.storage.management.gui.toolbar.GlusterToolbarManager;
-import com.gluster.storage.management.gui.utils.GUIHelper;
-
-public class VolumeSummaryView extends ViewPart {
- public static final String ID = VolumeSummaryView.class.getName();
- private static final GUIHelper guiHelper = GUIHelper.getInstance();
-
- private final FormToolkit toolkit = new FormToolkit(Display.getCurrent());
- private ScrolledForm form;
- private Volume volume;
- private CLabel lblStatusValue;
- private DefaultClusterListener volumeChangedListener;
- private Hyperlink changeLink;
- private Text accessControlText;
- private ControlDecoration errDecoration;
- private Composite parent;
- private static final String COURIER_FONT = "Courier";
- private Cluster cluster = GlusterDataModelManager.getInstance().getModel().getCluster();
-
- @Override
- public void createPartControl(Composite parent) {
- if (volume == null) {
- volume = (Volume) guiHelper.getSelectedEntity(getSite(), Volume.class);
- }
-
- this.parent = parent;
- setPartName("Summary");
- createSections();
-
- final GlusterToolbarManager toolbarManager = new GlusterToolbarManager(getSite().getWorkbenchWindow());
- // Refresh the navigation tree whenever there is a change to the data model
- volumeChangedListener = new DefaultClusterListener() {
- @Override
- public void volumeChanged(Volume volume, Event event) {
- updateVolumeStatusLabel();
- populateAccessControlText();
- toolbarManager.updateToolbar(volume);
- }
- };
- GlusterDataModelManager.getInstance().addClusterListener(volumeChangedListener);
- }
-
- @Override
- public void dispose() {
- super.dispose();
- GlusterDataModelManager.getInstance().removeClusterListener(volumeChangedListener);
- }
-
- private void createSections() {
- form = guiHelper.setupForm(parent, toolkit, "Volume Properties [" + volume.getName() + "]");
-
- createVolumePropertiesSection();
- createVolumeMountingInfoSection();
- createVolumeAlertsSection();
-
- parent.layout(); // IMP: lays out the form properly
- }
-
- private void createVolumeAlertsSection() {
- Composite section = guiHelper.createSection(form, toolkit, "Alerts", null, 1, false);
- List<Alert> alerts = GlusterDataModelManager.getInstance().getModel().getCluster().getAlerts();
-
- for (int i = 0; i < alerts.size(); i++) {
- if (alerts.get(i).getType() == Alert.ALERT_TYPES.OFFLINE_VOLUME_BRICKS_ALERT
- && alerts.get(i).getReference().split(":")[0].trim().equals(volume.getName())) {
- addAlertLabel(section, alerts.get(i));
- }
- }
- }
-
- private void addAlertLabel(Composite section, Alert alert) {
- CLabel lblAlert = new CLabel(section, SWT.NONE);
- lblAlert.setImage(guiHelper.getImage(IImageKeys.BRICK_OFFLINE_22x22));
- lblAlert.setText(alert.getMessage());
- lblAlert.redraw();
- }
-
- private FormText setFormTextStyle(FormText formText, String fontName, int size, int style) {
- Font font = new Font(Display.getCurrent(), new FontData(fontName, size, style));
- formText.setFont(font);
- return formText;
- }
-
- private void createVolumeMountingInfoSection() {
- String glusterFs = "Gluster:";
- String nfs = "NFS:";
- String onlineServers = getOnlineServers(10); // Limited to 10 servers
- String firstOnlineServer = onlineServers.split(",")[0].trim();
- String glusterFsMountInfo = "mount -t glusterfs " + firstOnlineServer + ":/" + volume.getName()
- + " <mount-point>";
- String nfsMountInfo = "mount -t nfs " + firstOnlineServer + ":/" + volume.getName() + " <mount-point>";
- String info = "Server can be any server name in the storage cloud eg. <" + onlineServers + ">"; // TODO: if more
- // than 10
- // servers...
-
- Composite section = guiHelper.createSection(form, toolkit, "Mounting Information", null, 3, false);
-
- toolkit.createLabel(section, glusterFs, SWT.NORMAL);
- FormText glusterfsMountText = setFormTextStyle(toolkit.createFormText(section, true), COURIER_FONT, 10,
- SWT.NONE);
- glusterfsMountText.setText(glusterFsMountInfo, false, false);
- glusterfsMountText.setLayoutData(new GridData(GridData.BEGINNING, GridData.VERTICAL_ALIGN_CENTER, false, false,
- 2, 0)); // Label spanned two column
-
- // TODO: Check required if nfs is optional
- toolkit.createLabel(section, nfs, SWT.NORMAL);
- FormText glusterNfsMountText = setFormTextStyle(toolkit.createFormText(section, true), COURIER_FONT, 10,
- SWT.NONE);
- glusterNfsMountText.setText(nfsMountInfo, false, false);
- glusterNfsMountText.setLayoutData(new GridData(GridData.BEGINNING, GridData.VERTICAL_ALIGN_CENTER, false,
- false, 2, 0));
-
- toolkit.createLabel(section, "");
- Label infoLabel = toolkit.createLabel(section, info, SWT.NONE);
- infoLabel.setLayoutData(new GridData(GridData.BEGINNING, GridData.VERTICAL_ALIGN_CENTER, false, false, 2, 0));
-
- // TODO: implement a logic to identify the corresponding glusterfs client download link
- String message = "You can download gluster FS client from";
- String glusterClientDownloadlinkText = "here.";
- final String glusterClientDownloadlink = "http://www.gluster.com";
-
- toolkit.createLabel(section, "");
- toolkit.createLabel(section, message);
- Hyperlink link = toolkit.createHyperlink(section, glusterClientDownloadlinkText, SWT.NORMAL);
- link.addHyperlinkListener(new HyperlinkAdapter() {
- public void linkActivated(HyperlinkEvent e) {
- try {
- System.out.println(e.getLabel() + " [" + e.getHref() + "]");
- PlatformUI.getWorkbench().getBrowserSupport().getExternalBrowser()
- .openURL(new URL(glusterClientDownloadlink));
- } catch (PartInitException e1) {
- e1.printStackTrace();
- } catch (MalformedURLException e1) {
- e1.printStackTrace();
- }
- }
- });
- }
-
- private String getOnlineServers(int maxServers) {
- List<String> OnlineServers = new ArrayList<String>();
- for (GlusterServer server : cluster.getServers()) {
- if (server.getStatus() == SERVER_STATUS.ONLINE) {
- OnlineServers.add(server.getName());
- if (OnlineServers.size() >= maxServers) {
- break;
- }
- }
- }
- return StringUtil.collectionToString(OnlineServers, ", ") + ((OnlineServers.size() > maxServers) ? "..." : "");
- }
-
- /**
- *
- */
- private void createVolumePropertiesSection() {
- Composite section = guiHelper.createSection(form, toolkit, "Properties", null, 3, false);
-
- createVolumeTypeField(section);
-
- VOLUME_TYPE volumeType = volume.getVolumeType();
- if (volumeType == VOLUME_TYPE.DISTRIBUTED_MIRROR) {
- createReplicaCountField(section);
- }
-
- if (volumeType == VOLUME_TYPE.DISTRIBUTED_STRIPE) {
- createStripeCountField(section);
- }
-
- createNumOfBricksField(section);
- createDiskSpaceField(section);
- // createTransportTypeField(section);
- createNASProtocolField(section);
- createAccessControlField(section);
- createStatusField(section);
- }
-
- private GridData createDefaultLayoutData() {
- GridData layoutData = new GridData();
- layoutData.minimumWidth = 300;
- layoutData.widthHint = 300;
- return layoutData;
- }
-
- private void createAccessControlField(Composite section) {
- toolkit.createLabel(section, "Access Control: ", SWT.NONE);
- accessControlText = toolkit.createText(section, volume.getAccessControlList());
-
- populateAccessControlText();
- addKeyListerForAccessControl();
- accessControlText.setLayoutData(createDefaultLayoutData());
- accessControlText.setEnabled(false);
- createChangeLinkForAccessControl(section);
-
- // error decoration used while validating the access control text
- errDecoration = guiHelper.createErrorDecoration(accessControlText);
- errDecoration.hide();
- createAccessControlInfoLabel(section); // info text
- }
-
- private void createAccessControlInfoLabel(Composite section) {
- toolkit.createLabel(section, "", SWT.NONE);
- Label accessControlInfoLabel = toolkit.createLabel(section, "(Comma separated list of IP addresses/hostnames)");
- GridData data = new GridData(SWT.LEFT, SWT.CENTER, true, false);
- data.horizontalSpan = 2;
- accessControlInfoLabel.setLayoutData(data);
- }
-
- private void createChangeLinkForAccessControl(Composite section) {
- changeLink = toolkit.createHyperlink(section, "change", SWT.NONE);
- changeLink.addHyperlinkListener(new HyperlinkAdapter() {
-
- private void finishEdit() {
- saveAccessControlList();
- }
-
- private void startEdit() {
- accessControlText.setEnabled(true);
- accessControlText.setFocus();
- accessControlText.selectAll();
- changeLink.setText("update");
- }
-
- @Override
- public void linkActivated(HyperlinkEvent e) {
- if (accessControlText.isEnabled()) {
- // we were already in edit mode.
- finishEdit();
- } else {
- // Get in to edit mode
- startEdit();
- }
- }
- });
- }
-
- private void saveAccessControlList() {
- final String newACL = accessControlText.getText();
-
- guiHelper.setStatusMessage("Setting access control list to [" + newACL + "]...");
- parent.update();
-
- if (newACL.equals(volume.getAccessControlList())) {
- accessControlText.setEnabled(false);
- changeLink.setText("change");
- } else if (ValidationUtil.isValidAccessControl(newACL)) {
- BusyIndicator.showWhile(Display.getDefault(), new Runnable() {
- @Override
- public void run() {
- try {
- new VolumesClient().setVolumeOption(volume.getName(), Volume.OPTION_AUTH_ALLOW, newACL);
- accessControlText.setEnabled(false);
- changeLink.setText("change");
-
- GlusterDataModelManager.getInstance().setAccessControlList(volume, newACL);
- } catch (Exception e) {
- MessageDialog.openError(Display.getDefault().getActiveShell(), "Access control", e.getMessage());
- }
- }
- });
- } else {
- MessageDialog.openError(Display.getDefault().getActiveShell(), "Access control", "Invalid IP / Host name ");
- }
- guiHelper.clearStatusMessage();
- parent.update();
- }
-
- private void addKeyListerForAccessControl() {
- accessControlText.addKeyListener(new KeyAdapter() {
- public void keyReleased(KeyEvent key) {
- switch (key.keyCode) {
- case SWT.ESC:
- // Reset to default
- populateAccessControlText();
- changeLink.setText("change");
- accessControlText.setEnabled(false);
- break;
- case 13:
- // User has pressed enter. Save the new value
- saveAccessControlList();
- break;
- }
-
- validateAccessControlList();
- }
- });
- }
-
- private void populateAccessControlText() {
- String accessControlList = volume.getAccessControlList();
- if (accessControlList == null) {
- // if not set, show default value
- accessControlList = GlusterDataModelManager.getInstance().getVolumeOptionDefaultValue(
- Volume.OPTION_AUTH_ALLOW);
- }
- accessControlText.setText(accessControlList);
- }
-
- private void createNASProtocolField(Composite section) {
- toolkit.createLabel(section, "Access Protocols: ", SWT.NONE);
-
- Composite nasProtocolsComposite = toolkit.createComposite(section);
- nasProtocolsComposite.setLayout(new FillLayout());
-
- createCheckbox(nasProtocolsComposite, "Gluster", true, false);
- final Button nfsCheckBox = createCheckbox(nasProtocolsComposite, "NFS",
- volume.getNASProtocols().contains(NAS_PROTOCOL.NFS), true);
- createCheckbox(nasProtocolsComposite, "CIFS", false, true);
-
- toolkit.createLabel(section, "", SWT.NONE); // dummy
- // createChangeLinkForNASProtocol(section, nfsCheckBox);
- }
-
- private Button createCheckbox(Composite parent, String label, boolean selected, boolean enabled) {
- final Button checkBox = toolkit.createButton(parent, label, SWT.CHECK);
- checkBox.setEnabled(enabled);
- checkBox.setSelection(selected);
- return checkBox;
- }
-
- private void createChangeLinkForNASProtocol(Composite section, final Button nfsCheckBox) {
- final Hyperlink nasChangeLink = toolkit.createHyperlink(section, "change", SWT.NONE);
- nasChangeLink.addHyperlinkListener(new HyperlinkAdapter() {
-
- private void finishEdit() {
- // TODO: Update value to back-end
- if (nfsCheckBox.getSelection()) {
- volume.enableNFS();
- } else {
- volume.disableNFS();
- }
- nfsCheckBox.setEnabled(false);
- nasChangeLink.setText("change");
- }
-
- private void startEdit() {
- nfsCheckBox.setEnabled(true);
- nasChangeLink.setText("update");
- }
-
- @Override
- public void linkActivated(HyperlinkEvent e) {
- if (nfsCheckBox.isEnabled()) {
- // we were already in edit mode.
- finishEdit();
- } else {
- // Get in to edit mode
- startEdit();
- }
- }
- });
- }
-
- private double getDiskSize(String serverName, String deviceName) {
- double diskSize = 0;
- GlusterServer server = cluster.getServer(serverName);
- if (server.getStatus() == SERVER_STATUS.ONLINE) {
- for (Disk disk : server.getDisks()) {
- if (disk.getName().equals(deviceName)) {
- diskSize = disk.getSpace();
- break;
- }
-
- if (disk.hasPartitions()) {
- for (Partition partition : disk.getPartitions()) {
- if (partition.getName().equals(deviceName)) {
- diskSize = partition.getSpace();
- break;
- }
- }
- }
- }
- }
- return diskSize;
- }
-
- private double getTotalDiskSpace() {
- double diskSize = 0;
- for (Brick brick : volume.getBricks()) {
- diskSize += getDiskSize(brick.getServerName(), brick.getDeviceName());
- }
- return diskSize;
-
- }
-
- private void createDiskSpaceField(Composite section) {
- Label diskSpaceLabel = toolkit.createLabel(section, "Total Disk Space (GB): ", SWT.NONE);
- diskSpaceLabel.setToolTipText("<b>bold</b>normal");
- toolkit.createLabel(section, "" + NumberUtil.formatNumber((getTotalDiskSpace() / 1024)), SWT.NONE);
- toolkit.createLabel(section, "", SWT.NONE); // dummy
- }
-
- private void createStatusField(Composite section) {
- toolkit.createLabel(section, "Status: ", SWT.NONE);
-
- lblStatusValue = new CLabel(section, SWT.NONE);
- updateVolumeStatusLabel();
-
- toolkit.createLabel(section, "", SWT.NONE); // dummy
- }
-
- private void updateVolumeStatusLabel() {
- lblStatusValue.setText(volume.getStatusStr());
- lblStatusValue.setImage((volume.getStatus() == Volume.VOLUME_STATUS.ONLINE) ? guiHelper
- .getImage(IImageKeys.STATUS_ONLINE_16x16) : guiHelper.getImage(IImageKeys.STATUS_OFFLINE_16x16));
- lblStatusValue.redraw();
- }
-
- private void createTransportTypeField(Composite section) {
- toolkit.createLabel(section, "Transport Type: ", SWT.NONE);
- toolkit.createLabel(section, "" + volume.getTransportTypeStr(), SWT.NONE);
- toolkit.createLabel(section, "", SWT.NONE); // dummy
- }
-
- private void createNumOfBricksField(Composite section) {
- toolkit.createLabel(section, "Number of Bricks: ", SWT.NONE);
- toolkit.createLabel(section, "" + volume.getNumOfBricks(), SWT.NONE);
- toolkit.createLabel(section, "", SWT.NONE); // dummy
- }
-
- private void createStripeCountField(Composite section) {
- toolkit.createLabel(section, "Stripe Count: ", SWT.NONE);
- toolkit.createLabel(section, "" + volume.getStripeCount(), SWT.NONE);
- toolkit.createLabel(section, "", SWT.NONE); // dummy
- }
-
- private void createReplicaCountField(Composite section) {
- toolkit.createLabel(section, "Replica Count: ", SWT.NONE);
- toolkit.createLabel(section, "" + volume.getReplicaCount(), SWT.NONE);
- toolkit.createLabel(section, "", SWT.NONE); // dummy
- }
-
- private void createVolumeTypeField(Composite section) {
- toolkit.createLabel(section, "Volume Type: ", SWT.NONE);
- toolkit.createLabel(section, volume.getVolumeTypeStr(), SWT.NONE);
- toolkit.createLabel(section, "", SWT.NONE);
- }
-
- @Override
- public void setFocus() {
- form.setFocus();
- }
-
- private void validateAccessControlList() {
- errDecoration.hide();
-
- if (accessControlText.getText().length() == 0) {
- errDecoration.setDescriptionText("Access control list cannot be empty!");
- errDecoration.show();
- return;
- }
-
- if (!ValidationUtil.isValidAccessControl(accessControlText.getText())) {
- errDecoration
- .setDescriptionText("Access control list must be a comma separated list of IP addresses/Host names. Please enter a valid value!");
- errDecoration.show();
- }
- }
-}
diff --git a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumesSummaryView.java b/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumesSummaryView.java
deleted file mode 100644
index 3b5647d2..00000000
--- a/src/com.gluster.storage.management.gui/src/com/gluster/storage/management/gui/views/VolumesSummaryView.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/**
- * VolumesSummaryView.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.gui.views;
-
-import java.util.List;
-
-import org.eclipse.swt.SWT;
-import org.eclipse.swt.custom.CLabel;
-import org.eclipse.swt.layout.GridData;
-import org.eclipse.swt.widgets.Composite;
-import org.eclipse.swt.widgets.Display;
-import org.eclipse.ui.forms.widgets.FormToolkit;
-import org.eclipse.ui.forms.widgets.ScrolledForm;
-import org.eclipse.ui.part.ViewPart;
-
-import com.gluster.storage.management.core.model.Alert;
-import com.gluster.storage.management.core.model.Cluster;
-import com.gluster.storage.management.core.model.EntityGroup;
-import com.gluster.storage.management.core.model.TaskInfo;
-import com.gluster.storage.management.core.model.TaskInfo.TASK_TYPE;
-import com.gluster.storage.management.core.model.Volume;
-import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS;
-import com.gluster.storage.management.gui.GlusterDataModelManager;
-import com.gluster.storage.management.gui.IImageKeys;
-import com.gluster.storage.management.gui.utils.ChartViewerComposite.CHART_TYPE;
-import com.gluster.storage.management.gui.utils.GUIHelper;
-import com.gluster.storage.management.gui.utils.ChartViewerComposite;
-
-/**
- *
- */
-public class VolumesSummaryView extends ViewPart {
- public static final String ID = VolumesSummaryView.class.getName();
- private static final GUIHelper guiHelper = GUIHelper.getInstance();
- private final FormToolkit toolkit = new FormToolkit(Display.getCurrent());
- private ScrolledForm form;
- private EntityGroup<Volume> volumes;
- private Cluster cluster = GlusterDataModelManager.getInstance().getModel().getCluster();
-
- private static final String ALERTS = "Alerts";
- private static final String RUNNING_TASKS = "Running Tasks";
- private static final String VOLUMES_SUMMARY = "Volumes - Summary";
- private static final String AVAILABILITY = "Availability";
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets
- * .Composite)
- */
- @SuppressWarnings({ "unchecked", "rawtypes" })
- @Override
- public void createPartControl(Composite parent) {
- if (volumes == null) {
- Object selectedObj = guiHelper.getSelectedEntity(getSite(), EntityGroup.class);
- if (selectedObj != null && ((EntityGroup) selectedObj).getEntityType() == Volume.class) {
- volumes = (EntityGroup<Volume>) selectedObj;
- }
- }
-
- setPartName("Summary");
- createSections(parent);
- }
-
- private void createSections(Composite parent) {
- form = guiHelper.setupForm(parent, toolkit, VOLUMES_SUMMARY);
- createSummarySection();
- createRunningTasksSection();
- createAlertsSection();
-
- parent.layout(); // IMP: lays out the form properly
- }
-
- private void createAlertsSection() {
- Composite section = guiHelper.createSection(form, toolkit, ALERTS, null, 1, false);
-
- for (Alert alert : cluster.getAlerts()) {
- addAlertLabel(section, alert);
- }
- }
-
- private void addAlertLabel(Composite section, Alert alert) {
- if (alert.getType() == Alert.ALERT_TYPES.OFFLINE_VOLUME_BRICKS_ALERT) {
- CLabel lblAlert = new CLabel(section, SWT.NONE);
- lblAlert.setImage((alert.getType() == Alert.ALERT_TYPES.DISK_USAGE_ALERT) ? guiHelper
- .getImage(IImageKeys.LOW_DISK_SPACE_22x22) : guiHelper.getImage(IImageKeys.BRICK_OFFLINE_22x22));
- lblAlert.setText(alert.getMessage());
- lblAlert.redraw();
- }
- }
-
- private void createRunningTasksSection() {
- Composite section = guiHelper.createSection(form, toolkit, RUNNING_TASKS, null, 1, false);
-
- for (TaskInfo taskInfo : cluster.getTaskInfoList()) {
- if (taskInfo.getType() == TASK_TYPE.BRICK_MIGRATE || taskInfo.getType() == TASK_TYPE.VOLUME_REBALANCE)
- addTaskLabel(section, taskInfo);
- }
- }
-
- private void addTaskLabel(Composite section, TaskInfo taskInfo) {
- // Task related to Volumes context
- if (taskInfo.getType() == TASK_TYPE.BRICK_MIGRATE
- || taskInfo.getType() == TASK_TYPE.VOLUME_REBALANCE) {
- if (taskInfo.getStatus().isPercentageSupported()) {
- // TODO Progress bar or link to progress view
- }
- CLabel lblAlert = new CLabel(section, SWT.NONE);
- lblAlert.setText(taskInfo.getDescription());
- lblAlert.setImage((taskInfo.getType() == TASK_TYPE.BRICK_MIGRATE) ? guiHelper
- .getImage(IImageKeys.BRICK_MIGRATE_32x32) : guiHelper.getImage(IImageKeys.VOLUME_REBALANCE_32x32));
- lblAlert.redraw();
- }
- }
-
- private void createSummarySection() {
- Composite section = guiHelper.createSection(form, toolkit, AVAILABILITY, null, 2, false);
-
- if(volumes.getEntities().size() == 0) {
- toolkit.createLabel(section,
- "This section will be populated after at least\none volume is created the storage cloud.");
- return;
- }
-
- Double[] values = new Double[] { Double.valueOf(getVolumeCountByStatus(volumes, VOLUME_STATUS.ONLINE)),
- Double.valueOf(getVolumeCountByStatus(volumes, VOLUME_STATUS.OFFLINE)) };
- createStatusChart(toolkit, section, values);
- }
-
- private int getVolumeCountByStatus(EntityGroup<Volume> volumes, VOLUME_STATUS status) {
- int count = 0;
- for (Volume volume : (List<Volume>) volumes.getEntities()) {
- if (volume.getStatus() == status) {
- count++;
- }
- }
- return count;
- }
-
- private void createStatusChart(FormToolkit toolkit, Composite section, Double[] values) {
- String[] categories = new String[] { "Online", "Offline" };
- ChartViewerComposite chartViewerComposite = new ChartViewerComposite(section, SWT.NONE, categories, values);
-
- GridData data = new GridData(SWT.FILL, SWT.FILL, false, false);
- data.widthHint = 300;
- data.heightHint = 150;
- chartViewerComposite.setLayoutData(data);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see org.eclipse.ui.part.WorkbenchPart#setFocus()
- */
- @Override
- public void setFocus() {
- if (form != null) {
- form.setFocus();
- }
- }
-}
diff --git a/src/com.gluster.storage.management.gui/src/test.xml b/src/com.gluster.storage.management.gui/src/test.xml
deleted file mode 100644
index 12bbf745..00000000
--- a/src/com.gluster.storage.management.gui/src/test.xml
+++ /dev/null
@@ -1 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
diff --git a/src/com.gluster.storage.management.releng/build.properties b/src/com.gluster.storage.management.releng/build.properties
deleted file mode 100644
index 64f93a9f..00000000
--- a/src/com.gluster.storage.management.releng/build.properties
+++ /dev/null
@@ -1 +0,0 @@
-bin.includes = feature.xml
diff --git a/src/com.gluster.storage.management.releng/com.gluster.storage.management.client.cquery b/src/com.gluster.storage.management.releng/com.gluster.storage.management.client.cquery
deleted file mode 100644
index 7bb4b868..00000000
--- a/src/com.gluster.storage.management.releng/com.gluster.storage.management.client.cquery
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<cq:componentQuery xmlns:cq="http://www.eclipse.org/buckminster/CQuery-1.0" resourceMap="glustermc.rmap">
- <cq:rootRequest name="com.gluster.storage.management.core" componentType="osgi.bundle"/>
-</cq:componentQuery>
diff --git a/src/com.gluster.storage.management.releng/com.gluster.storage.management.core.cquery b/src/com.gluster.storage.management.releng/com.gluster.storage.management.core.cquery
deleted file mode 100644
index a97d350d..00000000
--- a/src/com.gluster.storage.management.releng/com.gluster.storage.management.core.cquery
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<cq:componentQuery xmlns:cq="http://www.eclipse.org/buckminster/CQuery-1.0" resourceMap="glustermc.rmap">
- <cq:rootRequest name="com.gluster.storage.management.client" componentType="osgi.bundle"/>
-</cq:componentQuery>
diff --git a/src/com.gluster.storage.management.releng/com.gluster.storage.management.gui.feature.webstart.cquery b/src/com.gluster.storage.management.releng/com.gluster.storage.management.gui.feature.webstart.cquery
deleted file mode 100644
index 4d5dc425..00000000
--- a/src/com.gluster.storage.management.releng/com.gluster.storage.management.gui.feature.webstart.cquery
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<cq:componentQuery xmlns:cq="http://www.eclipse.org/buckminster/CQuery-1.0" resourceMap="glustermc.rmap">
- <cq:rootRequest name="com.gluster.storage.management.gui.feature.webstart" componentType="eclipse.feature"/>
-</cq:componentQuery>
diff --git a/src/com.gluster.storage.management.releng/com.gluster.storage.management.server.cquery b/src/com.gluster.storage.management.releng/com.gluster.storage.management.server.cquery
deleted file mode 100644
index 346b39bf..00000000
--- a/src/com.gluster.storage.management.releng/com.gluster.storage.management.server.cquery
+++ /dev/null
@@ -1,4 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<cq:componentQuery xmlns:cq="http://www.eclipse.org/buckminster/CQuery-1.0" resourceMap="glustermc.rmap">
- <cq:rootRequest name="com.gluster.storage.management.server" componentType="unknown"/>
-</cq:componentQuery>
diff --git a/src/com.gluster.storage.management.releng/feature.xml b/src/com.gluster.storage.management.releng/feature.xml
deleted file mode 100644
index 22a0938f..00000000
--- a/src/com.gluster.storage.management.releng/feature.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<feature
- id="com.gluster.storage.management.releng"
- label="Releng"
- version="1.0.0"
- provider-name="Gluster Inc.">
-
- <description url="http://www.example.com/description">
- [Enter Feature Description here.]
- </description>
-
- <copyright url="http://www.example.com/copyright">
- [Enter Copyright Description here.]
- </copyright>
-
- <license url="http://www.example.com/license">
- [Enter License Description here.]
- </license>
-
-</feature>
diff --git a/src/com.gluster.storage.management.releng/gluster-management-console.target b/src/com.gluster.storage.management.releng/gluster-management-console.target
deleted file mode 100644
index 03c45b7c..00000000
--- a/src/com.gluster.storage.management.releng/gluster-management-console.target
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?pde version="3.6"?>
-
-<target includeMode="feature" name="Gluster Storage Platform Target">
-<locations>
-<location path="target/com.gluster.storage.management.gui.target/rcp.sdk.helios.SR1" type="Directory"/>
-<location path="target/com.gluster.storage.management.gui.target/richclientgui.rcptoolbox" type="Directory"/>
-<location path="target/com.gluster.storage.management.gui.target/birt.charts.helios" type="Directory"/>
-<location path="target/com.gluster.storage.management.gui.target/delta.pack.helios" type="Directory"/>
-<location path="target/com.gluster.storage.management.gui.target/org.eclipse.help" type="Directory"/>
-</locations>
-<targetJRE path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
-</target>
diff --git a/src/com.gluster.storage.management.releng/glustermc.rmap b/src/com.gluster.storage.management.releng/glustermc.rmap
deleted file mode 100644
index 73df2b06..00000000
--- a/src/com.gluster.storage.management.releng/glustermc.rmap
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<rm:rmap xmlns:bc="http://www.eclipse.org/buckminster/Common-1.0" xmlns:rm="http://www.eclipse.org/buckminster/RMap-1.0">
- <rm:locator searchPathRef="glustermc"/>
- <rm:searchPath name="glustermc">
- <rm:provider componentTypes="osgi.bundle,eclipse.feature,unknown" readerType="local">
- <rm:uri format="file:///{0}/src/{1}/">
- <bc:propertyRef key="workspace.root"/>
- <bc:propertyRef key="buckminster.component"/>
- </rm:uri>
- </rm:provider>
- </rm:searchPath>
-</rm:rmap>
diff --git a/src/com.gluster.storage.management.releng/glustermc_build.properties b/src/com.gluster.storage.management.releng/glustermc_build.properties
deleted file mode 100644
index d50782d8..00000000
--- a/src/com.gluster.storage.management.releng/glustermc_build.properties
+++ /dev/null
@@ -1,14 +0,0 @@
-# Buckminster build properties file for Gluster Management Console
-
-# Where all the output should go
-#buckminster.output.root=/tmp/buckminster/glustermc
-# Where the temp files should go
-#buckminster.temp.root=/tmp/buckminster
-# How .qualifier in versions should be replaced
-qualifier.replacement.*=generator:lastRevision
-
-# Do not include source
-cbi.include.source=false
-
-# Sets the Java compiler compliance level
-org.eclipse.buckminster.core.jdt.compliancelevel=1.6
diff --git a/src/com.gluster.storage.management.server.scripts/.project b/src/com.gluster.storage.management.server.scripts/.project
deleted file mode 100644
index beda33b7..00000000
--- a/src/com.gluster.storage.management.server.scripts/.project
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<projectDescription>
- <name>com.gluster.storage.management.server.scripts</name>
- <comment></comment>
- <projects>
- </projects>
- <buildSpec>
- <buildCommand>
- <name>org.python.pydev.PyDevBuilder</name>
- <arguments>
- </arguments>
- </buildCommand>
- </buildSpec>
- <natures>
- <nature>org.python.pydev.pythonNature</nature>
- </natures>
-</projectDescription>
diff --git a/src/com.gluster.storage.management.server.scripts/.pydevproject b/src/com.gluster.storage.management.server.scripts/.pydevproject
deleted file mode 100644
index 0a912df5..00000000
--- a/src/com.gluster.storage.management.server.scripts/.pydevproject
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?eclipse-pydev version="1.0"?>
-
-<pydev_project>
-<pydev_property name="org.python.pydev.PYTHON_PROJECT_INTERPRETER">Default</pydev_property>
-<pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 3.0</pydev_property>
-<pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
-<path>/com.gluster.storage.management.server.scripts/src</path>
-</pydev_pathproperty>
-</pydev_project>
diff --git a/src/com.gluster.storage.management.server.scripts/src/Commands.py b/src/com.gluster.storage.management.server.scripts/src/Commands.py
deleted file mode 100644
index c728b565..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/Commands.py
+++ /dev/null
@@ -1,78 +0,0 @@
-COMMAND_CREATE_VOLUME = "create-volume"
-COMMAND_DELETE_VOLUME = "delete-volume"
-COMMAND_START_VOLUME = "start-volume"
-COMMAND_STOP_VOLUME = "stop-volume"
-COMMAND_GET_VOLUME_HEALTH_STATUS = "get-volume-health-status"
-COMMAND_GET_VOLUME_LIST = "get-volume-list"
-COMMAND_GET_VOLUME_LOG = "get-volume-log"
-COMMAND_CLEAR_VOLUME_LOGS = "clear-volume-logs"
-COMMAND_GET_VOLUME_PROPERTY = "get-volume-property"
-COMMAND_SET_VOLUME_PROPERTY = "set-volume-property"
-COMMAND_GET_VOLUME_STATUS = "get-volume-status"
-COMMAND_DOWNLOAD_VOLUME_LOGS = "download-volume-logs"
-COMMAND_DELETE_SERVER = "delete-server"
-COMMAND_GET_SERVER_DATE = "get-server-date"
-COMMAND_GET_SERVER_VERSION_INFO = "get-server-version-info"
-COMMAND_GET_INSTALLER_INFO = "get-installer-info"
-COMMAND_GET_SERVER_LIST = "get-server-list"
-COMMAND_GET_SERVER_SERVICE_STATUS = "get-server-service-status"
-COMMAND_GET_STORAGE_SERVER_POOL_INFO = "get-storage-server-pool-info"
-COMMAND_INSTALL_SERVER_BACKGROUND = "install-server-background"
-COMMAND_PREPARE_DATA_DISK_BACKGROUND = "prepare-data-disk-background"
-COMMAND_SET_SERVER_DATE = "set-server-date"
-COMMAND_SET_SERVER_NETWORK_CONFIG = "set-server-network-config"
-COMMAND_SET_STORAGE_SERVER_POOL_INFO = "set-storage-server-pool-info"
-COMMAND_GET_SERVER_NETWORK_CONFIG = "get-server-network-config"
-COMMAND_INSTALL_SERVER_STATUS = "install-server-status"
-COMMAND_GET_SERVER_DISK_LIST = "get-server-disk-list"
-COMMAND_PREPARE_DATA_DISK_STATUS = "prepare-data-disk-status"
-COMMAND_GET_SERVER_SYSTEM_RESOURCE = "get-server-system-resource"
-COMMAND_GET_SERVER_RESOURCE_RRD = "get-server-resource-rrd"
-COMMAND_RUN_SERVER_SERVICE = "run-server-service"
-COMMAND_SHUTDOWN_SERVER = "shutdown-server"
-COMMAND_GET_SERVER_STATUS = "get-server-status"
-COMMAND_GET_SERVER_LOG = "get-server-log"
-COMMAND_DOWNLOAD_SERVER_LOGS = "download-server-logs"
-COMMAND_CLEAR_SERVER_LOGS = "clear-server-logs"
-COMMAND_GET_SERVER_RESOURCE_RRD = "get-server-resource-rrd"
-COMMAND_GET_GSN_USER_INFO = "get-gsn-user-info"
-COMMAND_SET_GSN_USER_INFO = "set-gsn-user-info"
-COMMAND_GET_GLUSTER_UPDATE_INFO = "get-gluster-update-info"
-COMMAND_DOWNLOAD_GLUSTER_UPDATE_BACKGROUND = "download-gluster-update-background"
-COMMAND_DOWNLOAD_GLUSTER_UPDATE_STATUS = "download-gluster-update-status"
-COMMAND_INSTALL_GLUSTER_UPDATE = "install-gluster-update"
-COMMAND_EXPORT_CONFIG = "export-config"
-COMMAND_IMPORT_CONFIG = "import-config"
-COMMAND_SET_SYSTEM_PASSWORD = "set-system-password"
-COMMAND_GET_SERVER_VOLUME_LIST = "get-server-volume-list"
-COMMAND_RECONFIGURE_VOLUME = "reconfigure-volume"
-COMMAND_SET_SERVER_DIRECTORY_SERVICE_CONFIG = "set-server-directory-service-config"
-COMMAND_GET_SERVER_DIRECTORY_SERVICE_CONFIG = "get-server-directory-service-config"
-COMMAND_JOIN_SERVER_TO_DIRECTORY_SERVICE = "join-server-to-directory-service"
-COMMAND_SET_SERVER_TIME_CONFIG = "set-server-time-config"
-COMMAND_GET_SERVER_TIME_CONFIG = "get-server-time-config"
-COMMAND_LOGIN = "login"
-COMMAND_LOGOUT = "logout"
-COMMAND_GET_LOGIN_STATUS = "get-login-status"
-COMMAND_GET_SERVER_TRANSPORT_LIST = "get-server-transport-list"
-COMMAND_ADD_SERVER_PARTITION = "add-server-partition"
-COMMAND_ADD_VOLUME_USER = "add-volume-user"
-COMMAND_GET_PARTITION_VOLUME_LIST = "get-partition-volume-list"
-COMMAND_GET_VOLUME_USER_INFO = "get-volume-user-info"
-COMMAND_GET_VOLUME_USER_LIST = "get-volume-user-list"
-COMMAND_MIGRATE_PARTITION_BACKGROUND = "migrate-partition-background"
-COMMAND_MIGRATE_PARTITION_STATUS = "migrate-partition-status"
-COMMAND_MIGRATE_VOLUME_SERVER_PARTITION_BACKGROUND = "migrate-volume-server-partition-background"
-COMMAND_MIGRATE_VOLUME_SERVER_PARTITION_STATUS = "migrate-volume-server-partition-status"
-COMMAND_REMOVE_SERVER_PARTITION = "remove-server-partition"
-COMMAND_REMOVE_VOLUME_USER = "remove-volume-user"
-COMMAND_RENAME_VOLUME_USER = "rename-volume-user"
-COMMAND_RENAME_VOLUME = "rename-volume"
-COMMAND_RUN_SERVER_SERVICE = "run-server-service"
-COMMAND_SET_VOLUME_USER_PASSWORD = "set-volume-user-password"
-COMMAND_STOP_PARTITION_MIGRATION = "stop-partition-migration"
-COMMAND_STOP_VOLUME_SERVER_PARTITION_MIGRATION = "stop-volume-server-partition-migration"
-COMMAND_GET_SERVER_DISK_INFO = "get-server-disk-info"
-COMMAND_INITIALIZE_SERVER_DISK = "initialize-server-disk"
-COMMAND_SET_SERVER_COUNT = "set-server-count"
-COMMAND_GET_SERVER_COUNT = "get-server-count"
diff --git a/src/com.gluster.storage.management.server.scripts/src/Common.py b/src/com.gluster.storage.management.server.scripts/src/Common.py
deleted file mode 100644
index c85e9a2b..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/Common.py
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright (c) 2009 Gluster, Inc. <http://www.gluster.com>
-# This file is part of GlusterSP.
-#
-# GlusterSP is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published
-# by the Free Software Foundation; either version 3 of the License,
-# or (at your option) any later version.
-#
-# GlusterSP is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import sys
-import syslog
-
diff --git a/src/com.gluster.storage.management.server.scripts/src/Disk.py b/src/com.gluster.storage.management.server.scripts/src/Disk.py
deleted file mode 100755
index 2c47d396..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/Disk.py
+++ /dev/null
@@ -1,140 +0,0 @@
-# Copyright (c) 2009 Gluster, Inc. <http://www.gluster.com>
-# This file is part of GlusterSP.
-#
-# GlusterSP is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published
-# by the Free Software Foundation; either version 3 of the License,
-# or (at your option) any later version.
-#
-# GlusterSP is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import os
-import dbus
-
-class Disk:
- def __init__(self):
- """init"""
-
- self.volumes = []
- self.disks = []
- self.bus = dbus.SystemBus()
- self.hal_obj = self.bus.get_object("org.freedesktop.Hal",
- "/org/freedesktop/Hal/Manager")
- self.hal = dbus.Interface(self.hal_obj, "org.freedesktop.Hal.Manager")
- self.devices = []
- self.devices = self.hal.FindDeviceByCapability("storage")
-
- self.detect_disks()
- self.detect_mountable_volumes()
-
- def getDiskList(self):
-
- return self.disks
-
- def getMountableDiskList(self):
-
- return self.volumes
-
- def detect_disks(self):
- for device in self.devices:
- dev = self._get_device(device)
- if dev.GetProperty("storage.drive_type") != "cdrom":
- if not dev.GetProperty("block.is_volume"):
- self._add_disks(dev)
- continue
-
- def _add_disks(self, dev):
- disk = str(dev.GetProperty('block.device'))
- disk_size = str(int(dev.GetProperty('storage.size')) / 1024**2)
-
- try:
- if dev.GetProperty('storage.removable'):
- disk_size = str(int(dev.GetProperty('storage.removable.media_size')) / 1024**2)
- except:
- return
-
- self.disks.append({
- 'device': disk,
- 'description': str(dev.GetProperty('storage.model')) + " " + str(dev.GetProperty('storage.vendor')),
- 'interface': str(dev.GetProperty('storage.bus')),
- 'size': disk_size,
- 'drive_type': str(dev.GetProperty('storage.drive_type'))
- })
-
- def detect_mountable_volumes(self):
- """ Detect all mountable volumes using HAL via D-Bus """
- for device in self.devices:
- dev = self._get_device(device)
- if dev.GetProperty("storage.drive_type") != "cdrom":
- if dev.GetProperty("block.is_volume"):
- self._add_volume(dev)
- continue
- else: # iterate over children looking for a volume
- children = self.hal.FindDeviceStringMatch("info.parent",
- device)
- if not children and "disk" == dev.GetProperty("storage.drive_type"):
- self._add_volume(dev)
- for child in children:
- child = self._get_device(child)
- if child.GetProperty("block.is_volume"):
- self._add_volume(child, parent=dev)
- #break # don't break, allow all partitions
-
- def _add_volume(self, dev, parent=None):
- volume = str(dev.GetProperty('block.device'))
- if not parent:
- self.volumes.append ({
- 'device' : volume,
- 'label' : str(dev.GetProperty('block.device')),
- 'fstype' : None,
- 'fsversion': None,
- 'uuid' : None,
- 'interface': str(dev.GetProperty('storage.bus')),
- 'parent' : None,
- 'description': str(dev.GetProperty('storage.model')) + " " + str(dev.GetProperty('storage.vendor')),
- 'size' : None,
- 'totalsize' : str(int(dev.GetProperty('storage.size')) / 1024**2),
- 'drive_type': str(dev.GetProperty('storage.drive_type')),
- 'mount_point': "NA"
- })
- return
-
- self.volumes.append ({
- 'device' : volume,
- 'label' : str(dev.GetProperty('volume.label')),
- 'fstype' : str(dev.GetProperty('volume.fstype')),
- 'fsversion': str(dev.GetProperty('volume.fsversion')),
- 'uuid' : str(dev.GetProperty('volume.uuid')),
- 'interface': str(parent.GetProperty('storage.bus')),
- 'parent' : str(parent.GetProperty('block.device')),
- 'description': str(parent.GetProperty('storage.model')) + " " + str(parent.GetProperty('storage.vendor')),
- 'size' : str(int(dev.GetProperty('volume.size')) / 1024**2),
- 'totalsize' : str(int(parent.GetProperty('storage.size')) / 1024**2),
- 'drive_type': str(parent.GetProperty('storage.drive_type')),
- 'mount_point': str(dev.GetProperty('volume.mount_point'))
- })
- return
-
- def _get_device(self, udi):
- """ Return a dbus Interface to a specific HAL device UDI """
- dev_obj = self.bus.get_object("org.freedesktop.Hal", udi)
- return dbus.Interface(dev_obj, "org.freedesktop.Hal.Device")
-
- def get_free_bytes(self, device=None):
- """ Return the number of available bytes on our device """
- import statvfs
- stat = os.statvfs(device)
- return stat[statvfs.F_BSIZE] * stat[statvfs.F_BAVAIL]
-
- def get_used_bytes(self, device=None):
- """ Return the number of used bytes on our device """
- import statvfs
- stat = os.statvfs(device)
- return ((stat[statvfs.F_BSIZE] * stat[statvfs.F_BLOCKS]) - (stat[statvfs.F_BSIZE] * stat[statvfs.F_BAVAIL]))
diff --git a/src/com.gluster.storage.management.server.scripts/src/DiskUtils.py b/src/com.gluster.storage.management.server.scripts/src/DiskUtils.py
deleted file mode 100644
index 4fadc71a..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/DiskUtils.py
+++ /dev/null
@@ -1,948 +0,0 @@
-# Copyright (c) 2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import os
-import glob
-from copy import deepcopy
-import dbus
-import Globals
-import time
-import Utils
-import Disk
-import Protocol
-from FsTabUtils import *
-
-ONE_MB_SIZE = 1048576
-
-
-def _stripDev(device):
- if Utils.isString(device) and device.startswith("/dev/"):
- return device[5:]
- return device
-
-
-def _addDev(deviceName):
- if Utils.isString(deviceName) and not deviceName.startswith("/dev/"):
- return "/dev/" + deviceName
- return deviceName
-
-
-def getDeviceName(device):
- if type(device) == type([]):
- nameList = []
- for d in device:
- nameList.append(_stripDev(d))
- return nameList
- return _stripDev(device)
-
-
-def getDevice(deviceName):
- if Utils.isString(deviceName):
- return _addDev(deviceName)
- if type(deviceName) == type([]):
- nameList = []
- for d in deviceName:
- nameList.append(_addDev(d))
- return nameList
- return _addDev(deviceName)
-
-
-def getDiskPartitionByUuid(uuid):
- uuidFile = "/dev/disk/by-uuid/%s" % uuid
- if os.path.exists(uuidFile):
- return getDeviceName(os.path.realpath(uuidFile))
- return None
-
-
-def getUuidByDiskPartition(device):
- for uuidFile in glob.glob("/dev/disk/by-uuid/*"):
- if os.path.realpath(uuidFile) == device:
- return os.path.basename(uuidFile)
- return None
-
-
-def getDiskPartitionUuid(partition):
- Utils.log("WARNING: getDiskPartitionUuid() is deprecated by getUuidByDiskPartition()")
- return getUuidByDiskPartition(partition)
-
-
-def getDiskPartitionByLabel(label):
- ## TODO: Finding needs to be enhanced
- labelFile = "/dev/disk/by-label/%s" % label
- if os.path.exists(labelFile):
- if os.path.islink(labelFile):
- return getDeviceName(os.path.realpath(labelFile))
- return None
-
-
-def getDeviceByLabel(label):
- Utils.log("WARNING: getDeviceByLabel() is deprecated by getDiskPartitionByLabel()")
- return getDiskPartitionByLabel(label)
-
-
-def getDiskPartitionLabel(device):
- rv = Utils.runCommandFG(["sudo", "e2label", device], stdout=True)
- if rv["Status"] == 0:
- return rv["Stdout"].strip()
- return False
-
-
-def readFile(fileName):
- lines = None
- try:
- fp = open(fileName)
- lines = fp.readlines()
- fp.close()
- except IOError, e:
- Utils.log("failed to read file %s: %s" % (file, str(e)))
- return lines
-
-
-def getRootPartition(fsTabFile=Globals.FSTAB_FILE):
- fsTabEntryList = readFsTab(fsTabFile)
- for fsTabEntry in fsTabEntryList:
- if fsTabEntry["MountPoint"] == "/":
- if fsTabEntry["Device"].startswith("UUID="):
- return getDiskPartitionByUuid(fsTabEntry["Device"].split("UUID=")[-1])
- if fsTabEntry["Device"].startswith("LABEL="):
- partitionName = getDiskPartitionByLabel(fsTabEntry["Device"].split("LABEL=")[-1])
- if partitionName:
- return partitionName
- return getDeviceName(fsTabEntry["Device"])
- return None
-
-def getMounts():
- mounts = {}
- for line in readFile("/proc/mounts"):
- str = line.strip()
- if str.startswith("/dev/"):
- tokens = str.split()
- device = {}
- mountPoint = tokens[1].strip()
- device["MountPoint"] = mountPoint
- device["FsType"] = tokens[2].strip()
- device["Uuid"] = getDiskPartitionUuid(tokens[0].strip())
- device["Status"] = "INITIALIZED"
- if mountPoint:
- if "/export/" in mountPoint:
- device["Type"] = "DATA"
- else:
- device["Type"] = "BOOT"
- else:
- device["Type"] = "UNKNOWN"
- mounts[tokens[0].strip()] = device
- return mounts
-
-def getRaidDisk():
- array = []
- arrayList = []
- mdFound = False
-
- try:
- fp = open("/proc/mdstat")
- for line in fp:
- str = line.strip()
- if str.startswith("md"):
- array.append(str)
- mdFound = True
- continue
- if mdFound:
- if str:
- array.append(str)
- else:
- arrayList.append(array)
- array = []
- mdFound = False
- fp.close()
- except IOError, e:
- return None
-
- raidList = {}
- for array in arrayList:
- raid = {}
- tokens = array[0].split()
- raid['Interface'] = tokens[3]
- device = getDevice(tokens[0])
- raid['MountPoint'] = getDeviceMountPoint(device)
- if raid['MountPoint']:
- if "/export/" in raid['MountPoint']:
- raid['Type'] = "DATA"
- else:
- raid['Type'] = "BOOT"
- else:
- raid['Type'] = "UNKNOWN"
- rv = Utils.runCommand("blkid -c /dev/null %s" % (device), output=True, root=True)
- raid['Uuid'] = None
- raid['FsType'] = None
- raid['Status'] = "UNINITIALIZED"
- if isDiskInFormatting(device):
- raid['Status'] = "INITIALIZING"
- if not rv["Stderr"]:
- words = rv["Stdout"].strip().split()
- if words:
- raid['Status'] = "INITIALIZED"
- if len(words) > 2:
- raid['Uuid'] = words[1].split("UUID=")[-1].split('"')[1]
- raid['FsType'] = words[2].split("TYPE=")[-1].split('"')[1]
-
- used = 0
- rv = Utils.runCommand("df %s" % (device), output=True, root=True)
- if rv["Status"] == 0:
- try:
- used = long(rv["Stdout"].split("\n")[1].split()[2]) / 1024
- except IndexError:
- pass
- except ValueError:
- pass
- raid['SpaceInUse'] = used
- raid['Disks'] = [x.split('[')[0] for x in tokens[4:]]
- raid['Size'] = float(array[1].split()[0]) / 1024.0
- raidList[tokens[0]] = raid
- return raidList
-
-
-def getOsDisk():
- Utils.log("WARNING: getOsDisk() is deprecated by getRootPartition()")
- return getRootPartition()
-
-
-def getDiskInfo(diskDeviceList=None):
- diskDeviceList = getDevice(diskDeviceList)
- if Utils.isString(diskDeviceList):
- diskDeviceList = [diskDeviceList]
-
- mounts = getMounts()
- if Utils.runCommand("/usr/bin/lshal") != 0:
- Utils.log("failed running /usr/bin/lshal")
-
- dbusSystemBus = dbus.SystemBus()
- halObj = dbusSystemBus.get_object("org.freedesktop.Hal",
- "/org/freedesktop/Hal/Manager")
- halManager = dbus.Interface(halObj, "org.freedesktop.Hal.Manager")
- storageUdiList = halManager.FindDeviceByCapability("storage")
-
- diskInfo = {}
- diskList = []
- for udi in storageUdiList:
- halDeviceObj = dbusSystemBus.get_object("org.freedesktop.Hal", udi)
- halDevice = dbus.Interface(halDeviceObj,
- "org.freedesktop.Hal.Device")
- if halDevice.GetProperty("storage.drive_type") in ["cdrom", "floppy"] or \
- halDevice.GetProperty("block.is_volume"):
- continue
- disk = {}
- disk["Device"] = str(halDevice.GetProperty('block.device'))
- if diskDeviceList and disk["Device"] not in diskDeviceList:
- continue
- disk["Description"] = str(halDevice.GetProperty('storage.vendor')) + " " + str(halDevice.GetProperty('storage.model'))
- if halDevice.GetProperty('storage.removable'):
- disk["Size"] = long(halDevice.GetProperty('storage.removable.media_size'))
- else:
- disk["Size"] = long(halDevice.GetProperty('storage.size')) / 1024**2
- disk["Interface"] = str(halDevice.GetProperty('storage.bus'))
- disk["DriveType"] = str(halDevice.GetProperty('storage.drive_type'))
- disk["Status"] = None
- disk["Uuid"] = None
- disk["Init"] = False
- disk["Type"] = None
- disk["FsType"] = None
- disk["FsVersion"] = None
- disk["MountPoint"] = None
- disk["ReadOnlyAccess"] = None
- disk["SpaceInUse"] = None
-
- partitionUdiList = halManager.FindDeviceStringMatch("info.parent", udi)
- if isDiskInFormatting(disk["Device"]):
- disk["Status"] = "INITIALIZING"
- else:
- if partitionUdiList:
- disk["Status"] = "INITIALIZED"
- else:
- disk["Status"] = "UNINITIALIZED"
- disk["Type"] = "UNKNOWN"
-
- if mounts and mounts.has_key(disk["Device"]):
- disk["Uuid"] = mounts[disk["Device"]]["Uuid"]
- disk["Type"] = mounts[disk["Device"]]["Type"]
- disk["Status"] = mounts[disk["Device"]]["Status"]
- disk["FsType"] = mounts[disk["Device"]]["FsType"]
- disk["MountPoint"] = mounts[disk["Device"]]["MountPoint"]
-
- partitionList = []
- diskSpaceInUse = 0
- for partitionUdi in partitionUdiList:
- used = 0
- partitionHalDeviceObj = dbusSystemBus.get_object("org.freedesktop.Hal",
- partitionUdi)
- partitionHalDevice = dbus.Interface(partitionHalDeviceObj,
- "org.freedesktop.Hal.Device")
- if not partitionHalDevice.GetProperty("block.is_volume"):
- continue
- partitionDevice = str(partitionHalDevice.GetProperty('block.device'))
- if partitionHalDevice.GetProperty("volume.is_mounted"):
- rv = Utils.runCommandFG(["df", str(partitionHalDevice.GetProperty('volume.mount_point'))], stdout=True)
- if rv["Status"] == 0:
- try:
- used = long(rv["Stdout"].split("\n")[1].split()[2]) / 1024
- diskSpaceInUse += used
- except IndexError:
- pass
- except ValueError:
- pass
-
- if disk["Device"] == partitionDevice:
- disk["Uuid"] = str(partitionHalDevice.GetProperty('volume.uuid'))
- disk["Init"] = True # TODO: use isDataDiskPartitionFormatted function to cross verify this
- disk["Status"] = "INITIALIZED"
- mountPoint = str(partitionHalDevice.GetProperty('volume.mount_point'))
- if mountPoint:
- if "/export/" in mountPoint:
- disk["Type"] = "DATA"
- else:
- disk["Type"] = "BOOT"
- else:
- disk["Type"] = "UNKNOWN"
- disk["FsType"] = str(partitionHalDevice.GetProperty('volume.fstype'))
- if disk["FsType"] and "UNINITIALIZED" == disk["Status"]:
- disk["Status"] = "INITIALIZED"
- disk["FsVersion"] = str(partitionHalDevice.GetProperty('volume.fsversion'))
- disk["MountPoint"] = str(partitionHalDevice.GetProperty('volume.mount_point'))
- disk["ReadOnlyAccess"] = str(partitionHalDevice.GetProperty('volume.is_mounted_read_only'))
- if not disk["Size"]:
- disk["Size"] = long(partitionHalDevice.GetProperty('volume.size')) / 1024**2
- disk["SpaceInUse"] = used
- continue
-
- partition = {}
- partition["Init"] = False
- partition["Type"] = "UNKNOWN"
- partition["Device"] = partitionDevice
- partition["Uuid"] = str(partitionHalDevice.GetProperty('volume.uuid'))
- partition["Size"] = long(partitionHalDevice.GetProperty('volume.size')) / 1024**2
- partition["FsType"] = str(partitionHalDevice.GetProperty('volume.fstype'))
- partition["FsVersion"] = str(partitionHalDevice.GetProperty('volume.fsversion'))
- partition["Label"] = str(partitionHalDevice.GetProperty('volume.label'))
- partition["MountPoint"] = str(partitionHalDevice.GetProperty('volume.mount_point'))
- partition["Size"] = long(partitionHalDevice.GetProperty('volume.size')) / 1024**2
-
- if isDiskInFormatting(partitionDevice):
- partition["Status"] = "INITIALIZING"
- else:
- if partition["FsType"]:
- partition["Status"] = "INITIALIZED"
- else:
- partition["Status"] = "UNINITIALIZED"
-
- partition["SpaceInUse"] = used
- if partition["MountPoint"] or isDataDiskPartitionFormatted(partitionDevice):
- partition["Init"] = True
- partition["Status"] = "INITIALIZED"
- if partition["MountPoint"]:
- if "/export/" in partition["MountPoint"]:
- partition["Type"] = "DATA"
- else:
- partition["Type"] = "BOOT"
- else:
- if "SWAP" == partition["FsType"].strip().upper():
- partition["Type"] = "SWAP"
- partition["ReadOnlyAccess"] = str(partitionHalDevice.GetProperty('volume.is_mounted_read_only'))
- partitionList.append(partition)
- disk["Partitions"] = partitionList
- if not disk["SpaceInUse"]:
- disk["SpaceInUse"] = diskSpaceInUse
- diskList.append(disk)
- diskInfo["disks"] = diskList
- if diskList:
- return diskInfo
- for line in readFile("/proc/partitions")[2:]:
- disk = {}
- tokens = line.split()
- if tokens[3].startswith("md"):
- continue
- disk["Device"] = tokens[3]
- ## if diskDeviceList and disk["Device"] not in diskDeviceList:
- ## continue
- disk["Description"] = None
- disk["Size"] = long(tokens[2]) / 1024
- disk["Status"] = None
- disk["Interface"] = None
- disk["DriveType"] = None
- disk["Uuid"] = None
- disk["Init"] = False
- disk["Type"] = None
- disk["FsType"] = None
- disk["FsVersion"] = None
- disk["MountPoint"] = None
- disk["ReadOnlyAccess"] = None
- disk["SpaceInUse"] = None
- disk["Partitions"] = []
- diskList.append(disk)
- diskInfo["disks"] = diskList
- return diskInfo
-
-def getDiskList(diskDeviceList=None):
- return diskInfo["disks"]
-
-def readFsTab(fsTabFile=Globals.FSTAB_FILE):
- try:
- fsTabfp = open(fsTabFile)
- except IOError, e:
- Utils.log("readFsTab(): " + str(e))
- return None
-
- fsTabEntryList = []
- for line in fsTabfp:
- tokens = line.strip().split()
- if not tokens or tokens[0].startswith('#'):
- continue
- fsTabEntry = {}
- fsTabEntry["Device"] = None
- fsTabEntry["MountPoint"] = None
- fsTabEntry["FsType"] = None
- fsTabEntry["Options"] = None
- fsTabEntry["DumpOption"] = 0
- fsTabEntry["fsckOrder"] = 0
- try:
- fsTabEntry["Device"] = tokens[0]
- fsTabEntry["MountPoint"] = tokens[1]
- fsTabEntry["FsType"] = tokens[2]
- fsTabEntry["Options"] = tokens[3]
- fsTabEntry["DumpOption"] = tokens[4]
- fsTabEntry["fsckOrder"] = tokens[5]
- except IndexError:
- pass
- if fsTabEntry["Device"] and fsTabEntry["MountPoint"] and fsTabEntry["FsType"] and fsTabEntry["Options"]:
- fsTabEntryList.append(fsTabEntry)
- fsTabfp.close()
- return fsTabEntryList
-
-
-def checkDiskMountPoint(diskMountPoint):
- try:
- fstabEntries = open(Globals.FSTAB_FILE).readlines()
- except IOError:
- fstabEntries = []
- found = False
- for entry in fstabEntries:
- entry = entry.strip()
- if not entry:
- continue
- entries = entry.split()
- if entries and len(entries) > 1 and entries[0].startswith("UUID=") and entries[1].upper() == diskMountPoint.upper():
- return True
- return False
-
-
-def getMountPointByUuid(partitionUuid):
- # check uuid in etc/fstab
- try:
- fstabEntries = open(Globals.FSTAB_FILE).readlines()
- except IOError:
- fstabEntries = []
- found = False
- for entry in fstabEntries:
- entry = entry.strip()
- if not entry:
- continue
- if entry.split()[0] == "UUID=" + partitionUuid:
- return entry.split()[1]
- return None
-
-
-def getDiskSizeInfo(partition):
- # get values from df output
- total = None
- used = None
- free = None
- command = "df -kl -t ext3 -t ext4 -t xfs"
- rv = Utils.runCommandFG(command, stdout=True, root=True)
- message = Utils.stripEmptyLines(rv["Stdout"])
- if rv["Stderr"]:
- Utils.log("failed to get disk details. %s" % Utils.stripEmptyLines(rv["Stdout"]))
- return None, None, None
- for line in rv["Stdout"].split("\n"):
- tokens = line.split()
- if len(tokens) < 4:
- continue
- if tokens[0] == partition:
- total = int(tokens[1]) / 1024.0
- used = int(tokens[2]) / 1024.0
- free = int(tokens[3]) / 1024.0
- break
-
- if total:
- return total, used, free
-
- # get total size from parted output
- for i in range(len(partition), 0, -1):
- pos = i - 1
- if not partition[pos].isdigit():
- break
- disk = partition[:pos+1]
- partitionNumber = partition[pos+1:]
- if not partitionNumber.isdigit():
- return None, None, None
-
- number = int(partitionNumber)
- command = "parted -ms %s unit kb print" % disk
- rv = Utils.runCommandFG(command, stdout=True, root=True)
- message = Utils.stripEmptyLines(rv["Stdout"])
- if rv["Stderr"]:
- Utils.log("failed to get disk details. %s" % Utils.stripEmptyLines(rv["Stdout"]))
- return None, None, None
-
- lines = rv["Stdout"].split(";\n")
- if len(lines) < 3:
- return None,None,None
-
- for line in lines[2:]:
- tokens = line.split(':')
- if len(tokens) < 4:
- continue
- if tokens[0] == str(number):
- total = int(tokens[3].split('kB')[0]) / 1024.0
- break
- return total, used, free
-
-
-def isDataDiskPartitionFormatted(device):
- #Todo: Proper label needs to be added for data partition
- #if getDiskPartitionLabel(device) != Globals.DATA_PARTITION_LABEL:
- # return False
- device = getDeviceName(device)
- diskObj = Disk.Disk()
- for disk in diskObj.getMountableDiskList():
- if disk['device'].upper() == device.upper():
- mountPoint = disk['mount_point']
- if not mountPoint:
- return False
- if not os.path.exists(mountPoint):
- return False
-
- uuid = getUuidByDiskPartition(device)
- if not uuid:
- return False
-
- for fsTabEntry in readFsTab():
- if fsTabEntry["Device"] == ("UUID=%s" % uuid) and fsTabEntry["MountPoint"] == mountPoint:
- return True
- return False
-
-
-def getDiskDom(diskDeviceList=None, bootPartition=None, skipDisk=None):
- diskDeviceList = getDevice(diskDeviceList)
- if Utils.isString(diskDeviceList):
- diskDeviceList = [diskDeviceList]
-
- if skipDisk:
- skipDisk = getDevice(skipDisk)
- if Utils.isString(skipDisk):
- skipDisk = [skipDisk]
-
- diskInfo = getDiskInfo(diskDeviceList)
- diskList = diskInfo["disks"]
- if not diskList:
- return None
-
- raidPartitions = {}
- raidDisk = getRaidDisk()
-
- for k, v in raidDisk.iteritems():
- for i in v['Disks']:
- raidPartitions[i] = k
-
- #for partition in raidDisk.values():
- # raidDiskPartitions += partition['disks']
-
- diskDom = Protocol.XDOM()
- disksTag = diskDom.createTag("disks", None)
- raidDisks = {}
- if not bootPartition:
- bootPartition = getRootPartition()
- for disk in diskList:
- if skipDisk and disk["Device"] in skipDisk:
- continue
- diskTag = diskDom.createTag("disk", None)
- diskDevice = getDeviceName(disk["Device"])
- diskTag.appendChild(diskDom.createTag("name", diskDevice))
- diskTag.appendChild(diskDom.createTag("description", disk["Description"]))
- diskTag.appendChild(diskDom.createTag("uuid", disk["Uuid"]))
- diskTag.appendChild(diskDom.createTag("status", disk["Status"]))
- diskTag.appendChild(diskDom.createTag("interface", disk["Interface"]))
-
- #if not disk["Partitions"]:
- diskTag.appendChild(diskDom.createTag("type", disk["Type"]))
- #diskTag.appendChild(diskDom.createTag("init", str(disk["Init"]).lower()))
- diskTag.appendChild(diskDom.createTag("fsType", disk["FsType"]))
- diskTag.appendChild(diskDom.createTag("fsVersion", disk["FsVersion"]))
- diskTag.appendChild(diskDom.createTag("mountPoint", disk["MountPoint"]))
-
- diskTag.appendChild(diskDom.createTag("size", disk["Size"]))
- diskTag.appendChild(diskDom.createTag("spaceInUse", disk["SpaceInUse"]))
- partitionsTag = diskDom.createTag("partitions", None)
- if raidPartitions.has_key(diskDevice):
- rdList = {}
- rdList[diskDevice] = [deepcopy(diskTag)]
- if not raidDisks.has_key(raidPartitions[diskDevice]):
- raidDisks[raidPartitions[diskDevice]] = []
- raidDisks[raidPartitions[diskDevice]] += [rdList]
- continue
- for partition in disk["Partitions"]:
- partitionTag = diskDom.createTag("partition", None)
- device = getDeviceName(partition["Device"])
- partitionTag.appendChild(diskDom.createTag("name", device))
- if partition["Uuid"]: #TODO: Move this verification and findings to getDiskInfo function
- partitionTag.appendChild(diskDom.createTag("uuid", partition["Uuid"]))
- else:
- partitionTag.appendChild(diskDom.createTag("uuid", getUuidByDiskPartition("/dev/" + device)))
- partitionTag.appendChild(diskDom.createTag("status", partition["Status"]))
- #partitionTag.appendChild(diskDom.createTag("init", str(partition["Init"]).lower()))
- partitionTag.appendChild(diskDom.createTag("type", str(partition["Type"])))
- partitionTag.appendChild(diskDom.createTag("fsType", partition["FsType"]))
- partitionTag.appendChild(diskDom.createTag("mountPoint", partition['MountPoint']))
- partitionTag.appendChild(diskDom.createTag("size", partition["Size"]))
- partitionTag.appendChild(diskDom.createTag("spaceInUse", partition["SpaceInUse"]))
- if raidPartitions.has_key(device):
- tempPartitionTag = diskDom.createTag("partitions", None)
- if raidDisks.has_key(raidPartitions[device]):
- rdList = raidDisks[raidPartitions[device]]
- for rdItem in rdList:
- if not rdItem.has_key(diskDevice):
- rdItem[diskDevice] = [deepcopy(diskTag), tempPartitionTag]
- rdItem[diskDevice][0].appendChild(tempPartitionTag)
- rdItem[diskDevice][-1].appendChild(partitionTag)
- continue
- rdList = {}
- rdList[diskDevice] = [deepcopy(diskTag), tempPartitionTag]
- tempPartitionTag.appendChild(partitionTag)
- rdList[diskDevice][0].appendChild(tempPartitionTag)
- raidDisks[raidPartitions[device]] = [rdList]
- continue
- partitionsTag.appendChild(partitionTag)
- diskTag.appendChild(partitionsTag)
- disksTag.appendChild(diskTag)
-
- for rdisk in raidDisk.keys():
- raidDiskTag = diskDom.createTag("disk", None)
- raidDiskTag.appendChild(diskDom.createTag("name", rdisk))
- raidDiskTag.appendChild(diskDom.createTag("description"))
- raidDiskTag.appendChild(diskDom.createTag("uuid", raidDisk[rdisk]['Uuid']))
- raidDiskTag.appendChild(diskDom.createTag("type", raidDisk[rdisk]['Type']))
- raidDiskTag.appendChild(diskDom.createTag("mountPoint", raidDisk[rdisk]['MountPoint']))
- raidDiskTag.appendChild(diskDom.createTag("status", raidDisk[rdisk]['Status']))
- raidDiskTag.appendChild(diskDom.createTag("interface", raidDisk[rdisk]['Interface']))
- raidDiskTag.appendChild(diskDom.createTag("fsType", raidDisk[rdisk]['FsType']))
- raidDiskTag.appendChild(diskDom.createTag("fsVersion"))
- raidDiskTag.appendChild(diskDom.createTag("size", raidDisk[rdisk]['Size']))
- raidDiskTag.appendChild(diskDom.createTag("spaceInUse", raidDisk[rdisk]['SpaceInUse']))
- raidDisksTag = diskDom.createTag("raidDisks", None)
- if raidDisks.has_key(rdisk):
- for item in raidDisks[rdisk]:
- for diskTag in item.values():
- raidDisksTag.appendChild(diskTag[0])
- raidDiskTag.appendChild(raidDisksTag)
- disksTag.appendChild(raidDiskTag)
- diskDom.addTag(disksTag)
- return diskDom
-
-
-def initializeDisk(disk, boot=False, startSize=0, sudo=False):
- if boot and startSize > 0:
- return False
-
- disk = getDevice(disk)
- diskObj = getDiskList(disk)[0]
-
- if boot or startSize == 0:
- command = "dd if=/dev/zero of=%s bs=1024K count=1" % diskObj["Device"]
- if runCommandFG(command, root=sudo) != 0:
- if boot:
- Utils.log("failed to clear boot sector of disk %s" % diskObj["Device"])
- return False
- Utils.log("failed to clear boot sector of disk %s. ignoring" % diskObj["Device"])
-
- command = "parted -s %s mklabel gpt" % diskObj["Device"]
- if runCommandFG(command, root=sudo) != 0:
- return False
-
- if boot:
- command = "parted -s %s mkpart primary ext3 0MB %sMB" % (diskObj["Device"], Globals.OS_PARTITION_SIZE)
- if runCommandFG(command, root=sudo) != 0:
- return False
- command = "parted -s %s set 1 boot on" % (diskObj["Device"])
- if runCommandFG(command, root=sudo) != 0:
- return False
- startSize = Globals.OS_PARTITION_SIZE
-
- size = (diskObj["Size"] / ONE_MB_SIZE) - startSize
- while size > Globals.MAX_PARTITION_SIZE:
- endSize = startSize + Globals.MAX_PARTITION_SIZE
- command = "parted -s %s mkpart primary ext3 %sMB %sMB" % (diskObj["Device"], startSize, endSize)
- if runCommandFG(command, root=sudo) != 0:
- return False
- size -= Globals.MAX_PARTITION_SIZE
- startSize = endSize
-
- if size:
- command = "parted -s %s mkpart primary ext3 %sMB 100%%" % (diskObj["Device"], startSize)
- if runCommandFG(command, root=sudo) != 0:
- return False
-
- if runCommandFG("udevadm settle", root=sudo) != 0:
- if runCommandFG("udevadm settle", root=sudo) != 0:
- Utils.log("udevadm settle for disk %s failed. ignoring" % diskObj["Device"])
- time.sleep(1)
-
- if runCommandFG("partprobe %s" % diskObj["Device"], root=sudo) != 0:
- Utils.log("partprobe %s failed" % diskObj["Device"])
- return False
-
- if runCommandFG("gptsync %s" % diskObj["Device"], root=sudo) != 0:
- Utils.log("gptsync %s failed. ignoring" % diskObj["Device"])
-
- # wait forcefully to appear devices in /dev
- time.sleep(2)
- return True
-
-
-def initializeOsDisk(diskObj):
- Utils.log("WARNING: initializeOsDisk() is deprecated by initializeDisk(boot=True)")
- return initializeDisk(diskObj, boot=True)
-
-
-def initializeDataDisk(diskObj):
- Utils.log("WARNING: initializeDataDisk() is deprecated by initializeDisk()")
- return initializeDisk(diskObj)
-
-def getBootPartition(serverName):
- diskDom = XDOM()
- diskDom.parseFile("%s/%s/disk.xml" % (Globals.SERVER_VOLUME_CONF_DIR, serverName))
- if not diskDom:
- return None
- partitionDom = XDOM()
- partitionUuid = None
- partitionName = None
- for partitionTag in diskDom.getElementsByTagRoute("disk.partition"):
- partitionDom.setDomObj(partitionTag)
- boot = partitionDom.getTextByTagRoute("boot")
- if boot and boot.strip().upper() == 'YES':
- partitionUuid = partitionDom.getTextByTagRoute("uuid")
- partitionName = partitionDom.getTextByTagRoute("device")
- break
- if not (partitionUuid and partitionName):
- return None
-
- # check device label name
- deviceBaseName = os.path.basename(partitionName)
- process = runCommandBG(['sudo', 'e2label', partitionName])
- if type(process) == type(True):
- return None
- if process.wait() != 0:
- return None
- output = process.communicate()
- deviceLabel = output[0].split()[0]
- if deviceLabel != Globals.BOOT_PARTITION_LABEL:
- return None
-
- # check uuid in etc/fstab
- try:
- fstabEntries = open(Globals.FSTAB_FILE).readlines()
- except IOError:
- fstabEntries = []
- found = False
- for entry in fstabEntries:
- entry = entry.strip()
- if not entry:
- continue
- if entry.split()[0] == "UUID=" + partitionUuid:
- found = True
- break
- if not found:
- return None
- return partitionName
-
-
-def isDiskInFormatting(device):
- DEVICE_FORMAT_LOCK_FILE = "/var/lock/%s.lock" % device
- return os.path.exists(DEVICE_FORMAT_LOCK_FILE)
-
-
-def isDiskInFormat(device):
- Utils.log("WARNING: isDiskInFormat() is deprecated by isDataDiskPartitionFormatted()")
- return isDataDiskPartitionFormatted(device)
-
-
-def diskOrder(serverExportList):
- newServerExportList = []
- while serverExportList:
- serverExport = deepcopy(serverExportList[0])
- if newServerExportList and serverExport.split(":")[0] == newServerExportList[-1].split(":")[0]:
- inserted = False
- for i in range(0, len(newServerExportList) - 1):
- if serverExport.split(":")[0] == newServerExportList[i].split(":")[0]:
- continue
- if i == 0:
- newServerExportList.insert(i, serverExport)
- inserted = True
- break
- if serverExport.split(":")[0] == newServerExportList[i - 1].split(":")[0]:
- continue
- newServerExportList.insert(i, serverExport)
- inserted = True
- break
- if not inserted:
- newServerExportList.append(serverExport)
- else:
- newServerExportList.append(serverExport)
- serverExportList.remove(serverExport)
- i = 0
- while serverExportList and i < len(serverExportList):
- if serverExport.split(":")[0] == serverExportList[i].split(":")[0]:
- i += 1
- continue
- serverExport = deepcopy(serverExportList[i])
- newServerExportList.append(serverExport)
- serverExportList.remove(serverExport)
- return newServerExportList
-
-
-def updateServerDiskConfig(serverName, diskDom, requestFlag=True, partitionFlag=True):
- command = "command.server."
- if not requestFlag:
- command = ""
- diskList = {}
- for tagE in diskDom.getElementsByTagRoute(command + "disk"):
- diskList[diskDom.getTextByTagRoute(command + "device")] = tagE
- configDom = XDOM()
- if not configDom.parseFile("%s/%s/disk.xml" % (Globals.SERVER_VOLUME_CONF_DIR, serverName)):
- return diskDom.writexml("%s/%s/disk.xml" % (Globals.SERVER_VOLUME_CONF_DIR, serverName))
- diskTag = configDom.getElementsByTagRoute("disks.disk")
- disks = configDom.getElementsByTagRoute("disks")
- if not (diskTag or disks):
- return None
- for tagE in diskTag:
- diskDom = XDOM()
- diskDom.setDomObj(tagE)
- device = diskDom.getTextByTagRoute("device")
- if partitionFlag and device in diskList:
- disks[0].removeChild(tagE)
- disks[0].appendChild(deepcopy(diskList[device]))
- continue
- if not partitionFlag and device in diskList:
- partitionList = []
- for childNodeTag in tagE.childNodes:
- if childNodeTag.nodeName == 'partition':
- partitionList.append(childNodeTag)
- tagE.childNodes = []
- tagE.childNodes = diskList[device].childNodes + partitionList
- return configDom.writexml("%s/%s/disk.xml" % (Globals.SERVER_VOLUME_CONF_DIR, serverName))
-
-
-def compareDisksDom(diskDomA, diskDomB, requestFlag=True):
- command = "command.server.disk."
- if not requestFlag:
- command = ""
- sourceDiskList = {}
- sourceDisk = {}
- for tagE in diskDomA.getElementsByTagRoute("disk"):
- sourceDisk["description"] = diskDomA.getTextByTagRoute("description")
- sourceDisk["size"] = diskDomA.getTextByTagRoute("size")
- sourceDisk["init"] = diskDomA.getTextByTagRoute("init")
- sourceDisk["interface"] = diskDomA.getTextByTagRoute("interface")
- sourceDiskList[diskDomA.getTextByTagRoute("device")] = sourceDisk
- objDiskList = {}
- objDisk = {}
- for tagE in diskDomB.getElementsByTagRoute("disk"):
- objDisk["description"] = diskDomB.getTextByTagRoute("description")
- objDisk["size"] = diskDomB.getTextByTagRoute("size")
- objDisk["init"] = diskDomB.getTextByTagRoute("init")
- objDisk["interface"] = diskDomB.getTextByTagRoute("interface")
- objDiskList[diskDomB.getTextByTagRoute("device")] = objDisk
- return sourceDiskList == objDiskList
-
-
-def compareDiskDom(diskDomA, diskDomB, requestFlag=True):
- command = "command.server.disk."
- if not requestFlag:
- command = ""
- sourceDisk = {}
- sourceDisk["device"] = diskDomA.getTextByTagRoute("device")
- sourceDisk["description"] = diskDomA.getTextByTagRoute("description")
- sourceDisk["size"] = diskDomA.getTextByTagRoute("size")
- sourceDisk["init"] = diskDomA.getTextByTagRoute("init")
- sourceDisk["interface"] = diskDomA.getTextByTagRoute("interface")
- for tagE in diskDomA.getElementsByTagRoute("partition"):
- sourceDiskPartitions = {}
- partitionDom = XDOM()
- partitionDom.setDomObj(tagE)
- sourceDiskPartitions["size"] = partitionDom.getTextByTagRoute("size")
- #sourceDiskPartitions["free"] = partitionDom.getTextByTagRoute("free")
- sourceDiskPartitions["format"] = partitionDom.getTextByTagRoute("format")
- sourceDiskPartitions["uuid"] = partitionDom.getTextByTagRoute("uuid")
- sourceDisk[partitionDom.getTextByTagRoute("device")] = sourceDiskPartitions
-
- objDisk = {}
- objDisk["device"] = diskDomB.getTextByTagRoute(command + "device")
- objDisk["description"] = diskDomB.getTextByTagRoute(command + "description")
- objDisk["size"] = diskDomB.getTextByTagRoute(command + "size")
- objDisk["init"] = diskDomB.getTextByTagRoute(command + "init")
- objDisk["interface"] = diskDomB.getTextByTagRoute(command + "interface")
- for tagE in diskDomB.getElementsByTagRoute(command + "partition"):
- objDiskPartitions = {}
- partitionDom = XDOM()
- partitionDom.setDomObj(tagE)
- objDiskPartitions["size"] = partitionDom.getTextByTagRoute("size")
- #objDiskPartitions["free"] = partitionDom.getTextByTagRoute("free")
- objDiskPartitions["format"] = partitionDom.getTextByTagRoute("format")
- objDiskPartitions["uuid"] = partitionDom.getTextByTagRoute("uuid")
- objDisk[partitionDom.getTextByTagRoute("device")] = objDiskPartitions
- return sourceDisk == objDisk
-
-
-def getServerConfigDiskDom(serverName, diskName=None):
- diskConfigDom = XDOM()
- if not diskConfigDom.parseFile("%s/%s/disk.xml" % (Globals.SERVER_VOLUME_CONF_DIR, serverName)):
- Utils.log("Unable to parse %s/%s/disk.xml" % (Globals.SERVER_VOLUME_CONF_DIR, serverName))
- return None
- diskTag = diskConfigDom.getElementsByTagRoute("disks.disk")
- if not diskTag:
- Utils.log("Unable to reterive disk information %s/%s/disk.xml" % (Globals.SERVER_VOLUME_CONF_DIR, serverName))
- return None
- if diskName:
- for tagE in diskTag:
- diskDom = XDOM()
- diskDom.setDomObj(tagE)
- if diskName == diskDom.getTextByTagRoute("device"):
- return diskDom
- return None
-
- for tagE in diskTag:
- for partitionTag in tagE.getElementsByTagName("partition"):
- tagE.removeChild(partitionTag)
- return diskConfigDom
-
-
-def getDeviceMountPoint(device):
- try:
- fp = open("/proc/mounts")
- for token in [line.strip().split() for line in fp.readlines()]:
- if token and len(token) > 2 and token[0] == device:
- return token[1]
- fp.close()
- except IOError, e:
- return None
-
diff --git a/src/com.gluster.storage.management.server.scripts/src/GetServerNetworkConfig.py b/src/com.gluster.storage.management.server.scripts/src/GetServerNetworkConfig.py
deleted file mode 100644
index 3311eb56..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/GetServerNetworkConfig.py
+++ /dev/null
@@ -1,96 +0,0 @@
-# Copyright (C) 2009 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import sys
-import syslog
-import Globals
-import Commands
-import re
-from ServerUtils import *
-from Protocol import *
-from NetworkUtils import *
-
-def getServerNetworkConfig(requestXml):
- serverName = requestXml.getTextByTagRoute("command.server-name")
- version = requestXml.getVersion()
- messageId = requestXml.getAttribute("id")
-
- if not serverName:
- responseDom = ResponseXml(Commands.COMMAND_GET_SERVER_NETWORK_CONFIG, "No server name given", messageId, version)
- responseDom.appendTagRoute("server.name", serverName)
- return responseDom
- responseDom = ResponseXml(Commands.COMMAND_GET_SERVER_NETWORK_CONFIG, "OK", messageId, version)
- serverTag = responseDom.createTag("server", None)
- serverTag.appendChild(responseDom.createTag("name", serverName))
- nameServerList, domain, searchDomain = readResolvConfFile()
- if domain:
- domainName = domain[0]
- else:
- domainName = None
- serverTag.appendChild(responseDom.createTag("domainname", domainName))
- i = 1
- for dns in nameServerList:
- serverTag.appendChild(responseDom.createTag("dns%s" % i, dns))
- i += 1
- #TODO: probe and retrieve timezone, ntp-server, preferred-network details and update the tags
- configDom = XDOM()
- if configDom.parseFile("%s/%s/network.xml" % (Globals.SERVER_CONF_DIR, serverName)):
- serverTag.appendChild(responseDom.createTag("timezone", configDom.getTextByTagRoute("network.timezone")))
- serverTag.appendChild(responseDom.createTag("ntp-server", configDom.getTextByTagRoute("network.ntp-server")))
- preferredNetwork = configDom.getTextByTagRoute("network.preferred-network")
- if not preferredNetwork:
- preferredNetwork = "any"
- serverTag.appendChild(responseDom.createTag("preferred-network", preferredNetwork))
-
- deviceList = {}
- for device in getNetDeviceList():
- deviceList[device["device"]] = device
- try:
- macAddress = open("/sys/class/net/%s/address" % device["device"]).read().strip()
- except IOError:
- continue
- interfaceTag = responseDom.createTag("interface", None)
- interfaceTag.appendChild(responseDom.createTag("device", device["device"]))
- interfaceTag.appendChild(responseDom.createTag("description", device["description"]))
- interfaceTag.appendChild(responseDom.createTag("hwaddr", macAddress))
- if deviceList[device["device"]]:
- if deviceList[device["device"]]["onboot"]:
- interfaceTag.appendChild(responseDom.createTag("onboot", "yes"))
- else:
- interfaceTag.appendChild(responseDom.createTag("onboot", "no"))
- interfaceTag.appendChild(responseDom.createTag("bootproto", deviceList[device["device"]]["bootproto"]))
- interfaceTag.appendChild(responseDom.createTag("ipaddr", deviceList[device["device"]]["ipaddr"]))
- interfaceTag.appendChild(responseDom.createTag("netmask", deviceList[device["device"]]["netmask"]))
- interfaceTag.appendChild(responseDom.createTag("gateway", deviceList[device["device"]]["gateway"]))
- if deviceList[device["device"]]["mode"]:
- interfaceTag.appendChild(responseDom.createTag("mode", deviceList[device["device"]]["mode"]))
- if deviceList[device["device"]]["master"]:
- interfaceTag.appendChild(responseDom.createTag("bonding", "yes"))
- spliter = re.compile(r'[\D]')
- interfaceTag.appendChild(responseDom.createTag("bondid", spliter.split(device["master"])[-1]))
- else:
- interfaceTag.appendChild(responseDom.createTag("onboot", "no"))
- interfaceTag.appendChild(responseDom.createTag("bootproto", "none"))
- serverTag.appendChild(interfaceTag)
- responseDom.appendTag(serverTag)
- return responseDom
-
-def test():
- requestString = """<command request="get-server-network-config" id="123" version="3.1.2.2">
-<server-name>s1</server-name></command>"""
- requestDom = RequestXml(requestString)
- print getServerNetworkConfig(requestDom).toxml()
diff --git a/src/com.gluster.storage.management.server.scripts/src/Globals.py b/src/com.gluster.storage.management.server.scripts/src/Globals.py
deleted file mode 100644
index 877c6c68..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/Globals.py
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright (C) 2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-MULTICAST_GROUP = '224.224.1.1'
-MULTICAST_PORT = 5353
-GLUSTER_PLATFORM_VERSION = "3.2"
-
-## System configuration constants
-SYSCONFIG_NETWORK_DIR = "/etc/sysconfig/network-scripts"
-DNSMASQ_CONF_DIR = "/etc/dnsmasq.d"
-
-FSTAB_FILE = "/etc/fstab"
-NFS_EXPORTS_FILE = "/etc/exports"
-SAMBA_CONF_FILE = "/etc/samba/smb.conf"
-TIMEZONE_FILE = "/etc/timezone"
-ZONEINFO_DIR = "/usr/share/zoneinfo"
-LOCALTIME_FILE = "/etc/localtime"
-KERBEROS_CONF_FILE = "/etc/krb5.conf"
-NSSWITCH_CONF_FILE = "/etc/nsswitch.conf"
-NTP_CONF_FILE = "/etc/ntp.conf"
-MODPROBE_CONF_FILE = "/etc/modprobe.d/bonding.conf"
-SYSCONFIG_NETWORK_FILE = "/etc/sysconfig/network"
-RESOLV_CONF_FILE = "/etc/resolv.conf"
-DNSMASQ_LEASE_FILE = "/var/tmp/dnsmasq.leases"
-LIVE_MODE_FILE = "/etc/live"
-ADD_SERVER_COMPLETED_FILE = "/var/tmp/installation-completed"
-
-DNSMASQ_DNS_CONF_FILE = DNSMASQ_CONF_DIR + "/dns.conf"
-DNSMASQ_DHCP_CONF_FILE = DNSMASQ_CONF_DIR + "/dhcp.conf"
-##
-
-## Base constants
-MAX_PARTITION_SIZE = 16777216 # 16 TB
-OS_PARTITION_SIZE = 4000 # 4 GB
-SESSION_TIMEOUT = 1800 # 30 minutes
-SERVER_AGENT_PORT = 50000
-
-BOOT_PARTITION_LABEL = "GLUSTEROS"
-DATA_PARTITION_LABEL = "GLUSTERDATA"
-VOLUME_USER_DESCRIPTION = "Gluster Volume User"
-SERVER_AGENT_RUN_USERNAME = "gluster"
-INSTALLER_SERVER_NAME = "$installer$"
-
-GLUSTER_BASE_DIR = "/GLUSTER"
-GLUSTER_LUN_DIR = "/data"
-REEXPORT_DIR = "/reexport"
-NFS_EXPORT_DIR = "/nfs"
-CIFS_EXPORT_DIR = "/cifs"
-WEBDAV_DOCUMENT_ROOT_DIR = "/var/www/html"
-UPDATES_DIR = "/UPDATES"
-TRANSPORT_HOME_DIR = "/transport"
-GLUSTERFS_LOG_DIR = "/var/log/glusterfs"
-LOG_DIR = "/var/log/glustermg"
-
-GLUSTER_UPDATES_FILE = "updates.xml"
-INSTALLER_STATUS_FILE = "/var/log/install-server-status.log"
-INSTALL_PLATFORM_LOCK_FILE = "/var/lock/install-gluster-platform.lock"
-LAST_ACCESSED_NETWORK_FILE = "last-accessed-network"
-PREPARE_DATA_DISK_LOCK_FILE = "/var/tmp/prepare-data-disk.lock"
-##
-
-## Derived constants
-GLUSTER_CONF_DIR = GLUSTER_BASE_DIR + "/conf"
-GLUSTER_TMP_DIR = GLUSTER_BASE_DIR + "/tmp"
-VOLUME_CONF_DIR = GLUSTER_BASE_DIR + "/volumes"
-SERVER_CONF_DIR = GLUSTER_BASE_DIR + "/servers"
-DNS_RECORDS_DIR = GLUSTER_BASE_DIR + "/dns-records"
-INSTALLER_CONF_DIR = SERVER_CONF_DIR + "/" + INSTALLER_SERVER_NAME
-
-GSN_USER_INFO_FILE = GLUSTER_BASE_DIR + "/gsn-user.info"
-GLUSTER_VERSION_FILE = GLUSTER_BASE_DIR + "/version"
-GLUSTER_UPDATE_SITE_FILE = GLUSTER_BASE_DIR + "/update-site"
-GLUSTER_DIRECTORY_SERVICE_CONF_FILE = GLUSTER_BASE_DIR + "/directory.xml"
-GLUSTER_TIME_CONF_FILE = GLUSTER_BASE_DIR + "/timeconfig.xml"
-TRANSACTION_KEY_FILE = GLUSTER_BASE_DIR + "/transaction.key"
-SERVER_COUNT_FILE = GLUSTER_BASE_DIR + "/server-count"
-SIGNATURE_FILE = GLUSTER_BASE_DIR + "/.signature"
-GLUSTER_SERVER_POOL_FILE = GLUSTER_BASE_DIR + "/pool"
-GLUSTER_ADMIN_FILE = GLUSTER_BASE_DIR + "/.password"
-
-VOLUME_SMBCONF_FILE = VOLUME_CONF_DIR + "/volumes.smbconf.list"
-
-GLOBAL_NETWORK_FILE = INSTALLER_CONF_DIR + "/network.xml"
-INSTALL_SERVER_CONF_FILE = INSTALLER_CONF_DIR + "/installer.xml"
-INSTALLER_INFO_FILE = INSTALLER_CONF_DIR + "/installer.info"
-INSTALLED_SERVER_COUNT_FILE = INSTALLER_CONF_DIR + "/installed-server-count"
-
-SESSION_FILE = GLUSTER_TMP_DIR + "/login.sessions"
-
-GENERAL_LOG_FILE = LOG_DIR + "/general.log"
-INSTALLER_LOG_FILE = LOG_DIR + "/installer.log"
-PEER_AGENT_LOG_FILE = LOG_DIR + "/peeragent.log"
-SERVER_AGENT_LOG_FILE = LOG_DIR + "/serveragent.log"
-TRANSPORT_AGENT_LOG_FILE = LOG_DIR + "/transport.log"
-##
-
-
-## Global variables
-## TODO: These should be removed
-DOWNLOAD_GLUSTER_UPDATE_PROCESS = None
-DOWNLOAD_GLUSTER_UPDATE_LEVEL = None
-DOWNLOAD_GLUSTER_CURRENT_UPDATE_LEVEL = None
-DOWNLOAD_GLUSTER_UPDATE_MD5SUM = None
-REQUEST_MAP = {}
-VERSION_DICTONARY = {}
-##
diff --git a/src/com.gluster.storage.management.server.scripts/src/GlusterdUtils.py b/src/com.gluster.storage.management.server.scripts/src/GlusterdUtils.py
deleted file mode 100644
index 7c0e899c..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/GlusterdUtils.py
+++ /dev/null
@@ -1,250 +0,0 @@
-# Copyright (c) 2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import os
-import Utils
-
-import ServerUtils
-
-
-def getGlusterVolumeInfo(volumeName=None):
- volumeNameList = None
- if Utils.isString(volumeName):
- volumeNameList = [volumeName]
- if type(volumeName) == type([]):
- volumeNameList = volumeName
-
- status = Utils.runCommand("gluster volume info", output=True, root=True)
- if status["Status"] != 0:
- Utils.log("Failed to execute 'gluster volume info' command")
- return None
-
- volumeInfoDict = {}
- volumeInfo = {}
- volumeName = None
- brickList = []
- for line in status['Stdout'].split("\n"):
- if not line:
- if volumeName and volumeInfo:
- volumeInfo["Bricks"] = brickList
- volumeInfoDict[volumeName] = volumeInfo
- volumeInfo = {}
- volumeName = None
- brickList = []
- continue
-
- tokens = line.split(":")
- if tokens[0].strip().upper() == "BRICKS":
- continue
- elif tokens[0].strip().upper() == "VOLUME NAME":
- volumeName = tokens[1].strip()
- volumeInfo["VolumeName"] = volumeName
- elif tokens[0].strip().upper() == "TYPE":
- volumeInfo["VolumeType"] = tokens[1].strip()
- elif tokens[0].strip().upper() == "STATUS":
- volumeInfo["VolumeStatus"] = tokens[1].strip()
- elif tokens[0].strip().upper() == "TRANSPORT-TYPE":
- volumeInfo["TransportType"] = tokens[1].strip()
- elif tokens[0].strip().upper().startswith("BRICK"):
- brickList.append(":".join(tokens[1:]).strip())
-
- if volumeName and volumeInfo:
- volumeInfoDict[volumeName] = volumeInfo
-
- if not volumeNameList:
- return volumeInfoDict
-
- # remove unwanted volume info
- for volumeName in list(set(volumeInfoDict.keys()) - set(volumeNameList)):
- del volumeInfoDict[volumeName]
-
- return volumeInfoDict
-
-
-def isVolumeRunning(volumeName):
- if not volumeName:
- return False
- volumeInfo = getGlusterVolumeInfo(volumeName)
- if not volumeInfo:
- return False
- status = volumeInfo[volumeName]["VolumeStatus"]
- if not status:
- return False
- if status.upper() == "STARTED":
- return True
- return False
-
-
-def isVolumeExist(volumeName):
- if not volumeName:
- return False
- if getGlusterVolumeInfo(volumeName):
- return True
- return False
-
-
-def peerProbe(serverName):
- command = "gluster peer probe %s" % serverName
- status = Utils.runCommand(command, output=True, root=True)
- if status["Status"] == 0:
- return True
- Utils.log("command [%s] failed with [%d:%s]" % (command, status["Status"], os.strerror(status["Status"])))
- return False
-
-
-def setAuthAllow(volumeName, authList, includeServers=True):
- if not (volumeName and authList):
- return False
- vacl = []
- if includeServers:
- for serverName in ServerUtils.getAllServerList():
- vacl += ServerUtils.getServerIpList(serverName)
- vacl += authList
-
- command = "gluster volume set %s auth.allow %s" % (volumeName, ",".join(list(set(vacl))))
- status = Utils.runCommand(command, output=True, root=True)
- if status["Status"] == 0:
- return True
- Utils.log("command [%s] failed with [%d:%s]" % (command, status["Status"], os.strerror(status["Status"])))
- return False
-
-
-def volumeCreate(volumeName, volumeType, transportTypeList, brickList):
- command = "gluster volume create %s" % volumeName
-
- if volumeType.upper() == "MIRROR":
- command += " replica 2"
- elif volumeType.upper() == "STRIPE":
- command += " stripe 4"
-
- if "RDMA" in transportTypeList:
- command += " transport rdma"
-
- command += " " + " ".join(brickList)
-
- status = Utils.runCommand(command, output=True, root=True)
- if status["Status"] == 0:
- return True
- Utils.log("command [%s] failed with [%d:%s]" % (command, status["Status"], os.strerror(status["Status"])))
- return False
-
-
-def volumeDelete(volumeName):
- command = "gluster --mode=script volume delete %s" % volumeName
- status = Utils.runCommand(command, output=True, root=True)
- if status["Status"] == 0:
- return True
- Utils.log("command [%s] failed with [%d:%s]" % (command, status["Status"], os.strerror(status["Status"])))
- return False
-
-
-def volumeLogFileName(volumeName, brick, logDir):
- command = "gluster volume log filename %s %s %s" % (volumeName, brick, logDir)
- status = Utils.runCommand(command, output=True, root=True)
- if status["Status"] == 0:
- return True
- Utils.log("command [%s] failed with [%d:%s]" % (command, status["Status"], os.strerror(status["Status"])))
- return False
-
-
-def startVolumeMigration(volumeName, sourcePath, destinationPath):
- command = "gluster volume replace-brick %s %s %s start" % (volumeName, sourcePath, destinationPath)
- status = Utils.runCommand(command, output=True, root=True)
- if status["Status"] == 0:
- lines = status["Stdout"].split("\n")
- if lines[0].split()[-1] == "successfully":
- return True
- Utils.log("command [%s] failed with [%d:%s]" % (command, status["Status"], os.strerror(status["Status"])))
- return False
-
-
-def stopVolumeMigration(volumeName, sourcePath, destinationPath):
- command = "gluster volume replace-brick %s %s %s abort" % (volumeName, sourcePath, destinationPath)
- status = Utils.runCommand(command, output=True, root=True)
- if status["Status"] == 0:
- lines = status["Stdout"].split("\n")
- if lines[0].split()[-1] == "successful":
- return True
- Utils.log("command [%s] failed with [%d:%s]" % (command, status["Status"], os.strerror(status["Status"])))
- return False
-
-
-def commitVolumeMigration(volumeName, sourcePath, destinationPath):
- command = "gluster volume replace-brick %s %s %s commit" % (volumeName, sourcePath, destinationPath)
- status = Utils.runCommand(command, output=True, root=True)
- if status["Status"] == 0:
- lines = status["Stdout"].split("\n")
- if lines[0].split()[-1] == "successful":
- return True
- Utils.log("command [%s] failed with [%d:%s]" % (command, status["Status"], os.strerror(status["Status"])))
- return False
-
-
-def getMigrationStatus(volumeName, sourcePath, destinationPath):
- command = "gluster volume replace-brick %s %s %s status" % (volumeName, sourcePath, destinationPath)
- status = Utils.runCommand(command, output=True, root=True)
- if status['Status'] == 0 and status['Stdout']:
- lines = status["Stdout"].split("\n")
- if "Current file" in lines[0]:
- return "started"
- if "Migration complete" in lines[0]:
- return "completed"
- Utils.log("command [%s] returns unknown status:%s" % (command, lines[0]))
- return "failed"
- #if status['Status'] == 0 and status['Stdout']:
- # for line in status['Stdout'].split('\n'):
- # words = line.split()
- # if words and words[0].upper() == "STATUS:":
- # return " ".join(words[1:]).upper()
- Utils.log("command [%s] failed with [%d:%s]" % (command, status["Status"], os.strerror(status["Status"])))
- return None
-
-
-def volumeRebalanceStart(volumeName):
- command = "gluster volume rebalance %s start" % volumeName
- status = Utils.runCommand(command, output=True, root=True)
- if status["Status"] == 0:
- lines = status["Stdout"].split("\n")
- if lines[0].split()[-1] == "successful":
- return True
- Utils.log("command [%s] failed with [%d:%s]" % (command, status["Status"], os.strerror(status["Status"])))
- return False
-
-
-def volumeRebalanceStop(volumeName):
- command = "gluster volume rebalance %s stop" % volumeName
- status = Utils.runCommand(command, output=True, root=True)
- if status["Status"] == 0:
- lines = status["Stdout"].split("\n")
- if lines[0].split()[0] == "stopped":
- return True
- Utils.log("command [%s] failed with [%d:%s]" % (command, status["Status"], os.strerror(status["Status"])))
- return False
-
-
-def volumeRebalanceStatus(volumeName):
- command = "gluster volume rebalance %s status" % volumeName
- status = Utils.runCommand(command, output=True, root=True)
- if status["Status"] == 0:
- lines = status["Stdout"].split("\n")
- if "rebalance not started" in lines[0]:
- return "not started"
- if "rebalance completed" in lines[0]:
- return "completed"
- return "running"
- Utils.log("command [%s] failed with [%d:%s]" % (command, status["Status"], os.strerror(status["Status"])))
- return False
diff --git a/src/com.gluster.storage.management.server.scripts/src/NetworkUtils.py b/src/com.gluster.storage.management.server.scripts/src/NetworkUtils.py
deleted file mode 100755
index da212a9b..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/NetworkUtils.py
+++ /dev/null
@@ -1,448 +0,0 @@
-# Copyright (c) 2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import sys
-
-if not "/usr/share/system-config-network/" in sys.path:
- sys.path.append("/usr/share/system-config-network")
-
-import os
-import tempfile
-import Globals
-
-from Utils import *
-#from netconfpkg.NCHardwareList import getHardwareList
-
-def readHostFile(fileName=None):
- hostEntryList = []
- if not fileName:
- fileName = "/etc/hosts"
- try:
- for line in open(fileName):
- tokens = line.split("#")[0].strip().split()
- if len(tokens) < 2:
- continue
- hostEntryList.append({tokens[0] : tokens[1:]})
- return hostEntryList
- except IOError:
- log("failed to read %s file" % fileName)
- return None
-
-
-def writeHostFile(hostEntryList, fileName=None):
- if fileName:
- hostFile = fileName
- else:
- hostFile = tempfile.mktemp(prefix="GSPSA")
- try:
- fp = open(hostFile, "w")
- for host in hostEntryList:
- fp.write("%s\t%s\n" % (host.keys()[0], " ".join(host.values()[0])))
- fp.close()
- if hostFile == fileName:
- return True
- except IOError:
- log("failed to write %s file" % hostFile)
- return False
- if runCommandFG("mv -f %s /etc/hosts" % hostFile, root=True) != 0:
- log("failed to rename file %s to /etc/hosts" % hostFile)
- return False
- return True
-
-
-def readResolvConfFile(fileName=None, includeLocalHost=False):
- nameServerList = []
- domain = None
- searchDomain = None
- if not fileName:
- fileName = Globals.RESOLV_CONF_FILE
- try:
- for line in open(fileName):
- tokens = line.split("#")[0].strip().split()
- if len(tokens) < 2:
- continue
- if tokens[0].upper() == "NAMESERVER":
- if includeLocalHost == False and tokens[1] == "127.0.0.1":
- continue
- nameServerList.append(tokens[1])
- continue
- if tokens[0].upper() == "DOMAIN":
- domain = tokens[1:]
- continue
- if tokens[0].upper() == "SEARCH":
- searchDomain = tokens[1:]
- continue
- return nameServerList, domain, searchDomain
- except IOError:
- log("failed to read %s file" % fileName)
- return None, None, None
-
-
-def writeResolvConfFile(nameServerList, domain, searchDomain, fileName=None, appendLocalHost=True):
- if fileName:
- resolvConfFile = fileName
- else:
- resolvConfFile = tempfile.mktemp(prefix="GSPSA")
- try:
- fp = open(resolvConfFile, "w")
- if appendLocalHost:
- fp.write("nameserver 127.0.0.1\n")
- for nameServer in nameServerList:
- fp.write("nameserver %s\n" % nameServer)
- if domain:
- fp.write("domain %s\n" % " ".join(domain))
- if searchDomain:
- fp.write("search %s\n" % " ".join(searchDomain))
- fp.close()
- if resolvConfFile == fileName:
- return True
- except IOError:
- log("failed to write %s file" % resolvConfFile)
- return False
- if runCommandFG("mv -f %s %s" % (resolvConfFile, Globals.RESOLV_CONF_FILE), root=True) != 0:
- log("failed to rename file %s to %s" % (resolvConfFile, Globals.RESOLV_CONF_FILE))
- return False
- return True
-
-
-def readIfcfgConfFile(deviceName, root=""):
- conf = {}
- fileName = "%s%s/ifcfg-%s" % (root, Globals.SYSCONFIG_NETWORK_DIR, deviceName)
- try:
- for line in open(fileName):
- tokens = line.split("#")[0].split("=")
- if len(tokens) != 2:
- continue
- conf[tokens[0].strip().lower()] = tokens[1].strip()
- return conf
- except IOError:
- log("failed to read %s file" % fileName)
- return None
-
-
-def writeIfcfgConfFile(deviceName, conf, root="", deviceFile=None):
- if not deviceFile:
- deviceFile = "%s%s/ifcfg-%s" % (root, Globals.SYSCONFIG_NETWORK_DIR, deviceName)
- if root:
- ifcfgConfFile = deviceFile
- else:
- ifcfgConfFile = tempfile.mktemp(prefix="GSPSA")
- try:
- fp = open(ifcfgConfFile, "w")
- for key in conf.keys():
- if key == "description":
- fp.write("#%s=%s\n" % (key.upper(), conf[key]))
- continue
- if key in ['link', 'mode']:
- continue
- if conf["device"].startswith("bond") and key in ['hwaddr', 'master', 'slave']:
- continue
- if key == "slave" and conf['master']:
- fp.write("SLAVE=yes\n")
- continue
- if key == "onboot":
- if conf[key] == True:
- fp.write("ONBOOT=yes\n")
- elif isString(conf[key]) and conf[key].upper() == "YES":
- fp.write("ONBOOT=yes\n")
- else:
- fp.write("ONBOOT=no\n")
- continue
- if not conf[key]:
- continue
- fp.write("%s=%s\n" % (key.upper(), conf[key]))
- fp.close()
- if ifcfgConfFile == deviceFile:
- return True
- except IOError:
- log("failed to write %s file" % ifcfgConfFile)
- return False
- if runCommandFG("mv -f %s %s" % (ifcfgConfFile, deviceFile), root=True) != 0:
- log("failed to rename file %s to %s" % (ifcfgConfFile, deviceFile))
- return False
- return True
-
-
-def getNetModel(deviceName):
- rv = runCommandFG("ifconfig %s" % deviceName, stdout=True, root=True)
- if rv["Status"] != 0:
- return False
- for line in rv["Stdout"].split():
- tokens = line.strip().split(":")
- if tokens[0].upper() == "ENCAP":
- return tokens[1].strip().upper()
- return None
-
-def getNetSpeed(deviceName):
- rv = runCommandFG("ethtool %s" % deviceName, stdout=True, root=True)
- if rv["Status"] != 0:
- return False
- for line in rv["Stdout"].split("\n"):
- tokens = line.strip().split(":")
- if tokens[0].upper() == "SPEED":
- return tokens[1].strip().upper().split("MB")[0]
- return None
-
-def getLinkStatus(deviceName):
- return True
- ## ethtool takes very long time to respond. So its disabled now
- rv = runCommandFG("ethtool %s" % deviceName, stdout=True, root=True)
- if rv["Status"] != 0:
- return False
- for line in rv["Stdout"].split("\n"):
- tokens = line.strip().split(":")
- if tokens[0].upper() == "LINK DETECTED":
- if tokens[1].strip().upper() == "YES":
- return True
- else:
- return False
- return False
-
-
-def getBondMode(deviceName, fileName=None):
- if not fileName:
- fileName = Globals.MODPROBE_CONF_FILE
- try:
- for line in open(fileName):
- tokens = line.split("#")[0].split()
- if len(tokens) < 4:
- continue
- if tokens[0].upper() == "OPTIONS" and tokens[1] == deviceName:
- if tokens[2].startswith("mode="):
- return tokens[2].split("=")[1]
- if tokens[3].startswith("mode="):
- return tokens[3].split("=")[1]
- if tokens[4].startswith("mode="):
- return tokens[4].split("=")[1]
- if tokens[5].startswith("mode="):
- return tokens[5].split("=")[1]
- return None
- except IOError:
- log("failed to read %s file" % fileName)
- return None
-
-
-def setBondMode(deviceName, mode, fileName=None):
- if not fileName:
- fileName = Globals.MODPROBE_CONF_FILE
- tempFileName = getTempFileName()
- try:
- fp = open(tempFileName, "w")
- lines = open(fileName).readlines()
- except IOError:
- log("unable to open file %s" % Globals.MODPROBE_CONF_FILE)
- return False
- for line in lines:
- tokens = line.split()
- if len(tokens) > 1 and "OPTIONS" == tokens[0].upper() and "BOND" in tokens[1].upper() and deviceName == tokens[1]:
- fp.write("options %s max_bonds=2 mode=%s miimon=100\n" % (deviceName, mode))
- deviceName = None
- continue
- fp.write(line)
- if deviceName:
- fp.write("alias %s bonding\n" % deviceName)
- fp.write("options %s max_bonds=2 mode=%s miimon=100\n" % (deviceName, mode))
- fp.close()
- if runCommandFG(["mv", "-f", tempFileName, fileName], root=True) != 0:
- log("unable to move file from %s to %s" % (tempFileName, fileName))
- return False
- return True
-
-def getNetDeviceList(root=""):
- netDeviceList = []
- for deviceName in os.listdir("/sys/class/net/"):
- netDevice = {}
- netDevice["device"] = None
- netDevice["description"] = None
- netDevice["hwaddr"] = None
- netDevice["type"] = None
- netDevice["onboot"] = None
- netDevice["bootproto"] = None
- netDevice["ipaddr"] = None
- netDevice["netmask"] = None
- netDevice["gateway"] = None
- netDevice["peerdns"] = None
- netDevice["autodns"] = None
- netDevice["dns1"] = None
- netDevice["dns2"] = None
- netDevice["dns3"] = None
- netDevice["master"] = None
- netDevice["slave"] = None
- netDevice["nmcontrolled"] = None
- netDevice["link"] = None
- netDevice["mode"] = None
-
- #netDevice["device"] = device.Name
- netDevice["device"] = deviceName
- #netDevice["description"] = device.Description
- netDevice["description"] = deviceName
- #netDevice["type"] = device.Type
- netDevice["type"] = None
- netDevice["link"] = getLinkStatus(deviceName)
- netDevice["mode"] = getBondMode(deviceName, root + Globals.MODPROBE_CONF_FILE)
- netDevice["model"] = getNetModel(deviceName)
- netDevice["speed"] = getNetSpeed(deviceName)
- try:
- netDevice["hwaddr"] = open("/sys/class/net/%s/address" % deviceName).read().strip()
- except IOError:
- pass
-
- netDeviceList.append(netDevice)
-
- conf = readIfcfgConfFile(deviceName, root)
- if not conf:
- continue
- try:
- netDevice["onboot"] = conf["onboot"]
- except KeyError:
- pass
- try:
- netDevice["bootproto"] = conf["bootproto"]
- except KeyError:
- pass
- try:
- netDevice["ipaddr"] = conf["ipaddr"]
- except KeyError:
- pass
- try:
- netDevice["netmask"] = conf["netmask"]
- except KeyError:
- pass
- try:
- netDevice["gateway"] = conf["gateway"]
- except KeyError:
- pass
- try:
- netDevice["peerdns"] = conf["peerdns"]
- except KeyError:
- pass
- try:
- netDevice["autodns"] = conf["autodns"]
- except KeyError:
- pass
- try:
- netDevice["dns1"] = conf["dns1"]
- except KeyError:
- pass
- try:
- netDevice["dns2"] = conf["dns2"]
- except KeyError:
- pass
- try:
- netDevice["dns3"] = conf["dns3"]
- except KeyError:
- pass
- try:
- netDevice["master"] = conf["master"]
- except KeyError:
- pass
- try:
- netDevice["slave"] = conf["slave"]
- except KeyError:
- pass
- try:
- netDevice["nmcontrolled"] = conf["nmcontrolled"]
- except KeyError:
- pass
-
- return netDeviceList
-
- ## bondDevices = [os.path.basename(device) for device in glob.glob("/sys/class/net/bond*")]
-
- ## bondDevices = [os.path.basename(device) for device in glob.glob("/sys/class/net/bond*")]
- ## for deviceName in bondDevices:
- ## if deviceName in linkedBondList:
- ## if deviceName in sysConfigDeviceList:
- ## deviceList[deviceName] = sysConfigDeviceList[deviceName]
- ## else:
- ## deviceList[deviceName] = {'device':deviceName, 'onboot':'no', 'bootproto':'none'}
- ## continue
- ## if len(ethDevices) > 2:
- ## deviceList[deviceName] = {'device':deviceName, 'onboot':'no', 'bootproto':'none'}
-
-
-def configureDhcpServer(serverIpAddress, dhcpIpAddress):
- tmpDhcpConfFile = tempfile.mktemp(prefix="GSPSA")
-
- serverPortString = "68"
- try:
- for arg in open("/proc/cmdline").read().strip().split():
- token = arg.split("=")
- if token[0] == "dhcp":
- serverPortString = token[1]
- break
- except IOError:
- log(syslog.LOG_ERR, "Failed to read /proc/cmdline. Continuing with default port 68")
- try:
- serverPort = int(serverPortString)
- except ValueError:
- log(syslog.LOG_ERR, "Invalid dhcp port '%s' in /proc/cmdline. Continuing with default port 68" % serverPortString)
- serverPort = 68
-
- try:
- fp = open(tmpDhcpConfFile, "w")
- fp.write("bind-interfaces\n")
- fp.write("except-interface=lo\n")
- fp.write("dhcp-range=%s,%s\n" % (dhcpIpAddress, dhcpIpAddress))
- fp.write("dhcp-lease-max=1\n")
- fp.write("dhcp-alternate-port=%s\n" % serverPort)
- fp.write("dhcp-leasefile=%s\n" % Globals.DNSMASQ_LEASE_FILE)
- #fp.write("server=%s\n" % serverIpAddress)
- #fp.write("dhcp-script=/usr/sbin/server-info\n")
- fp.close()
- except IOError:
- log(syslog.LOG_ERR, "unable to write dnsmasq dhcp configuration %s" % tmpDhcpConfFile)
- return False
- if runCommandFG("mv -f %s %s" % (tmpDhcpConfFile, Globals.DNSMASQ_DHCP_CONF_FILE), root=True) != 0:
- log(syslog.LOG_ERR, "unable to copy dnsmasq dhcp configuration to %s" % Globals.DNSMASQ_DHCP_CONF_FILE)
- return False
- return True
-
-
-def isDhcpServer():
- return os.path.exists(Globals.DNSMASQ_DHCP_CONF_FILE)
-
-
-def getDhcpServerStatus():
- if runCommandFG("service dnsmasq status", root=True) == 0:
- return True
- return False
-
-
-def startDhcpServer():
- if runCommandFG("service dnsmasq start", root=True) == 0:
- return True
- return False
-
-
-def stopDhcpServer():
- if runCommandFG("service dnsmasq stop", root=True) == 0:
- runCommandFG("rm -f %s" % Globals.DNSMASQ_LEASE_FILE, root=True)
- return True
- return False
-
-
-def restartDhcpServer():
- stopDhcpServer()
- runCommandFG("rm -f %s" % Globals.DNSMASQ_LEASE_FILE, root=True)
- return startDhcpServer()
-
-
-def reloadDhcpServer():
- if runCommandFG("service dnsmasq reload", root=True) == 0:
- return True
- return False
diff --git a/src/com.gluster.storage.management.server.scripts/src/Protocol.py b/src/com.gluster.storage.management.server.scripts/src/Protocol.py
deleted file mode 100644
index ff073593..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/Protocol.py
+++ /dev/null
@@ -1,438 +0,0 @@
-# Copyright (C) 2009 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import xml
-import xml.parsers.expat
-import xml.dom.minidom as MDOM
-import os
-import Globals
-import copy
-import Utils
-
-XML_STRING = 0
-XML_FILE = 1
-
-class XDOM:
- _domObj = None
-
- def __init__(self):
- self._domObj = MDOM.Document()
- return
-
- @classmethod
- def getText(self, nodeList):
- rc = ""
- for node in nodeList:
- if node.nodeType == node.TEXT_NODE:
- rc = rc + node.data
- return rc.strip()
-
- def parseString(self, requestString):
- try:
- self._domObj = MDOM.parseString(requestString)
- except xml.parsers.expat.ExpatError, e:
- Utils.log("XML string parse error: %s" % str(e))
- return False
- return True
-
- def parseFile(self, fileName):
- try:
- self._domObj = MDOM.parse(fileName)
- except IOError, e:
- Utils.log("error reading file: %s" % str(e))
- return False
- except xml.parsers.expat.ExpatError, e:
- Utils.log("XML file %s parse error: %s" % (fileName, str(e)))
- return False
- return True
-
- def setDomObj(self, dom):
- if dom and type(dom) != type([]):
- self._domObj = dom
- return True
- return False
-
- def createTextNode(self, text):
- if not self._domObj:
- return False
- if not text:
- return False
- return self._domObj.createTextNode(str(text))
-
- def createTag(self, tag, text=None):
- if not self._domObj:
- return None
- if tag == None:
- return None
-
- tagE = self._domObj.createElement(str(tag))
- if text:
- tagEText = self._domObj.createTextNode(str(text))
- tagE.appendChild(tagEText)
- return tagE
-
- def addTag(self, tag):
- if not self._domObj:
- return False
- if not tag:
- return False
-
- self._domObj.appendChild(tag)
- return True
-
- def createTagRoute(self, tagRoute, text=None):
- if not tagRoute:
- return False
-
- tagList = tagRoute.split(".")
- tag = None
- previousTag = None
- for tagName in tagList[:-1]:
- newTag = self.createTag(tagName, None)
- if not tag:
- tag = newTag
- previousTag = newTag
- continue
- previousTag.appendChild(newTag)
- previousTag = newTag
-
- if previousTag:
- previousTag.appendChild(self.createTag(tagList[-1], text))
- else:
- tag = self.createTag(tagList[-1], text)
- return tag
-
- def appendTagRoute(self, tagRoute, value=None):
- if not self._domObj:
- return False
- if not tagRoute:
- return False
-
- parentTagE = self._domObj
-
- tagNameList = tagRoute.split(".")
- newTagRoute = tagNameList.pop(-1)
-
- for i in range(len(tagNameList), 0, -1):
- tagE = self.getElementsByTagRoute(".".join(tagNameList[:i]))
- if tagE:
- parentTagE = tagE[0]
- break
- newTagRoute = tagNameList[i-1] + "." + newTagRoute
-
- newTagE = self.createTagRoute(newTagRoute, value)
- if not newTagE:
- return False
- try:
- parentTagE.appendChild(newTagE)
- except xml.dom.HierarchyRequestErr, e:
- Utils.log("error occured. %s" + str(e))
- return False
- return True
-
- def setTextByTagRoute(self, tagRoute, tagValue):
- if not self._domObj:
- return None
-
- if not tagRoute:
- return None
-
- tagE = self.getElementsByTagRoute(tagRoute)
- if not tagE:
- return False
-
- parentTagE = self.getElementsByTagRoute(".".join(tagRoute.split(".")[:-1]))
- if not parentTagE:
- return False
-
- parentTagE[0].childNodes.remove(tagE[0])
- parentTagE[0].appendChild(self.createTag(tagRoute.split(".")[-1], tagValue))
- return True
-
- def getElementsByTagRoute(self, tagRoute):
- if not self._domObj:
- return None
-
- if not tagRoute:
- return None
-
- x = None
- for tag in tagRoute.split("."):
- if x is None:
- x = self._domObj.getElementsByTagName(tag)
- continue
- if x == []:
- break
- x = x[0].getElementsByTagName(tag)
- return x
-
- def getTextByTagRoute(self, tagRoute):
- if not self._domObj:
- return None
-
- x = self.getElementsByTagRoute(tagRoute)
- if x:
- return self.getText(x[0].childNodes)
- return None
-
- def getElementsByTagName(self, name):
- if not self._domObj:
- return None
- return self._domObj.getElementsByTagName(name)
-
- def writexml(self, fileName, indent="", addindent="", newl=""):
- if not self._domObj:
- return None
- try:
- fp = open(fileName, "w")
- self._domObj.writexml(fp, indent, addindent, newl)
- fp.close()
- return True
- except IOError:
- return False
-
- def toString(self, indent=" ", newl="\n", encoding = None):
- if not self._domObj:
- return None
- return self._domObj.toprettyxml(indent, newl, encoding)
-
- def toxml(self, encoding = None):
- if not self._domObj:
- return None
- return self._domObj.toxml(encoding)
-
- def toprettyxml(self, indent=" ", newl="\n", encoding = None):
- return self.toString(indent, newl, encoding)
-
- def getAttribute(self, attributeName):
- if not attributeName:
- return None
- try:
- return self.getElementsByTagName("command")[0].getAttribute(attributeName)
- except IndexError:
- return False
-
- def setAttribute(self, attributeName, attributeValue):
- if not (attributeName and attributeValue):
- return None
- try:
- return self.getElementsByTagName("command")[0].setAttribute(attributeName, attributeValue)
- except IndexError:
- return False
-
- def getRequestCommand(self):
- return self.getAttribute("request")
-
- def getResponseCommand(self):
- return self.getAttribute("response")
-
- def getResponseCode(self):
- return self.getAttribute("response-code")
-
- def getMessageId(self):
- return self.getAttribute("id")
-
- def getVersion(self):
- return self.getAttribute("version")
-
- def getRequestAction(self):
- return self.getAttribute("action")
-
- def setVersion(self, value):
- return self.setAttribute("version", value)
-
- def setRequestAction(self, value):
- return self.setAttribute("action", value)
-
- def createCommandTag(self, command, responseCode, id, version=Globals.GLUSTER_PLATFORM_VERSION):
- commandTag = self._domObj.createElement("command")
- commandTag.setAttribute("response", command)
- commandTag.setAttribute("response-code", responseCode)
- commandTag.setAttribute("id", id)
- commandTag.setAttribute("version", version)
- return commandTag
-##--end of XDOM
-
-class RequestXml(XDOM):
- def __init__(self, requestString, type=None):
- if None == requestString:
- XDOM.__init__(self)
- return
- try:
- if None == type:
- if os.path.isfile(requestString):
- self._domObj = MDOM.parse(requestString)
- else:
- self._domObj = MDOM.parseString(requestString)
- elif XML_FILE == type:
- self._domObj = MDOM.parse(requestString)
- elif XML_STRING == type:
- self._domObj = MDOM.parseString(requestString)
- except IOError:
- XDOM.__init__(self)
- except xml.parsers.expat.ExpatError:
- XDOM.__init__(self)
-
-##--end of RequestXML
-
-class ResponseXml(XDOM):
- _commandTag = None
- def __init__(self, command, responseCode, id, version=Globals.GLUSTER_PLATFORM_VERSION):
- XDOM.__init__(self)
- if command and responseCode and id:
- self._commandTag = self.createCommandTag(command, responseCode, id, version)
- self._domObj.appendChild(self._commandTag)
-
- def appendCommand(self, command, responseCode, id, version=Globals.GLUSTER_PLATFORM_VERSION):
- if command and responseCode and id:
- self._commandTag = self.createCommandTag(command, responseCode, id, version)
- self._domObj.appendChild(self._commandTag)
- return True
- return False
-
- def append(self, tagName, tagValue=None):
- if not self._commandTag:
- return False
- tag = self.createTag(tagName, tagValue)
- if tag:
- self._commandTag.appendChild(tag)
- return True
- return False
-
- def appendTag(self, tag):
- if not tag:
- return False
- if not self._commandTag:
- return False
- self._commandTag.appendChild(tag)
- return True
-
- def appendTagRoute(self, tagRoute, value=None):
- if not self._commandTag:
- return False
- if not tagRoute:
- return False
-
- parentTagE = self._commandTag
-
- tagNameList = tagRoute.split(".")
- newTagRoute = tagNameList.pop(-1)
-
- for i in range(len(tagNameList), 0, -1):
- tagE = self.getElementsByTagRoute(".".join(["command"] + tagNameList[:i]))
- if tagE:
- parentTagE = tagE[0]
- break
- newTagRoute = tagNameList[i-1] + "." + newTagRoute
-
- newTagE = self.createTagRoute(newTagRoute, value)
- if not newTagE:
- return False
- try:
- parentTagE.appendChild(newTagE)
- except xml.dom.HierarchyRequestErr, e:
- Utils.log("error occured. %s" + str(e))
- return False
- return True
-
- def appendTagRouteOld(self, tagRoute, value=None):
- if not tagRoute:
- return False
- if not self._commandTag:
- return False
-
- tmpTagRoute = ""
- previousTagE = self._commandTag
- tagE = None
- for tagName in tagRoute.split("."):
- if not tmpTagRoute:
- tagE = self.getElementsByTagRoute("command." + tagName)
- else:
- tagE = self.getElementsByTagRoute("command." + tmpTagRoute + "." + tagName)
- if not tagE:
- break
- if len(tagE) != 1:
- return False
- previousTagE = tagE[0]
- if not tmpTagRoute:
- tmpTagRoute = tagName
- else:
- tmpTagRoute = tmpTagRoute + "." + tagName
-
- if tmpTagRoute == tagRoute:
- return False
- newTagRoute = tagRoute[len(tmpTagRoute):]
- if newTagRoute[0] == '.':
- newTagRoute = newTagRoute[1:]
-
- if previousTagE.childNodes and previousTagE.childNodes[0].nodeType == previousTagE.TEXT_NODE:
- return False
- previousTagE.appendChild(self.createTagRoute(newTagRoute, value))
- return True
-##--end of ResponseXml
-
-def test():
- #volumes = RequestXml(VolumeFile, XML_FILE).getElementsByTagRoute("volume-list.volume")
- requestStr = '''<command request="create-volume" id="123" version="3.1">
-<volume>
-<name>movies1</name>
-<type>cluster mirror</type>
-<start>512000</start>
-<server>zresearch</server>
-<vacl>192.168.20.*</vacl>
-<vacl>192.168.30.*</vacl>
-<nfs>
-<export>no</export>
-</nfs>
-<cifs>
-<export>no</export>
-</cifs>
-<webdav>
-<export>no</export>
-</webdav>
-</volume>
-</command>'''
-
- requestXml = RequestXml(requestStr)
- print requestXml.getAttribute("")
-
-def test1():
- rs = ResponseXml("create-volume", "OK", "xyz")
- rs.appendTagRoute("volume.detail.name", "music")
- print rs.toprettyxml()
- rs.append("volume", "data")
- print rs.toprettyxml()
- rs.appendTagRoute("volume.detail.ipaddr", "192.168.10.1")
- print rs.toprettyxml()
- print rs.appendTagRoute("volume.detail.ipaddr.v6", "ff:ff::ff::")
- print rs.toprettyxml()
-
- print rs.getTextByTagRoute("command.volume.detail")
-
-def test2():
- rs = ResponseXml("download-volume-logs", "OK", "xyz")
- te = rs.createTag("interface", None)
- te.appendChild(rs.createTag("device", "DEVICE1"))
- te.appendChild(rs.createTag("description", "my device one"))
- rs.appendTag(te)
-
- te = rs.createTag("interface", None)
- te.appendChild(rs.createTag("device", "DEVICE2"))
- te.appendChild(rs.createTag("description", "my device two"))
- rs.appendTag(te)
- print rs.toprettyxml()
-
diff --git a/src/com.gluster.storage.management.server.scripts/src/RRDUtils.py b/src/com.gluster.storage.management.server.scripts/src/RRDUtils.py
deleted file mode 100644
index 1ad0deee..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/RRDUtils.py
+++ /dev/null
@@ -1,72 +0,0 @@
-import rrdtool
-import os
-from socket import gethostname
-from itertools import groupby
-
-class RRD:
- def __init__ (self):
- self.COLORS = [0xff7777, 0x7777ff, 0x55ff55, 0xffcc77, 0xff77ff, 0x77ffff,0xffff77, 0x55aaff]
- self.HOST = gethostname()
- self.DIR = "/var/lib/collectd"
-
- def fade_component(self, component):
- return ((component + 255 * 5) / 6)
-
- def fade_color(self, color):
- r = 0;
- for i in [0,1,2]:
- shft = (i * 8)
- component = ((color >> shft) & 255)
- r |= (self.fade_component(component) << shft)
- return r
-
- def generate_pngs(self):
-
- rrdlist = os.popen ("find %s -type f -name '*.rrd'" % self.DIR)
-
- for rrd in rrdlist:
- self.dss = []
- self.defs = ""
-
- rrdinfo = rrdtool.info(rrd.strip())
-
- for key in rrdinfo.keys():
- if key.split('[')[0] == 'ds':
- self.dss.append(key.split('[')[1].split(']')[0])
- self.dss.sort()
-
- self.dss = [a for a,b in groupby(self.dss)]
-
- for ds in self.dss:
- self.defs = self.defs + " DEF:%s_avg=%s:%s:AVERAGE " % (ds, rrd.strip(), ds)
- self.defs = self.defs + " DEF:%s_max=%s:%s:MAX " % (ds, rrd.strip(), ds)
-
- j = 0
- for ds in self.dss:
- color = self.COLORS[j % len(self.COLORS)]
- j = j + 1
- faded_color = self.fade_color(color)
- self.defs = self.defs + " AREA:%s_max#%06x " % (ds, faded_color)
-
- j = 0
- for ds in self.dss:
- color = self.COLORS[j % len(self.COLORS)]
- j = j + 1
- self.defs = self.defs + " LINE2:%s_avg#%06x:%s " % (ds, color, ds)
- self.defs = self.defs + " GPRINT:%s_avg:AVERAGE:%%5.1lf%%sAvg " % ds
- self.defs = self.defs + " GPRINT:%s_max:MAX:%%5.1lf%%sMax " % ds
-
- for span in ['1hour', '1day', '1week', '1month']:
- os.system ("mkdir -p %s/%s" % (self.DIR, self.HOST))
- image = os.path.dirname(rrd.strip()) + "-" + span + ".png"
- cmd = "rrdtool graph " + image + " -t \"%s %s\"" % (os.path.dirname(rrd.strip()), span) + " --imgformat PNG --width 600 --height 100 --start now-" + span + " --end now --interlaced " + self.defs + " >/dev/null 2>&1"
- os.system(cmd)
-
-
-def main ():
-
- rrd = RRD ()
- rrd.generate_pngs ()
-
-if __name__ == "__main__":
- main()
diff --git a/src/com.gluster.storage.management.server.scripts/src/ServerUtils.py b/src/com.gluster.storage.management.server.scripts/src/ServerUtils.py
deleted file mode 100644
index 1fec994c..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/ServerUtils.py
+++ /dev/null
@@ -1,308 +0,0 @@
-# Copyright (c) 2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import os
-import re
-import subprocess
-import glob
-import Globals
-from Protocol import *
-from Utils import *
-
-def isValidServer(serverName):
- for profile in getProfileList():
- if profile.ProfileName == "default" and profile.Active:
- if serverName == profile.DNS.Hostname:
- return True
- return False
-
-def getHostname():
- for profile in getProfileList():
- if profile.ProfileName == "default" and profile.Active:
- return profile.DNS.Hostname
- return None
-
-def getDomainName():
- try:
- domainName = open(Globals.DOMAINNAME_FILE).read()
- except IOError:
- return None
- return domainName.split()[0]
-
-def replaceServerIp(fileName, findWhat, replaceWith):
- try:
- data = open(fileName).read()
- fp = open(fileName, "w")
- fp.write(re.sub(findWhat, replaceWith, data))
- fp.close()
- return True
- except IOError:
- return False
- except ValueError:
- return False
- except OSError:
- return False
-
-def serverName2IpAddress(serverName):
- command = "dig %s | grep '^%s'" % (serverName, serverName)
- ps = subprocess.Popen(command,
- shell=True,
- stdout=subprocess.PIPE,
- stdin=subprocess.PIPE,
- stderr=subprocess.PIPE,
- close_fds=True)
- ipAddress = serverName
- if ps.wait() == 0:
- output = ps.communicate()
- ipAddress = output[0].split()[-1]
- return ipAddress
-
-def getInstallerIp():
- if not os.path.exists(Globals.INSTALLER_INFO_FILE):
- return None
- try:
- for line in open(Globals.INSTALLER_INFO_FILE):
- tokens = line.split("=")
- if tokens[0] == "IP-ADDRESS":
- return tokens[1].split(",")[0].strip()
- except IOError:
- syslog.syslog(syslog.LOG_ERR, "unable to read %s file" % Globals.INSTALLER_INFO_FILE)
- return False
-
-def setInstallerIp(installerIp):
- try:
- open(Globals.INSTALLER_INFO_FILE, "w").write("IP-ADDRESS=%s\n" % installerIp)
- return True
- except IOError:
- log(syslog.LOG_ERR, "unable to create %s file" % Globals.INSTALLER_INFO_FILE)
- return False
-
-def getCurrentServerName():
- try:
- for line in open(Globals.SYSCONFIG_NETWORK_FILE):
- tokens = line.split("=")
- if tokens[0] == "HOSTNAME":
- return tokens[1].strip()
- except IOError:
- syslog.syslog(syslog.LOG_ERR, "unable to read %s file" % Globals.SYSCONFIG_NETWORK_FILE)
- return False
-
-def getLastAccessedNetwork(serverName):
- lastAccessedNetworkFile = ("/%s/servers/%s/%s" %
- (Globals.GLUSTER_CONF_DIR, serverName, Globals.LAST_ACCESSED_NETWORK_FILE))
- try:
- return open(lastAccessedNetworkFile).read().strip()
- except IOError:
- log(syslog.LOG_ERR, "failed to read last accessed network file %s" % lastAccessedNetworkFile)
- pass
- return False
-
-def setLastAccessedNetwork(serverName, ipAddress):
- lastAccessedNetworkFile = ("/%s/servers/%s/%s" %
- (Globals.GLUSTER_CONF_DIR, serverName, Globals.LAST_ACCESSED_NETWORK_FILE))
- try:
- open(lastAccessedNetworkFile, "w").write(ipAddress.strip() + "\n")
- except IOError:
- log(syslog.LOG_ERR, "failed to write last accessed network file %s" % lastAccessedNetworkFile)
- return False
- return True
-
-def getServerIpList(serverName, preferredNetworkOnly=False):
- networkXmlFile = ("%s/servers/%s/network.xml" % (Globals.GLUSTER_CONF_DIR, serverName))
- configDom = XDOM()
- if not configDom.parseFile(networkXmlFile):
- log(syslog.LOG_ERR, "failed to read %s file" % networkXmlFile)
- return None
- preferredNetwork = configDom.getTextByTagRoute("preferred-network")
- ipList = []
- interfaceDom = XDOM()
- for tagE in configDom.getElementsByTagName("interface"):
- interfaceDom.setDomObj(tagE)
- deviceName = interfaceDom.getTextByTagRoute("device")
- hostIp = interfaceDom.getTextByTagRoute("ipaddr")
- if not hostIp:
- continue
- if preferredNetworkOnly:
- if preferredNetwork.upper() == "ANY" or preferredNetwork.upper() == deviceName.upper():
- ipList.append(hostIp)
- else:
- ipList.append(hostIp)
- if preferredNetworkOnly:
- lastAccessedNetworkIp = getLastAccessedNetwork(serverName)
- if lastAccessedNetworkIp in ipList:
- ipList.remove(lastAccessedNetworkIp)
- ipList = [lastAccessedNetworkIp] + ipList
- return ipList
-
-def getServerPreferredIpList(serverName):
- return getServerIpList(serverName, True)
-
-def getExecuteServerList(serverList):
- executeServerList = {}
- for serverName in serverList:
- if serverName == Globals.INSTALLER_SERVER_NAME:
- installerIp = getInstallerIp()
- if installerIp:
- executeServerList[serverName] = [installerIp]
- continue
- executeServerList[serverName] = getServerPreferredIpList(serverName)
- return executeServerList
-
-def getAllServerList():
- serverList = []
- for filePath in glob.glob("%s/servers/*" % Globals.GLUSTER_CONF_DIR):
- if os.path.isdir(filePath):
- serverList.append(os.path.basename(filePath))
- try:
- serverList.remove(Globals.INSTALLER_SERVER_NAME)
- except ValueError:
- pass
- return serverList
-
-def getServerNetworkConfigFromLocalFile(serverName):
- configDom = XDOM()
- configDom.parseFile("%s/servers/%s/network.xml" % (Globals.GLUSTER_CONF_DIR, serverName))
- return configDom
-
-def updateServerNetworkConfigXmlFile(serverName, serverNetworkDom):
- configDom = XDOM()
- serverTag = serverNetworkDom.getElementsByTagRoute("server")[0]
- configDom.setDomObj(serverTag)
- if not configDom.writexml("%s/%s/network.xml" % (Globals.SERVER_VOLUME_CONF_DIR, serverName)):
- log("Faild to write xml file %s/%s/network.xml" % (Globals.SERVER_VOLUME_CONF_DIR, serverName))
-
-def compareServerNetworkDom(serverNetworkDomA, serverNetworkDomB, requestFlag=True):
- command = "command.server."
- if not requestFlag:
- command = ""
- sourceServer = {}
- tagText = serverNetworkDomA.getTextByTagRoute("name")
- if not tagText:
- taxText = None
- sourceServer["name"] = tagText
- tagText = serverNetworkDomA.getTextByTagRoute("domain-name")
- if not tagText:
- tagText = None
- sourceServer["domain-name"] = tagText
- tagText = serverNetworkDomA.getTextByTagRoute("search-domain")
- if not tagText:
- tagText = None
- sourceServer["search-domain"] = tagText
- tagText = serverNetworkDomA.getTextByTagRoute("dns1")
- if not tagText:
- tagText = None
- sourceServer["dns1"] = tagText
- tagText = serverNetworkDomA.getTextByTagRoute("dns2")
- if not tagText:
- tagText = None
- sourceServer["dns2"] = tagText
- tagText = serverNetworkDomA.getTextByTagRoute("dns3")
- if not tagText:
- tagText = None
- sourceServer["dns3"] = tagText
- for tagE in serverNetworkDomA.getElementsByTagRoute("interface"):
- interfaceDom = XDOM()
- interfaceDom.setDomObj(tagE)
- sourceServerList = {}
- tagText = interfaceDom.getTextByTagRoute("description")
- if not tagText:
- tagText = None
- sourceServerList["description"] = tagText
- tagText = interfaceDom.getTextByTagRoute("hwaddr")
- if not tagText:
- tagText = None
- sourceServerList["hwaddr"] = tagText
- tagText = interfaceDom.getTextByTagRoute("onboot")
- if not tagText:
- tagText = None
- sourceServerList["onboot"] = tagText
- tagText = interfaceDom.getTextByTagRoute("bootproto")
- if not tagText:
- tagText = None
- sourceServerList["bootproto"] = tagText
- tagText = interfaceDom.getTextByTagRoute("ipaddr")
- if not tagText:
- tagText = None
- sourceServerList["ipaddr"] = tagText
- tagText = interfaceDom.getTextByTagRoute("netmask")
- if not tagText:
- tagText = None
- sourceServerList["netmask"] = tagText
- tagText = interfaceDom.getTextByTagRoute("gateway")
- if not tagText:
- tagText = None
- sourceServerList["gateway"] = tagText
- sourceServer[interfaceDom.getTextByTagRoute("device")] = sourceServerList
- objServer = {}
- tagText = serverNetworkDomB.getTextByTagRoute(command + "name")
- if not tagText:
- taxText = None
- objServer["name"] = tagText
- tagText = serverNetworkDomB.getTextByTagRoute(command + "domain-name")
- if not tagText:
- tagText = None
- objServer["domain-name"] = tagText
- tagText = serverNetworkDomB.getTextByTagRoute(command + "search-domain")
- if not tagText:
- tagText = None
- objServer["search-domain"] = tagText
- tagText = serverNetworkDomB.getTextByTagRoute(command + "dns1")
- if not tagText:
- tagText = None
- objServer["dns1"] = tagText
- tagText = serverNetworkDomB.getTextByTagRoute(command + "dns2")
- if not tagText:
- tagText = None
- objServer["dns2"] = tagText
- tagText = serverNetworkDomB.getTextByTagRoute(command + "dns3")
- if not tagText:
- tagText = None
- objServer["dns3"] = tagText
- for tagE in serverNetworkDomB.getElementsByTagRoute(command + "interface"):
- interfaceDom = XDOM()
- interfaceDom.setDomObj(tagE)
- objServerList = {}
- tagText = interfaceDom.getTextByTagRoute("description")
- if not tagText:
- tagText = None
- objServerList["description"] = tagText
- tagText = interfaceDom.getTextByTagRoute("hwaddr")
- if not tagText:
- tagText = None
- objServerList["hwaddr"] = tagText
- tagText = interfaceDom.getTextByTagRoute("onboot")
- if not tagText:
- tagText = None
- objServerList["onboot"] = tagText
- tagText = interfaceDom.getTextByTagRoute("bootproto")
- if not tagText:
- tagText = None
- objServerList["bootproto"] = tagText
- tagText = interfaceDom.getTextByTagRoute("ipaddr")
- if not tagText:
- tagText = None
- objServerList["ipaddr"] = tagText
- tagText = interfaceDom.getTextByTagRoute("netmask")
- if not tagText:
- tagText = None
- objServerList["netmask"] = tagText
- tagText = interfaceDom.getTextByTagRoute("gateway")
- if not tagText:
- tagText = None
- objServerList["gateway"] = tagText
- objServer[interfaceDom.getTextByTagRoute("device")] = objServerList
- return sourceServer == objServer
diff --git a/src/com.gluster.storage.management.server.scripts/src/Utils.py b/src/com.gluster.storage.management.server.scripts/src/Utils.py
deleted file mode 100644
index fe2816d0..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/Utils.py
+++ /dev/null
@@ -1,1064 +0,0 @@
-# Copyright (c) 2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import sys
-import os
-import re
-import socket
-import struct
-import syslog
-import subprocess
-#import spwd
-import time
-#import uuid
-import tempfile
-import grp
-import pwd
-import inspect
-from datetime import datetime
-import urllib
-
-import Globals
-import Protocol
-
-RUN_COMMAND_ERROR = -1024
-LOG_SYSLOG = 1
-SYSLOG_REQUIRED = False
-LOG_FILE_NAME = None
-LOG_FILE_OBJ = None
-
-
-def _getLogCode(priority):
- if syslog.LOG_EMERG == priority:
- return "M"
- elif syslog.LOG_ALERT == priority:
- return "A"
- elif syslog.LOG_CRIT == priority:
- return "C"
- elif syslog.LOG_ERR == priority:
- return "E"
- elif syslog.LOG_WARNING == priority:
- return "W"
- elif syslog.LOG_NOTICE == priority:
- return "N"
- elif syslog.LOG_INFO == priority:
- return "I"
- elif syslog.LOG_DEBUG == priority:
- return "D"
- else: # UNKNOWN
- return "X"
-
-
-def setLogFile(fileName):
- global LOG_FILE_NAME
-
- if fileName:
- LOG_FILE_NAME = fileName
- return True
- return False
-
-
-def closeLog():
- global LOG_FILE_OBJ
- global SYSLOG_REQUIRED
-
- if SYSLOG_REQUIRED:
- syslog.closelog()
- SYSLOG_REQUIRED = False
- return True
-
- if LOG_FILE_OBJ:
- try:
- LOG_FILE_OBJ.close()
- LOG_FILE_OBJ = None
- except IOError, e:
- sys.stderr.write("Failed to close file: %s\n" % e)
- return False
- return True
-
-
-def openLog(fileName=None):
- global LOG_FILE_NAME
- global LOG_FILE_OBJ
- global SYSLOG_REQUIRED
-
- if fileName == LOG_SYSLOG:
- syslog.openlog(os.path.basename(sys.argv[0]))
- SYSLOG_REQUIRED = True
- return True
-
- if fileName:
- LOG_FILE_NAME = fileName
-
- if not LOG_FILE_NAME:
- return False
-
- closeLog()
-
- try:
- LOG_FILE_OBJ = open(LOG_FILE_NAME, "a")
- except IOError, e:
- sys.stderr.write("Failed to open file %s: %s\n" % (LOG_FILE_NAME, e))
- return False
- return True
-
-def record(priority, message=None):
- global LOG_FILE_OBJ
- global SYSLOG_REQUIRED
-
- stack = inspect.stack()[1]
- if stack[3] == "<module>":
- prefix = "%s:%s:%s" % (stack[1], stack[2], stack[3])
- else:
- prefix = "%s:%s:%s()" % (stack[1], stack[2], stack[3])
-
- if type(priority) == type("") or type(priority) == type(u""):
- logPriority = syslog.LOG_INFO
- logMessage = priority
- else:
- logPriority = priority
- logMessage = message
-
- if SYSLOG_REQUIRED:
- syslog.syslog(logPriority, "[%s]: %s" % (prefix, logMessage))
- return
-
- fp = sys.stderr
- if LOG_FILE_OBJ:
- fp = LOG_FILE_OBJ
-
- fp.write("[%s] %s [%s]: %s" % (str(datetime.now()), _getLogCode(logPriority), prefix, logMessage))
- if logMessage[-1] != '\n':
- fp.write("\n")
- fp.flush()
- return
-
-
-def trace(message):
- if message:
- log(syslog.LOG_DEBUG, message)
-
-
-def isString(value):
- return (type(value) == type("") or type(value) == type(u""))
-
-
-def getTempFileName():
- filedesc, filename = tempfile.mkstemp(prefix="GSP_")
- os.close(filedesc)
- return filename
-
-
-def runCommandBG(command, stdinFileObj=None, stdoutFileObj=None, stderrFileObj=None,
- shell=False, root=None):
- log("runCommandBG(): Trying to execute command [%s]" % command)
-
- if shell:
- if not isString(command):
- return None
- else:
- if isString(command):
- command = command.split()
-
- if root == True:
- if shell:
- command = "sudo " + command
- else:
- command = ['sudo'] + command
- elif isString(root):
- if shell:
- command = "sudo -u " + root + " " + command
- else:
- command = ['sudo', '-u', root] + command
-
- if not stdinFileObj:
- stdinFileObj=subprocess.PIPE
- if not stdoutFileObj:
- stdoutFileObj=subprocess.PIPE
- if not stderrFileObj:
- stderrFileObj=subprocess.PIPE
-
- try:
- process = subprocess.Popen(command,
- bufsize=-1,
- stdin=stdinFileObj,
- stdout=stdoutFileObj,
- stderr=stderrFileObj,
- shell=shell)
- return process
- except OSError, e:
- log("runCommandBG(): Failed to run command [%s]: %s" % (command, e))
- return None
-
-
-def runCommand(command,
- input='', output=False,
- shell=False, root=None):
- rv = {}
- rv["Status"] = RUN_COMMAND_ERROR
- rv["Stdout"] = None
- rv["Stderr"] = None
-
- try:
- stdinFileName = getTempFileName()
- stdinFileObj = open(stdinFileName, "w")
- stdinFileObj.write(input)
- stdinFileObj.close()
- stdinFileObj = open(stdinFileName, "r")
-
- stdoutFileName = getTempFileName()
- stdoutFileObj = open(stdoutFileName, "w")
-
- stderrFileName = getTempFileName()
- stderrFileObj = open(stderrFileName, "w")
- except IOError, e:
- log("Failed to create temporary file for executing command [%s]: %s" % (command, e))
- if output:
- return rv
- return rv["Status"]
-
- stdoutContent = None
- stderrContent = None
-
- process = runCommandBG(command,
- stdinFileObj=stdinFileObj,
- stdoutFileObj=stdoutFileObj,
- stderrFileObj=stderrFileObj,
- shell=shell, root=root)
- if process:
- rv['Status'] = process.wait()
- rv['Stdout'] = open(stdoutFileName).read()
- rv['Stderr'] = open(stderrFileName).read()
-
- os.remove(stdinFileName)
- os.remove(stdoutFileName)
- os.remove(stderrFileName)
-
- log("runCommand(): execution status of command [%s] = [%s]" % (command, rv))
-
- if output:
- return rv
- return rv["Status"]
-
-
-def runCommandFG(command, stdout=False, stderr=False,
- shell=False, root=None):
- if stdout or stderr:
- output = True
- else:
- output = False
- return runCommand(command, output=output, shell=shell, root=root)
-
-
-def IP2Number(ipString):
- try:
- return socket.htonl(struct.unpack("I", socket.inet_aton(ipString))[0])
- except socket.error:
- return None
- except TypeError:
- return None
- except struct.error:
- return None
-
-
-def Number2IP(number):
- try:
- return socket.inet_ntoa(struct.pack("I", socket.ntohl(number)))
- except socket.error:
- return None
- except AttributeError:
- return None
- except ValueError:
- return None
-
-
-def computeHostName(hostName):
- if not hostName:
- return False
-
- hostPrefix = ""
- for i in range(len(hostName), 0, -1):
- pos = i - 1
- if hostName[pos].isdigit():
- continue
- break
- hostPrefix = hostName[:pos+1]
- try:
- hostIndex = int(hostName[pos+1:])
- except ValueError:
- hostIndex = 0
- # TODO: Check the availablity of the (server) name
- return "%s%s" % (hostPrefix, hostIndex + 1)
-
-
-def daemonize():
- try:
- pid = os.fork()
- if pid > 0:
- # exit first parent
- sys.exit(0)
- except OSError, e:
- #sys.stderr.write("fork #1 failed: %d (%s)\n" % (e.errno, e.strerror))
- return False
-
- # decouple from parent environment
- os.chdir("/")
- os.setsid()
- os.umask(0)
-
- # do second fork
- try:
- pid = os.fork()
- if pid > 0:
- # exit from second parent
- sys.exit(0)
- except OSError, e:
- #sys.stderr.write("fork #2 failed: %d (%s)\n" % (e.errno, e.strerror))
- return False
-
- # redirect standard file descriptors
- sys.stdout.flush()
- sys.stderr.flush()
- si = file("/dev/null", 'r')
- so = file("/dev/null", 'a+')
- se = file("/dev/null", 'a+', 0)
- os.dup2(si.fileno(), sys.stdin.fileno())
- os.dup2(so.fileno(), sys.stdout.fileno())
- os.dup2(se.fileno(), sys.stderr.fileno())
- return True
-
-
-def getDownloadStatus(fileName):
- try:
- lines = [line for line in open(fileName)
- if "saved" in line or "%" in line]
- except IOError:
- return 0
- if not lines:
- return 0
- if "saved" in lines[-1]:
- return 100
- return lines[-1].split("%")[0].split()[-1]
-
-
-def getMeminfo():
- """-> dict of data from meminfo (str:int).
- Values are in kilobytes.
- """
- import re
- re_parser = re.compile(r'^(?P<key>\S*):\s*(?P<value>\d*)\s*kB' )
- result = {}
- for line in open('/proc/meminfo'):
- match = re_parser.match(line)
- if not match:
- continue # skip lines that don't parse
- key, value = match.groups(['key', 'value'])
- result[key] = int(value)
- result['MemUsed'] = (result['MemTotal'] - result['MemFree'])
- return result
-
-
-def getCpuUsage():
- """-> dict of cpuid : (usertime, nicetime, systemtime, idletime)
- cpuid "cpu" means the total for all CPUs.
- cpuid "cpuN" means the value for CPU N.
- """
- wanted_records = [line for line in open('/proc/stat') if
- line.startswith('cpu')]
- result = {}
- for cpuline in wanted_records:
- fields = cpuline.split()[:5]
- data = map(int, fields[1:])
- result[fields[0]] = tuple(data)
- return result
-
-
-def getLoadavg():
- """-> 5-tuple containing the following numbers in order:
- - 1-minute load average (float)
- - 5-minute load average (float)
- - 15-minute load average (float)
- - Number of threads/processes currently executing (<= number of
- CPUs) (int)
- - Number of threads/processes that exist on the system (int)
- - The PID of the most recently-created process on the system (int)
- """
- try:
- loadavgstr = open('/proc/loadavg', 'r').readline().strip()
- except IOError:
- syslog.syslog(syslog.LOG_ERR, "failed to find cpu load")
- return None
-
- data = loadavgstr.split()
- avg1, avg5, avg15 = map(float, data[:3])
- threads_and_procs_running, threads_and_procs_total = map(int,
- data[3].split('/'))
- most_recent_pid = int(data[4])
- ncpus = 1
- final_avg = ""
- if hasattr(os, "sysconf"):
- if os.sysconf_names.has_key("SC_NPROCESSORS_ONLN"):
- # Linux
- ncpus = os.sysconf("SC_NPROCESSORS_ONLN")
- if isinstance(ncpus, int) and ncpus > 0:
- final_avg = "%.4f" % (1.0 * avg1 / ncpus)
-
- # Future return everything when needed
- # Commenting this for the time being
- # avg5, avg15, threads_and_procs_running, threads_and_procs_total, most_recent_pid
- return final_avg
-
-
-def getInfinibandPortStatus():
-
- """ Check for availability of infiniband port
- and return which port is active in a key pair value
- """
-
- # Check for existence of infiniband ports
- value = os.popen ("ls /sys/class/infiniband").readline().strip()
-
- if not value:
- return None
-
- portlist = os.popen ("echo /sys/class/infiniband/*/ports/*").readline().split()
-
- portkeys = {}
-
- for port in portlist:
- value = os.popen ("cat %s/state" %
- port.strip()).readline().split(':')[1].strip()
- portkeys[port.strip()] = value
-
- return portkeys
-
-
-def getServerCount():
- try:
- return int(open(Globals.SERVER_COUNT_FILE).read().strip())
- except IOError:
- log("failed to read file %s" % Globals.SERVER_COUNT_FILE)
- return 1
- except ValueError:
- log("invalid number format in file %s" % Globals.SERVER_COUNT_FILE)
- return 1
-
-
-def setServerCount(count):
- try:
- open(Globals.SERVER_COUNT_FILE, "w").write("%s\n" % count)
- return True
- except IOError:
- log("failed to write file %s" % Globals.SERVER_COUNT_FILE)
- return False
-
-
-def getInstalledServerCount():
- try:
- return int(open(Globals.INSTALLED_SERVER_COUNT_FILE).read().strip())
- except IOError:
- log("failed to read file %s" % Globals.INSTALLED_SERVER_COUNT_FILE)
- return 1
- except ValueError:
- log("invalid number format in file %s" % Globals.INSTALLED_SERVER_COUNT_FILE)
- return 1
-
-
-def setInstalledServerCount(count):
- try:
- open(Globals.INSTALLED_SERVER_COUNT_FILE, "w").write("%s\n" % count)
- return True
- except IOError:
- log("failed to write file %s" % Globals.INSTALLED_SERVER_COUNT_FILE)
- return False
-
-
-def getLastInstalledServerIpList():
- ipList = {}
- networkDom = Protocol.XDOM()
- if not networkDom.parseFile(Globals.GLOBAL_NETWORK_FILE):
- log("failed to parse file %s" % Globals.GLOBAL_NETWORK_FILE)
- for tagE in networkDom.getElementsByTagRoute("server.interface"):
- interfaceDom = Protocol.XDOM()
- interfaceDom.setDomObj(tagE)
- ipAddress = interfaceDom.getTextByTagRoute("ipaddr")
- if ipAddress:
- ipList[interfaceDom.getTextByTagRoute("device")] = ipAddress
- return ipList
-
-
-def getFreeIpAddress(device=None):
- serverCount = getServerCount()
- installedServerCount = getInstalledServerCount()
- if serverCount == installedServerCount:
- return None
-
- availableServerCount = serverCount - installedServerCount
- ipList = getLastInstalledServerIpList()
-
- if not ipList:
- return None
-
- if device:
- if device not in ipList.keys():
- return None
- deviceIpAddress = ipList[device]
- else:
- deviceIpAddress = ipList.values()[0]
- ipNumber = IP2Number(deviceIpAddress)
-
- for i in range((ipNumber + availableServerCount), ipNumber, -1):
- ipAddress = Number2IP(i)
- if runCommandFG(["ping", "-qnc", "1", ipAddress]) != 0:
- return ipAddress
- return None
-
-
-def getPasswordHash(userName):
- try:
- #return spwd.getspnam(userName).sp_pwd
- return "Not implimented"
- except KeyError:
- return None
-
-
-def getTransactionKey():
- try:
- tokens = open(Globals.TRANSACTION_KEY_FILE).read().split(',')
- except IOError:
- return None, None
- return tokens
-
-
-def generateSignature():
- #return str(uuid.uuid4()) + ('--%f' % time.time())
- return ('--%f' % time.time())
-
-
-def getSignature():
- try:
- return open(Globals.SIGNATURE_FILE).read().strip()
- except IOError:
- log(syslog.LOG_ERR, "unable to read signaure from %s file" % Globals.SIGNATURE_FILE)
- return False
-
-
-def storeSignature(signature, fileName=Globals.SIGNATURE_FILE):
- try:
- open(fileName, "w").write(signature + "\n")
- except IOError:
- log(syslog.LOG_ERR, "unable to write signature %s to %s file" % (signature, fileName))
- return False
- return True
-
-
-def isUserExist(userName):
- try:
- grp.getgrnam(userName).gr_gid
- return True
- except KeyError:
- pass
- try:
- pwd.getpwnam(userName).pw_uid
- return True
- except KeyError:
- pass
- return False
-
-
-def getGsnUserInfo(fileName=Globals.GSN_USER_INFO_FILE):
- userInfo = {}
- userInfo["UserId"] = None
- userInfo["Password"] = None
- try:
- for line in open(fileName):
- line = line.strip()
- k = line[:line.index("=")]
- v = line[line.index("=") + 1:]
- if v[0] == "'" or v[0] == '"':
- v = v[1:]
- if v[-1] == "'" or v[-1] == '"':
- v = v[:-1]
- if k.upper() == "GSN_ID":
- userInfo["UserId"] = v
- if k.upper() == "GSN_PASSWORD":
- userInfo["Password"] = v
- except IOError, e:
- log("Failed to read file %s: %s" % (fileName, e))
- return userInfo
-
-
-def setGsnUserInfo(userInfo, fileName=Globals.GSN_USER_INFO_FILE):
- try:
- fp = open(fileName, "w")
- fp.write("GSN_ID=%s\n" % userInfo["UserId"])
- fp.write("GSN_PASSWORD=%s\n" % userInfo["Password"])
- fp.close()
- return True
- except IOError, e:
- log("Failed to write file %s: %s" % (fileName, e))
- return False
-
-
-def getPlatformVersion(fileName=Globals.GLUSTER_VERSION_FILE):
- versionInfo = {}
- versionInfo["Version"] = None
- versionInfo["Update"] = None
- try:
- lines = open(Globals.GLUSTER_VERSION_FILE).readlines()
- for line in open(fileName):
- line = line.strip()
- k = line[:line.index("=")]
- v = line[line.index("=") + 1:]
- if v[0] == "'" or v[0] == '"':
- v = v[1:]
- if v[-1] == "'" or v[-1] == '"':
- v = v[:-1]
- if k.upper() == "VERSION":
- versionInfo["Version"] = v
- if k.upper() == "UPDATE":
- versionInfo["Update"] = v
- except IOError, e:
- log("Failed to read file %s: %s" % (fileName, e))
- return versionInfo
-
-
-def setPlatformVersion(versionInfo, fileName=Globals.GLUSTER_VERSION_FILE):
- if isString(versionInfo):
- tokens = versionInfo.strip().split(".")
- if len(tokens) < 2:
- log("Invalid version format %s. Expecting <MAJOR>.<MINOR>.<PATCHLEVEL>" % versionInfo)
- return False
- version = ".".join(tokens[:2])
- update = ".".join(tokens[2:])
- if not update:
- update = "0"
- else:
- version = versionInfo["Version"]
- update = versionInfo["Update"]
- try:
- fp = open(fileName, "w")
- fp.write("VERSION=%s\n" % version)
- fp.write("UPDATE=%s\n" % update)
- fp.close()
- return True
- except IOError, e:
- log("Failed to write file %s: %s" % (fileName, e))
- return False
-
-
-def getGlusterUpdateDom(serverVersion):
- errorMessage = ""
- updateInfoDom = None
- try:
- baseUrl = open(Globals.GLUSTER_UPDATE_SITE_FILE).read().strip()
- except IOError, e:
- log("Failed to read file %s: %s" % (Globals.GLUSTER_UPDATE_SITE_FILE, e))
- errorMessage = "Failed to read update site file"
- return updateInfoDom, errorMessage
-
- try:
- url = "%s/%s/%s" % (baseUrl, serverVersion, Globals.GLUSTER_UPDATES_FILE)
- connection = urllib.urlopen(url)
- if connection.getcode() != 200:
- connection.close()
- errorMessage = "Error received from server to open URL %s" % url
- return updateInfoDom, errorMessage
- updateInfoString = connection.read()
- connection.close()
- except IOError, e:
- log("Failed to get update information from URL %s: %s" % (url, e))
- errorMessage = "Error getting update information"
- return updateInfoDom, errorMessage
-
- updateInfoDom = Protocol.XDOM()
- if not updateInfoDom.parseString(updateInfoString):
- log("XML parse error on update information content [%s]" % updateInfoString)
- errorMessage = "Parse error on update information"
- updateInfoDom = None
- return updateInfoDom, errorMessage
-
-
-def removeFile(fileName, root=False):
- if root:
- if runCommand("rm %s" % fileName, root=True) == 0:
- return True
- return False
- try:
- os.remove(fileName)
- return True
- except OSError, e:
- log("Failed to remove file %s: %s" % (fileName, e))
- return False
-
-
-def isLiveMode():
- return os.path.exists(Globals.LIVE_MODE_FILE)
-
-def convertKbToMb(kb):
- return kb / 1024.0
-
-
-def getIPIndex(indexFile):
- try:
- fp = open(indexFile)
- line = fp.readline()
- fp.close()
- index = int(line)
- except IOError:
- index = 0
- except ValueError:
- index = False
- return index
-
-def setIPIndex(index, indexFile):
- try:
- fp = open(indexFile, "w")
- fp.write(str(index))
- fp.close()
- except IOError:
- return False
- return True
-
-def IP2Number(ipString):
- try:
- return socket.htonl(struct.unpack("I", socket.inet_aton(ipString))[0])
- except socket.error:
- return None
- except TypeError:
- return None
- except struct.error:
- return None
-
-def Number2IP(number):
- try:
- return socket.inet_ntoa(struct.pack("I", socket.ntohl(number)))
- except socket.error:
- return None
- except AttributeError:
- return None
- except ValueError:
- return None
-
-def hasEntryFoundInFile(searchString, dnsEntryFileName):
- try:
- addServerEntryList = open(dnsEntryFileName).read().split()
- except IOError:
- return None
- if searchString in addServerEntryList:
- return True
- return False
-
-
-def computeIpAddress(ipAddress, startIp, endIp):
- startIpNumber = IP2Number(startIp)
- endIpNumber = IP2Number(endIp)
- if not ipAddress:
- return startIp
- nextIpNumber = IP2Number(ipAddress)
- while True:
- nextIpNumber = nextIpNumber + 1
- ipAddress = Number2IP(nextIpNumber)
- rv = runCommandFG(["ping", "-qnc", "1", ipAddress])
- if type(rv) == type(True):
- return False
- if rv != 0:
- break
-
- if nextIpNumber >= startIpNumber and nextIpNumber <= endIpNumber:
- return ipAddress
-
- nextIpNumber = IP2Number(startIp)
- while True:
- ipAddress = Number2IP(nextIpNumber)
- nextIpNumber = nextIpNumber + 1
- rv = runCommandFG(["ping", "-qnc", "1", ipAddress])
- if type(rv) == type(True):
- return False
- if rv != 0:
- break
-
- if IP2Number(ipAddress) >= startIpNumber and IP2Number(ipAddress) <= endIpNumber:
- return ipAddress
- return False
-
-
-def setHostNameAndIp(hostName, ipAddress, lastAddServerDetailFile):
- try:
- fp = open(lastAddServerDetailFile, "w")
- fp.write("HOSTNAME=" + hostName + "\n")
- fp.write("IPADDRESS=" + ipAddress);
- fp.close()
- except IOError:
- return False
- return True
-
-def getPort():
- try:
- fd = open(Globals.PORT_FILE, "r")
- portString = fd.readline()
- fd.close()
- port = int(portString)
- except IOError:
- port = Globals.DEFAULT_PORT - 2
- except ValueError:
- port = Globals.DEFAULT_PORT - 2
- return port
-
-def setPort(port):
- try:
- fd = open(Globals.PORT_FILE, "w")
- fd.write(str(port))
- fd.close()
- except IOError:
- return False
- return True
-
-def getServerAgentCredentials():
- try:
- lines = open(Globals.SERVERAGENT_AUTH_FILE).readlines()
- except IOError:
- return None,None
-
- userName = None
- password = None
-
- for l in lines:
- if l[-1] == '\n':
- l = l[:-1]
- k = l[:l.index('=')]
- v = l[l.index('=') + 1:]
- if v[0] == "'" or v[0] == '"':
- v = v[1:]
- if v[-1] == "'" or v[-1] == '"':
- v = v[:-1]
- if k.upper() == "AGENT_ID":
- userName = v
- if k.upper() == "AGENT_PASSWORD":
- password = v
-
- return userName, password
-
-def getGatewayAgentCredentials():
- try:
- lines = open(Globals.GATEWAYAGENT_AUTH_FILE).readlines()
- except IOError:
- return None
-
- #userName = None
- password = None
-
- for l in lines:
- if l[-1] == '\n':
- l = l[:-1]
- k = l[:l.index('=')]
- v = l[l.index('=') + 1:]
- if v[0] == "'" or v[0] == '"':
- v = v[1:]
- if v[-1] == "'" or v[-1] == '"':
- v = v[:-1]
- #if k.upper() == "AGENT_ID":
- # userName = v
- if k.upper() == "AGENT_PASSWORD":
- password = v
-
- return password
-
-def getWebAgentCredentials():
- try:
- lines = open(Globals.WEBAGENT_AUTH_FILE).readlines()
- except IOError:
- return None,None
-
- userName = None
- password = None
-
- for l in lines:
- if l[-1] == '\n':
- l = l[:-1]
- k = l[:l.index('=')]
- v = l[l.index('=') + 1:]
- if v[0] == "'" or v[0] == '"':
- v = v[1:]
- if v[-1] == "'" or v[-1] == '"':
- v = v[:-1]
- if k.upper() == "AGENT_ID":
- userName = v
- if k.upper() == "AGENT_PASSWORD":
- password = v
-
- return userName, password
-
-def daemonize():
- try:
- pid = os.fork()
- if pid > 0:
- # exit first parent
- sys.exit(0)
- except OSError, e:
- #sys.stderr.write("fork #1 failed: %d (%s)\n" % (e.errno, e.strerror))
- return False
-
- # decouple from parent environment
- os.chdir("/")
- os.setsid()
- os.umask(0)
-
- # do second fork
- try:
- pid = os.fork()
- if pid > 0:
- # exit from second parent
- sys.exit(0)
- except OSError, e:
- #sys.stderr.write("fork #2 failed: %d (%s)\n" % (e.errno, e.strerror))
- return False
-
- # redirect standard file descriptors
- sys.stdout.flush()
- sys.stderr.flush()
- si = file("/dev/null", 'r')
- so = file("/dev/null", 'a+')
- se = file("/dev/null", 'a+', 0)
- os.dup2(si.fileno(), sys.stdin.fileno())
- os.dup2(so.fileno(), sys.stdout.fileno())
- os.dup2(se.fileno(), sys.stderr.fileno())
- return True
-
-def getFreeIpAddress():
- startRange, endRange = getStoragePoolInfo()
- if not (startRange and endRange):
- return None
-
- startIpNumber = IP2Number(startRange)
- endIpNumber = IP2Number(endRange)
-
- for ipNumber in range(endIpNumber, startIpNumber, -1):
- rv = runCommandFG(["ping", "-qnc", "1", Number2IP(ipNumber)])
- if type(rv) == type(True):
- return None
- if rv != 0:
- return Number2IP(ipNumber)
- return None
-
-def getDhcpServerStatus():
- status = runCommandFG(["sudo", "service", "dnsmasq", " status"])
- if type(status) == type(True) or 0 != status:
- return False
- return True
-
-def startDhcpServer():
- status = runCommandFG(["sudo", "service", "dnsmasq", " start"])
- if type(status) == type(True) or 0 != status:
- return False
- return True
-
-def stopDhcpServer():
- status = runCommandFG(["sudo", "service", "dnsmasq", " stop"])
- if type(status) == type(True) or 0 != status:
- return False
- return True
-
-def getStoragePoolInfo():
- startRange = None
- endRange = None
- try:
- for line in open(Globals.GLUSTER_SERVER_POOL_FILE):
- tokens = line.split("=")
- if tokens[0] == "STARTRANGE":
- startRange = tokens[1].strip()
- if tokens[0] == "ENDRANGE":
- endRange = tokens[1].strip()
- except IOError:
- log(syslog.LOG_ERR, "unable to read %s file" % Globals.GLUSTER_SERVER_POOL_FILE)
- return startRange, endRange
-
-def configureDnsmasq(serverIpAddress, dhcpIpAddress):
- dnsmasqConfFile = Globals.GLUSTER_CONF_CONF_DIR + "/dnsmasq.conf"
- serverPortString = "68"
- try:
- for arg in open("/proc/cmdline").read().strip().split():
- token = arg.split("=")
- if token[0] == "dhcp":
- serverPortString = token[1]
- break
- except IOError:
- log(syslog.LOG_ERR, "Failed to read /proc/cmdline. Continuing with default port 68")
- try:
- serverPort = int(serverPortString)
- except ValueError:
- log(syslog.LOG_ERR, "Invalid dhcp port '%s' in /proc/cmdline. Continuing with default port 68" % serverPortString)
- serverPort = 68
-
- try:
- fp = open(dnsmasqConfFile, "w")
- fp.write("no-hosts\n")
- #fp.write("addn-hosts=%s\n" % Globals.GLUSTER_DNS_ENTRIES)
- fp.write("bind-interfaces\n")
- fp.write("except-interface=lo\n")
- fp.write("dhcp-range=%s,%s\n" % (dhcpIpAddress, dhcpIpAddress))
- fp.write("dhcp-lease-max=1\n")
- #fp.write("dhcp-option=option:router,%s\n" % serverIp)
- #fp.write("dhcp-option=option:ntp-server,%s\n" % serverIp)
- fp.write("dhcp-alternate-port=%s\n" % serverPort)
- fp.write("server=%s\n" % serverIpAddress)
- fp.write("dhcp-script=/usr/sbin/server-info\n")
- fp.close()
- except IOError:
- log(syslog.LOG_ERR, "unable to write dnsmasq configuration %s" % dnsmasqConfFile)
- return False
- status = runCommandFG(["sudo", "cp", "-f", Globals.GLUSTER_CONF_CONF_DIR + "/dnsmasq.conf", Globals.DNSMASQ_CONF_FILE])
- if type(status) == type(True) or 0 != status:
- log(syslog.LOG_ERR, "unable to copy dnsmasq configuration to " + Globals.DNSMASQ_CONF_FILE)
- return False
- return True
-
-def configureDhcpServer(serverIpAddress, dhcpIpAddress):
- return configureDnsmasq(serverIpAddress, dhcpIpAddress)
-
-def log(priority, message=None):
- if type(priority) == type(""):
- logPriority = syslog.LOG_INFO
- logMessage = priority
- else:
- logPriority = priority
- logMessage = message
- if not logMessage:
- return
- #if Globals.DEBUG:
- # sys.stderr.write(logMessage)
- else:
- syslog.syslog(logPriority, logMessage)
- return
-
-
-def stripEmptyLines(content):
- ret = ""
- for line in content.split("\n"):
- if line.strip() != "":
- ret += line
- return ret
-
-
-def getDeviceFormatStatusFile(device):
- return "/var/tmp/format_%s.status" % device.replace('/', '_')
-
-def getDeviceFormatLockFile(device):
- return "/var/lock/format_%s.lock" % device.replace('/', '_')
-
-def getDeviceFormatOutputFile(device):
- return "/var/tmp/format_%s.out" % device.replace('/', '_')
diff --git a/src/com.gluster.storage.management.server.scripts/src/VolumeUtils.py b/src/com.gluster.storage.management.server.scripts/src/VolumeUtils.py
deleted file mode 100644
index a19ccd62..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/VolumeUtils.py
+++ /dev/null
@@ -1,610 +0,0 @@
-# Copyright (c) 2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import os
-import glob
-import tempfile
-from operator import itemgetter
-import Globals
-from Protocol import *
-from Utils import *
-from DiskUtils import *
-from ServerUtils import *
-import GlusterdUtils as Glusterd
-
-
-def isVolumeExist(volumeName):
- volumeDom = XDOM()
- return volumeDom.parseFile("%s/%s.xml" % (Globals.VOLUME_CONF_DIR, volumeName)) and \
- Glusterd.isVolumeExist(volumeName)
-
-
-def getVolumeUuid(volumeName):
- fileName = "%s/%s.xml" % (Globals.VOLUME_CONF_DIR, volumeName)
- volumeDom = XDOM()
- if not volumeDom.parseFile(fileName):
- log("Failed to parse volume configuration file %s of %s" % (fileName, volumeName))
- return None
- return volumeDom.getTextByTagRoute("uuid")
-
-
-def readVolumeSmbConfFile(fileName=Globals.VOLUME_SMBCONF_FILE):
- entryList = []
- try:
- fp = open(fileName)
- for line in fp:
- tokens = line.split("#")[0].strip().split(";")[0].strip().split("=")
- if len(tokens) != 2:
- continue
- if tokens[0].strip().upper() == "INCLUDE":
- entryList.append(tokens[1].strip())
- fp.close()
- except IOError, e:
- log("Failed to open file %s: %s" % (fileName, str(e)))
- return entryList
-
-
-def writeVolumeSmbConfFile(entryList, fileName=Globals.VOLUME_SMBCONF_FILE):
- try:
- fp = open(fileName, "w")
- for entry in entryList:
- fp.write("include = %s\n" % entry)
- fp.close()
- return True
- except IOError, e:
- log("Failed to write file %s: %s" % (fileName, str(e)))
- return False
-
-
-def includeVolume(volumeName, fileName=Globals.VOLUME_SMBCONF_FILE):
- volumeFile = "%s/%s.smbconf" % (Globals.VOLUME_CONF_DIR, volumeName)
- if not os.path.exists(volumeFile):
- return False
- entryList = readVolumeSmbConfFile(fileName)
- if volumeFile in entryList:
- return True
- entryList.append(volumeFile)
- return writeVolumeSmbConfFile(entryList, fileName)
-
-
-def excludeVolume(volumeName, fileName=Globals.VOLUME_SMBCONF_FILE):
- volumeFile = "%s/%s.smbconf" % (Globals.VOLUME_CONF_DIR, volumeName)
- if not os.path.exists(volumeFile):
- return False
- entryList = readVolumeSmbConfFile(fileName)
- if volumeFile not in entryList:
- return True
- entryList.remove(volumeFile)
- log("entryList = %s" % entryList)
- return writeVolumeSmbConfFile(entryList, fileName)
-
-
-def writeVolumeCifsConfiguration(volumeName, userList, adminUser=None):
- volumeFile = "%s/%s.smbconf" % (Globals.VOLUME_CONF_DIR, volumeName)
- try:
- fp = open(volumeFile, "w")
- fp.write("[%s]\n" % volumeName)
- fp.write(" comment = %s volume served by Gluster\n" % volumeName)
- fp.write(" path = %s/%s\n" % (Globals.CIFS_EXPORT_DIR, volumeName))
- fp.write(" guest ok = yes\n")
- fp.write(" public = yes\n")
- fp.write(" writable = yes\n")
- if adminUser:
- fp.write(" admin users = %s, %s\n" % (adminUser, ", ".join(userList)))
- fp.write(" valid users = %s, %s\n" % (adminUser, ", ".join(userList)))
- else:
- fp.write(" admin users = %s\n" % (", ".join(userList)))
- fp.write(" valid users = %s\n" % (", ".join(userList)))
- fp.close()
- return True
- except IOError, e:
- log("Failed to write file %s: %s" % (volumeFile, str(e)))
- return False
-
-
-def removeVolumeCifsConfiguration(volumeName):
- volumeFile = "%s/%s.smbconf" % (Globals.VOLUME_CONF_DIR, volumeName)
- try:
- os.remove(volumeFile)
- except OSError, e:
- log("Failed to remove file %s: %s" % (volumeFile, str(e)))
-
-
-def getVolumeListByPartitionName(partitionName):
- volumeConfigFileList = glob.glob(Globals.VOLUME_CONF_DIR + "/*.xml")
- if not volumeConfigFileList:
- return None
-
- volumeList = []
- for volumeXmlFile in volumeConfigFileList:
- volumeDom = XDOM()
- volumeDom.parseFile(volumeXmlFile)
- serverTopology = volumeDom.getElementsByTagRoute("volume.topology.group")
- serverPartitionFound = False
- for topology in serverTopology:
- partitionDom = XDOM()
- for partition in topology.getElementsByTagName("partition"):
- partitionDom.setDomObj(partition)
- if partitionDom.getTextByTagRoute("name") == partitionName:
- serverPartitionFound = True
- break
- if serverPartitionFound:
- volumeList.append(volumeDom.getElementsByTagRoute("volume")[0])
- break
- return volumeList
-
-
-def addServerPartitionConfig(inputDom, groupOrder, partitionTag):
- if not(inputDom and groupOrder and partitionTag):
- return False
- groupDom = XDOM()
- for group in inputDom.getElementsByTagRoute("topology.group"):
- groupDom.setDomObj(group)
- order = groupDom.getTextByTagRoute("order")
- if order and int(order) == groupOrder:
- group.appendChild(partitionTag)
- return inputDom
- return False
-
-
-def removeServerPartitionConfig(inputDom, partitionName):
- if not(inputDom and partitionName):
- return False
- for group in inputDom.getElementsByTagRoute("topology.group"):
- partitionDom = XDOM()
- for partition in group.getElementsByTagName("partition"):
- partitionDom.setDomObj(partition)
- if partitionDom.getTextByTagRoute("name") == partitionName:
- group.removeChild(partition)
- return inputDom
- return False
-
-
-def updateServerPartitionConfig(inputDom, partitionName, partitionTag):
- if not(inputDom and partitionName and partitionTag):
- return False
- for group in inputDom.getElementsByTagRoute("topology.group"):
- partitionDom = XDOM()
- for partition in group.getElementsByTagName("partition"):
- partitionDom.setDomObj(partition)
- if partitionDom.getTextByTagRoute("name") == partitionName:
- try:
- group.replaceChild(partitionTag, partition)
- return inputDom
- except AttributeError:
- return False
- return False
-
-
-def getServerPartitionConfigUuid(serverGroupList, serverPartition):
- for group in serverGroupList:
- if not group:
- continue
- partitionDom = XDOM()
- for partition in group.getElementsByTagName("partition"):
- partitionDom.setDomObj(partition)
- partitionName = partition.getTextByTagName("name")
- if not partitionName:
- continue
- if partitionName == serverPartition:
- return partitionDom.getTextByTagName("uuid")
- return False
-
-
-def setServerPartitionConfigProperty(inputDom, partitionName, propertyDict):
- if not(inputDom and partitionName and propertyDict):
- return False
- for group in inputDom.getElementsByTagRoute("topology.group"):
- partitionDom = XDOM()
- for partition in group.getElementsByTagName("partition"):
- partitionDom.setDomObj(partition)
- if partitionDom.getTextByTagRoute("name") == partitionName:
- for part in propertyDict.keys():
- x = partition.getElementsByTagName(part)
- if x:
- x[0].childNodes[0].nodeValue = propertyDict[part]
- return inputDom
- return False
-
-
-def getSortedServerPartitionConfigProperty(inputDom):
- groupDict = {}
- if not inputDom:
- return None
- groupDom = XDOM()
- for group in inputDom.getElementsByTagRoute("topology.group"):
- groupDom.setDomObj(group)
- groupOrder = groupDom.getTextByTagRoute("order")
- if not groupOrder:
- return None
- groupOrder = int(groupOrder)
- if groupOrder < 1:
- return None
- partitionDom = XDOM()
- partitionDict = {}
- for partition in group.getElementsByTagName("partition"):
- partitionDom.setDomObj(partition)
- partitionName = partitionDom.getTextByTagRoute("name")
- if not partitionName:
- return None
- partitionOrder = partitionDom.getTextByTagRoute("order")
- if not partitionOrder:
- return None
- partitionUuid = partitionDom.getTextByTagRoute("uuid")
- partitionOrder = int(partitionOrder)
- if partitionOrder < 1:
- return None
- partitionDetails = partitionName.split(":")
- if not partitionDetails or len(partitionDetails) < 1:
- return None
- partitionDict[partitionOrder] = { "order":partitionOrder,
- "servername":partitionDetails[0],
- "name":partitionDetails[1],
- "uuid":partitionUuid}
- groupDict[groupOrder] = partitionDict
-
- serverList = []
- groupOrderList = groupDict.keys()
- groupOrderList.sort()
- for groupOrder in groupOrderList:
- partitionOrderList = groupDict[groupOrder].keys()
- partitionOrderList.sort()
- for partitionOrder in partitionOrderList:
- serverList.append(groupDict[groupOrder][partitionOrder])
-
- return serverList
-
-
-def getSortedServerPartitionList(serverGroupElements):
- serverPartitionDict = {}
- groupOrderList = []
- serverList = []
- partitionDom = XDOM()
- for group in serverGroupElements:
- if not group:
- continue
- groupOrderE = group.getElementsByTagName("order")
- if not (groupOrderE and groupOrderE[0].childNodes):
- return None
- value = int(XDOM.getText(groupOrderE[0].childNodes))
- if value > 0:
- groupOrderList.append(value)
- partitionDict = {}
- for partition in group.getElementsByTagName("partition"):
- partitionDom.setDomObj(partition)
-
- partitionName = partitionDom.getTextByTagRoute("name")
- if not partitionName:
- return None
- partitionOrder = partitionDom.getTextByTagRoute("order")
- if not partitionOrder:
- return None
- partitionUuid = partitionDom.getTextByTagRoute("uuid")
- partitionDict[int(partitionOrder)] = [partitionName, partitionUuid]
- serverPartitionDict[value] = partitionDict
- groupOrderList.sort()
-
- for groupOrder in groupOrderList:
- items = serverPartitionDict[groupOrder].items()
- items.sort(key = itemgetter(0))
- serverList = serverList + [ items[i][1] for i in range(0,len(items))]
- return serverList
-
-
-def clearExportDirectory(serverList, volumeName, volumeUuid):
- thisServerName = getCurrentServerName()
- for exportServer in serverList:
- serverName, partition = exportServer[0].split(":")
- if thisServerName != serverName:
- continue
- partitionUuid = getUuidByDiskPartition(getDevice(partition))
- if not partitionUuid:
- log("unable to find uuid of partition %s" % partition)
- return False
- volumeDirName = "%s/%s/%s" % (Globals.GLUSTER_LUN_DIR, partitionUuid, volumeUuid)
- if os.path.exists(volumeDirName):
- ## Removing /data/PARTITION-UUID/VOLUME-UUID/
- ## TODO: Get an option to remove it at this time
- if runCommandFG("mv -f %s %s.delete" % (volumeDirName, volumeDirName), root=True) != 0:
- return False
- if runCommandFG("rm -f %s/%s/volumes/%s" % (Globals.GLUSTER_LUN_DIR, partitionUuid, volumeName), root=True) != 0:
- return False
- return True
-
-
-def createExportDirectory(serverList, volumeName, volumeUuid):
- thisServerName = getCurrentServerName()
- tempVolumeNameFile = getTempFileName()
-
- try:
- fp = open(tempVolumeNameFile, "w")
- fp.write("VOLUME_NAME=%s\n" % volumeName)
- fp.write("VOLUME_UUID=%s\n" % volumeUuid)
- fp.close()
- except IOError, e:
- log("failed to create temporary file for volume-name: %s" % (volumeName, str(e)))
- return False
-
- for exportServer in serverList:
- serverName, partition = exportServer[0].split(":")
- if thisServerName != serverName:
- continue
- partitionUuid = getUuidByDiskPartition(getDevice(partition))
- if not partitionUuid:
- log("unable to find uuid of partition %s" % partition)
- return False
-
- volumeDirName = "%s/%s/%s" % (Globals.GLUSTER_LUN_DIR, partitionUuid, volumeUuid)
- ## Creating /data/PARTITION-UUID/VOLUME-UUID/
- if runCommandFG("mkdir %s" % volumeDirName, root=True) != 0:
- return False
-
- ## Creating /data/PARTITION-UUID/VOLUME-UUID/exports/
- ## Creating /data/PARTITION-UUID/VOLUME-UUID/exports/brick1/
- if runCommandFG("mkdir -p %s/exports/brick1" % volumeDirName, root=True) != 0:
- return False
-
- ## Creating /data/PARTITION-UUID/VOLUME-UUID/log/
- if runCommandFG("mkdir %s/log" % volumeDirName, root=True) != 0:
- return False
-
- ## Creating /data/PARTITION-UUID/VOLUME-UUID/config/
- if runCommandFG("mkdir %s/config" % volumeDirName, root=True) != 0:
- return False
-
- volumeLinkDirName = "%s/%s/volumes" % (Globals.GLUSTER_LUN_DIR, partitionUuid)
- if not os.path.exists(volumeLinkDirName):
- if runCommandFG("mkdir %s" % volumeLinkDirName, root=True) != 0:
- return False
-
- ## Creating symlink
- ## /data/PARTITION-UUID/volumes/VOLUME-NAME -> /data/PARTITION-UUID/VOLUME-UUID/
- command = "ln -fTs %s %s/%s" % (volumeDirName,
- volumeLinkDirName, volumeName)
- if runCommandFG(command, root=True) != 0:
- return False
-
- if runCommandFG("cp -f %s %s/config/volume-name" % (tempVolumeNameFile, volumeDirName), root=True) != 0:
- return False
-
- try:
- os.remove(tempVolumeNameFile)
- except OSError, e:
- log("Failed to remove file %s: %s" % (tempVolumeNameFile, str(e)))
-
- return True
-
-
-def getPartitionListByServerName(volumeDom, serverName, serverPartitionList=None):
- partitionList = {}
- if serverPartitionList:
- for partitionName in serverPartitionList:
- partitionUuid = getServerDiskPartitionUuid(serverName, partitionName)
- if not partitionUuid:
- log(syslog.LOG_ERR, "failed to get disk partition %s uuid of server %s" % (partitionName, serverName))
- return None
- partitionList[partitionName] = partitionUuid
- return partitionList
- for group in volumeDom.getElementsByTagRoute("topology.group"):
- for partitionTag in group.getElementsByTagName("partition"):
- nameE = partitionTag.getElementsByTagName("name")
- if not nameE:
- continue
- partition = XDOM.getText(nameE[0].childNodes)
- if not partition:
- continue
- server, partitionName = partition.split(":")
- if server != serverName:
- continue
- partitionUuid = getServerDiskPartitionUuid(serverName, partitionName)
- if not partitionUuid:
- log(syslog.LOG_ERR, "failed to get disk partition %s uuid of server %s" % (partitionName, serverName))
- return None
- partitionList[partitionName] = partitionUuid
- return partitionList
-
-
-def isVolumeRunning(volumeName):
- return Glusterd.isVolumeRunning(volumeName)
-
-def addVolumeMigrationDetails(sourcePartition, destinationPartition, volumeName):
- migrationDom = XDOM()
- if not os.path.exists(Globals.VOLUME_MIGRATION_LIST_FILE):
- migrationDom.appendTagRoute("volume-migration")
- else:
- if not migrationDom.parseFile(Globals.VOLUME_MIGRATION_LIST_FILE):
- log("Failed to load volume-migration.xml file")
- return None
- migrationList = migrationDom.getElementsByTagRoute("volume-migration.migration")
- for tagE in migrationList:
- dom = XDOM()
- dom.setDomObj(tagE)
- if dom.getTextByTagRoute("source-partition") == sourcePartition and \
- dom.getTextByTagRoute("destination-partition") == destinationPartition and \
- dom.getTextByTagRoute("volume-name") == volumeName:
- return False
- migrationTag = migrationDom.getElementsByTagRoute("volume-migration")
- if not migrationTag:
- return None
- partitionTag = migrationDom.createTag("migration")
- partitionTag.appendChild(migrationDom.createTag("source-partition", sourcePartition))
- partitionTag.appendChild(migrationDom.createTag("destination-partition", destinationPartition))
- partitionTag.appendChild(migrationDom.createTag("volume-name", volumeName))
- migrationTag[0].appendChild(partitionTag)
- if not migrationDom.writexml(Globals.VOLUME_MIGRATION_LIST_FILE):
- log("Unable to write disk migration details into %s/volume-migration.xml" % Globals.GLUSTER_BASE_DIR)
- return False
- return True
-
-
-def removeVolumeMigrationDetails(sourcePartition, destinationPartition, volumeName):
- migrationDom = XDOM()
- if not os.path.exists(Globals.VOLUME_MIGRATION_LIST_FILE):
- return None
- if not migrationDom.parseFile(Globals.VOLUME_MIGRATION_LIST_FILE):
- log("Failed to load volume-migration.xml file")
- return None
- migrationList = migrationDom.getElementsByTagRoute("volume-migration.migration")
- for tagE in migrationList:
- dom = XDOM()
- dom.setDomObj(tagE)
- if dom.getTextByTagRoute("source-partition") == sourcePartition and \
- dom.getTextByTagRoute("destination-partition") == destinationPartition and \
- dom.getTextByTagRoute("volume-name") == volumeName:
- migrationDom.getElementsByTagRoute("volume-migration")[0].removeChild(tagE)
- if not migrationDom.writexml(Globals.VOLUME_MIGRATION_LIST_FILE):
- log("Unable to write disk migration details into %s/volume-migration.xml" % Globals.GLUSTER_BASE_DIR)
- return False
- return True
-
-
-def addPartitionMigrationDetails(sourcePartition, destinationPartition, volumeList=None):
- migrationDom = XDOM()
- if not os.path.exists(Globals.MIGRATE_PARTITION_LIST_FILE):
- migrationDom.appendTagRoute("partition-migration")
- else:
- if not migrationDom.parseFile(Globals.MIGRATE_PARTITION_LIST_FILE):
- log("Failed to load migration.xml file")
- return None
- migrationList = migrationDom.getElementsByTagRoute("partition-migration.migration")
- for tagE in migrationList:
- dom = XDOM()
- dom.setDomObj(tagE)
- if dom.getTextByTagRoute("source-partition") == sourcePartition:
- return False
- if dom.getTextByTagRoute("destination-partition") == destinationPartition:
- return False
- migrationTag = migrationDom.getElementsByTagRoute("partition-migration")
- if not migrationTag:
- return None
- partitionTag = migrationDom.createTag("migration")
- partitionTag.appendChild(migrationDom.createTag("source-partition", sourcePartition))
- partitionTag.appendChild(migrationDom.createTag("destination-partition", destinationPartition))
- migrationTag[0].appendChild(partitionTag)
- if not migrationDom.writexml(Globals.MIGRATE_PARTITION_LIST_FILE):
- log("Unable to write disk migration details into %s/migration.xml" % Globals.GLUSTER_BASE_DIR)
- return False
- if volumeList:
- for volumeName in volumeList:
- addVolumeMigrationDetails(sourcePartition, destinationPartition, volumeName)
- return True
-
-
-def removePartitionMigrationDetails(sourcePartition, destinationPartition, volumeList=None):
- migrationDom = XDOM()
- if not os.path.exists(Globals.MIGRATE_PARTITION_LIST_FILE):
- return None
- if not migrationDom.parseFile(Globals.MIGRATE_PARTITION_LIST_FILE):
- log("Failed to load migration.xml file")
- return None
- migrationList = migrationDom.getElementsByTagRoute("partition-migration.migration")
- for tagE in migrationList:
- dom = XDOM()
- dom.setDomObj(tagE)
- if dom.getTextByTagRoute("source-partition") == sourcePartition and \
- dom.getTextByTagRoute("destination-partition") == destinationPartition:
- migrationDom.getElementsByTagRoute("partition-migration")[0].removeChild(tagE)
- if not migrationDom.writexml(Globals.MIGRATE_PARTITION_LIST_FILE):
- log("Unable to write disk migration details into %s/migration.xml" % Globals.GLUSTER_BASE_DIR)
- return False
- if volumeList:
- for volumeName in volumeList:
- removeVolumeMigrationDetails(sourcePartition, destinationPartition, volumeName)
- return True
-
-
-def isMigrationInProgress(partition):
- migrationDom = XDOM()
- if not os.path.exists(Globals.MIGRATE_PARTITION_LIST_FILE):
- return None
- if not migrationDom.parseFile(Globals.MIGRATE_PARTITION_LIST_FILE):
- log("Failed to load migration.xml file")
- return None
- migrationList = migrationDom.getElementsByTagRoute("partition-migration.migration")
- for tagE in migrationList:
- dom = XDOM()
- dom.setDomObj(tagE)
- if migrationDom.getTextByTagRoute("source-partition") == partition or \
- migrationDom.getTextByTagRoute("destination-partition") == partition:
- return True
- return False
-
-
-def getServerDiskPartitionUuid(serverName, partition):
- diskConfigDom = XDOM()
- if not diskConfigDom.parseFile("%s/%s/disk.xml" % (Globals.SERVER_CONF_DIR, serverName)):
- return None
- for disk in diskConfigDom.getElementsByTagRoute("disks.disk"):
- diskDom = XDOM()
- diskDom.setDomObj(disk)
- partitionList = diskDom.getElementsByTagRoute("partition")
- for tagE in partitionList:
- partitionDom = XDOM()
- partitionDom.setDomObj(tagE)
- if partitionDom.getTextByTagRoute("device") == partition:
- return partitionDom.getTextByTagRoute("uuid")
-
-
-def getVolumeServerList(requestDom, requestFlag=True):
- if requestFlag:
- serverGroupElementList = requestDom.getElementsByTagRoute("command.volume.topology.group")
- else:
- serverGroupElementList = requestDom.getElementsByTagRoute("volume.topology.group")
- if not serverGroupElementList:
- return None
- serverList = []
- partitionDom = XDOM()
- for group in serverGroupElementList:
- for partition in group.getElementsByTagName("partition"):
- partitionDom.setDomObj(partition)
- partitionName = partitionDom.getTextByTagRoute("name")
- if not partitionName:
- continue
- serverPartition = partitionName.split(":")
- if not(len(serverPartition) > 1 and serverPartition[1]):
- return None
- if serverPartition[0] not in serverList:
- serverList.append(serverPartition[0])
- return serverList
-
-
-def getVolumeServerListByName(volumeName):
- serverList = []
- serverDom = XDOM()
- volumeDom = XDOM()
- if not os.path.exists("%s/%s.xml" % (Globals.VOLUME_CONF_DIR, volumeName)):
- return False
- if not volumeDom.parseFile("%s/%s.xml" % (Globals.VOLUME_CONF_DIR, volumeName)):
- return False
- return getVolumeServerList(volumeDom, False)
-
-
-def getMigrateVolumeServerPartitionInfo(volumeName):
- volumeMigrationDom = XDOM()
- if not volumeMigrationDom.parseFile(Globals.VOLUME_MIGRATION_LIST_FILE):
- Utils.log("Failed to parse file %s" % Globals.VOLUME_MIGRATION_LIST_FILE)
- return None
- volumeInfo = {}
- dom = XDOM()
- for tagE in volumeMigrationDom.getElementsByTagRoute("volume-migration.migration"):
- dom.setDomObj(tagE)
- if dom.getTextByTagRoute("volume-name") == volumeName:
- volumeInfo['Name'] = volumeName
- volumeInfo['SourcePartition'] = dom.getTextByTagRoute("source-partition")
- volumeInfo['DestinationPartition'] = dom.getTextByTagRoute("destination-partition")
- return volumeInfo
- return None
diff --git a/src/com.gluster.storage.management.server.scripts/src/clear_volume_directory.py b/src/com.gluster.storage.management.server.scripts/src/clear_volume_directory.py
deleted file mode 100755
index 96677f56..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/clear_volume_directory.py
+++ /dev/null
@@ -1,97 +0,0 @@
-#!/usr/bin/python
-# Copyright (C) 2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-import os
-import sys
-import syslog
-import time
-from XmlHandler import ResponseXml
-import DiskUtils
-import Utils
-from optparse import OptionParser
-
-def clearVolumeDirectory(diskMountPoint, volumeName, todelete):
- rs = ResponseXml()
- if not DiskUtils.checkDiskMountPoint(diskMountPoint):
- Utils.log("failed to find disk mount point %s" % diskMountPoint)
- rs.appendTagRoute("status.code", "-1")
- rs.appendTagRoute("status.message", "Error: Mount point does not exists")
- return rs.toprettyxml()
-
- if not os.path.exists(diskMountPoint):
- rs.appendTagRoute("status.code", "-2")
- rs.appendTagRoute("status.message", "Error: Mount point path does not exists")
- return rs.toprettyxml()
-
- # clear volume directory from the disk
- volumeDirectory = "%s/%s" % (diskMountPoint, volumeName)
- if not os.path.exists(volumeDirectory):
- rs.appendTagRoute("status.code", "-3")
- rs.appendTagRoute("status.message", "Error: Volume directory does not exists")
- return rs.toprettyxml()
-
- newVolumeDirectoryName = "%s_%s" % (volumeDirectory, time.time())
- command = ["sudo", "mv", "-f", volumeDirectory, newVolumeDirectoryName]
- rv = Utils.runCommandFG(command, stdout=True, root=True)
- message = Utils.stripEmptyLines(rv["Stdout"])
- if rv["Stderr"]:
- error = Utils.stripEmptyLines(rv["Stderr"])
- message += "Error: [%s]" % (error)
- Utils.log("failed to rename volume directory %s, %s" % (volumeDirectory, error))
- rs.appendTagRoute("status.code", rv["Status"])
- rs.appendTagRoute("status.message", message)
- return rs.toprettyxml()
-
- if not todelete:
- rv["Status"] = "0"
- rs.appendTagRoute("status.code", rv["Status"])
- rs.appendTagRoute("status.message", message)
- return rs.toprettyxml()
-
- command = ["sudo", "rm", "-fr", newVolumeDirectoryName]
- rv = Utils.runCommandFG(command, stdout=True, root=True)
- message = Utils.stripEmptyLines(rv["Stdout"])
- if rv["Stderr"]:
- error = Utils.stripEmptyLines(rv["Stderr"])
- message += "Error: [%s]" % (error)
- Utils.log("failed to clear volume directory %s, %s" % (newVolumeDirectoryName, error))
- rs.appendTagRoute("status.code", rv["Status"])
- rs.appendTagRoute("status.message", message)
- return rs.toprettyxml()
-
- if not rv["Status"]:
- rv["Status"] = "0"
- rs.appendTagRoute("status.code", rv["Status"])
- rs.appendTagRoute("status.message", message)
- return rs.toprettyxml()
-
-def main():
- parser = OptionParser()
- parser.add_option("-d", "--delete", dest="deletedir", action="store_true", default=False, help="force delete")
- (options, args) = parser.parse_args()
-
- if len(args) != 2:
- sys.stderr.write("usage: %s <disk mount point> <volume name> [-d/--delete]\n" % os.path.basename(sys.argv[0]))
- sys.exit(-1)
-
- diskMountPoint = args[0]
- volumeName = args[1]
- print clearVolumeDirectory(diskMountPoint, volumeName, options.deletedir)
- sys.exit(0)
-
-if __name__ == "__main__":
- main()
diff --git a/src/com.gluster.storage.management.server.scripts/src/create_volume_directory.py b/src/com.gluster.storage.management.server.scripts/src/create_volume_directory.py
deleted file mode 100755
index 3e633697..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/create_volume_directory.py
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/usr/bin/python
-# Copyright (C) 2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-import os
-import sys
-from XmlHandler import ResponseXml
-import DiskUtils
-import Utils
-
-def createDirectory(disk, volumeName):
- # Retrieving disk uuid
- diskUuid = DiskUtils.getUuidByDiskPartition(DiskUtils.getDevice(disk))
-
- rs = ResponseXml()
- if not diskUuid:
- Utils.log("failed to find disk:%s uuid" % disk)
- rs.appendTagRoute("status.code", "-1")
- rs.appendTagRoute("status.message", "Error: Unable to find disk uuid")
- return rs.toprettyxml()
-
- # Retrieving disk mount point using disk uuid
- diskMountPoint = DiskUtils.getMountPointByUuid(diskUuid)
- if not os.path.exists(diskMountPoint):
- Utils.log("failed to retrieve disk:%s mount point" % disk)
- rs.appendTagRoute("status.code", "-1")
- rs.appendTagRoute("status.message", "Error: Failed to retrieve disk details")
- return rs.toprettyxml()
-
- # creating volume directory under disk mount point
- volumeDirectory = "%s/%s" % (diskMountPoint, volumeName)
- if os.path.exists(volumeDirectory):
- Utils.log("Volume directory:%s already exists" % (volumeDirectory))
- rs.appendTagRoute("status.code", "-2")
- rs.appendTagRoute("status.message", "Volume directory already exists!")
- return rs.toprettyxml()
-
- if not os.path.exists(volumeDirectory):
- command = ["sudo", "mkdir", volumeDirectory]
- rv = Utils.runCommandFG(command, stdout=True, root=True)
- message = Utils.stripEmptyLines(rv["Stdout"])
- if rv["Stderr"]:
- error = Utils.stripEmptyLines(rv["Stderr"])
- message += "Error: [%s]" % (error)
- Utils.log("failed to create volume directory %s, %s" % (volumeDirectory, error))
- rs.appendTagRoute("status.code", rv["Status"])
- rs.appendTagRoute("status.message", message)
- return rs.toprettyxml()
-
- if not rv["Status"]:
- rv["Status"] = "0"
- if rv["Status"] == "0":
- message = volumeDirectory
- rs.appendTagRoute("status.code", rv["Status"])
- rs.appendTagRoute("status.message", message)
- return rs.toprettyxml()
-
-def main():
- if len(sys.argv) != 3:
- sys.stderr.write("usage: %s <disk name> <volume name>\n" % os.path.basename(sys.argv[0]))
- sys.exit(-1)
-
- disk = sys.argv[1]
- volumeName = sys.argv[2]
- print createDirectory(disk, volumeName)
- sys.exit(0)
-
-if __name__ == "__main__":
- main()
diff --git a/src/com.gluster.storage.management.server.scripts/src/disable-ssh-password-auth.sh b/src/com.gluster.storage.management.server.scripts/src/disable-ssh-password-auth.sh
deleted file mode 100755
index 07ee1a3a..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/disable-ssh-password-auth.sh
+++ /dev/null
@@ -1,30 +0,0 @@
-#!/bin/bash
-
-#-----------------------------------------------------------------------------
-# disable-ssh-password-auth.sh
-# Script for disabling SSH password authentication. This is used by the
-# management gateway after installing the public key, so that the gluster
-# node can be accessed (using ssh) only from the management gateway.
-#-----------------------------------------------------------------------------
-
-CONFIG_FILE="/etc/ssh/sshd_config"
-TIMESTAMP=`date +%d%m%Y%H%M%S`
-BACKUP_FILE="${CONFIG_FILE}_${TIMESTAMP}"
-TEMP_FILE="/tmp/new_sshd_config_${TIMESTAMP}"
-
-# Modify config file to disable password authentication, redirect to a temp file
-# TODO: disable only if enabled!
-sed "s/^PasswordAuthentication yes$/PasswordAuthentication no/g" ${CONFIG_FILE} > ${TEMP_FILE}
-
-# Secure the file by changing permissions (600)
-chmod 600 ${TEMP_FILE}
-
-# Take backup of config file
-cp ${CONFIG_FILE} ${BACKUP_FILE}
-
-# Overwrite config file with the modified one
-mv ${TEMP_FILE} ${CONFIG_FILE}
-
-# Re-start ssh daemon
-/etc/init.d/sshd restart
-
diff --git a/src/com.gluster.storage.management.server.scripts/src/format_device.py b/src/com.gluster.storage.management.server.scripts/src/format_device.py
deleted file mode 100755
index 061236e0..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/format_device.py
+++ /dev/null
@@ -1,82 +0,0 @@
-#!/usr/bin/python
-# Copyright (C) 2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import os
-import sys
-import Utils
-import DiskUtils
-from optparse import OptionParser
-
-
-def main():
- parser = OptionParser()
- parser.add_option("-t", "--type", action="store", type="string", dest="fstype")
- (options, args) = parser.parse_args()
-
- if len(args) != 1:
- sys.stderr.write("usage: %s [-t FSTYPE] DEVICE_NAME\n" % os.path.basename(sys.argv[0]))
- sys.exit(-1)
-
- device = DiskUtils.getDevice(args[0])
- deviceFormatLockFile = Utils.getDeviceFormatLockFile(device)
- deviceFormatStatusFile = Utils.getDeviceFormatStatusFile(device)
- deviceFormatOutputFile = Utils.getDeviceFormatOutputFile(device)
-
- if DiskUtils.isDataDiskPartitionFormatted(device):
- sys.stderr.write("Device already formatted\n")
- sys.exit(1)
-
- if os.path.exists(deviceFormatStatusFile):
- Utils.log("format status file %s exists" % deviceFormatStatusFile)
- try:
- fp = open(deviceFormatStatusFile)
- line = fp.read()
- fp.close()
- if line.strip().upper() == "COMPLETED":
- sys.stderr.write("Device already formatted\n")
- sys.exit(1)
- else:
- sys.stderr.write("Device format already running\n")
- sys.exit(2)
- except IOError, e:
- Utils.log("failed to read format status file %s: %s" % (deviceFormatStatusFile, str(e)))
- sys.stderr.write("%s\n" % str(e))
- sys.exit(-2)
-
- if os.path.exists(deviceFormatLockFile):
- Utils.log("lock file %s exists" % deviceFormatLockFile)
- sys.stderr.write("Device format already running\n")
- sys.exit(2)
-
- if options.fstype:
- command = ["gluster_provision_block_wrapper.py", "-t", "%s" % (options.fstype), "%s" % (device)]
- else:
- command = ["gluster_provision_block_wrapper.py", "%s" % (device)]
-
- try:
- pid = os.fork()
- except OSError, e:
- Utils.log("failed to fork a child process: %s" % str(e))
- sys.exit(1)
- if pid == 0:
- os.execv("/usr/sbin/gluster_provision_block_wrapper.py", command)
- sys.exit(0)
-
-
-if __name__ == "__main__":
- main()
diff --git a/src/com.gluster.storage.management.server.scripts/src/get_brick_status.py b/src/com.gluster.storage.management.server.scripts/src/get_brick_status.py
deleted file mode 100755
index cf84080b..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/get_brick_status.py
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/usr/bin/python
-# Copyright (C) 2011 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Management Console.
-#
-
-import os
-import sys
-import Utils
-
-def main():
- if len(sys.argv) != 3:
- sys.stderr.write("usage: %s VOLUME_NAME BRICK_NAME\n" % os.path.basename(sys.argv[0]))
- sys.exit(-1)
-
- volumeName = sys.argv[1]
- brickName = sys.argv[2]
- pidFile = "/etc/glusterd/vols/%s/run/%s.pid" % (volumeName, brickName.replace(":", "").replace("/", "-"))
-
- if not os.path.exists(pidFile):
- print "OFFLINE"
- else:
- try:
- fp = open(pidFile)
- pidString = fp.readline()
- fp.close()
- os.getpgid(int(pidString))
- print "ONLINE"
- except IOError, e:
- Utils.log("failed to open file %s: %s" % (pidFile, str(e)))
- print "UNKNOWN"
- except ValueError, e:
- Utils.log("invalid pid %s in file %s: %s" % (pidString, pidFile, str(e)))
- print "UNKNOWN"
- except OSError, e:
- #Utils.log("failed to get process detail of pid %s: %s" % (pidString, str(e)))
- print "OFFLINE"
- sys.exit(0)
-
-if __name__ == "__main__":
- main()
diff --git a/src/com.gluster.storage.management.server.scripts/src/get_disk_mount_point.py b/src/com.gluster.storage.management.server.scripts/src/get_disk_mount_point.py
deleted file mode 100755
index 2f4a39c3..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/get_disk_mount_point.py
+++ /dev/null
@@ -1,62 +0,0 @@
-#!/usr/bin/python
-# Copyright (C) 2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import os
-import Utils
-from DiskUtils import *
-from XmlHandler import ResponseXml
-
-
-def getmountpoint(path):
- if not path:
- Utils.log("Not a valid path:%s" % path)
- rs.appendTagRoute("status.code", "-1")
- rs.appendTagRoute("status.message", "Error: given path name is empty")
- return rs.toprettyxml()
-
- rs = ResponseXml()
- mountPoint = None
-
- for line in readFsTab():
- if path.startswith(line['MountPoint']):
- if not mountPoint:
- mountPoint = line['MountPoint']
- if len(line['MountPoint']) > len(mountPoint):
- mountPoint = line['MountPoint']
-
- if "/" == mountPoint or not mountPoint:
- Utils.log("failed to find mount point of the given path:%s" % path)
- rs.appendTagRoute("status.code", "-1")
- rs.appendTagRoute("status.message", "Error: Unable to find disk mount point")
- return rs.toprettyxml()
-
- rs.appendTagRoute("status.code", "0")
- rs.appendTagRoute("status.message", mountPoint)
- return rs.toprettyxml()
-
-def main():
- if len(sys.argv) != 2:
- sys.stderr.write("usage: %s <path>\n" % os.path.basename(sys.argv[0]))
- sys.exit(-1)
-
- path = sys.argv[1]
- print getmountpoint(path)
- sys.exit(0)
-
-if __name__ == "__main__":
- main()
diff --git a/src/com.gluster.storage.management.server.scripts/src/get_disk_name_by_path.py b/src/com.gluster.storage.management.server.scripts/src/get_disk_name_by_path.py
deleted file mode 100755
index 08e80b7e..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/get_disk_name_by_path.py
+++ /dev/null
@@ -1,68 +0,0 @@
-#!/usr/bin/python
-# Copyright (C) 2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import os
-import Utils
-from DiskUtils import *
-from XmlHandler import ResponseXml
-
-
-def getmountpoint(path):
- if not path:
- Utils.log("Not a valid path:%s" % path)
- rs.appendTagRoute("status.code", "-1")
- rs.appendTagRoute("status.message", "Error: given path name is empty")
- return rs.toprettyxml()
-
- rs = ResponseXml()
- mountPoint = None
- fsTabEntry = None
- for line in readFsTab():
- if path.startswith(line['MountPoint']):
- if not mountPoint:
- mountPoint = line['MountPoint']
- fsTabEntry = line
- if len(line['MountPoint']) > len(mountPoint):
- mountPoint = line['MountPoint']
- fsTabEntry = line
-
- if "/" == mountPoint or not mountPoint:
- Utils.log("failed to find mount point of the given path:%s" % path)
- rs.appendTagRoute("status.code", "-1")
- rs.appendTagRoute("status.message", "Error: Unable to find disk mount point")
- return rs.toprettyxml()
-
- rs.appendTagRoute("status.code", "0")
- if fsTabEntry["Device"].startswith("UUID="):
- rs.appendTagRoute("status.message", getDiskPartitionByUuid(fsTabEntry["Device"].split("UUID=")[-1]))
- else:
- rs.appendTagRoute("status.message", "Unable to find disk name")
- return rs.toprettyxml()
-
-def main():
- if len(sys.argv) != 2:
- sys.stderr.write("usage: %s <path>\n" % os.path.basename(sys.argv[0]))
- sys.exit(-1)
-
- path = sys.argv[1]
- print getmountpoint(path)
- sys.exit(0)
-
-if __name__ == "__main__":
- main()
-
diff --git a/src/com.gluster.storage.management.server.scripts/src/get_file.py b/src/com.gluster.storage.management.server.scripts/src/get_file.py
deleted file mode 100755
index 61c33eba..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/get_file.py
+++ /dev/null
@@ -1,130 +0,0 @@
-# Copyright (C) 2009,2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import Globals
-import Utils
-from VolumeUtils import *
-from XmlHandler import ResponseXml
-
-
-def enumLogType(logCode):
- if "M" == logCode.upper():
- return "EMERGENCY"
- elif "A" == logCode.upper():
- return "ALERT"
- elif "C" == logCode.upper():
- return "CRITICAL"
- elif "E" == logCode.upper():
- return "ERROR"
- elif "W" == logCode.upper():
- return "WARNING"
- elif "N" == logCode.upper():
- return "NOTICE"
- elif "I" == logCode.upper():
- return "INFO"
- elif "D" == logCode.upper():
- return "DEBUG"
- elif "T" == logCode.upper():
- return "TRACE"
- else:
- return "UNKNOWN"
-##--end of enumLogType()
-
-
-def addLog(responseDom, logMessageTag, loginfo):
- logTag = responseDom.createTag("log", None)
- logTag.appendChild(responseDom.createTag("date", loginfo[0]))
- logTag.appendChild(responseDom.createTag("time", loginfo[1]))
- logTag.appendChild(responseDom.createTag("type", enumLogType(loginfo[2])))
- logTag.appendChild(responseDom.createTag("message", loginfo[3]))
- logMessageTag.appendChild(logTag)
- return True
-##--end of addLog()
-
-
-def logSplit(log):
- loginfo = log.strip().split(None, 3)
- loginfo[0] = loginfo[0][1:] #-- Remove '['
- loginfo[1] = loginfo[1][0:-1] #-- Remove ']'
- return loginfo
-##--end of logSplit()
-
-
-def getVolumeLog(volumeName, tailCount):
- rs = ResponseXml()
- if not volumeName:
- rs.appendTagRoute("status.code", "-1")
- rs.appendTagRoute("status.message", "No volume name given")
- return rs.toprettyxml()
-
- if not tailCount:
- rs.appendTagRoute("status.code", "-1")
- rs.appendTagRoute("status.message", "No tail count given")
- return rs.toprettyxml()
-
- thisServerName = getCurrentServerName()
- if not thisServerName:
- rs.appendTagRoute("status.code", "-2")
- rs.appendTagRoute("status.message", "Failed to get current server name")
- return rs.toprettyxml()
-
- volumeDom = XDOM()
- partitionList = getPartitionListByServerName(volumeDom, thisServerName)
- if not partitionList:
- rs.appendTagRoute("status.code", "-3")
- rs.appendTagRoute("status.message", "Failed to get server partition details")
- return rs.toprettyxml()
-
- pattern = '\[\d{4}-\d{2}-\d{2}\s{1}\d{2}:\d{2}:\d{2}.\d+\]\s{1}([MACEWNIDT]){1}\s+'
- logMessagesTag = rs.createTag("response.logMessages")
- for partitionName in partitionList:
- logMessageTag = rs.createTag("logMessage")
- logMessageTag.appendChild("disk", "%s:%s" % (thisServerName, partitionName))
-
- logDirectory = "%s/%s/%s/log" % (Globals.GLUSTER_LUN_DIR, partitionList[partitionName], volumeUuid)
- logFileName = "%s/%s-%s-%s-exports-brick1.log" % (logDirectory,
- Globals.GLUSTER_LUN_DIR[1:],
- partitionList[partitionName],
- volumeUuid)
- if not os.path.exists(logFileName):
- Utils.log("volume log file not found %s" % logFileName)
- continue
- fp = open(logFileName)
- lines = [line for line in fp if re.match(pattern, line)]
- fp.close()
- i = len(lines) - int(tailCount)
- if i < 0:
- i = 0
- for log in lines[i:]:
- loginfo = logSplit(log)
- addLog(rs, logMessageTag, loginfo)
- logMessagesTag.appendChild(logMessageTag)
- return rs.toprettyxml()
-##--end of getVolumeLog()
-
-def main():
- if len(sys.argv) != 3:
- print >> sys.stderr, "usage: %s <disk name> <volume name>" % sys.argv[0]
- sys.exit(-1)
-
- volumeName = sys.argv[1]
- tailCount = sys.argv[2]
- print getVolumeLog(volumeName, tailCount)
- sys.exit(0)
-
-if __name__ == "__main__":
- main()
diff --git a/src/com.gluster.storage.management.server.scripts/src/get_rrd_cpu_details.py b/src/com.gluster.storage.management.server.scripts/src/get_rrd_cpu_details.py
deleted file mode 100755
index 546aec31..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/get_rrd_cpu_details.py
+++ /dev/null
@@ -1,55 +0,0 @@
-#!/usr/bin/python
-# Copyright (C) 2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-import os
-import sys
-from XmlHandler import ResponseXml
-import Utils
-
-def getCpuData(period):
- cpuRrdFile = "/var/lib/rrd/cpu.rrd"
- rs = ResponseXml()
- command = "rrdtool xport --start -%s \
- DEF:cpuuser=%s:user:AVERAGE \
- DEF:cpusystem=%s:system:AVERAGE \
- CDEF:total=cpuuser,cpusystem,+ \
- XPORT:cpuuser:user \
- XPORT:cpusystem:system \
- XPORT:total:total" % (period, cpuRrdFile, cpuRrdFile)
-
- rv = Utils.runCommand(command, output=True, root=True)
- message = Utils.stripEmptyLines(rv["Stdout"])
- if rv["Stderr"]:
- error = Utils.stripEmptyLines(rv["Stderr"])
- message += "Error: [%s]" % (error)
- Utils.log("failed to create RRD file for cpu usages %s" % file)
- rs.appendTagRoute("status.code", rv["Status"])
- rs.appendTagRoute("status.message", message)
- return rs.toxml()
- return rv["Stdout"]
-
-def main():
- if len(sys.argv) != 2:
- sys.stderr.write("usage: %s <period>\n" % os.path.basename(sys.argv[0]))
- sys.exit(-1)
-
- period = sys.argv[1]
- print getCpuData(period)
- sys.exit(0)
-
-if __name__ == "__main__":
- main()
diff --git a/src/com.gluster.storage.management.server.scripts/src/get_rrd_memory_details.py b/src/com.gluster.storage.management.server.scripts/src/get_rrd_memory_details.py
deleted file mode 100755
index f7c3031b..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/get_rrd_memory_details.py
+++ /dev/null
@@ -1,89 +0,0 @@
-#!/usr/bin/python
-# Copyright (C) 2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-# Input command: get_rrd_memory_details.py 1hour
-# OUTPUT as bellow:
-# <?xml version="1.0" encoding="ISO-8859-1"?>
-#
-# <xport>
-# <meta>
-# <start>1310455500</start>
-# <step>300</step>
-# <end>1310459100</end>
-# <rows>13</rows>
-# <columns>5</columns>
-# <legend>
-# <entry>memoryUsed</entry>
-# <entry>memoryFree</entry>
-# <entry>memoryCache</entry>
-# <entry>memoryBuffer</entry>
-# <entry>totalMemory</entry>
-# </legend>
-# </meta>
-# <data>
-# <row><t>1310455500</t><v>1.9181091707e+06</v><v>1.5819754974e+06</v><v>1.2528146351e+06</v><v>1.2528146351e+06</v><v>3.5000846681e+06</v></row>
-# ---
-# ---
-# </data>
-# </xport>
-
-import os
-import sys
-import syslog
-from XmlHandler import ResponseXml
-import Utils
-
-def getMemData(period):
- memRrdFile = "/var/lib/rrd/mem.rrd"
- rs = ResponseXml()
- command = "rrdtool xport --start -%s \
- DEF:free=%s:memfree:AVERAGE \
- DEF:used=%s:memused:AVERAGE \
- DEF:cache=%s:memcache:AVERAGE \
- DEF:buffer=%s:membuffer:AVERAGE \
- CDEF:total1=used,free,+ \
- CDEF:used1=used,buffer,cache,-,- \
- CDEF:total=total1,used1,+ \
- XPORT:used:memoryUsed \
- XPORT:free:memoryFree \
- XPORT:cache:memoryCache \
- XPORT:buffer:memoryBuffer \
- XPORT:total:totalMemory" % (period, memRrdFile, memRrdFile, memRrdFile, memRrdFile)
-
- rv = Utils.runCommand(command, output=True, root=True)
- message = Utils.stripEmptyLines(rv["Stdout"])
- if rv["Stderr"]:
- error = Utils.stripEmptyLines(rv["Stderr"])
- message += "Error: [%s]" % (error)
- Utils.log("failed to create RRD file for memory usages %s" % file)
- rs.appendTagRoute("status.code", rv["Status"])
- rs.appendTagRoute("status.message", message)
- return rs.toxml()
- return rv["Stdout"]
-
-def main():
- if len(sys.argv) != 2:
- sys.stderr.write("usage: %s <period>\n" % os.path.basename(sys.argv[0]))
- sys.exit(-1)
-
- period = sys.argv[1]
- print getMemData(period)
- sys.exit(0)
-
-if __name__ == "__main__":
- main()
diff --git a/src/com.gluster.storage.management.server.scripts/src/get_rrd_net_details.py b/src/com.gluster.storage.management.server.scripts/src/get_rrd_net_details.py
deleted file mode 100755
index 6a31cde8..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/get_rrd_net_details.py
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/usr/bin/python
-# Copyright (C) 2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-import os
-import sys
-from XmlHandler import ResponseXml
-import Utils
-
-def main():
- if len(sys.argv) != 3:
- sys.stderr.write("usage: %s <DEVICE> <PERIOD>\n" % os.path.basename(sys.argv[0]))
- sys.exit(-1)
-
- device = sys.argv[1]
- period = sys.argv[2]
-
- rs = ResponseXml()
- command = "rrdtool xport --start -%s \
- DEF:received=/var/lib/rrd/network-%s.rrd:received:AVERAGE \
- DEF:transmitted=/var/lib/rrd/network-%s.rrd:transmitted:AVERAGE \
- CDEF:total=received,transmitted,+ \
- XPORT:received:received \
- XPORT:transmitted:transmitted \
- XPORT:total:total" % (period, device, device)
- rv = Utils.runCommand(command, output=True, root=True)
- message = Utils.stripEmptyLines(rv["Stdout"])
- if rv["Stderr"]:
- error = Utils.stripEmptyLines(rv["Stderr"])
- message += "Error: [%s]" % (error)
- Utils.log("failed to get RRD information of device %s" % file)
- rs.appendTagRoute("status.code", rv["Status"])
- rs.appendTagRoute("status.message", message)
- print rs.toxml()
- print rv["Stdout"]
- sys.exit(0)
-
-if __name__ == "__main__":
- main()
diff --git a/src/com.gluster.storage.management.server.scripts/src/get_server_details.py b/src/com.gluster.storage.management.server.scripts/src/get_server_details.py
deleted file mode 100755
index cda1518b..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/get_server_details.py
+++ /dev/null
@@ -1,118 +0,0 @@
-#!/usr/bin/python
-# Copyright (C) 2009 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import sys
-import socket
-import re
-import Utils
-import DiskUtils
-from NetworkUtils import *
-from Disk import *
-from XmlHandler import ResponseXml
-from optparse import OptionParser
-
-
-def getServerDetails(listall):
- serverName = socket.gethostname()
- meminfo = getMeminfo()
- cpu = 100 * float(getLoadavg())
- nameServerList, domain, searchDomain = readResolvConfFile()
- if not domain:
- domain = [None]
-
- responseDom = ResponseXml()
- serverTag = responseDom.appendTagRoute("server")
- serverTag.appendChild(responseDom.createTag("name", serverName))
- serverTag.appendChild(responseDom.createTag("domainname", domain[0]))
- if Utils.runCommand("pidof glusterd") == 0:
- serverTag.appendChild(responseDom.createTag("status", "ONLINE"))
- else:
- serverTag.appendChild(responseDom.createTag("status", "OFFLINE"))
- serverTag.appendChild(responseDom.createTag("cpuUsage", str(cpu)))
- serverTag.appendChild(responseDom.createTag("totalMemory", str(convertKbToMb(meminfo['MemTotal']))))
- serverTag.appendChild(responseDom.createTag("memoryInUse", str(convertKbToMb(meminfo['MemUsed']))))
- serverTag.appendChild(responseDom.createTag("uuid", None))
-
- for dns in nameServerList:
- serverTag.appendChild(responseDom.createTag("dns%s" % str(nameServerList.index(dns) +1) , dns))
-
- #TODO: probe and retrieve timezone, ntp-server details and update the tags
-
- deviceList = {}
- interfaces = responseDom.createTag("networkInterfaces", None)
- for device in getNetDeviceList():
- if device["model"] in ['LOCAL', 'IPV6-IN-IPV4']:
- continue
- deviceList[device["device"]] = device
- try:
- macAddress = open("/sys/class/net/%s/address" % device["device"]).read().strip()
- except IOError:
- continue
- interfaceTag = responseDom.createTag("networkInterface", None)
- interfaceTag.appendChild(responseDom.createTag("name", device["device"]))
- interfaceTag.appendChild(responseDom.createTag("hwAddr",macAddress))
- interfaceTag.appendChild(responseDom.createTag("speed", device["speed"]))
- interfaceTag.appendChild(responseDom.createTag("model", device["model"]))
- if deviceList[device["device"]]:
- if deviceList[device["device"]]["onboot"]:
- interfaceTag.appendChild(responseDom.createTag("onboot", "yes"))
- else:
- interfaceTag.appendChild(responseDom.createTag("onBoot", "no"))
- interfaceTag.appendChild(responseDom.createTag("bootProto", deviceList[device["device"]]["bootproto"]))
- interfaceTag.appendChild(responseDom.createTag("ipAddress", deviceList[device["device"]]["ipaddr"]))
- interfaceTag.appendChild(responseDom.createTag("netMask", deviceList[device["device"]]["netmask"]))
- interfaceTag.appendChild(responseDom.createTag("defaultGateway", deviceList[device["device"]]["gateway"]))
- if deviceList[device["device"]]["mode"]:
- interfaceTag.appendChild(responseDom.createTag("mode", deviceList[device["device"]]["mode"]))
- if deviceList[device["device"]]["master"]:
- interfaceTag.appendChild(responseDom.createTag("bonding", "yes"))
- spliter = re.compile(r'[\D]')
- interfaceTag.appendChild(responseDom.createTag("bondid", spliter.split(device["master"])[-1]))
- else:
- interfaceTag.appendChild(responseDom.createTag("onBoot", "no"))
- interfaceTag.appendChild(responseDom.createTag("bootProto", "none"))
- interfaces.appendChild(interfaceTag)
- serverTag.appendChild(interfaces)
-
- responseDom.appendTag(serverTag)
- serverTag.appendChild(responseDom.createTag("numOfCPUs", int(os.sysconf('SC_NPROCESSORS_ONLN'))))
-
- diskDom = DiskUtils.getDiskDom()
- if not diskDom:
- sys.stderr.write("No disk found!")
- Utils.log("Failed to get disk details")
- sys.exit(1)
-
- serverTag.appendChild(diskDom.getElementsByTagRoute("disks")[0])
- return serverTag
-
-def main():
- parser = OptionParser()
- parser.add_option("-N", "--only-data-disks",
- action="store_false", dest="listall", default=True,
- help="List only data disks")
-
- (options, args) = parser.parse_args()
- responseXml = getServerDetails(options.listall)
- if responseXml:
- print responseXml.toxml()
-
- sys.exit(0)
-
-if __name__ == "__main__":
- main()
diff --git a/src/com.gluster.storage.management.server.scripts/src/get_server_status.py b/src/com.gluster.storage.management.server.scripts/src/get_server_status.py
deleted file mode 100755
index a57428b6..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/get_server_status.py
+++ /dev/null
@@ -1,22 +0,0 @@
-#!/usr/bin/python
-# Copyright (C) 2011 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Management Console.
-#
-
-import os
-import sys
-import Utils
-
-def main():
- if len(sys.argv) != 1:
- sys.stderr.write("usage: %s\n" % os.path.basename(sys.argv[0]))
- sys.exit(-1)
-
- if Utils.runCommand("pidof glusterd") == 0:
- print "ONLINE"
- else:
- print "OFFLINE"
- sys.exit(0)
-
-if __name__ == "__main__":
- main()
diff --git a/src/com.gluster.storage.management.server.scripts/src/get_volume_log.py b/src/com.gluster.storage.management.server.scripts/src/get_volume_log.py
deleted file mode 100755
index b906c002..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/get_volume_log.py
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright (C) 2009,2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import Globals
-import syslog
-import Utils
-from VolumeUtils import *
-from XmlHandler import ResponseXml
-
-
-def enumLogType(logCode):
- if "M" == logCode.upper():
- return "EMERGENCY"
- elif "A" == logCode.upper():
- return "ALERT"
- elif "C" == logCode.upper():
- return "CRITICAL"
- elif "E" == logCode.upper():
- return "ERROR"
- elif "W" == logCode.upper():
- return "WARNING"
- elif "N" == logCode.upper():
- return "NOTICE"
- elif "I" == logCode.upper():
- return "INFO"
- elif "D" == logCode.upper():
- return "DEBUG"
- elif "T" == logCode.upper():
- return "TRACE"
- else:
- return "UNKNOWN"
-##--end of enumLogType()
-
-
-def addLog(responseDom, logMessageTag, loginfo):
- logTag = responseDom.createTag("log", None)
- logTag.appendChild(responseDom.createTag("date", loginfo[0]))
- logTag.appendChild(responseDom.createTag("time", loginfo[1]))
- logTag.appendChild(responseDom.createTag("type", enumLogType(loginfo[2])))
- logTag.appendChild(responseDom.createTag("message", loginfo[3]))
- logMessageTag.appendChild(logTag)
- return True
-##--end of addLog()
-
-
-def logSplit(log):
- loginfo = log.strip().split(None, 3)
- loginfo[0] = loginfo[0][1:] #-- Remove '['
- loginfo[1] = loginfo[1][0:-1] #-- Remove ']'
- return loginfo
-##--end of logSplit()
-
-
-def getVolumeLog(volumeName, tailCount):
- rs = ResponseXml()
- if not volumeName:
- rs.appendTagRoute("status.code", "-1")
- rs.appendTagRoute("status.message", "No volume name given")
- return rs.toprettyxml()
-
- if not tailCount:
- rs.appendTagRoute("status.code", "-1")
- rs.appendTagRoute("status.message", "No tail count given")
- return rs.toprettyxml()
-
- thisServerName = getCurrentServerName()
- if not thisServerName:
- rs.appendTagRoute("status.code", "-2")
- rs.appendTagRoute("status.message", "Failed to get current server name")
- return rs.toprettyxml()
-
- volumeDom = XDOM()
- partitionList = getPartitionListByServerName(volumeDom, thisServerName)
- if not partitionList:
- rs.appendTagRoute("status.code", "-3")
- rs.appendTagRoute("status.message", "Failed to get server partition details")
- return rs.toprettyxml()
-
- pattern = '\[\d{4}-\d{2}-\d{2}\s{1}\d{2}:\d{2}:\d{2}.\d+\]\s{1}([MACEWNIDT]){1}\s+'
- logMessagesTag = rs.createTag("response.logMessages")
- for partitionName in partitionList:
- logMessageTag = rs.createTag("logMessage")
- logMessageTag.appendChild("disk", "%s:%s" % (thisServerName, partitionName))
-
- logDirectory = "%s/%s/%s/log" % (Globals.GLUSTER_LUN_DIR, partitionList[partitionName], volumeUuid)
- logFileName = "%s/%s-%s-%s-exports-brick1.log" % (logDirectory,
- Globals.GLUSTER_LUN_DIR[1:],
- partitionList[partitionName],
- volumeUuid)
- if not os.path.exists(logFileName):
- Utils.log("volume log file not found %s" % logFileName)
- continue
- fp = open(logFileName)
- lines = [line for line in fp if re.match(pattern, line)]
- fp.close()
- i = len(lines) - int(tailCount)
- if i < 0:
- i = 0
- for log in lines[i:]:
- loginfo = logSplit(log)
- addLog(rs, logMessageTag, loginfo)
- logMessagesTag.appendChild(logMessageTag)
- return rs.toprettyxml()
-##--end of getVolumeLog()
-
-def main():
- if len(sys.argv) != 3:
- print >> sys.stderr, "usage: %s <disk name> <volume name>" % sys.argv[0]
- sys.exit(-1)
-
- volumeName = sys.argv[1]
- tailCount = sys.argv[2]
- print getVolumeLog(volumeName, tailCount)
- sys.exit(0)
-
-if __name__ == "__main__":
- main()
diff --git a/src/com.gluster.storage.management.server.scripts/src/gluster_provision_block_wrapper.py b/src/com.gluster.storage.management.server.scripts/src/gluster_provision_block_wrapper.py
deleted file mode 100755
index a3b2776d..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/gluster_provision_block_wrapper.py
+++ /dev/null
@@ -1,109 +0,0 @@
-#!/usr/bin/python
-# Copyright (C) 2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import os
-import sys
-import subprocess
-import Utils
-import DiskUtils
-from optparse import OptionParser
-
-def writeStatus(deviceFormatStatusFile, message):
- try:
- fp = open(deviceFormatStatusFile, "w")
- fp.write(message)
- fp.close()
- except IOError, e:
- Utils.log("Failed to update log file %s: %s" % (deviceFormatStatusFile, str(e)))
- return False
- return True
-
-
-def main():
- parser = OptionParser()
- parser.add_option("-t", "--type", action="store", type="string", dest="fstype")
- (options, args) = parser.parse_args()
-
- if len(args) != 1:
- sys.stderr.write("usage: %s [-t FSTYPE] DEVICE" % os.path.basename(sys.argv[0]))
- sys.exit(-1)
-
- device = args[0]
- deviceFormatLockFile = Utils.getDeviceFormatLockFile(device)
- deviceFormatStatusFile = Utils.getDeviceFormatStatusFile(device)
- deviceFormatOutputFile = Utils.getDeviceFormatOutputFile(device)
-
- if os.path.exists(deviceFormatStatusFile):
- Utils.log("device format status file %s exists" % deviceFormatStatusFile)
- sys.exit(1)
-
- if os.path.exists(deviceFormatLockFile):
- Utils.log("device format lock file %s exists" % deviceFormatLockFile)
- sys.exit(2)
-
- try:
- fp = open(deviceFormatLockFile, "w")
- fp.close()
- except OSError, e:
- Utils.log("failed to create lock file %s: %s" % (deviceFormatLockFile, str(e)))
- writeStatus(deviceFormatStatusFile, "Lock file creation failed\n")
- sys.exit(3)
-
- try:
- fptr = open(deviceFormatOutputFile, 'w')
- except IOError, e:
- Utils.log("failed to create output file %s" % deviceFormatOutputFile)
- writeStatus(deviceFormatStatusFile, "Output file creation failed\n")
- Utils.removeFile(deviceFormatLockFile)
- sys.exit(4)
-
- if options.fstype:
- command = "gluster-provision-block -t %s %s" % (options.fstype, device)
- else:
- command = "gluster-provision-block %s" % (device)
-
- process = Utils.runCommandBG(command,
- stdinFileObj=subprocess.PIPE,
- stdoutFileObj=fptr,
- stderrFileObj=subprocess.PIPE)
- if process:
- status = process.wait()
- else:
- Utils.removeFile(deviceFormatOutputFile)
- Utils.removeFile(deviceFormatLockFile)
- writeStatus(deviceFormatStatusFile, "Device format failed\n")
- sys.exit(5)
-
- if status != 0:
- Utils.removeFile(deviceFormatOutputFile)
- Utils.removeFile(deviceFormatLockFile)
- writeStatus(deviceFormatStatusFile, "Device format failed\n")
- sys.exit(6)
-
- if Utils.runCommand("/sbin/udevtrigger") != 0:
- Utils.log("failed running /sbin/udevtrigger")
-
- if Utils.runCommand("/usr/bin/lshal") != 0:
- Utils.log("failed running /usr/bin/lshal")
- writeStatus(deviceFormatStatusFile, "Completed\n")
- Utils.removeFile(deviceFormatOutputFile)
- Utils.removeFile(deviceFormatLockFile)
- sys.exit(0)
-
-if __name__ == "__main__":
- main()
diff --git a/src/com.gluster.storage.management.server.scripts/src/multicast_response.py b/src/com.gluster.storage.management.server.scripts/src/multicast_response.py
deleted file mode 100644
index 18cf89ae..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/multicast_response.py
+++ /dev/null
@@ -1,74 +0,0 @@
-#!/usr/bin/python
-# Copyright (C) 2009 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import os
-import string
-import time
-import Utils
-import socket
-import struct
-import Globals
-from XmlHandler import *
-
-def isInPeer():
- command = "gluster peer status"
- status = Utils.runCommand(command, output=True, root=True)
- if status["Status"] == 0:
- if status["Stdout"].strip().upper() != "NO PEERS PRESENT":
- return True
- return False
- Utils.log("command [%s] failed with [%d:%s]" % (command, status["Status"], os.strerror(status["Status"])))
- return False
-
-def response(multiCastGroup, port):
- # waiting for the request!
- socketRequest = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
- socketRequest.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
- socketRequest.bind(('', port))
- mreq = struct.pack("4sl", socket.inet_aton(multiCastGroup), socket.INADDR_ANY)
- socketRequest.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq)
-
- socketSend = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
- socketSend.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 2)
-
- #TODO: Remove infinite loop and make this as a deamon (service)
- while True:
- request = socketRequest.recvfrom(1024)
- if not request:
- continue
- dom = XDOM()
- dom.parseString(request[0])
- if not dom:
- continue
- if not dom.getTextByTagRoute("request.name"):
- continue
- requesttime = dom.getTextByTagRoute("request.time")
- if not requesttime:
- continue
- if isInPeer():
- time.sleep(5)
- continue
- socketSend.sendto("<response><servername>%s</servername><time>%s</time></response>" % (socket.gethostname(), requesttime),
- (multiCastGroup, port))
- request = None
-
-def main():
- response(Globals.MULTICAST_GROUP, Globals.MULTICAST_PORT)
-
-if __name__ == "__main__":
- main()
diff --git a/src/com.gluster.storage.management.server.scripts/src/rrd_update_cpu_details.py b/src/com.gluster.storage.management.server.scripts/src/rrd_update_cpu_details.py
deleted file mode 100755
index 73982971..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/rrd_update_cpu_details.py
+++ /dev/null
@@ -1,90 +0,0 @@
-#!/usr/bin/python
-# Copyright (C) 2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-import os
-import sys
-from XmlHandler import ResponseXml
-import Utils
-
-def createMemData(file, step):
- rs = ResponseXml()
- command = ["rrdtool", "create", file, "--step=%s" % step,
- "DS:user:COUNTER:600:0:U",
- "DS:system:COUNTER:600:0:U",
- "DS:idle:COUNTER:600:0:U",
- "RRA:AVERAGE:0.5:1:576",
- "RRA:AVERAGE:0.5:6:672",
- "RRA:AVERAGE:0.5:24:732",
- "RRA:AVERAGE:0.5:144:1460"]
-
- rv = Utils.runCommand(command, output=True, root=True)
- message = Utils.stripEmptyLines(rv["Stdout"])
- if rv["Stderr"]:
- error = Utils.stripEmptyLines(rv["Stderr"])
- message += "Error: [%s]" % (error)
- Utils.log("failed to create RRD file for cpu usages %s" % file)
- rs.appendTagRoute("status.code", rv["Status"])
- rs.appendTagRoute("status.message", message)
- return rs.toxml()
- return None
-
-def updateMemData(file):
- rs = ResponseXml()
- user = None
- system = None
- idle = None
- for line in open("/proc/stat").readlines():
- if line.startswith("cpu"):
- cpudetails = line.split()
- if "cpu" == cpudetails[0]:
- user = cpudetails[1]
- system = cpudetails[3]
- idle = cpudetails[4]
- break
-
- if None == user:
- Utils.log("failed to fetch cpu details from /proc/stat")
- rs.appendTagRoute("status.code", "-1")
- rs.appendTagRoute("status.message", "failed to fetch cpu details")
- return rs.toxml()
-
- command = ["rrdtool", "update", file, "-t", "user:system:idle",
- "N:%s:%s:%s" % (user, system, idle)]
- rv = Utils.runCommand(command, output=True, root=True)
- if rv["Stderr"]:
- error = Utils.stripEmptyLines(rv["Stderr"])
- message = "Error: [%s]" % (error)
- Utils.log("failed to update cpu usage into rrd file %s" % file)
- rs.appendTagRoute("status.code", rv["Status"])
- rs.appendTagRoute("status.message", message)
- return rs.toxml()
- return None
-
-
-def main():
- cpuRrdFile = "/var/lib/rrd/cpu.rrd"
- if not os.path.exists(cpuRrdFile):
- status = createMemData(cpuRrdFile, 100)
- if status:
- print status
- status = updateMemData(cpuRrdFile)
- if status:
- print status
- sys.exit(0)
-
-if __name__ == "__main__":
- main()
diff --git a/src/com.gluster.storage.management.server.scripts/src/rrd_update_memory_details.py b/src/com.gluster.storage.management.server.scripts/src/rrd_update_memory_details.py
deleted file mode 100755
index fe4fcce6..00000000
--- a/src/com.gluster.storage.management.server.scripts/src/rrd_update_memory_details.py
+++ /dev/null
@@ -1,90 +0,0 @@
-#!/usr/bin/python
-# Copyright (C) 2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-import os
-import sys
-from XmlHandler import ResponseXml
-import Utils
-
-def createMemData(file, step):
- rs = ResponseXml()
- command = ["rrdtool", "create", file, "--step=%s" % step,
- "DS:memused:ABSOLUTE:600:0:U",
- "DS:memfree:ABSOLUTE:600:0:U",
- "DS:memcache:ABSOLUTE:600:0:U",
- "DS:swapused:ABSOLUTE:600:0:U",
- "DS:swapfree:ABSOLUTE:600:0:U",
- "RRA:AVERAGE:0.5:1:576",
- "RRA:AVERAGE:0.5:6:672",
- "RRA:AVERAGE:0.5:24:732",
- "RRA:AVERAGE:0.5:144:1460"]
-
- rv = Utils.runCommand(command, output=True, root=True)
- message = Utils.stripEmptyLines(rv["Stdout"])
- if rv["Stderr"]:
- error = Utils.stripEmptyLines(rv["Stderr"])
- message += "Error: [%s]" % (error)
- Utils.log("failed to create RRD file for memory usages %s" % file)
- rs.appendTagRoute("status.code", rv["Status"])
- rs.appendTagRoute("status.message", message)
- return rs.toxml()
- return None
-
-def updateMemData(file):
- rs = ResponseXml()
- command = ["free", "-b", "-o"]
- rv = Utils.runCommand(command, output=True, root=True)
- if rv["Stderr"]:
- error = Utils.stripEmptyLines(rv["Stderr"])
- message += "Error: [%s]" % (error)
- Utils.log("failed to retrieve memory details")
- rs.appendTagRoute("status.code", rv["Status"])
- rs.appendTagRoute("status.message", message)
- return rs.toxml()
-
- message = rv["Stdout"].split()
- command = ["rrdtool", "update", file, "-t", "memused:memfree:memcache:swapused:swapfree",
- "N:%s:%s:%s:%s:%s" % (message[8], message[9], message[12], message[14], message[15])]
- rv = Utils.runCommand(command, output=True, root=True)
- if rv["Stderr"]:
- error = Utils.stripEmptyLines(rv["Stderr"])
- message += "Error: [%s]" % (error)
- Utils.log(syslog.LOG_ERR, "failed to update memory usage into rrd file %s" % file)
- rs.appendTagRoute("status.code", rv["Status"])
- rs.appendTagRoute("status.message", message)
- return rs.toxml()
- return None
-
-
-def main():
- #if len(sys.argv) != 2:
- # print >> sys.stderr, "usage: %s <step>" % sys.argv[0]
- # sys.exit(-1)
- #step = sys.argv[1]
-
- memRrdFile = "mem.rrd"
- if not os.path.exists(memRrdFile):
- status = createMemData(memRrdFile, 100)
- if status:
- print status
- status = updateMemData(memRrdFile)
- if status:
- print status
- sys.exit(0)
-
-if __name__ == "__main__":
- main()
diff --git a/src/com.gluster.storage.management.server/.settings/org.eclipse.wst.common.component b/src/com.gluster.storage.management.server/.settings/org.eclipse.wst.common.component
deleted file mode 100644
index dbf56d1e..00000000
--- a/src/com.gluster.storage.management.server/.settings/org.eclipse.wst.common.component
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<project-modules id="moduleCoreId" project-version="1.5.0">
- <wb-module deploy-name="com.gluster.storage.management.server">
- <wb-resource deploy-path="/" source-path="/WebContent"/>
- <wb-resource deploy-path="/WEB-INF/classes" source-path="/src"/>
- <wb-resource deploy-path="/WEB-INF/classes" source-path="/junit"/>
- <property name="java-output-path" value="/com.gluster.storage.management.server/build/classes"/>
- <property name="context-root" value="glustermg"/>
- </wb-module>
-</project-modules>
diff --git a/src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/log4j-1.2.16.jar b/src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/log4j-1.2.16.jar
deleted file mode 100644
index 3f9d8476..00000000
--- a/src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/log4j-1.2.16.jar
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/plugins/com.gluster.storage.management.client_1.0.0.jar b/src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/plugins/com.gluster.storage.management.client_1.0.0.jar
deleted file mode 100644
index 56222cbf..00000000
--- a/src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/plugins/com.gluster.storage.management.client_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/plugins/com.gluster.storage.management.core_1.0.0.jar b/src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/plugins/com.gluster.storage.management.core_1.0.0.jar
deleted file mode 100644
index d321e76c..00000000
--- a/src/com.gluster.storage.management.server/WebContent/WEB-INF/lib/plugins/com.gluster.storage.management.core_1.0.0.jar
+++ /dev/null
Binary files differ
diff --git a/src/com.gluster.storage.management.server/WebContent/WEB-INF/web.xml b/src/com.gluster.storage.management.server/WebContent/WEB-INF/web.xml
deleted file mode 100644
index 405c4e40..00000000
--- a/src/com.gluster.storage.management.server/WebContent/WEB-INF/web.xml
+++ /dev/null
@@ -1,94 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
- id="WebApp_ID" version="3.0">
- <display-name>glustermg</display-name>
- <welcome-file-list>
- <welcome-file>index.html</welcome-file>
- <welcome-file>index.htm</welcome-file>
- <welcome-file>index.jsp</welcome-file>
- <welcome-file>default.html</welcome-file>
- <welcome-file>default.htm</welcome-file>
- <welcome-file>default.jsp</welcome-file>
- </welcome-file-list>
-
- <!-- Spring context loaded -->
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>
- classpath:spring/gluster-server-security.xml
- classpath:spring/gluster-server-base.xml
- </param-value>
- </context-param>
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
- </listener>
- <listener>
- <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
- </listener>
-
- <!-- Jersey REST servlet -->
- <servlet>
- <servlet-name>gluster-resources-1.0</servlet-name>
- <!-- servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class -->
- <servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
- <init-param>
- <param-name>com.sun.jersey.config.property.packages</param-name>
- <param-value>com.gluster.storage.management.server.resources.v1_0</param-value>
- </init-param>
- <init-param>
- <param-name>com.sun.jersey.spi.container.ResourceFilters</param-name>
- <param-value>com.gluster.storage.management.server.filters.GlusterResourceFilterFactory</param-value>
- </init-param>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>gluster-resources-1.0</servlet-name>
- <url-pattern>/1.0/*</url-pattern>
- </servlet-mapping>
-
- <!-- JNLP download servlet -->
- <servlet>
- <servlet-name>JnlpDownloadServlet</servlet-name>
- <servlet-class>jnlp.sample.servlet.JnlpDownloadServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>JnlpDownloadServlet</servlet-name>
- <url-pattern>*.jnlp</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>JnlpDownloadServlet</servlet-name>
- <url-pattern>*.jar</url-pattern>
- </servlet-mapping>
-
- <!-- Spring Security -->
- <filter>
- <filter-name>authFailureFilter</filter-name>
- <filter-class>com.gluster.storage.management.server.filters.AuthenticationFailureFilter</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>authFailureFilter</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- <filter>
- <filter-name>springSecurityFilterChain</filter-name>
- <filter-class>
- org.springframework.web.filter.DelegatingFilterProxy
- </filter-class>
- </filter>
- <filter-mapping>
- <filter-name>springSecurityFilterChain</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
-
- <security-constraint>
- <web-resource-collection>
- <web-resource-name>Gluster Management Gateway</web-resource-name>
- <url-pattern>/*</url-pattern>
- </web-resource-collection>
- <user-data-constraint>
- <transport-guarantee>CONFIDENTIAL</transport-guarantee>
- </user-data-constraint>
- </security-constraint>
-</web-app>
diff --git a/src/com.gluster.storage.management.server/WebContent/index.html b/src/com.gluster.storage.management.server/WebContent/index.html
deleted file mode 100644
index 4c90162a..00000000
--- a/src/com.gluster.storage.management.server/WebContent/index.html
+++ /dev/null
@@ -1,8 +0,0 @@
-<html>
-<head>
-<title>Gluster Management Console</title>
-</head>
-<body>
-TODO: Identify the client's platform-browser and invoke appropriate JNLP URL.
-</body>
-</html>
diff --git a/src/com.gluster.storage.management.server/WebContent/scripts/Common.py b/src/com.gluster.storage.management.server/WebContent/scripts/Common.py
deleted file mode 100644
index 99c2f440..00000000
--- a/src/com.gluster.storage.management.server/WebContent/scripts/Common.py
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright (c) 2009 Gluster, Inc. <http://www.gluster.com>
-# This file is part of GlusterSP.
-#
-# GlusterSP is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published
-# by the Free Software Foundation; either version 3 of the License,
-# or (at your option) any later version.
-#
-# GlusterSP is distributed in the hope that it will be useful, but
-# WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-# General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import sys
-import syslog
-
-def log(priority, message=None):
- if type(priority) == type(""):
- logPriority = syslog.LOG_INFO
- logMessage = priority
- else:
- logPriority = priority
- logMessage = message
- if not logMessage:
- return
- #if Globals.DEBUG:
- # sys.stderr.write(logMessage)
- else:
- syslog.syslog(logPriority, logMessage)
- return
-
-
-def stripEmptyLines(content):
- ret = ""
- for line in content.split("\n"):
- if line.strip() != "":
- ret += line
- return ret
-
diff --git a/src/com.gluster.storage.management.server/WebContent/scripts/Globals.py b/src/com.gluster.storage.management.server/WebContent/scripts/Globals.py
deleted file mode 100644
index 877c6c68..00000000
--- a/src/com.gluster.storage.management.server/WebContent/scripts/Globals.py
+++ /dev/null
@@ -1,120 +0,0 @@
-# Copyright (C) 2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-MULTICAST_GROUP = '224.224.1.1'
-MULTICAST_PORT = 5353
-GLUSTER_PLATFORM_VERSION = "3.2"
-
-## System configuration constants
-SYSCONFIG_NETWORK_DIR = "/etc/sysconfig/network-scripts"
-DNSMASQ_CONF_DIR = "/etc/dnsmasq.d"
-
-FSTAB_FILE = "/etc/fstab"
-NFS_EXPORTS_FILE = "/etc/exports"
-SAMBA_CONF_FILE = "/etc/samba/smb.conf"
-TIMEZONE_FILE = "/etc/timezone"
-ZONEINFO_DIR = "/usr/share/zoneinfo"
-LOCALTIME_FILE = "/etc/localtime"
-KERBEROS_CONF_FILE = "/etc/krb5.conf"
-NSSWITCH_CONF_FILE = "/etc/nsswitch.conf"
-NTP_CONF_FILE = "/etc/ntp.conf"
-MODPROBE_CONF_FILE = "/etc/modprobe.d/bonding.conf"
-SYSCONFIG_NETWORK_FILE = "/etc/sysconfig/network"
-RESOLV_CONF_FILE = "/etc/resolv.conf"
-DNSMASQ_LEASE_FILE = "/var/tmp/dnsmasq.leases"
-LIVE_MODE_FILE = "/etc/live"
-ADD_SERVER_COMPLETED_FILE = "/var/tmp/installation-completed"
-
-DNSMASQ_DNS_CONF_FILE = DNSMASQ_CONF_DIR + "/dns.conf"
-DNSMASQ_DHCP_CONF_FILE = DNSMASQ_CONF_DIR + "/dhcp.conf"
-##
-
-## Base constants
-MAX_PARTITION_SIZE = 16777216 # 16 TB
-OS_PARTITION_SIZE = 4000 # 4 GB
-SESSION_TIMEOUT = 1800 # 30 minutes
-SERVER_AGENT_PORT = 50000
-
-BOOT_PARTITION_LABEL = "GLUSTEROS"
-DATA_PARTITION_LABEL = "GLUSTERDATA"
-VOLUME_USER_DESCRIPTION = "Gluster Volume User"
-SERVER_AGENT_RUN_USERNAME = "gluster"
-INSTALLER_SERVER_NAME = "$installer$"
-
-GLUSTER_BASE_DIR = "/GLUSTER"
-GLUSTER_LUN_DIR = "/data"
-REEXPORT_DIR = "/reexport"
-NFS_EXPORT_DIR = "/nfs"
-CIFS_EXPORT_DIR = "/cifs"
-WEBDAV_DOCUMENT_ROOT_DIR = "/var/www/html"
-UPDATES_DIR = "/UPDATES"
-TRANSPORT_HOME_DIR = "/transport"
-GLUSTERFS_LOG_DIR = "/var/log/glusterfs"
-LOG_DIR = "/var/log/glustermg"
-
-GLUSTER_UPDATES_FILE = "updates.xml"
-INSTALLER_STATUS_FILE = "/var/log/install-server-status.log"
-INSTALL_PLATFORM_LOCK_FILE = "/var/lock/install-gluster-platform.lock"
-LAST_ACCESSED_NETWORK_FILE = "last-accessed-network"
-PREPARE_DATA_DISK_LOCK_FILE = "/var/tmp/prepare-data-disk.lock"
-##
-
-## Derived constants
-GLUSTER_CONF_DIR = GLUSTER_BASE_DIR + "/conf"
-GLUSTER_TMP_DIR = GLUSTER_BASE_DIR + "/tmp"
-VOLUME_CONF_DIR = GLUSTER_BASE_DIR + "/volumes"
-SERVER_CONF_DIR = GLUSTER_BASE_DIR + "/servers"
-DNS_RECORDS_DIR = GLUSTER_BASE_DIR + "/dns-records"
-INSTALLER_CONF_DIR = SERVER_CONF_DIR + "/" + INSTALLER_SERVER_NAME
-
-GSN_USER_INFO_FILE = GLUSTER_BASE_DIR + "/gsn-user.info"
-GLUSTER_VERSION_FILE = GLUSTER_BASE_DIR + "/version"
-GLUSTER_UPDATE_SITE_FILE = GLUSTER_BASE_DIR + "/update-site"
-GLUSTER_DIRECTORY_SERVICE_CONF_FILE = GLUSTER_BASE_DIR + "/directory.xml"
-GLUSTER_TIME_CONF_FILE = GLUSTER_BASE_DIR + "/timeconfig.xml"
-TRANSACTION_KEY_FILE = GLUSTER_BASE_DIR + "/transaction.key"
-SERVER_COUNT_FILE = GLUSTER_BASE_DIR + "/server-count"
-SIGNATURE_FILE = GLUSTER_BASE_DIR + "/.signature"
-GLUSTER_SERVER_POOL_FILE = GLUSTER_BASE_DIR + "/pool"
-GLUSTER_ADMIN_FILE = GLUSTER_BASE_DIR + "/.password"
-
-VOLUME_SMBCONF_FILE = VOLUME_CONF_DIR + "/volumes.smbconf.list"
-
-GLOBAL_NETWORK_FILE = INSTALLER_CONF_DIR + "/network.xml"
-INSTALL_SERVER_CONF_FILE = INSTALLER_CONF_DIR + "/installer.xml"
-INSTALLER_INFO_FILE = INSTALLER_CONF_DIR + "/installer.info"
-INSTALLED_SERVER_COUNT_FILE = INSTALLER_CONF_DIR + "/installed-server-count"
-
-SESSION_FILE = GLUSTER_TMP_DIR + "/login.sessions"
-
-GENERAL_LOG_FILE = LOG_DIR + "/general.log"
-INSTALLER_LOG_FILE = LOG_DIR + "/installer.log"
-PEER_AGENT_LOG_FILE = LOG_DIR + "/peeragent.log"
-SERVER_AGENT_LOG_FILE = LOG_DIR + "/serveragent.log"
-TRANSPORT_AGENT_LOG_FILE = LOG_DIR + "/transport.log"
-##
-
-
-## Global variables
-## TODO: These should be removed
-DOWNLOAD_GLUSTER_UPDATE_PROCESS = None
-DOWNLOAD_GLUSTER_UPDATE_LEVEL = None
-DOWNLOAD_GLUSTER_CURRENT_UPDATE_LEVEL = None
-DOWNLOAD_GLUSTER_UPDATE_MD5SUM = None
-REQUEST_MAP = {}
-VERSION_DICTONARY = {}
-##
diff --git a/src/com.gluster.storage.management.server/WebContent/scripts/Protocol.py b/src/com.gluster.storage.management.server/WebContent/scripts/Protocol.py
deleted file mode 100644
index ff073593..00000000
--- a/src/com.gluster.storage.management.server/WebContent/scripts/Protocol.py
+++ /dev/null
@@ -1,438 +0,0 @@
-# Copyright (C) 2009 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import xml
-import xml.parsers.expat
-import xml.dom.minidom as MDOM
-import os
-import Globals
-import copy
-import Utils
-
-XML_STRING = 0
-XML_FILE = 1
-
-class XDOM:
- _domObj = None
-
- def __init__(self):
- self._domObj = MDOM.Document()
- return
-
- @classmethod
- def getText(self, nodeList):
- rc = ""
- for node in nodeList:
- if node.nodeType == node.TEXT_NODE:
- rc = rc + node.data
- return rc.strip()
-
- def parseString(self, requestString):
- try:
- self._domObj = MDOM.parseString(requestString)
- except xml.parsers.expat.ExpatError, e:
- Utils.log("XML string parse error: %s" % str(e))
- return False
- return True
-
- def parseFile(self, fileName):
- try:
- self._domObj = MDOM.parse(fileName)
- except IOError, e:
- Utils.log("error reading file: %s" % str(e))
- return False
- except xml.parsers.expat.ExpatError, e:
- Utils.log("XML file %s parse error: %s" % (fileName, str(e)))
- return False
- return True
-
- def setDomObj(self, dom):
- if dom and type(dom) != type([]):
- self._domObj = dom
- return True
- return False
-
- def createTextNode(self, text):
- if not self._domObj:
- return False
- if not text:
- return False
- return self._domObj.createTextNode(str(text))
-
- def createTag(self, tag, text=None):
- if not self._domObj:
- return None
- if tag == None:
- return None
-
- tagE = self._domObj.createElement(str(tag))
- if text:
- tagEText = self._domObj.createTextNode(str(text))
- tagE.appendChild(tagEText)
- return tagE
-
- def addTag(self, tag):
- if not self._domObj:
- return False
- if not tag:
- return False
-
- self._domObj.appendChild(tag)
- return True
-
- def createTagRoute(self, tagRoute, text=None):
- if not tagRoute:
- return False
-
- tagList = tagRoute.split(".")
- tag = None
- previousTag = None
- for tagName in tagList[:-1]:
- newTag = self.createTag(tagName, None)
- if not tag:
- tag = newTag
- previousTag = newTag
- continue
- previousTag.appendChild(newTag)
- previousTag = newTag
-
- if previousTag:
- previousTag.appendChild(self.createTag(tagList[-1], text))
- else:
- tag = self.createTag(tagList[-1], text)
- return tag
-
- def appendTagRoute(self, tagRoute, value=None):
- if not self._domObj:
- return False
- if not tagRoute:
- return False
-
- parentTagE = self._domObj
-
- tagNameList = tagRoute.split(".")
- newTagRoute = tagNameList.pop(-1)
-
- for i in range(len(tagNameList), 0, -1):
- tagE = self.getElementsByTagRoute(".".join(tagNameList[:i]))
- if tagE:
- parentTagE = tagE[0]
- break
- newTagRoute = tagNameList[i-1] + "." + newTagRoute
-
- newTagE = self.createTagRoute(newTagRoute, value)
- if not newTagE:
- return False
- try:
- parentTagE.appendChild(newTagE)
- except xml.dom.HierarchyRequestErr, e:
- Utils.log("error occured. %s" + str(e))
- return False
- return True
-
- def setTextByTagRoute(self, tagRoute, tagValue):
- if not self._domObj:
- return None
-
- if not tagRoute:
- return None
-
- tagE = self.getElementsByTagRoute(tagRoute)
- if not tagE:
- return False
-
- parentTagE = self.getElementsByTagRoute(".".join(tagRoute.split(".")[:-1]))
- if not parentTagE:
- return False
-
- parentTagE[0].childNodes.remove(tagE[0])
- parentTagE[0].appendChild(self.createTag(tagRoute.split(".")[-1], tagValue))
- return True
-
- def getElementsByTagRoute(self, tagRoute):
- if not self._domObj:
- return None
-
- if not tagRoute:
- return None
-
- x = None
- for tag in tagRoute.split("."):
- if x is None:
- x = self._domObj.getElementsByTagName(tag)
- continue
- if x == []:
- break
- x = x[0].getElementsByTagName(tag)
- return x
-
- def getTextByTagRoute(self, tagRoute):
- if not self._domObj:
- return None
-
- x = self.getElementsByTagRoute(tagRoute)
- if x:
- return self.getText(x[0].childNodes)
- return None
-
- def getElementsByTagName(self, name):
- if not self._domObj:
- return None
- return self._domObj.getElementsByTagName(name)
-
- def writexml(self, fileName, indent="", addindent="", newl=""):
- if not self._domObj:
- return None
- try:
- fp = open(fileName, "w")
- self._domObj.writexml(fp, indent, addindent, newl)
- fp.close()
- return True
- except IOError:
- return False
-
- def toString(self, indent=" ", newl="\n", encoding = None):
- if not self._domObj:
- return None
- return self._domObj.toprettyxml(indent, newl, encoding)
-
- def toxml(self, encoding = None):
- if not self._domObj:
- return None
- return self._domObj.toxml(encoding)
-
- def toprettyxml(self, indent=" ", newl="\n", encoding = None):
- return self.toString(indent, newl, encoding)
-
- def getAttribute(self, attributeName):
- if not attributeName:
- return None
- try:
- return self.getElementsByTagName("command")[0].getAttribute(attributeName)
- except IndexError:
- return False
-
- def setAttribute(self, attributeName, attributeValue):
- if not (attributeName and attributeValue):
- return None
- try:
- return self.getElementsByTagName("command")[0].setAttribute(attributeName, attributeValue)
- except IndexError:
- return False
-
- def getRequestCommand(self):
- return self.getAttribute("request")
-
- def getResponseCommand(self):
- return self.getAttribute("response")
-
- def getResponseCode(self):
- return self.getAttribute("response-code")
-
- def getMessageId(self):
- return self.getAttribute("id")
-
- def getVersion(self):
- return self.getAttribute("version")
-
- def getRequestAction(self):
- return self.getAttribute("action")
-
- def setVersion(self, value):
- return self.setAttribute("version", value)
-
- def setRequestAction(self, value):
- return self.setAttribute("action", value)
-
- def createCommandTag(self, command, responseCode, id, version=Globals.GLUSTER_PLATFORM_VERSION):
- commandTag = self._domObj.createElement("command")
- commandTag.setAttribute("response", command)
- commandTag.setAttribute("response-code", responseCode)
- commandTag.setAttribute("id", id)
- commandTag.setAttribute("version", version)
- return commandTag
-##--end of XDOM
-
-class RequestXml(XDOM):
- def __init__(self, requestString, type=None):
- if None == requestString:
- XDOM.__init__(self)
- return
- try:
- if None == type:
- if os.path.isfile(requestString):
- self._domObj = MDOM.parse(requestString)
- else:
- self._domObj = MDOM.parseString(requestString)
- elif XML_FILE == type:
- self._domObj = MDOM.parse(requestString)
- elif XML_STRING == type:
- self._domObj = MDOM.parseString(requestString)
- except IOError:
- XDOM.__init__(self)
- except xml.parsers.expat.ExpatError:
- XDOM.__init__(self)
-
-##--end of RequestXML
-
-class ResponseXml(XDOM):
- _commandTag = None
- def __init__(self, command, responseCode, id, version=Globals.GLUSTER_PLATFORM_VERSION):
- XDOM.__init__(self)
- if command and responseCode and id:
- self._commandTag = self.createCommandTag(command, responseCode, id, version)
- self._domObj.appendChild(self._commandTag)
-
- def appendCommand(self, command, responseCode, id, version=Globals.GLUSTER_PLATFORM_VERSION):
- if command and responseCode and id:
- self._commandTag = self.createCommandTag(command, responseCode, id, version)
- self._domObj.appendChild(self._commandTag)
- return True
- return False
-
- def append(self, tagName, tagValue=None):
- if not self._commandTag:
- return False
- tag = self.createTag(tagName, tagValue)
- if tag:
- self._commandTag.appendChild(tag)
- return True
- return False
-
- def appendTag(self, tag):
- if not tag:
- return False
- if not self._commandTag:
- return False
- self._commandTag.appendChild(tag)
- return True
-
- def appendTagRoute(self, tagRoute, value=None):
- if not self._commandTag:
- return False
- if not tagRoute:
- return False
-
- parentTagE = self._commandTag
-
- tagNameList = tagRoute.split(".")
- newTagRoute = tagNameList.pop(-1)
-
- for i in range(len(tagNameList), 0, -1):
- tagE = self.getElementsByTagRoute(".".join(["command"] + tagNameList[:i]))
- if tagE:
- parentTagE = tagE[0]
- break
- newTagRoute = tagNameList[i-1] + "." + newTagRoute
-
- newTagE = self.createTagRoute(newTagRoute, value)
- if not newTagE:
- return False
- try:
- parentTagE.appendChild(newTagE)
- except xml.dom.HierarchyRequestErr, e:
- Utils.log("error occured. %s" + str(e))
- return False
- return True
-
- def appendTagRouteOld(self, tagRoute, value=None):
- if not tagRoute:
- return False
- if not self._commandTag:
- return False
-
- tmpTagRoute = ""
- previousTagE = self._commandTag
- tagE = None
- for tagName in tagRoute.split("."):
- if not tmpTagRoute:
- tagE = self.getElementsByTagRoute("command." + tagName)
- else:
- tagE = self.getElementsByTagRoute("command." + tmpTagRoute + "." + tagName)
- if not tagE:
- break
- if len(tagE) != 1:
- return False
- previousTagE = tagE[0]
- if not tmpTagRoute:
- tmpTagRoute = tagName
- else:
- tmpTagRoute = tmpTagRoute + "." + tagName
-
- if tmpTagRoute == tagRoute:
- return False
- newTagRoute = tagRoute[len(tmpTagRoute):]
- if newTagRoute[0] == '.':
- newTagRoute = newTagRoute[1:]
-
- if previousTagE.childNodes and previousTagE.childNodes[0].nodeType == previousTagE.TEXT_NODE:
- return False
- previousTagE.appendChild(self.createTagRoute(newTagRoute, value))
- return True
-##--end of ResponseXml
-
-def test():
- #volumes = RequestXml(VolumeFile, XML_FILE).getElementsByTagRoute("volume-list.volume")
- requestStr = '''<command request="create-volume" id="123" version="3.1">
-<volume>
-<name>movies1</name>
-<type>cluster mirror</type>
-<start>512000</start>
-<server>zresearch</server>
-<vacl>192.168.20.*</vacl>
-<vacl>192.168.30.*</vacl>
-<nfs>
-<export>no</export>
-</nfs>
-<cifs>
-<export>no</export>
-</cifs>
-<webdav>
-<export>no</export>
-</webdav>
-</volume>
-</command>'''
-
- requestXml = RequestXml(requestStr)
- print requestXml.getAttribute("")
-
-def test1():
- rs = ResponseXml("create-volume", "OK", "xyz")
- rs.appendTagRoute("volume.detail.name", "music")
- print rs.toprettyxml()
- rs.append("volume", "data")
- print rs.toprettyxml()
- rs.appendTagRoute("volume.detail.ipaddr", "192.168.10.1")
- print rs.toprettyxml()
- print rs.appendTagRoute("volume.detail.ipaddr.v6", "ff:ff::ff::")
- print rs.toprettyxml()
-
- print rs.getTextByTagRoute("command.volume.detail")
-
-def test2():
- rs = ResponseXml("download-volume-logs", "OK", "xyz")
- te = rs.createTag("interface", None)
- te.appendChild(rs.createTag("device", "DEVICE1"))
- te.appendChild(rs.createTag("description", "my device one"))
- rs.appendTag(te)
-
- te = rs.createTag("interface", None)
- te.appendChild(rs.createTag("device", "DEVICE2"))
- te.appendChild(rs.createTag("description", "my device two"))
- rs.appendTag(te)
- print rs.toprettyxml()
-
diff --git a/src/com.gluster.storage.management.server/WebContent/scripts/Utils.py b/src/com.gluster.storage.management.server/WebContent/scripts/Utils.py
deleted file mode 100644
index f9b3254b..00000000
--- a/src/com.gluster.storage.management.server/WebContent/scripts/Utils.py
+++ /dev/null
@@ -1,705 +0,0 @@
-# Copyright (c) 2010 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import sys
-import os
-import re
-import socket
-import struct
-import syslog
-import subprocess
-#import spwd
-import time
-#import uuid
-import tempfile
-import grp
-import pwd
-import inspect
-from datetime import datetime
-import urllib
-
-import Globals
-import Protocol
-from Common import *
-
-RUN_COMMAND_ERROR = -1024
-LOG_SYSLOG = 1
-SYSLOG_REQUIRED = False
-LOG_FILE_NAME = None
-LOG_FILE_OBJ = None
-
-
-def _getLogCode(priority):
- if syslog.LOG_EMERG == priority:
- return "M"
- elif syslog.LOG_ALERT == priority:
- return "A"
- elif syslog.LOG_CRIT == priority:
- return "C"
- elif syslog.LOG_ERR == priority:
- return "E"
- elif syslog.LOG_WARNING == priority:
- return "W"
- elif syslog.LOG_NOTICE == priority:
- return "N"
- elif syslog.LOG_INFO == priority:
- return "I"
- elif syslog.LOG_DEBUG == priority:
- return "D"
- else: # UNKNOWN
- return "X"
-
-
-def setLogFile(fileName):
- global LOG_FILE_NAME
-
- if fileName:
- LOG_FILE_NAME = fileName
- return True
- return False
-
-
-def closeLog():
- global LOG_FILE_OBJ
- global SYSLOG_REQUIRED
-
- if SYSLOG_REQUIRED:
- syslog.closelog()
- SYSLOG_REQUIRED = False
- return True
-
- if LOG_FILE_OBJ:
- try:
- LOG_FILE_OBJ.close()
- LOG_FILE_OBJ = None
- except IOError, e:
- sys.stderr.write("Failed to close file: %s\n" % e)
- return False
- return True
-
-
-def openLog(fileName=None):
- global LOG_FILE_NAME
- global LOG_FILE_OBJ
- global SYSLOG_REQUIRED
-
- if fileName == LOG_SYSLOG:
- syslog.openlog(os.path.basename(sys.argv[0]))
- SYSLOG_REQUIRED = True
- return True
-
- if fileName:
- LOG_FILE_NAME = fileName
-
- if not LOG_FILE_NAME:
- return False
-
- closeLog()
-
- try:
- LOG_FILE_OBJ = open(LOG_FILE_NAME, "a")
- except IOError, e:
- sys.stderr.write("Failed to open file %s: %s\n" % (LOG_FILE_NAME, e))
- return False
- return True
-
-def record(priority, message=None):
- global LOG_FILE_OBJ
- global SYSLOG_REQUIRED
-
- stack = inspect.stack()[1]
- if stack[3] == "<module>":
- prefix = "%s:%s:%s" % (stack[1], stack[2], stack[3])
- else:
- prefix = "%s:%s:%s()" % (stack[1], stack[2], stack[3])
-
- if type(priority) == type("") or type(priority) == type(u""):
- logPriority = syslog.LOG_INFO
- logMessage = priority
- else:
- logPriority = priority
- logMessage = message
-
- if SYSLOG_REQUIRED:
- syslog.syslog(logPriority, "[%s]: %s" % (prefix, logMessage))
- return
-
- fp = sys.stderr
- if LOG_FILE_OBJ:
- fp = LOG_FILE_OBJ
-
- fp.write("[%s] %s [%s]: %s" % (str(datetime.now()), _getLogCode(logPriority), prefix, logMessage))
- if logMessage[-1] != '\n':
- fp.write("\n")
- fp.flush()
- return
-
-
-def trace(message):
- if message:
- log(syslog.LOG_DEBUG, message)
-
-
-def isString(value):
- return (type(value) == type("") or type(value) == type(u""))
-
-
-def getTempFileName():
- filedesc, filename = tempfile.mkstemp(prefix="GSP_")
- os.close(filedesc)
- return filename
-
-
-def runCommandBG(command, stdinFileObj=None, stdoutFileObj=None, stderrFileObj=None,
- shell=False, root=None):
- log("runCommandBG(): Trying to execute command [%s]" % command)
-
- if shell:
- if not isString(command):
- return None
- else:
- if isString(command):
- command = command.split()
-
- if root == True:
- if shell:
- command = "sudo " + command
- else:
- command = ['sudo'] + command
- elif isString(root):
- if shell:
- command = "sudo -u " + root + " " + command
- else:
- command = ['sudo', '-u', root] + command
-
- if not stdinFileObj:
- stdinFileObj=subprocess.PIPE
- if not stdoutFileObj:
- stdoutFileObj=subprocess.PIPE
- if not stderrFileObj:
- stderrFileObj=subprocess.PIPE
-
- try:
- process = subprocess.Popen(command,
- bufsize=-1,
- stdin=stdinFileObj,
- stdout=stdoutFileObj,
- stderr=stderrFileObj,
- shell=shell)
- return process
- except OSError, e:
- log("runCommandBG(): Failed to run command [%s]: %s" % (command, e))
- return None
-
-
-def runCommand(command,
- input='', output=False,
- shell=False, root=None):
- rv = {}
- rv["Status"] = RUN_COMMAND_ERROR
- rv["Stdout"] = None
- rv["Stderr"] = None
-
- try:
- stdinFileName = getTempFileName()
- stdinFileObj = open(stdinFileName, "w")
- stdinFileObj.write(input)
- stdinFileObj.close()
- stdinFileObj = open(stdinFileName, "r")
-
- stdoutFileName = getTempFileName()
- stdoutFileObj = open(stdoutFileName, "w")
-
- stderrFileName = getTempFileName()
- stderrFileObj = open(stderrFileName, "w")
- except IOError, e:
- log("Failed to create temporary file for executing command [%s]: %s" % (command, e))
- if output:
- return rv
- return rv["Status"]
-
- stdoutContent = None
- stderrContent = None
-
- process = runCommandBG(command,
- stdinFileObj=stdinFileObj,
- stdoutFileObj=stdoutFileObj,
- stderrFileObj=stderrFileObj,
- shell=shell, root=root)
- if process:
- rv['Status'] = process.wait()
- rv['Stdout'] = open(stdoutFileName).read()
- rv['Stderr'] = open(stderrFileName).read()
-
- os.remove(stdinFileName)
- os.remove(stdoutFileName)
- os.remove(stderrFileName)
-
- log("runCommand(): execution status of command [%s] = [%s]" % (command, rv))
-
- if output:
- return rv
- return rv["Status"]
-
-
-def runCommandFG(command, stdout=False, stderr=False,
- shell=False, root=None):
- if stdout or stderr:
- output = True
- else:
- output = False
- return runCommand(command, output=output, shell=shell, root=root)
-
-
-def IP2Number(ipString):
- try:
- return socket.htonl(struct.unpack("I", socket.inet_aton(ipString))[0])
- except socket.error:
- return None
- except TypeError:
- return None
- except struct.error:
- return None
-
-
-def Number2IP(number):
- try:
- return socket.inet_ntoa(struct.pack("I", socket.ntohl(number)))
- except socket.error:
- return None
- except AttributeError:
- return None
- except ValueError:
- return None
-
-
-def computeHostName(hostName):
- if not hostName:
- return False
-
- hostPrefix = ""
- for i in range(len(hostName), 0, -1):
- pos = i - 1
- if hostName[pos].isdigit():
- continue
- break
- hostPrefix = hostName[:pos+1]
- try:
- hostIndex = int(hostName[pos+1:])
- except ValueError:
- hostIndex = 0
- # TODO: Check the availablity of the (server) name
- return "%s%s" % (hostPrefix, hostIndex + 1)
-
-
-def daemonize():
- try:
- pid = os.fork()
- if pid > 0:
- # exit first parent
- sys.exit(0)
- except OSError, e:
- #sys.stderr.write("fork #1 failed: %d (%s)\n" % (e.errno, e.strerror))
- return False
-
- # decouple from parent environment
- os.chdir("/")
- os.setsid()
- os.umask(0)
-
- # do second fork
- try:
- pid = os.fork()
- if pid > 0:
- # exit from second parent
- sys.exit(0)
- except OSError, e:
- #sys.stderr.write("fork #2 failed: %d (%s)\n" % (e.errno, e.strerror))
- return False
-
- # redirect standard file descriptors
- sys.stdout.flush()
- sys.stderr.flush()
- si = file("/dev/null", 'r')
- so = file("/dev/null", 'a+')
- se = file("/dev/null", 'a+', 0)
- os.dup2(si.fileno(), sys.stdin.fileno())
- os.dup2(so.fileno(), sys.stdout.fileno())
- os.dup2(se.fileno(), sys.stderr.fileno())
- return True
-
-
-def getDownloadStatus(fileName):
- try:
- lines = [line for line in open(fileName)
- if "saved" in line or "%" in line]
- except IOError:
- return 0
- if not lines:
- return 0
- if "saved" in lines[-1]:
- return 100
- return lines[-1].split("%")[0].split()[-1]
-
-
-def getMeminfo():
- """-> dict of data from meminfo (str:int).
- Values are in kilobytes.
- """
- import re
- re_parser = re.compile(r'^(?P<key>\S*):\s*(?P<value>\d*)\s*kB' )
- result = {}
- for line in open('/proc/meminfo'):
- match = re_parser.match(line)
- if not match:
- continue # skip lines that don't parse
- key, value = match.groups(['key', 'value'])
- result[key] = int(value)
- return result
-
-
-def getCpuUsage():
- """-> dict of cpuid : (usertime, nicetime, systemtime, idletime)
- cpuid "cpu" means the total for all CPUs.
- cpuid "cpuN" means the value for CPU N.
- """
- wanted_records = [line for line in open('/proc/stat') if
- line.startswith('cpu')]
- result = {}
- for cpuline in wanted_records:
- fields = cpuline.split()[:5]
- data = map(int, fields[1:])
- result[fields[0]] = tuple(data)
- return result
-
-
-def getLoadavg():
- """-> 5-tuple containing the following numbers in order:
- - 1-minute load average (float)
- - 5-minute load average (float)
- - 15-minute load average (float)
- - Number of threads/processes currently executing (<= number of
- CPUs) (int)
- - Number of threads/processes that exist on the system (int)
- - The PID of the most recently-created process on the system (int)
- """
- loadavgstr = open('/proc/loadavg', 'r').readline().strip()
- data = loadavgstr.split()
- avg1, avg5, avg15 = map(float, data[:3])
- threads_and_procs_running, threads_and_procs_total = map(int,
- data[3].split('/'))
- most_recent_pid = int(data[4])
- ncpus = 1
- final_avg = ""
- if hasattr(os, "sysconf"):
- if os.sysconf_names.has_key("SC_NPROCESSORS_ONLN"):
- # Linux
- ncpus = os.sysconf("SC_NPROCESSORS_ONLN")
- if isinstance(ncpus, int) and ncpus > 0:
- final_avg = "%.2f" % (1.0 * avg1 / ncpus)
-
- # Future return everything when needed
- # Commenting this for the time being
- # avg5, avg15, threads_and_procs_running, threads_and_procs_total, most_recent_pid
- return final_avg
-
-
-def getInfinibandPortStatus():
-
- """ Check for availability of infiniband port
- and return which port is active in a key pair value
- """
-
- # Check for existence of infiniband ports
- value = os.popen ("ls /sys/class/infiniband").readline().strip()
-
- if not value:
- return None
-
- portlist = os.popen ("echo /sys/class/infiniband/*/ports/*").readline().split()
-
- portkeys = {}
-
- for port in portlist:
- value = os.popen ("cat %s/state" %
- port.strip()).readline().split(':')[1].strip()
- portkeys[port.strip()] = value
-
- return portkeys
-
-
-def getServerCount():
- try:
- return int(open(Globals.SERVER_COUNT_FILE).read().strip())
- except IOError:
- log("failed to read file %s" % Globals.SERVER_COUNT_FILE)
- return 1
- except ValueError:
- log("invalid number format in file %s" % Globals.SERVER_COUNT_FILE)
- return 1
-
-
-def setServerCount(count):
- try:
- open(Globals.SERVER_COUNT_FILE, "w").write("%s\n" % count)
- return True
- except IOError:
- log("failed to write file %s" % Globals.SERVER_COUNT_FILE)
- return False
-
-
-def getInstalledServerCount():
- try:
- return int(open(Globals.INSTALLED_SERVER_COUNT_FILE).read().strip())
- except IOError:
- log("failed to read file %s" % Globals.INSTALLED_SERVER_COUNT_FILE)
- return 1
- except ValueError:
- log("invalid number format in file %s" % Globals.INSTALLED_SERVER_COUNT_FILE)
- return 1
-
-
-def setInstalledServerCount(count):
- try:
- open(Globals.INSTALLED_SERVER_COUNT_FILE, "w").write("%s\n" % count)
- return True
- except IOError:
- log("failed to write file %s" % Globals.INSTALLED_SERVER_COUNT_FILE)
- return False
-
-
-def getLastInstalledServerIpList():
- ipList = {}
- networkDom = Protocol.XDOM()
- if not networkDom.parseFile(Globals.GLOBAL_NETWORK_FILE):
- log("failed to parse file %s" % Globals.GLOBAL_NETWORK_FILE)
- for tagE in networkDom.getElementsByTagRoute("server.interface"):
- interfaceDom = Protocol.XDOM()
- interfaceDom.setDomObj(tagE)
- ipAddress = interfaceDom.getTextByTagRoute("ipaddr")
- if ipAddress:
- ipList[interfaceDom.getTextByTagRoute("device")] = ipAddress
- return ipList
-
-
-def getFreeIpAddress(device=None):
- serverCount = getServerCount()
- installedServerCount = getInstalledServerCount()
- if serverCount == installedServerCount:
- return None
-
- availableServerCount = serverCount - installedServerCount
- ipList = getLastInstalledServerIpList()
-
- if not ipList:
- return None
-
- if device:
- if device not in ipList.keys():
- return None
- deviceIpAddress = ipList[device]
- else:
- deviceIpAddress = ipList.values()[0]
- ipNumber = IP2Number(deviceIpAddress)
-
- for i in range((ipNumber + availableServerCount), ipNumber, -1):
- ipAddress = Number2IP(i)
- if runCommandFG(["ping", "-qnc", "1", ipAddress]) != 0:
- return ipAddress
- return None
-
-
-def getPasswordHash(userName):
- try:
- #return spwd.getspnam(userName).sp_pwd
- return "Not implimented"
- except KeyError:
- return None
-
-
-def getTransactionKey():
- try:
- tokens = open(Globals.TRANSACTION_KEY_FILE).read().split(',')
- except IOError:
- return None, None
- return tokens
-
-
-def generateSignature():
- #return str(uuid.uuid4()) + ('--%f' % time.time())
- return ('--%f' % time.time())
-
-
-def getSignature():
- try:
- return open(Globals.SIGNATURE_FILE).read().strip()
- except IOError:
- log(syslog.LOG_ERR, "unable to read signaure from %s file" % Globals.SIGNATURE_FILE)
- return False
-
-
-def storeSignature(signature, fileName=Globals.SIGNATURE_FILE):
- try:
- open(fileName, "w").write(signature + "\n")
- except IOError:
- log(syslog.LOG_ERR, "unable to write signature %s to %s file" % (signature, fileName))
- return False
- return True
-
-
-def isUserExist(userName):
- try:
- grp.getgrnam(userName).gr_gid
- return True
- except KeyError:
- pass
- try:
- pwd.getpwnam(userName).pw_uid
- return True
- except KeyError:
- pass
- return False
-
-
-def getGsnUserInfo(fileName=Globals.GSN_USER_INFO_FILE):
- userInfo = {}
- userInfo["UserId"] = None
- userInfo["Password"] = None
- try:
- for line in open(fileName):
- line = line.strip()
- k = line[:line.index("=")]
- v = line[line.index("=") + 1:]
- if v[0] == "'" or v[0] == '"':
- v = v[1:]
- if v[-1] == "'" or v[-1] == '"':
- v = v[:-1]
- if k.upper() == "GSN_ID":
- userInfo["UserId"] = v
- if k.upper() == "GSN_PASSWORD":
- userInfo["Password"] = v
- except IOError, e:
- log("Failed to read file %s: %s" % (fileName, e))
- return userInfo
-
-
-def setGsnUserInfo(userInfo, fileName=Globals.GSN_USER_INFO_FILE):
- try:
- fp = open(fileName, "w")
- fp.write("GSN_ID=%s\n" % userInfo["UserId"])
- fp.write("GSN_PASSWORD=%s\n" % userInfo["Password"])
- fp.close()
- return True
- except IOError, e:
- log("Failed to write file %s: %s" % (fileName, e))
- return False
-
-
-def getPlatformVersion(fileName=Globals.GLUSTER_VERSION_FILE):
- versionInfo = {}
- versionInfo["Version"] = None
- versionInfo["Update"] = None
- try:
- lines = open(Globals.GLUSTER_VERSION_FILE).readlines()
- for line in open(fileName):
- line = line.strip()
- k = line[:line.index("=")]
- v = line[line.index("=") + 1:]
- if v[0] == "'" or v[0] == '"':
- v = v[1:]
- if v[-1] == "'" or v[-1] == '"':
- v = v[:-1]
- if k.upper() == "VERSION":
- versionInfo["Version"] = v
- if k.upper() == "UPDATE":
- versionInfo["Update"] = v
- except IOError, e:
- log("Failed to read file %s: %s" % (fileName, e))
- return versionInfo
-
-
-def setPlatformVersion(versionInfo, fileName=Globals.GLUSTER_VERSION_FILE):
- if isString(versionInfo):
- tokens = versionInfo.strip().split(".")
- if len(tokens) < 2:
- log("Invalid version format %s. Expecting <MAJOR>.<MINOR>.<PATCHLEVEL>" % versionInfo)
- return False
- version = ".".join(tokens[:2])
- update = ".".join(tokens[2:])
- if not update:
- update = "0"
- else:
- version = versionInfo["Version"]
- update = versionInfo["Update"]
- try:
- fp = open(fileName, "w")
- fp.write("VERSION=%s\n" % version)
- fp.write("UPDATE=%s\n" % update)
- fp.close()
- return True
- except IOError, e:
- log("Failed to write file %s: %s" % (fileName, e))
- return False
-
-
-def getGlusterUpdateDom(serverVersion):
- errorMessage = ""
- updateInfoDom = None
- try:
- baseUrl = open(Globals.GLUSTER_UPDATE_SITE_FILE).read().strip()
- except IOError, e:
- log("Failed to read file %s: %s" % (Globals.GLUSTER_UPDATE_SITE_FILE, e))
- errorMessage = "Failed to read update site file"
- return updateInfoDom, errorMessage
-
- try:
- url = "%s/%s/%s" % (baseUrl, serverVersion, Globals.GLUSTER_UPDATES_FILE)
- connection = urllib.urlopen(url)
- if connection.getcode() != 200:
- connection.close()
- errorMessage = "Error received from server to open URL %s" % url
- return updateInfoDom, errorMessage
- updateInfoString = connection.read()
- connection.close()
- except IOError, e:
- log("Failed to get update information from URL %s: %s" % (url, e))
- errorMessage = "Error getting update information"
- return updateInfoDom, errorMessage
-
- updateInfoDom = Protocol.XDOM()
- if not updateInfoDom.parseString(updateInfoString):
- log("XML parse error on update information content [%s]" % updateInfoString)
- errorMessage = "Parse error on update information"
- updateInfoDom = None
- return updateInfoDom, errorMessage
-
-
-def removeFile(fileName, root=False):
- if root:
- if runCommand("rm %s" % fileName, root=True) == 0:
- return True
- return False
- try:
- os.remove(fileName)
- return True
- except OSError, e:
- Utils.log("Failed to remove file %s: %s" % (fileName, e))
- return False
-
-
-def isLiveMode():
- return os.path.exists(Globals.LIVE_MODE_FILE)
diff --git a/src/com.gluster.storage.management.server/WebContent/scripts/XmlHandler.py b/src/com.gluster.storage.management.server/WebContent/scripts/XmlHandler.py
deleted file mode 100644
index 72164ffb..00000000
--- a/src/com.gluster.storage.management.server/WebContent/scripts/XmlHandler.py
+++ /dev/null
@@ -1,346 +0,0 @@
-# Copyright (C) 2009 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import xml
-import xml.parsers.expat
-import xml.dom.minidom as MDOM
-import os
-import Globals
-import copy
-import Utils
-
-XML_STRING = 0
-XML_FILE = 1
-
-class XDOM:
- _domObj = None
-
- def __init__(self):
- self._domObj = MDOM.Document()
- return
-
- @classmethod
- def getText(self, nodeList):
- rc = ""
- for node in nodeList:
- if node.nodeType == node.TEXT_NODE:
- rc = rc + node.data
- return rc
-
- def parseString(self, requestString):
- try:
- self._domObj = MDOM.parseString(requestString)
- except xml.parsers.expat.ExpatError, e:
- Utils.log("XML string parse error: %s" % str(e))
- return False
- return True
-
- def parseFile(self, fileName):
- try:
- self._domObj = MDOM.parse(fileName)
- except IOError, e:
- Utils.log("error reading file: %s" % str(e))
- return False
- except xml.parsers.expat.ExpatError, e:
- Utils.log("XML file %s parse error: %s" % (fileName, str(e)))
- return False
- return True
-
- def setDomObj(self, dom):
- if dom and type(dom) != type([]):
- self._domObj = dom
- return True
- return False
-
- def createTag(self, tag, text=None):
- if not self._domObj:
- return None
- if tag == None:
- return None
-
- tagE = self._domObj.createElement(str(tag))
- if text:
- tagEText = self._domObj.createTextNode(str(text))
- tagE.appendChild(tagEText)
- return tagE
-
- def addTag(self, tag):
- if not self._domObj:
- return False
- if not tag:
- return False
-
- self._domObj.appendChild(tag)
- return True
-
- def createTagRoute(self, tagRoute, text=None):
- if not tagRoute:
- return False
-
- tagList = tagRoute.split(".")
- tag = None
- previousTag = None
- for tagName in tagList[:-1]:
- newTag = self.createTag(tagName, None)
- if not tag:
- tag = newTag
- previousTag = newTag
- continue
- previousTag.appendChild(newTag)
- previousTag = newTag
-
- if previousTag:
- previousTag.appendChild(self.createTag(tagList[-1], text))
- else:
- tag = self.createTag(tagList[-1], text)
- return tag
-
- def appendTagRoute(self, tagRoute, value=None):
- if not self._domObj:
- return False
- if not tagRoute:
- return False
-
- parentTagE = self._domObj
-
- tagNameList = tagRoute.split(".")
- newTagRoute = tagNameList.pop(-1)
-
- for i in range(len(tagNameList), 0, -1):
- tagE = self.getElementsByTagRoute(".".join(tagNameList[:i]))
- if tagE:
- parentTagE = tagE[0]
- break
- newTagRoute = tagNameList[i-1] + "." + newTagRoute
-
- newTagE = self.createTagRoute(newTagRoute, value)
- if not newTagE:
- return False
- try:
- parentTagE.appendChild(newTagE)
- except xml.dom.HierarchyRequestErr, e:
- Utils.log("error occured. %s" + str(e))
- return False
- return True
-
- def setTextByTagRoute(self, tagRoute, tagValue):
- if not self._domObj:
- return None
-
- if not tagRoute:
- return None
-
- tagE = self.getElementsByTagRoute(tagRoute)
- if not tagE:
- return False
-
- parentTagE = self.getElementsByTagRoute(".".join(tagRoute.split(".")[:-1]))
- if not parentTagE:
- return False
-
- parentTagE[0].childNodes.remove(tagE[0])
- parentTagE[0].appendChild(self.createTag(tagRoute.split(".")[-1], tagValue))
- return True
-
- def getElementsByTagRoute(self, tagRoute):
- if not self._domObj:
- return None
-
- if not tagRoute:
- return None
-
- x = None
- for tag in tagRoute.split("."):
- if x is None:
- x = self._domObj.getElementsByTagName(tag)
- continue
- if x == []:
- break
- x = x[0].getElementsByTagName(tag)
- return x
-
- def getTextByTagRoute(self, tagRoute):
- if not self._domObj:
- return None
-
- x = self.getElementsByTagRoute(tagRoute)
- if x:
- return self.getText(x[0].childNodes)
- return None
-
- def getElementsByTagName(self, name):
- if not self._domObj:
- return None
- return self._domObj.getElementsByTagName(name)
-
- def writexml(self, fileName, indent="", addindent="", newl=""):
- if not self._domObj:
- return None
- try:
- fp = open(fileName, "w")
- self._domObj.writexml(fp, indent, addindent, newl)
- fp.close()
- return True
- except IOError:
- return False
-
- def toString(self, indent=" ", newl="\n", encoding = None):
- if not self._domObj:
- return None
- return self._domObj.toprettyxml(indent, newl, encoding)
-
- def toxml(self, encoding = None):
- if not self._domObj:
- return None
- return self._domObj.toxml(encoding)
-
- def toprettyxml(self, indent=" ", newl="\n", encoding = None):
- return self.toString(indent, newl, encoding)
-
- def createResponseTag(self):
- responseTag = self._domObj.createElement("response")
- return responseTag
-##--end of XDOM
-
-class RequestXml(XDOM):
- def __init__(self, requestString, type=None):
- if None == requestString:
- XDOM.__init__(self)
- return
- try:
- if None == type:
- if os.path.isfile(requestString):
- self._domObj = MDOM.parse(requestString)
- else:
- self._domObj = MDOM.parseString(requestString)
- elif XML_FILE == type:
- self._domObj = MDOM.parse(requestString)
- elif XML_STRING == type:
- self._domObj = MDOM.parseString(requestString)
- except IOError:
- XDOM.__init__(self)
- except xml.parsers.expat.ExpatError:
- XDOM.__init__(self)
-
-##--end of RequestXML
-
-
-class ResponseXml(XDOM):
- _responseTag = None
- def __init__(self):
- XDOM.__init__(self)
- self._responseTag = self.createResponseTag()
- self._domObj.appendChild(self._responseTag)
-
- @classmethod
- def errorResponse(self, message):
- if not self.responseTag:
- return False
- self.appendTagRoute("status.code", "-1");
- self.appendTagRoute("status.message", message)
-
- def append(self, tagName, tagValue=None):
- if not self._responseTag:
- return False
- tag = self.createTag(tagName, tagValue)
- if tag:
- self._responseTag.appendChild(tag)
- return True
- return False
-
- def appendTag(self, tag):
- if not tag:
- return False
- if not self._responseTag:
- return False
- self._responseTag.appendChild(tag)
- return True
-
- def appendTagRoute(self, tagRoute, value=None):
- if not self._responseTag:
- return None
- if not tagRoute:
- return None
-
- parentTagE = self._responseTag
-
- tagNameList = tagRoute.split(".")
- newTagRoute = tagNameList.pop(-1)
-
- for i in range(len(tagNameList), 0, -1):
- tagE = self.getElementsByTagRoute(".".join(["response"] + tagNameList[:i]))
- if tagE:
- parentTagE = tagE[0]
- break
- newTagRoute = tagNameList[i-1] + "." + newTagRoute
-
- newTagE = self.createTagRoute(newTagRoute, value)
- if not newTagE:
- return None
- try:
- parentTagE.appendChild(newTagE)
- except xml.dom.HierarchyRequestErr, e:
- Utils.log("error occured. %s" + str(e))
- return None
- return newTagE
-
- def appendTagRouteOld(self, tagRoute, value=None):
- if not self._responseTag:
- return False
- if not tagRoute:
- return False
-
- parentTagE = self._responseTag
-
- tagNameList = tagRoute.split(".")
- newTagRoute = tagNameList.pop(-1)
-
- for i in range(len(tagNameList), 0, -1):
- tagE = self.getElementsByTagRoute(".".join(["response"] + tagNameList[:i]))
- if tagE:
- parentTagE = tagE[0]
- break
- newTagRoute = tagNameList[i-1] + "." + newTagRoute
-
- newTagE = self.createTagRoute(newTagRoute, value)
- if not newTagE:
- return False
- try:
- parentTagE.appendChild(newTagE)
- except xml.dom.HierarchyRequestErr, e:
- Utils.log("error occured. %s" + str(e))
- return False
- return True
-##--end of ResponseXml
-
-def test():
- rs = ResponseXml()
- rs.appendTagRoute("status.code", "0");
- rs.appendTagRoute("status.message", "SUCCESS")
- serverTag = rs.appendTagRoute("server.name", "Server1")
- networkInterfaces = rs.appendTagRoute("server.networkInterfaces", None)
- networkTag = rs.createTag("networkInterface", None)
- networkTag.appendChild(rs.createTag("name", "interface1"))
- networkTag.appendChild(rs.createTag("ipaddress", "192.168.1.40"))
- networkInterfaces.appendChild(networkTag)
- networkTag = rs.createTag("networkInterface", None)
- networkTag.appendChild(rs.createTag("name", "interface2"))
- networkTag.appendChild(rs.createTag("ipaddress", "192.168.1.41"))
- networkInterfaces.appendChild(networkTag)
- print rs.toprettyxml()
-
-#test()
diff --git a/src/com.gluster.storage.management.server/WebContent/scripts/vmware-discover-servers.py b/src/com.gluster.storage.management.server/WebContent/scripts/vmware-discover-servers.py
deleted file mode 100755
index e9ae8666..00000000
--- a/src/com.gluster.storage.management.server/WebContent/scripts/vmware-discover-servers.py
+++ /dev/null
@@ -1,90 +0,0 @@
-#!/usr/bin/python
-# Copyright (C) 2009 Gluster, Inc. <http://www.gluster.com>
-# This file is part of Gluster Storage Platform.
-#
-# Gluster Storage Platform is free software; you can redistribute it
-# and/or modify it under the terms of the GNU General Public License
-# as published by the Free Software Foundation; either version 3 of
-# the License, or (at your option) any later version.
-#
-# Gluster Storage Platform is distributed in the hope that it will be
-# useful, but WITHOUT ANY WARRANTY; without even the implied warranty
-# of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program. If not, see
-# <http://www.gnu.org/licenses/>.
-
-import sys
-import socket
-import signal
-import struct
-import syslog
-import Globals
-import Common
-import time
-from XmlHandler import *
-
-class TimeoutException(Exception):
- pass
-
-def timeoutSignal(signum, frame):
- raise TimeoutException, "Timed out"
-
-def serverDiscoveryRequest(multiCastGroup, port):
- servers = []
- # Sending request to all the servers
- socketSend = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
- socketSend.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, 2)
- socketSend.sendto("ServerDiscovery", (multiCastGroup, port))
-
- # Waiting for the response
- socketReceive = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
- socketReceive.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
- socketReceive.bind(('', port))
- mreq = struct.pack("4sl", socket.inet_aton(multiCastGroup), socket.INADDR_ANY)
-
- socketReceive.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq)
- sendtime = time.time()
- socketSend.sendto("<request><name>ServerDiscovery</name><time>%s</time></request>" % (sendtime), (multiCastGroup, port))
-
- try:
- while True:
- response = socketReceive.recvfrom(200)
- if not response:
- continue
- dom = XDOM()
- dom.parseString(response[0])
- if not dom:
- continue
- if dom.getTextByTagRoute("request.name"):
- continue
- responsetime = dom.getTextByTagRoute("response.time")
- servername = dom.getTextByTagRoute("response.servername")
- if responsetime == str(sendtime):
- servers.append(servername)
- signal.signal(signal.SIGALRM, timeoutSignal)
- signal.alarm(3)
- except TimeoutException:
- return servers
- return None
-
-def main():
- syslog.openlog("discovery server request")
- servers = serverDiscoveryRequest(Globals.MULTICAST_GROUP, Globals.MULTICAST_PORT)
- if not servers:
- Common.log(syslog.LOG_ERR, "Failed to discover new servers")
- sys.exit(-1)
-
- servers = set(servers)
- try:
- for server in servers:
- print server
- except IOError:
- Common.log(syslog.LOG_ERR, "Unable to open file %s" % Globals.DISCOVERED_SERVER_LIST_FILENAME)
- sys.exit(-1)
- sys.exit(0)
-
-if __name__ == "__main__":
- main()
diff --git a/src/com.gluster.storage.management.server/src/META-INF/persistence.xml b/src/com.gluster.storage.management.server/src/META-INF/persistence.xml
deleted file mode 100644
index 36b252ea..00000000
--- a/src/com.gluster.storage.management.server/src/META-INF/persistence.xml
+++ /dev/null
@@ -1,5 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-
-<persistence xmlns="http://java.sun.com/xml/ns/persistence" version="1.0">
- <persistence-unit name="gluster-management-gateway" transaction-type="RESOURCE_LOCAL" />
-</persistence> \ No newline at end of file
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/constants/VolumeOptionsDefaults.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/constants/VolumeOptionsDefaults.java
deleted file mode 100644
index 5c9a6505..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/constants/VolumeOptionsDefaults.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/**
- * DefaultVolumeOptions.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.server.constants;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.springframework.stereotype.Component;
-
-import com.gluster.storage.management.core.constants.CoreConstants;
-import com.gluster.storage.management.core.model.VolumeOptionInfo;
-
-@Component
-public class VolumeOptionsDefaults {
- public List<VolumeOptionInfo> options;
-
- public VolumeOptionsDefaults() {
- }
-
- /**
- * @return list of volume option information objects
- */
- public List<VolumeOptionInfo> getDefaults() {
- return getVolumeOptionsInfo();
- }
-
- /**
- * Fetches the list of all volume options with their information from GlusterFS and returns the same
- *
- * @return List of volume option information objects
- */
- private List<VolumeOptionInfo> getVolumeOptionsInfo() {
- List<VolumeOptionInfo> volumeOptionsInfo = new ArrayList<VolumeOptionInfo>();
-
- volumeOptionsInfo
- .add(new VolumeOptionInfo(
- "cluster.stripe-block-size",
- "This could be used in case of a stripe setup. Specifies the size of the stripe unit that will read from or written to the striped servers. "
- + CoreConstants.NEWLINE
- + "Optionally different stripe unit sizes can be specified for different fies, with the following pattern <filename-pattern:blk-size>. ",
- "*:128KB"));
- volumeOptionsInfo
- .add(new VolumeOptionInfo(
- "cluster.self-heal-window-size",
- "Specifies the number of maximum number blocks per file for which self-heal process would be applied simultaneously.",
- "16"));
- volumeOptionsInfo.add(new VolumeOptionInfo("cluster.data-self-heal-algorithm",
- "cluster.data-self-heal-algorithm", "auto"));
- volumeOptionsInfo
- .add(new VolumeOptionInfo(
- "network.frame-timeout",
- "The time frame after which the operation has to be declared as dead, if the server does not respond for a particular operation.",
- "1800"));
- volumeOptionsInfo.add(new VolumeOptionInfo("network.ping-timeout",
- "The time duration for which the client waits to check if the server is responsive.", "42"));
- volumeOptionsInfo.add(new VolumeOptionInfo("auth.allow",
- "'IP addresses/Host name' of the clients which should be allowed to access the the volume.", "*"));
- volumeOptionsInfo.add(new VolumeOptionInfo("auth.reject",
- "'IP addresses/Host name' of the clients which should be denied to access the volume.", "NONE"));
- volumeOptionsInfo
- .add(new VolumeOptionInfo(
- "performance.cache-refresh-timeout",
- "The cached data for a file will be retained till 'cache-refresh-timeout' seconds, after which data re-validation is performed.",
- "1"));
- volumeOptionsInfo.add(new VolumeOptionInfo("performance.cache-size", "Size of the read cache.", "32MB"));
- volumeOptionsInfo.add(new VolumeOptionInfo("performance.write-behind-window-size",
- "Size of the per-file write-behind buffer.", "1MB"));
- volumeOptionsInfo.add(new VolumeOptionInfo("performance.cache-max-file-size",
- "performance.cache-max-file-size", "-1"));
- volumeOptionsInfo.add(new VolumeOptionInfo("performance.cache-min-file-size",
- "performance.cache-min-file-size", "0"));
- volumeOptionsInfo
- .add(new VolumeOptionInfo(
- "performance.io-thread-count",
- " Number of threads in the thread-pool in the bricks to improve the concurrency in I/O s of server side.",
- "16"));
- volumeOptionsInfo
- .add(new VolumeOptionInfo(
- "diagnostics.latency-measurement",
- "Statistics related to the latency of each operation would be tracked inside GlusterFS data-structures.",
- "off"));
- volumeOptionsInfo.add(new VolumeOptionInfo("diagnostics.dump-fd-stats",
- "Statistics related to file-operations would be tracked inside GlusterFS data-structures.", "off"));
- volumeOptionsInfo.add(new VolumeOptionInfo("diagnostics.brick-log-level",
- "Changes the log-level of the bricks (servers).", "INFO"));
- volumeOptionsInfo.add(new VolumeOptionInfo("diagnostics.client-log-level",
- "Changes the log-level of the clients.", "INFO"));
- volumeOptionsInfo.add(new VolumeOptionInfo("nfs.enable-ino32",
- "Use this option from the CLI to make Gluster NFS return 32-bit inode numbers instead of 64-bit.",
- "off"));
- volumeOptionsInfo
- .add(new VolumeOptionInfo(
- "nfs.mem-factor",
- "This option specifies a multiple that determines the total amount of memory used. Increases this increases the performance of NFS.",
- "15"));
- volumeOptionsInfo.add(new VolumeOptionInfo("transport.keepalive", "transport.keepalive", "on"));
-
- return volumeOptionsInfo;
- }
-} \ No newline at end of file
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/data/GlusterDataSource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/data/GlusterDataSource.java
deleted file mode 100644
index e669a130..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/data/GlusterDataSource.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * GlusterDataSource.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.server.data;
-
-import javax.servlet.ServletContext;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.jdbc.datasource.DriverManagerDataSource;
-import org.springframework.stereotype.Component;
-
-@Component
-public class GlusterDataSource extends DriverManagerDataSource {
- @Autowired
- ServletContext servletContext;
-
- public GlusterDataSource() {
- setDriverClassName(org.apache.derby.jdbc.EmbeddedDriver.class.getName());
-
- setUsername("gluster");
- // TODO: change to a stronger (encrypted) password
- setPassword("gluster");
- }
-
- public DriverManagerDataSource getDataSource() {
- // Database directory = work/data relative to context root
- setUrl("jdbc:derby:" + servletContext.getRealPath("data") + ";create=true");
-
- return this;
- }
-} \ No newline at end of file
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/filters/AuditFilter.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/filters/AuditFilter.java
deleted file mode 100644
index daaf8f33..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/filters/AuditFilter.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- *
- */
-package com.gluster.storage.management.server.filters;
-
-import com.sun.jersey.spi.container.ContainerRequest;
-import com.sun.jersey.spi.container.ContainerRequestFilter;
-import com.sun.jersey.spi.container.ContainerResponse;
-import com.sun.jersey.spi.container.ContainerResponseFilter;
-import com.sun.jersey.spi.container.ResourceFilter;
-
-/**
- * Resource filter for maintaining audit trail of resource access
- */
-public class AuditFilter implements ResourceFilter, ContainerRequestFilter, ContainerResponseFilter {
-
- @Override
- public ContainerRequestFilter getRequestFilter() {
- return this;
- }
-
- @Override
- public ContainerResponseFilter getResponseFilter() {
- return this;
- }
-
- @Override
- public ContainerRequest filter(ContainerRequest req) {
- System.out.println("REQUEST: [" + req.getMethod() + "][" + req.getPath() + "]");
- return req;
- }
-
- @Override
- public ContainerResponse filter(ContainerRequest req, ContainerResponse response) {
- System.out.println("RESPONSE: [" + req.getMethod() + "][" + req.getPath() + "]");
- return response;
- }
-}
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/filters/GlusterResourceFilterFactory.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/filters/GlusterResourceFilterFactory.java
deleted file mode 100644
index 899ba16e..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/filters/GlusterResourceFilterFactory.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- *
- */
-package com.gluster.storage.management.server.filters;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.sun.jersey.api.model.AbstractMethod;
-import com.sun.jersey.spi.container.ResourceFilter;
-import com.sun.jersey.spi.container.ResourceFilterFactory;
-
-/**
- * Gluster resource filter factory. As of now, this creates only one filter - the audit filter {@code AuditFilter}
- */
-public class GlusterResourceFilterFactory implements ResourceFilterFactory {
-
- public GlusterResourceFilterFactory() {
- }
-
- /* (non-Javadoc)
- * @see com.sun.jersey.spi.container.ResourceFilterFactory#create(com.sun.jersey.api.model.AbstractMethod)
- */
- @Override
- public List<ResourceFilter> create(AbstractMethod arg0) {
- List<ResourceFilter> filters = new ArrayList<ResourceFilter>();
- filters.add(new AuditFilter());
-
- return filters;
- }
-}
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/AbstractServersResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/AbstractServersResource.java
deleted file mode 100644
index 8b4b6d99..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/AbstractServersResource.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/**
- * AbstractServersResource.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.server.resources.v1_0;
-
-import com.gluster.storage.management.server.utils.GlusterUtil;
-import com.gluster.storage.management.server.utils.ServerUtil;
-import com.sun.jersey.api.core.InjectParam;
-
-/**
- * Abstract resource class for servers. Abstracts basic server related functionality like "get server details".
- */
-public class AbstractServersResource extends AbstractResource {
- @InjectParam
- protected ServerUtil serverUtil;
-
- @InjectParam
- protected GlusterUtil glusterUtil;
-
- // TODO: Remove this class!
-}
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/DiscoveredServersResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/DiscoveredServersResource.java
deleted file mode 100644
index cb39746c..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/DiscoveredServersResource.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.server.resources.v1_0;
-
-import static com.gluster.storage.management.core.constants.RESTConstants.PATH_PARAM_SERVER_NAME;
-import static com.gluster.storage.management.core.constants.RESTConstants.QUERY_PARAM_DETAILS;
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_DISCOVERED_SERVERS;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.ws.rs.GET;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-import org.springframework.stereotype.Component;
-
-import com.gluster.storage.management.core.model.Server;
-import com.gluster.storage.management.core.response.ServerListResponse;
-import com.gluster.storage.management.core.response.ServerNameListResponse;
-import com.sun.jersey.spi.resource.Singleton;
-
-@Component
-@Singleton
-@Path(RESOURCE_PATH_DISCOVERED_SERVERS)
-public class DiscoveredServersResource extends AbstractServersResource {
- private List<String> discoveredServerNames = new ArrayList<String>();
-
- public List<String> getDiscoveredServerNames() {
- return discoveredServerNames;
- }
-
- public void setDiscoveredServerNames(List<String> discoveredServerNames) {
- synchronized (discoveredServerNames) {
- this.discoveredServerNames = discoveredServerNames;
- }
- }
-
- public void removeDiscoveredServer(String serverName) {
- discoveredServerNames.remove(serverName);
- }
-
- public void addDiscoveredServer(String serverName) {
- discoveredServerNames.add(serverName);
- }
-
- @GET
- @Produces(MediaType.APPLICATION_XML)
- public Response getDiscoveredServersXML(@QueryParam(QUERY_PARAM_DETAILS) Boolean details) {
- return getDiscoveredServersResponse(details, MediaType.APPLICATION_XML);
- }
-
- @GET
- @Produces(MediaType.APPLICATION_JSON)
- public Response getDiscoveredServersJSON(@QueryParam(QUERY_PARAM_DETAILS) Boolean details) {
- return getDiscoveredServersResponse(details, MediaType.APPLICATION_JSON);
- }
-
- private Response getDiscoveredServersResponse(Boolean details, String mediaType) {
- if(details != null && details == true) {
- try {
- List<Server> discoveredServers = getDiscoveredServerDetails();
- return okResponse(new ServerListResponse(discoveredServers), mediaType);
- } catch(Exception e) {
- return errorResponse(e.getMessage());
- }
- } else {
- return okResponse(new ServerNameListResponse(getDiscoveredServerNames()), mediaType);
- }
- }
-
- private List<Server> getDiscoveredServerDetails() {
- List<Server> discoveredServers = new ArrayList<Server>();
- for (String serverName : getDiscoveredServerNames()) {
- try {
- discoveredServers.add(getDiscoveredServer(serverName));
- } catch(Exception e) {
- // TODO: Log the exception
- // continue with next discovered server
- }
- }
- return discoveredServers;
- }
-
- @Path("{" + PATH_PARAM_SERVER_NAME + "}")
- @GET
- @Produces(MediaType.APPLICATION_XML)
- public Response getDiscoveredServerXML(@PathParam(PATH_PARAM_SERVER_NAME) String serverName) {
- return getDiscoveredServerResponse(serverName, MediaType.APPLICATION_XML);
- }
-
- @Path("{" + PATH_PARAM_SERVER_NAME + "}")
- @GET
- @Produces(MediaType.APPLICATION_JSON)
- public Response getDiscoveredServerJSON(@PathParam(PATH_PARAM_SERVER_NAME) String serverName) {
- return getDiscoveredServerResponse(serverName, MediaType.APPLICATION_JSON);
- }
-
- private Response getDiscoveredServerResponse(String serverName, String mediaType) {
- if(serverName == null || serverName.isEmpty()) {
- return badRequestResponse("Server name must not be empty!");
- }
- try {
- return okResponse(getDiscoveredServer(serverName), mediaType);
- } catch (Exception e) {
- // TODO: Log the exception
- return errorResponse(e.getMessage());
- }
- }
-
- private Server getDiscoveredServer(String serverName) {
- Server server = new Server(serverName);
- serverUtil.fetchServerDetails(server);
- return server;
- }
-
- public static void main(String[] args) {
- Response response = (Response)new DiscoveredServersResource().getDiscoveredServersXML(false);
- System.out.println(response.getEntity());
- }
-}
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/GenericExceptionMapper.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/GenericExceptionMapper.java
deleted file mode 100644
index 4cd7f4f9..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/GenericExceptionMapper.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.server.resources.v1_0;
-
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.Response.ResponseBuilder;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
-
-import com.gluster.storage.management.core.exceptions.GlusterValidationException;
-
-@Provider
-public class GenericExceptionMapper implements ExceptionMapper<Exception> {
-
- /* (non-Javadoc)
- * @see javax.ws.rs.ext.ExceptionMapper#toResponse(java.lang.Throwable)
- */
- @Override
- public Response toResponse(Exception exception) {
- ResponseBuilder builder;
- if (exception instanceof GlusterValidationException) {
- builder = Response.status(Response.Status.BAD_REQUEST);
- } else {
- builder = Response.status(Response.Status.INTERNAL_SERVER_ERROR);
- }
- return builder.entity(exception.getMessage()).type(MediaType.TEXT_PLAIN).build();
- }
-}
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/GlusterExceptionMapper.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/GlusterExceptionMapper.java
deleted file mode 100644
index 99089eb7..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/GlusterExceptionMapper.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.server.resources.v1_0;
-
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
-
-import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
-
-@Provider
-public class GlusterExceptionMapper implements ExceptionMapper<GlusterRuntimeException> {
-
- /* (non-Javadoc)
- * @see javax.ws.rs.ext.ExceptionMapper#toResponse(java.lang.Throwable)
- */
- @Override
- public Response toResponse(GlusterRuntimeException exception) {
- return Response.status(Response.Status.INTERNAL_SERVER_ERROR).entity(exception.getMessage())
- .type(MediaType.TEXT_PLAIN).build();
- }
-}
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/GlusterServersResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/GlusterServersResource.java
deleted file mode 100644
index 28cf419d..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/GlusterServersResource.java
+++ /dev/null
@@ -1,522 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.server.resources.v1_0;
-
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_FSTYPE;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_SERVER_NAME;
-import static com.gluster.storage.management.core.constants.RESTConstants.PATH_PARAM_CLUSTER_NAME;
-import static com.gluster.storage.management.core.constants.RESTConstants.PATH_PARAM_DISK_NAME;
-import static com.gluster.storage.management.core.constants.RESTConstants.PATH_PARAM_SERVER_NAME;
-import static com.gluster.storage.management.core.constants.RESTConstants.QUERY_PARAM_DETAILS;
-import static com.gluster.storage.management.core.constants.RESTConstants.QUERY_PARAM_TYPE;
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_DISKS;
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_CLUSTERS;
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_SERVERS;
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_STATISTICS;
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_TASKS;
-import static com.gluster.storage.management.core.constants.RESTConstants.STATISTICS_TYPE_CPU;
-import static com.gluster.storage.management.core.constants.RESTConstants.STATISTICS_TYPE_MEMORY;
-import static com.gluster.storage.management.core.constants.RESTConstants.STATISTICS_TYPE_NETWORK;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.ws.rs.DELETE;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import com.gluster.storage.management.core.constants.CoreConstants;
-import com.gluster.storage.management.core.constants.RESTConstants;
-import com.gluster.storage.management.core.exceptions.ConnectionException;
-import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
-import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.core.model.Server.SERVER_STATUS;
-import com.gluster.storage.management.core.model.TaskStatus;
-import com.gluster.storage.management.core.response.GlusterServerListResponse;
-import com.gluster.storage.management.core.response.ServerNameListResponse;
-import com.gluster.storage.management.server.data.ClusterInfo;
-import com.gluster.storage.management.server.data.ServerInfo;
-import com.gluster.storage.management.server.services.ClusterService;
-import com.gluster.storage.management.server.tasks.InitializeDiskTask;
-import com.gluster.storage.management.server.utils.SshUtil;
-import com.sun.jersey.api.core.InjectParam;
-import com.sun.jersey.spi.resource.Singleton;
-
-@Component
-@Singleton
-@Path(RESOURCE_PATH_CLUSTERS + "/{" + PATH_PARAM_CLUSTER_NAME + "}/" + RESOURCE_SERVERS)
-public class GlusterServersResource extends AbstractServersResource {
-
- public static final String HOSTNAMETAG = "hostname:";
-
- @InjectParam
- private DiscoveredServersResource discoveredServersResource;
-
- @InjectParam
- private TasksResource taskResource;
-
- @Autowired
- private ClusterService clusterService;
-
- @Autowired
- private SshUtil sshUtil;
-
- protected void fetchServerDetails(GlusterServer server) {
- try {
- server.setStatus(SERVER_STATUS.ONLINE);
- serverUtil.fetchServerDetails(server);
- } catch (ConnectionException e) {
- server.setStatus(SERVER_STATUS.OFFLINE);
- }
- }
-
-
- @GET
- @Produces(MediaType.APPLICATION_JSON)
- public Response getGlusterServersJSON(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName,
- @QueryParam(QUERY_PARAM_DETAILS) Boolean details) {
- return getGlusterServers(clusterName, MediaType.APPLICATION_JSON, details);
- }
-
- @GET
- @Produces(MediaType.APPLICATION_XML)
- public Response getGlusterServersXML(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName,
- @QueryParam(QUERY_PARAM_DETAILS) Boolean details) {
- return getGlusterServers(clusterName, MediaType.APPLICATION_XML, details);
- }
-
- private List<GlusterServer> getGlusterServers(String clusterName, boolean fetchDetails) {
- List<GlusterServer> glusterServers;
- GlusterServer onlineServer = clusterService.getOnlineServer(clusterName);
- if (onlineServer == null) {
- throw new GlusterRuntimeException("No online servers found in cluster [" + clusterName + "]");
- }
-
- try {
- glusterServers = getGlusterServers(clusterName, onlineServer, fetchDetails);
- } catch (ConnectionException e) {
- // online server has gone offline! try with a different one.
- onlineServer = clusterService.getNewOnlineServer(clusterName);
- if (onlineServer == null) {
- throw new GlusterRuntimeException("No online servers found in cluster [" + clusterName + "]");
- }
- glusterServers = getGlusterServers(clusterName, onlineServer, fetchDetails);
- }
- return glusterServers;
- }
-
- private Response getGlusterServers(String clusterName, String mediaType, Boolean fetchDetails) {
- if(fetchDetails == null) {
- // by default, fetch the server details
- fetchDetails = true;
- }
-
- List<GlusterServer> glusterServers = new ArrayList<GlusterServer>();
-
- if (clusterName == null || clusterName.isEmpty()) {
- return badRequestResponse("Cluster name must not be empty!");
- }
-
- ClusterInfo cluster = clusterService.getCluster(clusterName);
- if (cluster == null) {
- return notFoundResponse("Cluster [" + clusterName + "] not found!");
- }
-
- if (cluster.getServers().size() == 0) {
- return okResponse(new GlusterServerListResponse(glusterServers), mediaType);
- }
-
- try {
- glusterServers = getGlusterServers(clusterName, fetchDetails);
- } catch (Exception e) {
- return errorResponse(e.getMessage());
- }
-
- if(fetchDetails) {
- return okResponse(new GlusterServerListResponse(glusterServers), mediaType);
- } else {
- // no details to be fetched. Return list of server names.
- return okResponse(new ServerNameListResponse(getServerNames(glusterServers)), mediaType);
- }
- }
-
-
- private List<String> getServerNames(List<GlusterServer> glusterServers) {
- List<String> serverNames = new ArrayList<String>();
- for(GlusterServer server : glusterServers) {
- serverNames.add(server.getName());
- }
- return serverNames;
- }
-
- private String fetchDetailsOfServers(List<GlusterServer> glusterServers, GlusterServer onlineServer) {
- String errMsg = "";
-
- for (GlusterServer server : glusterServers) {
- try {
- fetchServerDetails(server);
- } catch (Exception e) {
- errMsg += CoreConstants.NEWLINE + server.getName() + " : [" + e.getMessage() + "]";
- }
- }
- return errMsg;
- }
-
- private List<GlusterServer> getGlusterServers(String clusterName, GlusterServer onlineServer, boolean fetchDetails) {
- List<GlusterServer> glusterServers;
- try {
- glusterServers = glusterUtil.getGlusterServers(onlineServer);
- } catch (ConnectionException e) {
- // online server has gone offline! try with a different one.
- onlineServer = clusterService.getNewOnlineServer(clusterName);
- if (onlineServer == null) {
- throw new GlusterRuntimeException("No online servers found in cluster [" + clusterName + "]");
- }
-
- glusterServers = glusterUtil.getGlusterServers(onlineServer);
- }
-
- if (fetchDetails) {
- String errMsg = fetchDetailsOfServers(glusterServers, onlineServer);
- if (!errMsg.isEmpty()) {
- throw new GlusterRuntimeException("Couldn't fetch details for server(s): " + errMsg);
- }
- }
- return glusterServers;
- }
-
- @GET
- @Path("{" + PATH_PARAM_SERVER_NAME + "}")
- @Produces(MediaType.APPLICATION_XML)
- public Response getGlusterServerXML(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName,
- @PathParam(PATH_PARAM_SERVER_NAME) String serverName) {
- return getGlusterServerResponse(clusterName, serverName, MediaType.APPLICATION_XML);
- }
-
- @GET
- @Path("{" + PATH_PARAM_SERVER_NAME + "}")
- @Produces(MediaType.APPLICATION_JSON)
- public Response getGlusterServerJSON(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName,
- @PathParam(PATH_PARAM_SERVER_NAME) String serverName) {
- return getGlusterServerResponse(clusterName, serverName, MediaType.APPLICATION_JSON);
- }
-
- private Response getGlusterServerResponse(String clusterName, String serverName, String mediaType) {
- try {
- return okResponse(getGlusterServer(clusterName, serverName), mediaType);
- } catch (Exception e) {
- return errorResponse(e.getMessage());
- }
- }
-
- private GlusterServer getGlusterServer(String clusterName, String serverName) {
- if (clusterName == null || clusterName.isEmpty()) {
- throw new GlusterRuntimeException("Cluster name must not be empty!");
- }
-
- if (serverName == null || serverName.isEmpty()) {
- throw new GlusterRuntimeException("Server name must not be empty!");
- }
-
- ClusterInfo cluster = clusterService.getCluster(clusterName);
- if (cluster == null) {
- throw new GlusterRuntimeException("Cluster [" + clusterName + "] not found!");
- }
-
- GlusterServer onlineServer = clusterService.getOnlineServer(clusterName);
- if (onlineServer == null) {
- throw new GlusterRuntimeException("No online servers found in cluster [" + clusterName + "]");
- }
-
- GlusterServer server = null;
- try {
- server = glusterUtil.getGlusterServer(onlineServer, serverName);
- } catch (ConnectionException e) {
- // online server has gone offline! try with a different one.
- onlineServer = clusterService.getNewOnlineServer(clusterName);
- if (onlineServer == null) {
- throw new GlusterRuntimeException("No online servers found in cluster [" + clusterName + "]");
- }
- server = glusterUtil.getGlusterServer(onlineServer, serverName);
- }
-
- if (server.isOnline()) {
- fetchServerDetails(server);
- }
- return server;
- }
-
- private void performAddServer(String clusterName, String serverName) {
- GlusterServer onlineServer = clusterService.getOnlineServer(clusterName);
- if (onlineServer == null) {
- throw new GlusterRuntimeException("No online server found in cluster [" + clusterName + "]");
- }
-
- try {
- glusterUtil.addServer(onlineServer.getName(), serverName);
- } catch (ConnectionException e) {
- // online server has gone offline! try with a different one.
- onlineServer = clusterService.getNewOnlineServer(clusterName);
- if (onlineServer == null) {
- throw new GlusterRuntimeException("No online server found in cluster [" + clusterName + "]");
- }
-
- glusterUtil.addServer(serverName, onlineServer.getName());
- }
- }
-
- @POST
- public Response addServer(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName,
- @FormParam(FORM_PARAM_SERVER_NAME) String serverName) {
- if (clusterName == null || clusterName.isEmpty()) {
- return badRequestResponse("Cluster name must not be empty!");
- }
-
- if (serverName == null || serverName.isEmpty()) {
- return badRequestResponse("Parameter [" + FORM_PARAM_SERVER_NAME + "] is missing in request!");
- }
-
- ClusterInfo cluster = clusterService.getCluster(clusterName);
- if (cluster == null) {
- return notFoundResponse("Cluster [" + clusterName + "] not found!");
- }
-
- boolean publicKeyInstalled = sshUtil.isPublicKeyInstalled(serverName);
- if (!publicKeyInstalled && !sshUtil.hasDefaultPassword(serverName)) {
- // public key not installed, default password doesn't work. return with error.
- return errorResponse("Gluster Management Gateway uses the default password to set up keys on the server."
- + CoreConstants.NEWLINE + "However it seems that the password on server [" + serverName
- + "] has been changed manually." + CoreConstants.NEWLINE
- + "Please reset it back to the standard default password and try again.");
- }
-
- List<ServerInfo> servers = cluster.getServers();
- if (servers != null && !servers.isEmpty()) {
- // cluster has at least one existing server, so that peer probe can be performed
- try {
- performAddServer(clusterName, serverName);
- } catch (Exception e) {
- return errorResponse(e.getMessage());
- }
- } else {
- // this is the first server to be added to the cluster, which means no
- // gluster CLI operation required. just add it to the cluster-server mapping
- }
-
- try {
- // add the cluster-server mapping
- clusterService.mapServerToCluster(clusterName, serverName);
- } catch (Exception e) {
- return errorResponse(e.getMessage());
- }
-
- // since the server is added to a cluster, it should not more be considered as a
- // discovered server available to other clusters
- discoveredServersResource.removeDiscoveredServer(serverName);
-
- if (!publicKeyInstalled) {
- try {
- // install public key (this will also disable password based ssh login)
- sshUtil.installPublicKey(serverName);
- } catch (Exception e) {
- return errorResponse("Public key could not be installed on [" + serverName + "]! Error: ["
- + e.getMessage() + "]");
- }
- }
-
- return createdResponse(serverName);
- }
-
- @DELETE
- @Path("{" + PATH_PARAM_SERVER_NAME + "}")
- public Response removeServer(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName,
- @PathParam(PATH_PARAM_SERVER_NAME) String serverName) {
- if (clusterName == null || clusterName.isEmpty()) {
- return badRequestResponse("Cluster name must not be empty!");
- }
-
- if (serverName == null || serverName.isEmpty()) {
- return badRequestResponse("Server name must not be empty!");
- }
-
- ClusterInfo cluster = clusterService.getCluster(clusterName);
- if (cluster == null) {
- return notFoundResponse("Cluster [" + clusterName + "] not found!");
- }
-
- List<ServerInfo> servers = cluster.getServers();
- if (servers == null || servers.isEmpty() || !containsServer(servers, serverName)) {
- return badRequestResponse("Server [" + serverName + "] is not attached to cluster [" + clusterName + "]!");
- }
-
- if (servers.size() == 1) {
- // Only one server mapped to the cluster, no "peer detach" required.
- // remove the cached online server for this cluster if present
- clusterService.removeOnlineServer(clusterName);
- } else {
- try {
- removeServerFromCluster(clusterName, serverName);
- } catch (Exception e) {
- return errorResponse(e.getMessage());
- }
- }
- clusterService.unmapServerFromCluster(clusterName, serverName);
-
- return noContentResponse();
- }
-
- private void removeServerFromCluster(String clusterName, String serverName) {
- // get an online server that is not same as the server being removed
- GlusterServer onlineServer = clusterService.getOnlineServer(clusterName, serverName);
- if (onlineServer == null) {
- throw new GlusterRuntimeException("No online server found in cluster [" + clusterName + "]");
- }
-
- try {
- glusterUtil.removeServer(onlineServer.getName(), serverName);
- } catch (ConnectionException e) {
- // online server has gone offline! try with a different one.
- onlineServer = clusterService.getNewOnlineServer(clusterName, serverName);
- if (onlineServer == null) {
- throw new GlusterRuntimeException("No online server found in cluster [" + clusterName + "]");
- }
- glusterUtil.removeServer(onlineServer.getName(), serverName);
- }
-
- if (onlineServer.getName().equals(serverName)) {
- // since the cached server has been removed from the cluster, remove it from the cache
- clusterService.removeOnlineServer(clusterName);
- }
-
- // since the server is removed from the cluster, it is now available to be added to other clusters.
- // Hence add it back to the discovered servers list.
- discoveredServersResource.addDiscoveredServer(serverName);
- }
-
- private boolean containsServer(List<ServerInfo> servers, String serverName) {
- for (ServerInfo server : servers) {
- if (server.getName().toUpperCase().equals(serverName.toUpperCase())) {
- return true;
- }
- }
- return false;
- }
-
- @PUT
- @Produces(MediaType.APPLICATION_XML)
- @Path("{" + PATH_PARAM_SERVER_NAME + "}/" + RESOURCE_DISKS + "/{" + PATH_PARAM_DISK_NAME + "}")
- public Response initializeDisk(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName,
- @PathParam(PATH_PARAM_SERVER_NAME) String serverName, @PathParam(PATH_PARAM_DISK_NAME) String diskName,
- @FormParam(FORM_PARAM_FSTYPE) String fsType) {
-
- if (clusterName == null || clusterName.isEmpty()) {
- return badRequestResponse("Cluster name must not be empty!");
- }
-
- if (serverName == null || serverName.isEmpty()) {
- return badRequestResponse("Server name must not be empty!");
- }
-
- if (diskName == null || diskName.isEmpty()) {
- return badRequestResponse("Disk name must not be empty!");
- }
-
- if (fsType == null || fsType.isEmpty()) {
- return badRequestResponse("Parameter [" + FORM_PARAM_FSTYPE + "] is missing in request!");
- }
-
- InitializeDiskTask initializeTask = new InitializeDiskTask(clusterService, clusterName, serverName, diskName, fsType);
- try {
- initializeTask.start();
- // Check the initialize disk status
- TaskStatus taskStatus = initializeTask.checkStatus();
- initializeTask.getTaskInfo().setStatus(taskStatus);
- taskResource.addTask(initializeTask);
-
- return acceptedResponse(RESTConstants.RESOURCE_PATH_CLUSTERS + "/" + clusterName + "/" + RESOURCE_TASKS + "/"
- + initializeTask.getId());
- } catch (Exception e) {
- return errorResponse(e.getMessage());
- }
- }
-
- @GET
- @Produces(MediaType.APPLICATION_XML)
- @Path(RESOURCE_STATISTICS)
- public Response getAggregatedPerformanceDataXML(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName,
- @QueryParam(QUERY_PARAM_TYPE) String type) {
- return getAggregaredPerformanceData(clusterName, type, MediaType.APPLICATION_XML);
- }
-
- @GET
- @Produces(MediaType.APPLICATION_JSON)
- @Path(RESOURCE_STATISTICS)
- public Response getAggregaredPerformanceDataJSON(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName,
- @QueryParam(QUERY_PARAM_TYPE) String type) {
- return getAggregaredPerformanceData(clusterName, type, MediaType.APPLICATION_JSON);
- }
-
- @GET
- @Produces(MediaType.APPLICATION_XML)
- @Path("{" + PATH_PARAM_SERVER_NAME + "}/" + RESOURCE_STATISTICS)
- public Response getPerformanceDataXML(@PathParam(PATH_PARAM_SERVER_NAME) String serverName, @QueryParam(QUERY_PARAM_TYPE) String type) {
- return getPerformanceData(serverName, type, MediaType.APPLICATION_XML);
- }
-
- @GET
- @Produces(MediaType.APPLICATION_JSON)
- @Path("{" + PATH_PARAM_SERVER_NAME + "}/" + RESOURCE_STATISTICS)
- public Response getPerformanceDataJSON(@PathParam(PATH_PARAM_SERVER_NAME) String serverName, @QueryParam(QUERY_PARAM_TYPE) String type) {
- return getPerformanceData(serverName, type, MediaType.APPLICATION_JSON);
- }
-
- private Response getAggregaredPerformanceData(String clusterName, String type, String mediaType) {
- List<String> serverNames = getServerNames(getGlusterServers(clusterName, false));
- if(type.equals(STATISTICS_TYPE_CPU)) {
- return okResponse(serverUtil.fetchAggregatedCPUStats(serverNames), mediaType);
- } else {
- return badRequestResponse("Server Statistics for [" + type + "] not supported! Valid values are ["
- + STATISTICS_TYPE_CPU + ", " + STATISTICS_TYPE_NETWORK + ", " + STATISTICS_TYPE_MEMORY + "]");
- }
- }
-
- private Response getPerformanceData(String serverName, String type, String mediaType) {
- if(type.equals(STATISTICS_TYPE_CPU)) {
- return okResponse(serverUtil.fetchCPUUsageData(serverName), mediaType);
- } else if(type.equals(STATISTICS_TYPE_NETWORK)) {
- return okResponse(serverUtil.fetchCPUUsageData(serverName), mediaType);
- } else if(type.equals(STATISTICS_TYPE_MEMORY)) {
- return okResponse(serverUtil.fetchCPUUsageData(serverName), mediaType);
- } else {
- return badRequestResponse("Server Statistics for [" + type + "] not supported! Valid values are ["
- + STATISTICS_TYPE_CPU + ", " + STATISTICS_TYPE_NETWORK + ", " + STATISTICS_TYPE_MEMORY + "]");
- }
- }
-}
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/KeysResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/KeysResource.java
deleted file mode 100644
index 5ac37bd1..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/KeysResource.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/**
- * KeysResource.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.server.resources.v1_0;
-
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_KEYS;
-
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-
-import javax.ws.rs.Consumes;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.Path;
-import javax.ws.rs.Produces;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.StreamingOutput;
-
-import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
-import com.gluster.storage.management.core.utils.FileUtil;
-import com.gluster.storage.management.core.utils.ProcessResult;
-import com.gluster.storage.management.core.utils.ProcessUtil;
-import com.gluster.storage.management.server.utils.SshUtil;
-import com.sun.jersey.multipart.FormDataParam;
-
-@Path(RESOURCE_PATH_KEYS)
-public class KeysResource extends AbstractResource {
- ProcessUtil processUtil = new ProcessUtil();
-
- @GET
- @Produces(MediaType.APPLICATION_OCTET_STREAM)
- public Response exportSshkeys() {
- try {
- StreamingOutput output = new StreamingOutput() {
-
- @Override
- public void write(OutputStream output) throws IOException, WebApplicationException {
- try {
- File archiveFile = new File(createSskKeyZipFile());
- output.write(FileUtil.readFileAsByteArray(archiveFile));
- archiveFile.delete();
- } catch (Exception e) {
- output.write(("Exception while archiving SSH Key files : " + e.getMessage()).getBytes());
- }
- }
- };
- return streamingOutputResponse(output);
- } catch (Exception e) {
- return errorResponse("Exporting SSH keys failed! [" + e.getMessage() + "]");
- }
- }
-
- private String createSskKeyZipFile() {
- String targetDir = System.getProperty("java.io.tmpdir");
- String zipFile = targetDir + "ssh-keys.tar";
- String sourcePemFile = SshUtil.PEM_FILE.getAbsolutePath();
- String sourcePubKeyFile = SshUtil.PUBLIC_KEY_FILE.getAbsolutePath();
- String targetPemFile = targetDir + File.separator + SshUtil.PEM_FILE.getName();
- String targetPubKeyFile = targetDir + File.separator + SshUtil.PUBLIC_KEY_FILE.getName();
-
- // Copy keys to temp folder
- processUtil.executeCommand("cp", sourcePemFile, targetPemFile);
- processUtil.executeCommand("cp", sourcePubKeyFile, targetPubKeyFile);
-
- // To zip the key files
- processUtil.executeCommand("tar", "cvf", zipFile, "-C", "/tmp", SshUtil.PEM_FILE.getName(),
- SshUtil.PUBLIC_KEY_FILE.getName());
-
- // To remove the copied key files
- processUtil.executeCommand("rm", "-f", targetPubKeyFile, targetPubKeyFile);
-
- return zipFile;
- }
-
- @POST
- @Consumes(MediaType.MULTIPART_FORM_DATA)
- public Response importSshKeys(@FormDataParam("file") InputStream uploadedInputStream) {
- File uploadedFile = new File(System.getProperty("java.io.tmpdir") + File.separator + "keys.tar");
- String timestamp = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
- try {
- writeToFile(uploadedInputStream, uploadedFile.getAbsolutePath());
-
- // To backup existing SSH pem and public keys
- if (SshUtil.PEM_FILE.isFile()) {
- if (!SshUtil.PEM_FILE.renameTo(new File(SshUtil.PEM_FILE.getAbsolutePath() + "-" + timestamp))) {
- throw new GlusterRuntimeException("Unable to backup pem key!");
- }
- }
-
- if (SshUtil.PUBLIC_KEY_FILE.isFile()) {
- if (!SshUtil.PUBLIC_KEY_FILE.renameTo(new File(SshUtil.PUBLIC_KEY_FILE.getAbsolutePath() + "-"
- + timestamp))) {
- throw new GlusterRuntimeException("Unable to backup public key!");
- }
- }
- // Extract SSH pem and public key files.
- ProcessResult output = processUtil.executeCommand("tar", "xvf", uploadedFile.getName(), "-C",
- SshUtil.SSH_AUTHORIZED_KEYS_DIR);
- uploadedFile.delete();
- if (output.isSuccess()) {
- return createdResponse("SSH Key imported successfully");
- } else {
- return errorResponse(output.getOutput());
- }
- } catch (Exception e) {
- return errorResponse(e.getMessage());
- }
- }
-
- // save uploaded file to the file (with path)
- private void writeToFile(InputStream inputStream, String toFile) {
- try {
- int read = 0;
- byte[] bytes = new byte[1024];
-
- OutputStream out = new FileOutputStream(new File(toFile));
- while ((read = inputStream.read(bytes)) != -1) {
- out.write(bytes, 0, read);
- }
- out.flush();
- out.close();
- } catch (IOException e) {
- throw new GlusterRuntimeException(e.getMessage());
- }
- }
-}
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/TasksResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/TasksResource.java
deleted file mode 100644
index 0fa49dc3..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/TasksResource.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/**
- * TaskResource.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.server.resources.v1_0;
-
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_OPERATION;
-import static com.gluster.storage.management.core.constants.RESTConstants.PATH_PARAM_CLUSTER_NAME;
-import static com.gluster.storage.management.core.constants.RESTConstants.PATH_PARAM_TASK_ID;
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_CLUSTERS;
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_TASKS;
-
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.ws.rs.DELETE;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-import org.springframework.stereotype.Component;
-
-import com.gluster.storage.management.core.constants.RESTConstants;
-import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
-import com.gluster.storage.management.core.exceptions.GlusterValidationException;
-import com.gluster.storage.management.core.model.Status;
-import com.gluster.storage.management.core.model.TaskInfo;
-import com.gluster.storage.management.core.response.TaskInfoListResponse;
-import com.gluster.storage.management.server.tasks.Task;
-import com.sun.jersey.spi.resource.Singleton;
-
-@Path(RESOURCE_PATH_CLUSTERS + "/{" + PATH_PARAM_CLUSTER_NAME + "}/" + RESOURCE_TASKS)
-@Singleton
-@Component
-public class TasksResource extends AbstractResource {
- private Map<String, Task> tasksMap = new HashMap<String, Task>();
-
- public TasksResource() {
- }
-
- public void addTask(Task task) {
- tasksMap.put(task.getId(), task);
- }
-
- public void removeTask(Task task) {
- tasksMap.remove(task.getId());
- }
-
- public List<TaskInfo> getAllTasksInfo() {
- List<TaskInfo> allTasksInfo = new ArrayList<TaskInfo>();
- for (Map.Entry<String, Task> entry : tasksMap.entrySet()) {
- checkTaskStatus(entry.getKey());
- allTasksInfo.add(entry.getValue().getTaskInfo()); // TaskInfo with latest status
- }
- return allTasksInfo;
- }
-
- public Task getTask(String taskId) {
- for (Map.Entry<String, Task> entry : tasksMap.entrySet()) {
- if (entry.getValue().getId().equals(taskId)) {
- return entry.getValue();
- }
- }
- return null;
- }
-
- public List<Task> getAllTasks() {
- List<Task> tasks = new ArrayList<Task>();
- for (Map.Entry<String, Task> entry : tasksMap.entrySet()) {
- checkTaskStatus(entry.getKey());
- tasks.add( (Task) entry.getValue());
- }
- return tasks;
- }
-
- @GET
- @Produces(MediaType.APPLICATION_XML)
- public Response getTasks() {
- try {
- return okResponse(new TaskInfoListResponse(getAllTasksInfo()), MediaType.APPLICATION_XML);
- } catch (GlusterRuntimeException e) {
- return errorResponse(e.getMessage());
- }
- }
-
- @GET
- @Path("/{" + PATH_PARAM_TASK_ID + "}")
- @Produces(MediaType.APPLICATION_XML)
- public Response getTaskStatus( @PathParam(PATH_PARAM_TASK_ID) String taskId) {
- try {
- Task task = checkTaskStatus(taskId);
- return okResponse(task.getTaskInfo(), MediaType.APPLICATION_XML);
- } catch (GlusterRuntimeException e) {
- return errorResponse(e.getMessage());
- }
- }
-
- private Task checkTaskStatus(String taskId) {
- Task task = getTask(taskId);
- // No status check required if the task already complete or failure
- if (task.getTaskInfo().getStatus().getCode() == Status.STATUS_CODE_FAILURE
- || task.getTaskInfo().getStatus().getCode() == Status.STATUS_CODE_SUCCESS) {
- return task;
- }
- task.getTaskInfo().setStatus(task.checkStatus());
- return task;
- }
-
- @PUT
- @Path("/{" + PATH_PARAM_TASK_ID + "}")
- @Produces(MediaType.APPLICATION_XML)
- public Response performTask(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName,
- @PathParam(PATH_PARAM_TASK_ID) String taskId, @FormParam(FORM_PARAM_OPERATION) String taskOperation) {
- Task task = getTask(taskId);
-
- try {
- if (taskOperation.equals(RESTConstants.TASK_RESUME)) {
- task.resume();
- } else if (taskOperation.equals(RESTConstants.TASK_PAUSE)) {
- task.pause();
- } else if (taskOperation.equals(RESTConstants.TASK_STOP)) {
- // task.stop();
- clearTask(taskId, taskOperation); // Stop and remove from the task list
- } else if (taskOperation.equals(RESTConstants.TASK_COMMIT)) {
- task.commit();
- }
- return (Response) noContentResponse();
- } catch(GlusterValidationException ve) {
- return badRequestResponse(ve.getMessage());
- } catch (GlusterRuntimeException e) {
- return errorResponse(e.getMessage());
- }
- }
-
- @DELETE
- @Path("/{" + PATH_PARAM_TASK_ID + "}")
- @Produces(MediaType.APPLICATION_XML)
- public Response clearTask(@PathParam(PATH_PARAM_TASK_ID) String taskId,
- @QueryParam(FORM_PARAM_OPERATION) String taskOperation) {
- Task task = getTask(taskId);
- if (task == null) {
- return notFoundResponse("Task [" + taskId + "] not found!");
- }
-
- if(taskOperation == null || taskOperation.isEmpty()) {
- return badRequestResponse("Parameter [" + FORM_PARAM_OPERATION + "] is missing in request!");
- }
-
- if(!taskOperation.equals(RESTConstants.TASK_STOP) && !taskOperation.equals(RESTConstants.TASK_DELETE)) {
- return badRequestResponse("Invalid value [" + taskOperation + "] for parameter [" + FORM_PARAM_OPERATION
- + "]");
- }
-
- try {
- if (taskOperation.equals(RESTConstants.TASK_STOP)) {
- task.stop();
- // On successfully stopping the task, we can delete (forget) it as it is no more useful
- taskOperation = RESTConstants.TASK_DELETE;
- }
-
- if (taskOperation.equals(RESTConstants.TASK_DELETE)) {
- removeTask(task);
- }
-
- return noContentResponse();
- } catch (Exception e) {
- return errorResponse(e.getMessage());
- }
- }
-}
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/UsersResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/UsersResource.java
deleted file mode 100644
index 1b5e8fad..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/UsersResource.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.server.resources.v1_0;
-
-import static com.gluster.storage.management.core.constants.RESTConstants.PATH_PARAM_USER;
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_USERS;
-
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-
-import org.apache.log4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.security.authentication.encoding.PasswordEncoder;
-import org.springframework.security.core.context.SecurityContextHolder;
-import org.springframework.security.provisioning.JdbcUserDetailsManager;
-import org.springframework.stereotype.Component;
-
-import com.gluster.storage.management.core.model.Status;
-import com.sun.jersey.spi.resource.Singleton;
-
-@Singleton
-@Component
-@Path(RESOURCE_PATH_USERS)
-public class UsersResource extends AbstractResource {
- @Autowired
- private JdbcUserDetailsManager jdbcUserService;
-
- @Autowired
- private PasswordEncoder passwordEncoder;
-
- private static final Logger logger = Logger.getLogger(UsersResource.class);
-
- @Path("{" + PATH_PARAM_USER + "}")
- @GET
- @Produces(MediaType.APPLICATION_XML)
- public Response authenticateXML(@PathParam("user") String user) {
- // success only if the user passed in query is same as the one passed in security header
- // spring security would have already authenticated the user credentials
- return getAuthenticationResponse(user, MediaType.APPLICATION_XML);
- }
-
- @Path("{" + PATH_PARAM_USER + "}")
- @GET
- @Produces(MediaType.APPLICATION_JSON)
- public Response authenticateJSON(@PathParam("user") String user) {
- // success only if the user passed in query is same as the one passed in security header
- // spring security would have already authenticated the user credentials
- return getAuthenticationResponse(user, MediaType.APPLICATION_JSON);
- }
-
- public Response getAuthenticationResponse(String user, String mediaType) {
- return (SecurityContextHolder.getContext().getAuthentication().getName().equals(user) ? okResponse(
- Status.STATUS_SUCCESS, mediaType) : unauthorizedResponse());
- }
-
- @Path("{" + PATH_PARAM_USER + "}")
- @PUT
- public Response changePassword(@FormParam("oldpassword") String oldPassword,
- @FormParam("newpassword") String newPassword) {
- try {
- jdbcUserService.changePassword(oldPassword, passwordEncoder.encodePassword(newPassword, null));
- } catch (Exception ex) {
- String errMsg = "Could not change password. Error: [" + ex.getMessage() + "]";
- logger.error(errMsg, ex);
- return errorResponse(errMsg);
- }
- return noContentResponse();
- }
-}
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/ValidationExceptionMapper.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/ValidationExceptionMapper.java
deleted file mode 100644
index cab6cc62..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/ValidationExceptionMapper.java
+++ /dev/null
@@ -1,39 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- *******************************************************************************/
-package com.gluster.storage.management.server.resources.v1_0;
-
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.ext.ExceptionMapper;
-import javax.ws.rs.ext.Provider;
-
-import com.gluster.storage.management.core.exceptions.GlusterValidationException;
-
-@Provider
-public class ValidationExceptionMapper implements ExceptionMapper<GlusterValidationException> {
-
- /* (non-Javadoc)
- * @see javax.ws.rs.ext.ExceptionMapper#toResponse(java.lang.Throwable)
- */
- @Override
- public Response toResponse(GlusterValidationException exception) {
- return Response.status(Response.Status.BAD_REQUEST).entity(exception.getMessage())
- .type(MediaType.TEXT_PLAIN).build();
- }
-}
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/VolumesResource.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/VolumesResource.java
deleted file mode 100644
index fb3923fc..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/resources/v1_0/VolumesResource.java
+++ /dev/null
@@ -1,1029 +0,0 @@
-/**
- * VolumesResource.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.server.resources.v1_0;
-
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_ACCESS_PROTOCOLS;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_AUTO_COMMIT;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_BRICKS;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_FIX_LAYOUT;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_FORCED_DATA_MIGRATE;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_MIGRATE_DATA;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_OPERATION;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_OPTION_KEY;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_OPTION_VALUE;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_REPLICA_COUNT;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_SOURCE;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_STRIPE_COUNT;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_TARGET;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_TRANSPORT_TYPE;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_VOLUME_NAME;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_VOLUME_OPTIONS;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_VOLUME_TYPE;
-import static com.gluster.storage.management.core.constants.RESTConstants.PATH_PARAM_CLUSTER_NAME;
-import static com.gluster.storage.management.core.constants.RESTConstants.PATH_PARAM_VOLUME_NAME;
-import static com.gluster.storage.management.core.constants.RESTConstants.QUERY_PARAM_BRICKS;
-import static com.gluster.storage.management.core.constants.RESTConstants.QUERY_PARAM_BRICK_NAME;
-import static com.gluster.storage.management.core.constants.RESTConstants.QUERY_PARAM_DELETE_OPTION;
-import static com.gluster.storage.management.core.constants.RESTConstants.QUERY_PARAM_DOWNLOAD;
-import static com.gluster.storage.management.core.constants.RESTConstants.QUERY_PARAM_FROM_TIMESTAMP;
-import static com.gluster.storage.management.core.constants.RESTConstants.QUERY_PARAM_LINE_COUNT;
-import static com.gluster.storage.management.core.constants.RESTConstants.QUERY_PARAM_LOG_SEVERITY;
-import static com.gluster.storage.management.core.constants.RESTConstants.QUERY_PARAM_TO_TIMESTAMP;
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_BRICKS;
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_DEFAULT_OPTIONS;
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_DOWNLOAD;
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_LOGS;
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_OPTIONS;
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_CLUSTERS;
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_TASKS;
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_VOLUMES;
-import static com.gluster.storage.management.core.constants.RESTConstants.TASK_START;
-import static com.gluster.storage.management.core.constants.RESTConstants.TASK_STOP;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.Date;
-import java.util.List;
-
-import javax.ws.rs.DELETE;
-import javax.ws.rs.FormParam;
-import javax.ws.rs.GET;
-import javax.ws.rs.POST;
-import javax.ws.rs.PUT;
-import javax.ws.rs.Path;
-import javax.ws.rs.PathParam;
-import javax.ws.rs.Produces;
-import javax.ws.rs.QueryParam;
-import javax.ws.rs.WebApplicationException;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.Response;
-import javax.ws.rs.core.StreamingOutput;
-
-import com.gluster.storage.management.core.constants.CoreConstants;
-import com.gluster.storage.management.core.constants.RESTConstants;
-import com.gluster.storage.management.core.exceptions.ConnectionException;
-import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
-import com.gluster.storage.management.core.model.Brick;
-import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.core.model.Status;
-import com.gluster.storage.management.core.model.Volume;
-import com.gluster.storage.management.core.model.Volume.VOLUME_TYPE;
-import com.gluster.storage.management.core.model.VolumeLogMessage;
-import com.gluster.storage.management.core.response.GenericResponse;
-import com.gluster.storage.management.core.response.LogMessageListResponse;
-import com.gluster.storage.management.core.response.VolumeListResponse;
-import com.gluster.storage.management.core.response.VolumeOptionInfoListResponse;
-import com.gluster.storage.management.core.utils.DateUtil;
-import com.gluster.storage.management.core.utils.FileUtil;
-import com.gluster.storage.management.core.utils.ProcessUtil;
-import com.gluster.storage.management.server.constants.VolumeOptionsDefaults;
-import com.gluster.storage.management.server.data.ClusterInfo;
-import com.gluster.storage.management.server.services.ClusterService;
-import com.gluster.storage.management.server.tasks.MigrateBrickTask;
-import com.gluster.storage.management.server.tasks.RebalanceVolumeTask;
-import com.gluster.storage.management.server.utils.GlusterUtil;
-import com.gluster.storage.management.server.utils.ServerUtil;
-import com.sun.jersey.api.core.InjectParam;
-import com.sun.jersey.spi.resource.Singleton;
-
-@Singleton
-@Path(RESOURCE_PATH_CLUSTERS + "/{" + PATH_PARAM_CLUSTER_NAME + "}/" + RESOURCE_VOLUMES)
-public class VolumesResource extends AbstractResource {
- private static final String VOLUME_DIRECTORY_CLEANUP_SCRIPT = "clear_volume_directory.py";
- private static final String VOLUME_BRICK_LOG_SCRIPT = "get_volume_brick_log.py";
-
- @InjectParam
- private ServerUtil serverUtil;
-
- @InjectParam
- private GlusterUtil glusterUtil;
-
- @InjectParam
- private ClusterService clusterService;
-
- @InjectParam
- private VolumeOptionsDefaults volumeOptionsDefaults;
-
- @InjectParam
- private TasksResource taskResource;
-
- @GET
- @Produces({MediaType.APPLICATION_XML})
- public Response getVolumesXML(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName) {
- return getVolumes(clusterName, MediaType.APPLICATION_XML);
- }
-
- @GET
- @Produces({MediaType.APPLICATION_JSON})
- public Response getVolumesJSON(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName) {
- return getVolumes(clusterName, MediaType.APPLICATION_JSON);
- }
-
- public Response getVolumes(String clusterName, String mediaType) {
- if (clusterName == null || clusterName.isEmpty()) {
- return badRequestResponse("Cluster name must not be empty!");
- }
-
- ClusterInfo cluster = clusterService.getCluster(clusterName);
- if (cluster == null) {
- return notFoundResponse("Cluster [" + clusterName + "] not found!");
- }
-
- if(cluster.getServers().size() == 0) {
- // no server added yet. return an empty array.
- return okResponse(new VolumeListResponse(), mediaType);
- }
-
- return okResponse(getVolumes(clusterName), mediaType);
- }
-
- public VolumeListResponse getVolumes(String clusterName) {
- GlusterServer onlineServer = clusterService.getOnlineServer(clusterName);
- if (onlineServer == null) {
- return new VolumeListResponse(new ArrayList<Volume>());
- }
-
- try {
- return new VolumeListResponse(glusterUtil.getAllVolumes(onlineServer.getName()));
- } catch (ConnectionException e) {
- // online server has gone offline! try with a different one.
- onlineServer = clusterService.getNewOnlineServer(clusterName);
- if (onlineServer == null) {
- return new VolumeListResponse(new ArrayList<Volume>());
- }
-
- return new VolumeListResponse(glusterUtil.getAllVolumes(onlineServer.getName()));
- }
- }
-
- @POST
- @Produces(MediaType.APPLICATION_XML)
- public Response createVolume(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName, @FormParam(FORM_PARAM_VOLUME_NAME) String volumeName,
- @FormParam(FORM_PARAM_VOLUME_TYPE) String volumeType, @FormParam(FORM_PARAM_TRANSPORT_TYPE) String transportType,
- @FormParam(FORM_PARAM_REPLICA_COUNT) Integer replicaCount, @FormParam(FORM_PARAM_STRIPE_COUNT) Integer stripeCount,
- @FormParam(FORM_PARAM_BRICKS) String bricks, @FormParam(FORM_PARAM_ACCESS_PROTOCOLS) String accessProtocols,
- @FormParam(FORM_PARAM_VOLUME_OPTIONS) String options) {
- if(clusterName == null || clusterName.isEmpty()) {
- return badRequestResponse("Cluster name must not be empty!");
- }
-
- String missingParam = checkMissingParamsForCreateVolume(volumeName, volumeType, transportType, replicaCount, stripeCount, bricks, accessProtocols, options);
- if(missingParam != null) {
- return badRequestResponse("Parameter [" + missingParam + "] is missing in request!");
- }
-
- if (clusterService.getCluster(clusterName) == null) {
- return notFoundResponse("Cluster [" + clusterName + "] not found!");
- }
-
- if (volumeType.equals(VOLUME_TYPE.DISTRIBUTED_MIRROR) && replicaCount <= 0) {
- return badRequestResponse("Replica count must be a positive integer");
- }
-
- if (volumeType.equals(VOLUME_TYPE.DISTRIBUTED_STRIPE) && stripeCount <= 0) {
- return badRequestResponse("Stripe count must be a positive integer");
- }
-
- try {
- performCreateVolume(clusterName, volumeName, volumeType, transportType, replicaCount, stripeCount, bricks, accessProtocols,
- options);
- return createdResponse(volumeName);
- } catch (Exception e) {
- return errorResponse(e.getMessage());
- }
- }
-
- public void performCreateVolume(String clusterName, String volumeName, String volumeType, String transportType, Integer replicaCount,
- Integer stripeCount, String bricks, String accessProtocols, String options) {
- GlusterServer onlineServer = clusterService.getOnlineServer(clusterName);
- if (onlineServer == null) {
- throw new GlusterRuntimeException("No online servers found in cluster [" + clusterName + "]");
- }
-
- try {
- glusterUtil.createVolume(onlineServer.getName(), volumeName, volumeType, transportType, replicaCount, stripeCount, bricks, accessProtocols, options);
- } catch (ConnectionException e) {
- // online server has gone offline! try with a different one.
- onlineServer = clusterService.getNewOnlineServer(clusterName);
- if (onlineServer == null) {
- throw new GlusterRuntimeException("No online servers found in cluster [" + clusterName + "]");
- }
-
- glusterUtil.createVolume(onlineServer.getName(), volumeName, volumeType, transportType, replicaCount, stripeCount, bricks, accessProtocols, options);
- }
- }
-
- /**
- * Returns name of the missing parameter if any. If all parameters are present,
- * @param volumeName
- * @param volumeType
- * @param transportType
- * @param replicaCount
- * @param stripeCount
- * @param bricks
- * @param accessProtocols
- * @param options
- * @return
- */
- private String checkMissingParamsForCreateVolume(String volumeName, String volumeType,
- String transportType, Integer replicaCount, Integer stripeCount, String bricks, String accessProtocols,
- String options) {
-
- return (volumeName == null || volumeName.isEmpty()) ? FORM_PARAM_VOLUME_NAME :
- (volumeType == null || volumeType.isEmpty()) ? FORM_PARAM_VOLUME_TYPE :
- (transportType == null || transportType.isEmpty()) ? FORM_PARAM_TRANSPORT_TYPE :
- (replicaCount == null) ? FORM_PARAM_REPLICA_COUNT :
- (stripeCount == null) ? FORM_PARAM_STRIPE_COUNT :
- (bricks == null || bricks.isEmpty()) ? FORM_PARAM_BRICKS :
- (accessProtocols == null || accessProtocols.isEmpty()) ? FORM_PARAM_ACCESS_PROTOCOLS :
- (options == null || options.isEmpty()) ? FORM_PARAM_VOLUME_OPTIONS :
- null;
- }
-
- @GET
- @Path("{" + PATH_PARAM_VOLUME_NAME + "}")
- @Produces(MediaType.APPLICATION_XML)
- public Response getVolumeXML(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName,
- @PathParam(PATH_PARAM_VOLUME_NAME) String volumeName) {
- return getVolume(clusterName, volumeName, MediaType.APPLICATION_XML);
- }
-
- @GET
- @Path("{" + PATH_PARAM_VOLUME_NAME + "}")
- @Produces(MediaType.APPLICATION_JSON)
- public Response getVolumeJSON(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName,
- @PathParam(PATH_PARAM_VOLUME_NAME) String volumeName) {
- return getVolume(clusterName, volumeName, MediaType.APPLICATION_JSON);
- }
-
- private Response getVolume(String clusterName, String volumeName, String mediaType) {
- Volume volume = null;
-
- if (clusterName == null || clusterName.isEmpty()) {
- return badRequestResponse("Cluster name must not be empty!");
- }
-
- if (clusterService.getCluster(clusterName) == null) {
- return notFoundResponse("Cluster [" + clusterName + "] not found!");
- }
-
- try {
- volume = getVolume(clusterName, volumeName);
- return okResponse(volume, mediaType);
- } catch(Exception e) {
- return errorResponse(e.getMessage());
- }
- }
-
- private Volume getVolume(String clusterName, String volumeName) {
- Volume volume;
- GlusterServer onlineServer = clusterService.getOnlineServer(clusterName);
- if (onlineServer == null) {
- throw new GlusterRuntimeException("No online servers found in cluster [" + clusterName + "]");
- }
-
- try {
- volume = glusterUtil.getVolume(volumeName, onlineServer.getName());
- } catch (ConnectionException e) {
- // online server has gone offline! try with a different one.
- onlineServer = clusterService.getNewOnlineServer(clusterName);
- if (onlineServer == null) {
- throw new GlusterRuntimeException("No online servers found in cluster [" + clusterName + "]");
- }
-
- volume = glusterUtil.getVolume(volumeName, onlineServer.getName());
- }
- return volume;
- }
-
- @PUT
- @Path("{" + PATH_PARAM_VOLUME_NAME + "}")
- public Response performOperation(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName,
- @PathParam(PATH_PARAM_VOLUME_NAME) String volumeName, @FormParam(FORM_PARAM_OPERATION) String operation,
- @FormParam(FORM_PARAM_FIX_LAYOUT) Boolean isFixLayout,
- @FormParam(FORM_PARAM_MIGRATE_DATA) Boolean isMigrateData,
- @FormParam(FORM_PARAM_FORCED_DATA_MIGRATE) Boolean isForcedDataMigrate) {
- if (clusterName == null || clusterName.isEmpty()) {
- return badRequestResponse("Cluster name must not be empty!");
- }
-
- if (volumeName == null || volumeName.isEmpty()) {
- return badRequestResponse("Volume name must not be empty!");
- }
-
- if (clusterService.getCluster(clusterName) == null) {
- return notFoundResponse("Cluster [" + clusterName + "] not found!");
- }
-
- try {
- if (operation.equals(RESTConstants.TASK_REBALANCE_START)) {
- String taskId = rebalanceStart(clusterName, volumeName, isFixLayout, isMigrateData, isForcedDataMigrate);
- return acceptedResponse(RESTConstants.RESOURCE_PATH_CLUSTERS + "/" + clusterName + "/" + RESOURCE_TASKS
- + "/" + taskId);
- } else if (operation.equals(RESTConstants.TASK_REBALANCE_STOP)) {
- rebalanceStop(clusterName, volumeName);
- } else {
- performVolumeOperation(clusterName, volumeName, operation);
- }
- return noContentResponse();
- } catch(Exception e) {
- return errorResponse(e.getMessage());
- }
- }
-
- private void performVolumeOperation(String clusterName, String volumeName, String operation) {
- GlusterServer onlineServer = clusterService.getOnlineServer(clusterName);
- try {
- if (onlineServer == null) {
- throw new GlusterRuntimeException("No online servers found in cluster [" + clusterName + "]");
- }
-
- performOperation(volumeName, operation, onlineServer);
- } catch (ConnectionException e) {
- // online server has gone offline! try with a different one.
- onlineServer = clusterService.getNewOnlineServer(clusterName);
- performOperation(volumeName, operation, onlineServer);
- }
- }
-
- private Status performOperation(String volumeName, String operation, GlusterServer onlineServer) {
- if (operation.equals(TASK_START)) {
- return glusterUtil.startVolume(volumeName, onlineServer.getName());
- } else if (operation.equals(TASK_STOP)) {
- return glusterUtil.stopVolume(volumeName, onlineServer.getName());
- } else {
- return new Status(Status.STATUS_CODE_FAILURE, "Invalid operation code [" + operation + "]");
- }
- }
-
- @DELETE
- @Path("{" + PATH_PARAM_VOLUME_NAME + "}")
- public Response deleteVolume(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName,
- @PathParam(PATH_PARAM_VOLUME_NAME) String volumeName,
- @QueryParam(QUERY_PARAM_DELETE_OPTION) Boolean deleteFlag) {
- if (clusterName == null || clusterName.isEmpty()) {
- return badRequestResponse("Cluster name must not be empty");
- }
-
- if (volumeName == null || volumeName.isEmpty()) {
- return badRequestResponse("Volume name must not be empty");
- }
-
- if (clusterService.getCluster(clusterName) == null) {
- return notFoundResponse("Cluster [" + clusterName + "] not found!");
- }
-
- if (deleteFlag == null) {
- deleteFlag = false;
- }
-
- Volume volume = null;
- try {
- volume = getVolume(clusterName, volumeName);
- } catch (Exception e) {
- // TODO: Log the exception
- return errorResponse(e.getMessage());
- }
-
- List<Brick> bricks = volume.getBricks();
- Status status = glusterUtil.deleteVolume(volumeName, clusterService.getOnlineServer(clusterName)
- .getName());
- if(!status.isSuccess()) {
- return errorResponse("Couldn't delete volume [" + volumeName + "]. Error: " + status);
- }
-
- try {
- postDelete(volumeName, bricks, deleteFlag);
- } catch(Exception e) {
- return errorResponse("Volume [" + volumeName
- + "] deleted from cluster, however following errors happened: " + CoreConstants.NEWLINE
- + e.getMessage());
- }
-
- return noContentResponse();
- }
-
- @DELETE
- @Path("{" + PATH_PARAM_VOLUME_NAME + "}/" + RESOURCE_BRICKS)
- public Response removeBricks(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName,
- @PathParam(PATH_PARAM_VOLUME_NAME) String volumeName, @QueryParam(QUERY_PARAM_BRICKS) String bricks,
- @QueryParam(QUERY_PARAM_DELETE_OPTION) Boolean deleteFlag) {
- List<String> brickList = Arrays.asList(bricks.split(",")); // Convert from comma separated string (query
- // parameter)
- if (clusterName == null || clusterName.isEmpty()) {
- return badRequestResponse("Cluster name must not be empty!");
- }
-
- if (volumeName == null || volumeName.isEmpty()) {
- return badRequestResponse("Volume name must not be empty!");
- }
-
- if (bricks == null || bricks.isEmpty()) {
- return badRequestResponse("Parameter [" + QUERY_PARAM_BRICKS + "] is missing in request!");
- }
-
- if (clusterService.getCluster(clusterName) == null) {
- return notFoundResponse("Cluster [" + clusterName + "] not found!");
- }
-
- if(deleteFlag == null) {
- deleteFlag = false;
- }
-
- GlusterServer onlineServer = clusterService.getOnlineServer(clusterName);
- if (onlineServer == null) {
- return errorResponse("No online servers found in cluster [" + clusterName + "]");
- }
-
- try {
- removeBricks(clusterName, volumeName, brickList, onlineServer);
- } catch(Exception e) {
- return errorResponse(e.getMessage());
- }
-
- try {
- cleanupDirectories(brickList, volumeName, brickList.size(), deleteFlag);
- } catch(Exception e) {
- // append cleanup error to prepare brick error
- return errorResponse(e.getMessage());
- }
-
- return noContentResponse();
- }
-
- public void removeBricks(String clusterName, String volumeName, List<String> brickList, GlusterServer onlineServer) {
- Status status;
- try {
- status = glusterUtil.removeBricks(volumeName, brickList, onlineServer.getName());
- } catch (ConnectionException e) {
- // online server has gone offline! try with a different one.
- onlineServer = clusterService.getNewOnlineServer(clusterName);
- if (onlineServer == null) {
- throw new GlusterRuntimeException("No online servers found in cluster [" + clusterName + "]");
- }
- status = glusterUtil.removeBricks(volumeName, brickList, onlineServer.getName());
- }
- if (!status.isSuccess()) {
- throw new GlusterRuntimeException(status.toString());
- }
- }
-
- @SuppressWarnings("rawtypes")
- private void cleanupDirectories(List<String> bricks, String volumeName, int maxIndex, boolean deleteFlag) {
- Status result;
- String errors = "";
- for (int i = 0; i < maxIndex; i++) {
- String[] brickInfo = bricks.get(i).split(":");
- String serverName = brickInfo[0];
- String brickDirectory = brickInfo[1];
-
- String mountPoint = brickDirectory.substring(0, brickDirectory.lastIndexOf("/"));
- Object response = serverUtil.executeOnServer(true, serverName, VOLUME_DIRECTORY_CLEANUP_SCRIPT + " "
- + mountPoint + " " + volumeName + " " + (deleteFlag ? "-d" : ""), GenericResponse.class);
- if (response instanceof GenericResponse) {
- result = ((GenericResponse) response).getStatus();
- if (!result.isSuccess()) {
- errors += "[" + mountPoint + "][" + volumeName + "] => " + result
- + CoreConstants.NEWLINE;
- }
- } else {
- Status errStatus = (Status) response;
- errors += "[" + mountPoint + "][" + volumeName + "] => " + errStatus + CoreConstants.NEWLINE;
- }
- }
- if(!errors.trim().isEmpty()) {
- throw new GlusterRuntimeException("Volume directory cleanup errors: " + errors.trim());
- }
- }
-
- private void postDelete(String volumeName, List<Brick> bricks, boolean deleteFlag) {
- Status result;
- for (Brick brick : bricks) {
- String brickDirectory = brick.getBrickDirectory();
- String mountPoint = brickDirectory.substring(0, brickDirectory.lastIndexOf("/"));
-
- result = (Status) serverUtil.executeOnServer(true, brick.getServerName(), VOLUME_DIRECTORY_CLEANUP_SCRIPT
- + " " + mountPoint + " " + volumeName + (deleteFlag ? " -d" : ""), Status.class);
- if (!result.isSuccess()) {
- throw new GlusterRuntimeException("Error in post-delete operation of volume [" + volumeName + "]: "
- + result);
- }
- }
- }
-
- @POST
- @Path("{" + PATH_PARAM_VOLUME_NAME + " }/" + RESOURCE_OPTIONS)
- public Response setOption(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName,
- @PathParam(PATH_PARAM_VOLUME_NAME) String volumeName,
- @FormParam(RESTConstants.FORM_PARAM_OPTION_KEY) String key,
- @FormParam(RESTConstants.FORM_PARAM_OPTION_VALUE) String value) {
- if (clusterName == null || clusterName.isEmpty()) {
- return badRequestResponse("Cluster name must not be empty!");
- }
-
- if(volumeName == null || volumeName.isEmpty()) {
- return badRequestResponse("Volume name must not be empty!");
- }
-
- if(key == null || key.isEmpty()) {
- return badRequestResponse("Parameter [" + FORM_PARAM_OPTION_KEY + "] is missing in request!");
- }
-
- if(value == null || value.isEmpty()) {
- return badRequestResponse("Parameter [" + FORM_PARAM_OPTION_VALUE + "] is missing in request!");
- }
-
- if (clusterService.getCluster(clusterName) == null) {
- return notFoundResponse("Cluster [" + clusterName + "] not found!");
- }
-
- GlusterServer onlineServer = clusterService.getOnlineServer(clusterName);
- if (onlineServer == null) {
- return errorResponse("No online servers found in cluster [" + clusterName + "]");
- }
-
- try {
- glusterUtil.setOption(volumeName, key, value, onlineServer.getName());
- } catch (ConnectionException e) {
- // online server has gone offline! try with a different one.
- onlineServer = clusterService.getNewOnlineServer(clusterName);
- if (onlineServer == null) {
- return errorResponse("No online servers found in cluster [" + clusterName + "]");
- }
-
- try {
- glusterUtil.setOption(volumeName, key, value, onlineServer.getName());
- } catch(Exception e1) {
- return errorResponse(e1.getMessage());
- }
- } catch(Exception e) {
- return errorResponse(e.getMessage());
- }
-
- return createdResponse(key);
- }
-
- @PUT
- @Path("{" + PATH_PARAM_VOLUME_NAME + " }/" + RESOURCE_OPTIONS)
- public Response resetOptions(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName,
- @PathParam(PATH_PARAM_VOLUME_NAME) String volumeName) {
- if (clusterName == null || clusterName.isEmpty()) {
- return badRequestResponse("Cluster name must not be empty!");
- }
-
- if(volumeName == null || volumeName.isEmpty()) {
- return badRequestResponse("Volume name must not be empty!");
- }
-
- if (clusterService.getCluster(clusterName) == null) {
- return notFoundResponse("Cluster [" + clusterName + "] not found!");
- }
-
- GlusterServer onlineServer = clusterService.getOnlineServer(clusterName);
- if (onlineServer == null) {
- return errorResponse("No online servers found in cluster [" + clusterName + "]");
- }
-
- try {
- glusterUtil.resetOptions(volumeName, onlineServer.getName());
- } catch (ConnectionException e) {
- // online server has gone offline! try with a different one.
- onlineServer = clusterService.getNewOnlineServer(clusterName);
- if (onlineServer == null) {
- return errorResponse("No online servers found in cluster [" + clusterName + "]");
- }
-
- try {
- glusterUtil.resetOptions(volumeName, onlineServer.getName());
- } catch(Exception e1) {
- return errorResponse(e1.getMessage());
- }
- } catch(Exception e) {
- return errorResponse(e.getMessage());
- }
-
- return noContentResponse();
- }
-
- @GET
- @Path(RESOURCE_DEFAULT_OPTIONS)
- @Produces(MediaType.APPLICATION_XML)
- public VolumeOptionInfoListResponse getDefaultOptionsXML(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName) {
- // TODO: Fetch all volume options with their default values from GlusterFS
- // whenever such a CLI command is made available in GlusterFS
- return new VolumeOptionInfoListResponse(Status.STATUS_SUCCESS, volumeOptionsDefaults.getDefaults());
- }
-
- @GET
- @Path(RESOURCE_DEFAULT_OPTIONS)
- @Produces(MediaType.APPLICATION_JSON)
- public VolumeOptionInfoListResponse getDefaultOptionsJSON(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName) {
- // TODO: Fetch all volume options with their default values from GlusterFS
- // whenever such a CLI command is made available in GlusterFS
- return new VolumeOptionInfoListResponse(Status.STATUS_SUCCESS, volumeOptionsDefaults.getDefaults());
- }
-
- private List<VolumeLogMessage> getBrickLogs(Volume volume, Brick brick, Integer lineCount)
- throws GlusterRuntimeException {
- String logDir = glusterUtil.getLogLocation(volume.getName(), brick.getQualifiedName(), brick.getServerName());
- String logFileName = glusterUtil.getLogFileNameForBrickDir(brick.getBrickDirectory());
- String logFilePath = logDir + CoreConstants.FILE_SEPARATOR + logFileName;
-
- // Usage: get_volume_disk_log.py <volumeName> <diskName> <lineCount>
- Object responseObj = serverUtil.executeOnServer(true, brick.getServerName(), VOLUME_BRICK_LOG_SCRIPT + " "
- + logFilePath + " " + lineCount, LogMessageListResponse.class);
-
- LogMessageListResponse response = null;
- if (responseObj instanceof LogMessageListResponse) {
- response = (LogMessageListResponse) responseObj;
- // populate disk and trim other fields
- List<VolumeLogMessage> logMessages = response.getLogMessages();
- for (VolumeLogMessage logMessage : logMessages) {
- logMessage.setBrickDirectory(brick.getBrickDirectory());
- }
- return logMessages;
- } else {
- Status status = (Status) responseObj;
- throw new GlusterRuntimeException(status.toString());
- }
- }
-
- @GET
- @Produces(MediaType.APPLICATION_OCTET_STREAM)
- @Path("{" + PATH_PARAM_VOLUME_NAME + "}/" + RESOURCE_LOGS + "/" + RESOURCE_DOWNLOAD)
- public Response downloadLogs(@PathParam(PATH_PARAM_CLUSTER_NAME) final String clusterName,
- @PathParam(PATH_PARAM_VOLUME_NAME) final String volumeName) {
- if (clusterName == null || clusterName.isEmpty()) {
- return badRequestResponse("Cluster name must not be empty!");
- }
-
- if (volumeName == null || volumeName.isEmpty()) {
- return badRequestResponse("Volume name must not be empty!");
- }
-
- if (clusterService.getCluster(clusterName) == null) {
- return notFoundResponse("Cluster [" + clusterName + "] not found!");
- }
-
- try {
- final Volume volume = getVolume(clusterName, volumeName);
- StreamingOutput output = new StreamingOutput() {
-
- @Override
- public void write(OutputStream output) throws IOException, WebApplicationException {
- try {
- File archiveFile = new File(downloadLogs(volume));
- output.write(FileUtil.readFileAsByteArray(archiveFile));
- archiveFile.delete();
- } catch (Exception e) {
- // TODO: Log the exception
- e.printStackTrace();
- String errMsg = "Exception while downloading/archiving volume log files : " + e.getMessage();
- output.write(errMsg.getBytes());
- }
- }
- };
- return streamingOutputResponse(output);
- } catch(Exception e) {
- return errorResponse("Volume [" + volumeName + "] doesn't exist in cluster [" + clusterName + "]!");
- }
- }
-
- private String downloadLogs(Volume volume) {
- // create temporary directory
- File tempDir = FileUtil.createTempDir();
- String tempDirPath = tempDir.getPath();
-
- for (Brick brick : volume.getBricks()) {
- String logDir = glusterUtil.getLogLocation(volume.getName(), brick.getQualifiedName(),
- brick.getServerName());
- String logFileName = glusterUtil.getLogFileNameForBrickDir(brick.getBrickDirectory());
- String logFilePath = logDir + CoreConstants.FILE_SEPARATOR + logFileName;
-
- serverUtil.getFileFromServer(brick.getServerName(), logFilePath, tempDirPath);
-
- String fetchedLogFile = tempDirPath + File.separator + logFileName;
- // append log file name with server name so that log files don't overwrite each other
- // in cases where the brick log file names are same on multiple servers
- String localLogFile = tempDirPath + File.separator + brick.getServerName() + "-" + logFileName;
-
- FileUtil.renameFile(fetchedLogFile, localLogFile);
- }
-
- String gzipPath = FileUtil.getTempDirName() + CoreConstants.FILE_SEPARATOR + volume.getName() + "-logs.tar.gz";
- new ProcessUtil().executeCommand("tar", "czvf", gzipPath, "-C", tempDir.getParent(), tempDir.getName());
-
- // delete the temp directory
- FileUtil.recursiveDelete(tempDir);
-
- return gzipPath;
- }
-
- @GET
- @Path("{" + PATH_PARAM_VOLUME_NAME + "}/" + RESOURCE_LOGS)
- @Produces(MediaType.APPLICATION_XML)
- public Response getLogsXML(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName,
- @PathParam(PATH_PARAM_VOLUME_NAME) String volumeName, @QueryParam(QUERY_PARAM_BRICK_NAME) String brickName,
- @QueryParam(QUERY_PARAM_LOG_SEVERITY) String severity,
- @QueryParam(QUERY_PARAM_FROM_TIMESTAMP) String fromTimestamp,
- @QueryParam(QUERY_PARAM_TO_TIMESTAMP) String toTimestamp,
- @QueryParam(QUERY_PARAM_LINE_COUNT) Integer lineCount, @QueryParam(QUERY_PARAM_DOWNLOAD) Boolean download) {
- return getLogs(clusterName, volumeName, brickName, severity, fromTimestamp, toTimestamp, lineCount, MediaType.APPLICATION_XML);
- }
-
- @GET
- @Path("{" + PATH_PARAM_VOLUME_NAME + "}/" + RESOURCE_LOGS)
- @Produces(MediaType.APPLICATION_JSON)
- public Response getLogsJSON(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName,
- @PathParam(PATH_PARAM_VOLUME_NAME) String volumeName, @QueryParam(QUERY_PARAM_BRICK_NAME) String brickName,
- @QueryParam(QUERY_PARAM_LOG_SEVERITY) String severity,
- @QueryParam(QUERY_PARAM_FROM_TIMESTAMP) String fromTimestamp,
- @QueryParam(QUERY_PARAM_TO_TIMESTAMP) String toTimestamp,
- @QueryParam(QUERY_PARAM_LINE_COUNT) Integer lineCount, @QueryParam(QUERY_PARAM_DOWNLOAD) Boolean download) {
- return getLogs(clusterName, volumeName, brickName, severity, fromTimestamp, toTimestamp, lineCount, MediaType.APPLICATION_JSON);
- }
-
- public Response getLogs(String clusterName, String volumeName, String brickName, String severity,
- String fromTimestamp, String toTimestamp, Integer lineCount, String mediaType) {
- if (clusterName == null || clusterName.isEmpty()) {
- return badRequestResponse("Cluster name must not be empty!");
- }
-
- if (volumeName == null || volumeName.isEmpty()) {
- return badRequestResponse("Volume name must not be empty!");
- }
-
- if (clusterService.getCluster(clusterName) == null) {
- return notFoundResponse("Cluster [" + clusterName + "] not found!");
- }
-
- List<VolumeLogMessage> logMessages = null;
- Volume volume = null;
- try {
- volume = (Volume) getVolume(clusterName, volumeName);
- } catch(Exception e) {
- return errorResponse(e.getMessage());
- }
-
- if (brickName == null || brickName.isEmpty() || brickName.equals(CoreConstants.ALL)) {
- logMessages = getLogsForAllBricks(volume, lineCount);
- } else {
- // fetch logs for given brick of the volume
- for (Brick brick : volume.getBricks()) {
- if (brick.getQualifiedName().equals(brickName)) {
- logMessages = getBrickLogs(volume, brick, lineCount);
- break;
- }
- }
- }
-
- filterLogsBySeverity(logMessages, severity);
- filterLogsByTime(logMessages, fromTimestamp, toTimestamp);
-
- return okResponse(new LogMessageListResponse(logMessages), mediaType);
- }
-
- private void filterLogsByTime(List<VolumeLogMessage> logMessages, String fromTimestamp, String toTimestamp) {
- Date fromTime = null, toTime = null;
-
- if (fromTimestamp != null && !fromTimestamp.isEmpty()) {
- fromTime = DateUtil.stringToDate(fromTimestamp);
- }
-
- if (toTimestamp != null && !toTimestamp.isEmpty()) {
- toTime = DateUtil.stringToDate(toTimestamp);
- }
-
- List<VolumeLogMessage> messagesToRemove = new ArrayList<VolumeLogMessage>();
- for (VolumeLogMessage logMessage : logMessages) {
- Date logTimestamp = logMessage.getTimestamp();
- if (fromTime != null && logTimestamp.before(fromTime)) {
- messagesToRemove.add(logMessage);
- continue;
- }
-
- if (toTime != null && logTimestamp.after(toTime)) {
- messagesToRemove.add(logMessage);
- }
- }
- logMessages.removeAll(messagesToRemove);
- }
-
- private void filterLogsBySeverity(List<VolumeLogMessage> logMessages, String severity) {
- if (severity == null || severity.isEmpty()) {
- return;
- }
-
- List<VolumeLogMessage> messagesToRemove = new ArrayList<VolumeLogMessage>();
- for (VolumeLogMessage logMessage : logMessages) {
- if (!logMessage.getSeverity().equals(severity)) {
- messagesToRemove.add(logMessage);
- }
- }
- logMessages.removeAll(messagesToRemove);
- }
-
- private List<VolumeLogMessage> getLogsForAllBricks(Volume volume, Integer lineCount) {
- List<VolumeLogMessage> logMessages;
- logMessages = new ArrayList<VolumeLogMessage>();
- // fetch logs for every brick of the volume
- for (Brick brick : volume.getBricks()) {
- logMessages.addAll(getBrickLogs(volume, brick, lineCount));
- }
-
- // Sort the log messages based on log timestamp
- Collections.sort(logMessages, new Comparator<VolumeLogMessage>() {
- @Override
- public int compare(VolumeLogMessage message1, VolumeLogMessage message2) {
- return message1.getTimestamp().compareTo(message2.getTimestamp());
- }
- });
-
- return logMessages;
- }
-
- @POST
- @Path("{" + PATH_PARAM_VOLUME_NAME + "}/" + RESOURCE_BRICKS)
- public Response addBricks(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName,
- @PathParam(PATH_PARAM_VOLUME_NAME) String volumeName, @FormParam(FORM_PARAM_BRICKS) String bricks) {
- if (clusterName == null || clusterName.isEmpty()) {
- return badRequestResponse("Cluster name must not be empty!");
- }
-
- if (volumeName == null || volumeName.isEmpty()) {
- return badRequestResponse("Cluster name must not be empty!");
- }
-
- if (bricks == null || bricks.isEmpty()) {
- return badRequestResponse("Parameter [" + FORM_PARAM_BRICKS + "] is missing in request!");
- }
-
- if (clusterService.getCluster(clusterName) == null) {
- return notFoundResponse("Cluster [" + clusterName + "] not found!");
- }
-
- GlusterServer onlineServer = clusterService.getOnlineServer(clusterName);
- if (onlineServer == null) {
- return errorResponse("No online servers found in cluster [" + clusterName + "]");
- }
-
- List<String> brickList = Arrays.asList(bricks.split(","));
- try {
- glusterUtil.addBricks(volumeName, brickList, onlineServer.getName());
- } catch (ConnectionException e) {
- // online server has gone offline! try with a different one.
- onlineServer = clusterService.getNewOnlineServer(clusterName);
- if (onlineServer == null) {
- return errorResponse("No online servers found in cluster [" + clusterName + "]");
- }
-
- try {
- glusterUtil.addBricks(volumeName, brickList, onlineServer.getName());
- } catch(Exception e1) {
- return errorResponse(e1.getMessage());
- }
- } catch(Exception e1) {
- return errorResponse(e1.getMessage());
- }
-
- return createdResponse("");
- }
-
- @PUT
- @Path("{" + PATH_PARAM_VOLUME_NAME + "}/" + RESOURCE_BRICKS)
- public Response migrateBrick(@PathParam(PATH_PARAM_CLUSTER_NAME) String clusterName,
- @PathParam(PATH_PARAM_VOLUME_NAME) String volumeName, @FormParam(FORM_PARAM_SOURCE) String fromBrick,
- @FormParam(FORM_PARAM_TARGET) String toBrick, @FormParam(FORM_PARAM_AUTO_COMMIT) Boolean autoCommit) {
-
- if (clusterName == null || clusterName.isEmpty()) {
- return badRequestResponse("Cluster name must not be empty!");
- }
-
- if (volumeName == null || volumeName.isEmpty()) {
- return badRequestResponse("Volume name must not be empty!");
- }
-
- if (fromBrick == null || fromBrick.isEmpty()) {
- return badRequestResponse("Parameter [" + FORM_PARAM_SOURCE + "] is missing in request!");
- }
-
- if (toBrick == null || toBrick.isEmpty()) {
- return badRequestResponse("Parameter [" + FORM_PARAM_TARGET + "] is missing in request!");
- }
-
- if (clusterService.getCluster(clusterName) == null) {
- return notFoundResponse("Cluster [" + clusterName + "] not found!");
- }
-
- GlusterServer onlineServer = clusterService.getOnlineServer(clusterName);
- if (onlineServer == null) {
- return errorResponse("No online servers found in cluster [" + clusterName + "]");
- }
-
- if(autoCommit == null) {
- autoCommit = false;
- }
-
- String taskId = null;
- try {
- taskId = migrateBrickStart(clusterName, volumeName, fromBrick, toBrick, autoCommit);
- }catch(Exception e) {
- return errorResponse(e.getMessage());
- }
-
- return acceptedResponse(RESTConstants.RESOURCE_PATH_CLUSTERS + "/" + clusterName + "/" + RESOURCE_TASKS + "/"
- + taskId);
- }
-
- private String migrateBrickStart(String clusterName, String volumeName, String fromBrick, String toBrick,
- Boolean autoCommit) {
- MigrateBrickTask migrateDiskTask = new MigrateBrickTask(clusterService, clusterName, volumeName, fromBrick,
- toBrick);
- migrateDiskTask.setAutoCommit(autoCommit);
- migrateDiskTask.start();
- taskResource.addTask(migrateDiskTask);
- return migrateDiskTask.getTaskInfo().getName(); // Return Task ID
- }
-
- private String getLayout(Boolean isFixLayout, Boolean isMigrateData,
- Boolean isForcedDataMigrate) {
- String layout = "";
- if (isForcedDataMigrate) {
- layout = "forced-data-migrate";
- } else if (isMigrateData) {
- layout = "migrate-data";
- } else if (isFixLayout) {
- layout = "fix-layout";
- }
- return layout;
- }
-
- private String rebalanceStart(String clusterName, String volumeName, Boolean isFixLayout, Boolean isMigrateData,
- Boolean isForcedDataMigrate) {
- RebalanceVolumeTask rebalanceTask = new RebalanceVolumeTask(clusterService, clusterName, volumeName, getLayout(
- isFixLayout, isMigrateData, isForcedDataMigrate));
- rebalanceTask.start();
- taskResource.addTask(rebalanceTask);
- return rebalanceTask.getId();
- }
-
- public void rebalanceStop(String clusterName, String volumeName) {
- // TODO: arrive at the task id and fetch it
- String taskId = "";
-
- taskResource.getTask(taskId).stop();
- }
-
- public static void main(String[] args) throws ClassNotFoundException {
- VolumesResource vr = new VolumesResource();
- // VolumeListResponse response = vr.getAllVolumes();
- // for (Volume volume : response.getVolumes()) {
- // System.out.println("\nName:" + volume.getName() + "\nType: " + volume.getVolumeTypeStr() + "\nStatus: "
- // + volume.getStatusStr());
- // }
- // Volume volume = new Volume();
- // volume.setName("vol3");
- // volume.setTransportType(TRANSPORT_TYPE.ETHERNET);
- // List<String> disks = new ArrayList<String>();
- // disks.add("192.168.1.210:sdb");
- // volume.addDisks(disks);
- // volume.setAccessControlList("192.168.*");
- // // Status status = vr.createVolume(volume);
- // // System.out.println(status.getMessage());
- // Form form = new Form();
- // form.add("volumeName", volume.getName());
- // form.add(RESTConstants.FORM_PARAM_DELETE_OPTION, 1);
- // Status status = vr.deleteVolume("Vol2", true);
- // System.out.println("Code : " + status.getCode());
- // System.out.println("Message " + status.getMessage());
-
- // vr.removeBricks("testCluster", "test", "192.168.1.210:sdb", true);
-
- String taskId = vr.migrateBrickStart("myGluster", "students", "devserver1:/export/sdc/students",
- "devserver2:/export/sdb/students", true);
-
- }
-}
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/security/GlusterUserDetailsService.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/security/GlusterUserDetailsService.java
deleted file mode 100644
index 21c13a03..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/security/GlusterUserDetailsService.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/**
- * GlusterUserDetailsService.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.server.security;
-
-import org.springframework.security.core.userdetails.UserDetailsService;
-
-/**
- *
- */
-public interface GlusterUserDetailsService extends UserDetailsService {
- void changePassword(String username, String password);
-}
-
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/security/UserAuthDao.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/security/UserAuthDao.java
deleted file mode 100644
index cfc6e572..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/security/UserAuthDao.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * UserAuthDao.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.server.security;
-
-import org.springframework.security.core.userdetails.jdbc.JdbcDaoImpl;
-
-/**
- * @author root
- *
- */
-public class UserAuthDao extends JdbcDaoImpl implements GlusterUserDetailsService {
-
- /*
- * (non-Javadoc)
- *
- * @see com.gluster.storage.management.server.security.GlusterUserDetailsService#changePassword(java.lang.String,
- * java.lang.String)
- */
- @Override
- public void changePassword(String username, String password) {
- getJdbcTemplate().update("UPDATE USERS SET PASSWORD = ? WHERE USERNAME = ?", password, username);
- }
-
-}
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/BrickMigrationStatusTask.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/BrickMigrationStatusTask.java
deleted file mode 100644
index 0f00ad3a..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/BrickMigrationStatusTask.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/**
- * DiskMigrationStatusTask.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.server.tasks;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import com.gluster.storage.management.core.model.TaskInfo.TASK_TYPE;
-import com.gluster.storage.management.server.resources.v1_0.TasksResource;
-
-@Component
-public class BrickMigrationStatusTask {
-
- @Autowired
- private TasksResource tasksResource;
-
- public void checkMigrationStatus() {
- for (Task task : tasksResource.getAllTasks() ) {
- if (task.getType() == TASK_TYPE.BRICK_MIGRATE && ((MigrateBrickTask) task).getAutoCommit()) {
- tasksResource.getTaskStatus( task.getId());
- }
- }
- }
-}
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/InitializeDiskTask.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/InitializeDiskTask.java
deleted file mode 100644
index 4f168d66..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/InitializeDiskTask.java
+++ /dev/null
@@ -1,168 +0,0 @@
-/**
- * InitializeDiskTask.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.server.tasks;
-
-import org.springframework.context.ApplicationContext;
-import org.springframework.web.context.ContextLoader;
-
-import com.gluster.storage.management.core.constants.GlusterConstants;
-import com.gluster.storage.management.core.exceptions.ConnectionException;
-import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
-import com.gluster.storage.management.core.model.Status;
-import com.gluster.storage.management.core.model.TaskInfo;
-import com.gluster.storage.management.core.model.TaskInfo.TASK_TYPE;
-import com.gluster.storage.management.core.model.TaskStatus;
-import com.gluster.storage.management.core.utils.ProcessResult;
-import com.gluster.storage.management.server.services.ClusterService;
-import com.gluster.storage.management.server.utils.GlusterUtil;
-import com.gluster.storage.management.server.utils.SshUtil;
-import com.sun.jersey.core.util.Base64;
-
-public class InitializeDiskTask extends Task {
-
- private static final String INITIALIZE_DISK_SCRIPT = "format_device.py";
-
- private String serverName;
- private String diskName;
- private String fsType;
- private SshUtil sshUtil;
- private GlusterUtil glusterUtil;
-
- public InitializeDiskTask(ClusterService clusterService, String clusterName, String serverName, String diskName, String fsType) {
- super(clusterService, clusterName, TASK_TYPE.DISK_FORMAT, diskName, "Initialize disk " + serverName + ":"
- + diskName, false, false, false);
-
- setServerName(serverName);
- setDiskName(diskName);
- setFsType(fsType);
- taskInfo.setName(getId());
- init();
- }
-
- public InitializeDiskTask(ClusterService clusterService, String clusterName, TaskInfo info) {
- super(clusterService, clusterName, info);
- init();
- }
-
- private void init() {
- ApplicationContext ctx = ContextLoader.getCurrentWebApplicationContext();
- glusterUtil = ctx.getBean(GlusterUtil.class);
- sshUtil = ctx.getBean(SshUtil.class);
- }
-
- @Override
- public String getId() {
- return new String(
- Base64.encode(getClusterName() + "-" + taskInfo.getType() + "-" + serverName + ":" + diskName));
- }
-
- @Override
- public void resume() {
- getTaskInfo().setStatus(
- new TaskStatus(new Status(Status.STATUS_CODE_FAILURE,
- "Stop/Pause/Resume is not supported in Disk Initialization")));
- }
-
- @Override
- public void stop() {
- getTaskInfo().setStatus(
- new TaskStatus(new Status(Status.STATUS_CODE_FAILURE,
- "Stop/Pause/Resume is not supported in Disk Initialization")));
- }
-
- @Override
- public void pause() {
- getTaskInfo().setStatus(
- new TaskStatus(new Status(Status.STATUS_CODE_FAILURE,
- "Stop/Pause/Resume is not supported in Disk Initialization")));
- }
-
- @Override
- public void commit() {
- // TODO Auto-generated method stub
- }
-
- @Override
- public TASK_TYPE getType() {
- return TASK_TYPE.DISK_FORMAT;
- }
-
-
- @Override
- public void start() {
- try {
- startInitializeDisk(serverName);
- } catch(ConnectionException e) {
- // online server might have gone offline. update the failure status
- getTaskInfo().setStatus(new TaskStatus(new Status(Status.STATUS_CODE_FAILURE, e.getMessage())));
- }
- }
-
- private void startInitializeDisk(String serverName) {
- String fsTypeCommand = (getFsType().equals(GlusterConstants.FSTYPE_DEFAULT)) ? "" : " -t " + getFsType();
- ProcessResult processResult = sshUtil.executeRemote(serverName, INITIALIZE_DISK_SCRIPT + fsTypeCommand + " "
- + getDiskName());
- if (processResult.isSuccess()) {
- TaskStatus taskStatus = new TaskStatus(new Status(Status.STATUS_CODE_RUNNING, processResult.getOutput()));
- taskStatus.setPercentageSupported((getFsType().equals(GlusterConstants.FSTYPE_XFS)) ? false : true);
- getTaskInfo().setStatus(taskStatus);
- return;
- }
-
- // if we reach here, it means Initialize disk start failed.
- throw new GlusterRuntimeException(processResult.toString());
- }
-
- @Override
- public TaskStatus checkStatus() {
-
- try {
- return glusterUtil.getInitializingDeviceStatus(serverName, getDiskName());
- } catch(ConnectionException e) {
- // online server might have gone offline. update the failure status
- return new TaskStatus(new Status(Status.STATUS_CODE_FAILURE, e.getMessage()));
- }
- }
-
- public void setDiskName(String diskName) {
- this.diskName = diskName;
- }
-
- public String getDiskName() {
- return diskName;
- }
-
- public void setServerName(String serverName) {
- this.serverName = serverName;
- }
-
- public String getServerName() {
- return serverName;
- }
-
- public void setFsType(String fsType) {
- this.fsType = fsType;
- }
-
- public String getFsType() {
- return fsType;
- }
-}
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/MigrateBrickTask.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/MigrateBrickTask.java
deleted file mode 100644
index 8ca15fc9..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/MigrateBrickTask.java
+++ /dev/null
@@ -1,227 +0,0 @@
-/**
- * MigrateDiskTask.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.server.tasks;
-
-import org.springframework.context.ApplicationContext;
-import org.springframework.web.context.ContextLoader;
-
-import com.gluster.storage.management.core.exceptions.ConnectionException;
-import com.gluster.storage.management.core.model.Status;
-import com.gluster.storage.management.core.model.TaskInfo.TASK_TYPE;
-import com.gluster.storage.management.core.model.TaskStatus;
-import com.gluster.storage.management.core.utils.ProcessResult;
-import com.gluster.storage.management.server.services.ClusterService;
-import com.gluster.storage.management.server.utils.GlusterUtil;
-import com.sun.jersey.core.util.Base64;
-
-public class MigrateBrickTask extends Task {
-
- private String fromBrick;
- private String toBrick;
- private Boolean autoCommit;
- private GlusterUtil glusterUtil;
-
- public String getFromBrick() {
- return fromBrick;
- }
-
- public void setFromBrick(String fromBrick) {
- this.fromBrick = fromBrick;
- }
-
- public String getToBrick() {
- return toBrick;
- }
-
- public void setToBrick(String toBrick) {
- this.toBrick = toBrick;
- }
-
- public Boolean getAutoCommit() {
- return autoCommit;
- }
-
- public void setAutoCommit(Boolean autoCommit) {
- this.autoCommit = autoCommit;
- }
-
- public MigrateBrickTask(ClusterService clusterService, String clusterName, String volumeName, String fromBrick,
- String toBrick) {
- super(clusterService, clusterName, TASK_TYPE.BRICK_MIGRATE, volumeName, "Brick Migration on volume ["
- + volumeName + "] from [" + fromBrick + "] to [" + toBrick + "]", true, true, true);
- setFromBrick(fromBrick);
- setToBrick(toBrick);
- taskInfo.setName(getId());
- init();
- }
-
- private void init() {
- ApplicationContext ctx = ContextLoader.getCurrentWebApplicationContext();
- glusterUtil = ctx.getBean(GlusterUtil.class);
- }
-
- @Override
- public String getId() {
- return new String(Base64.encode(clusterName + "-" + taskInfo.getType() + "-" + taskInfo.getReference() + "-" + fromBrick + "-"
- + toBrick));
- }
-
- @Override
- public void start() {
- try {
- startMigration(getOnlineServer().getName());
- } catch (ConnectionException e) {
- // online server might have gone Offline. try with a new one.
- startMigration(getNewOnlineServer().getName());
- }
- }
-
- private void startMigration(String onlineServerName) {
- ProcessResult processResult = glusterUtil.executeBrickMigration(onlineServerName, getTaskInfo().getReference(),
- getFromBrick(), getToBrick(), "start");
- if (processResult.getOutput().trim().matches(".*started successfully$")) {
- getTaskInfo().setStatus(
- new TaskStatus(new Status(Status.STATUS_CODE_RUNNING, processResult.getOutput().trim())));
- return;
- }
- }
-
- @Override
- public void pause() {
- try {
- pauseMigration(getOnlineServer().getName());
- } catch (ConnectionException e) {
- // online server might have gone offline. try with a new one.
- pauseMigration(getNewOnlineServer().getName());
- }
- }
-
- private void pauseMigration(String onlineServer) {
- ProcessResult processResult = glusterUtil.executeBrickMigration(onlineServer, taskInfo.getReference(),
- getFromBrick(), getToBrick(), "pause");
- TaskStatus taskStatus = new TaskStatus();
- if (processResult.getOutput().trim().matches(".*paused successfully$")) {
- taskStatus.setCode(Status.STATUS_CODE_PAUSE);
- taskStatus.setMessage(processResult.getOutput());
- getTaskInfo().setStatus(taskStatus);
- return;
- }
- }
-
- @Override
- public void resume() {
- start();
- }
-
- @Override
- public void commit() {
- try {
- commitMigration(getOnlineServer().getName());
- } catch (ConnectionException e) {
- // online server might have gone offline. try with a new one.
- commitMigration(getNewOnlineServer().getName());
- }
- }
-
- private void commitMigration(String serverName) {
- ProcessResult processResult = glusterUtil.executeBrickMigration(serverName, getTaskInfo().getReference(),
- getFromBrick(), getToBrick(), "commit");
- TaskStatus taskStatus = new TaskStatus();
- if (processResult.isSuccess()) {
- if (processResult.getOutput().trim().matches(".*commit successful$")) {
- taskStatus.setCode(Status.STATUS_CODE_SUCCESS);
- taskStatus.setMessage(processResult.getOutput());
- getTaskInfo().setStatus(taskStatus);
- }
- }
- }
-
- @Override
- public void stop() {
- try {
- stopMigration(getOnlineServer().getName());
- } catch (ConnectionException e) {
- // online server might have gone offline. try with a new one.
- stopMigration(getNewOnlineServer().getName());
- }
- }
-
- private void stopMigration(String serverName) {
- ProcessResult processResult = glusterUtil.executeBrickMigration(serverName, taskInfo.getReference(), getFromBrick(),
- getToBrick(), "abort");
- TaskStatus taskStatus = new TaskStatus();
- if (processResult.getOutput().trim().matches(".*aborted successfully$")) {
- taskStatus.setCode(Status.STATUS_CODE_SUCCESS);
- taskStatus.setMessage(processResult.getOutput());
- getTaskInfo().setStatus(taskStatus);
- }
- }
-
- @Override
- public TaskStatus checkStatus() {
- try {
- return checkMigrationStatus(getOnlineServer().getName());
- } catch (ConnectionException e) {
- // online server might have gone offline. try with a new one.
- return checkMigrationStatus(getNewOnlineServer().getName());
- }
- }
-
- private TaskStatus checkMigrationStatus(String serverName) {
- if (getTaskInfo().getStatus().getCode() == Status.STATUS_CODE_PAUSE) {
- return getTaskInfo().getStatus();
- }
- // For committed task, status command (CLI) is invalid, just return current status
- if (getTaskInfo().getStatus().getCode() == Status.STATUS_CODE_SUCCESS) {
- return getTaskInfo().getStatus();
- }
-
-
- TaskStatus taskStatus = new TaskStatus();
- try {
- ProcessResult processResult = glusterUtil.executeBrickMigration(serverName, getTaskInfo().getReference(),
- getFromBrick(), getToBrick(), "status");
- if (processResult.getOutput().trim().matches("^Number of files migrated.*Migration complete$")
- || processResult.getOutput().trim().matches("^Number of files migrated = 0 .*Current file=")) {
- // Note: Workaround - if no file in the volume brick to migrate, Gluster CLI is not giving proper
- // (complete) status
- taskStatus.setCode(Status.STATUS_CODE_COMMIT_PENDING);
- if (autoCommit) {
- commitMigration(serverName);
- return getTaskInfo().getStatus(); // return the committed status
- } else {
- taskStatus.setMessage(processResult.getOutput().trim()
- .replaceAll("Migration complete", "Commit pending"));
- }
- } else if (processResult.getOutput().trim().matches("^Number of files migrated.*Current file=.*")) {
- taskStatus.setCode(Status.STATUS_CODE_RUNNING);
- } else {
- taskStatus.setCode(Status.STATUS_CODE_FAILURE);
- }
- taskStatus.setMessage(processResult.getOutput());
- } catch (Exception e) {
- taskStatus.setCode(Status.STATUS_CODE_FAILURE);
- taskStatus.setMessage(e.getMessage());
- }
- taskInfo.setStatus(taskStatus); // Update the task status
- return taskStatus;
- }
-}
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/RebalanceVolumeTask.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/RebalanceVolumeTask.java
deleted file mode 100644
index 24c2f1b5..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/RebalanceVolumeTask.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/**
- * RebalanceVolumeTask.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.server.tasks;
-
-import org.springframework.context.ApplicationContext;
-import org.springframework.web.context.ContextLoader;
-
-import com.gluster.storage.management.core.exceptions.ConnectionException;
-import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
-import com.gluster.storage.management.core.model.Status;
-import com.gluster.storage.management.core.model.TaskInfo.TASK_TYPE;
-import com.gluster.storage.management.core.model.TaskStatus;
-import com.gluster.storage.management.core.utils.ProcessResult;
-import com.gluster.storage.management.server.services.ClusterService;
-import com.gluster.storage.management.server.utils.GlusterUtil;
-import com.gluster.storage.management.server.utils.SshUtil;
-import com.sun.jersey.core.util.Base64;
-
-public class RebalanceVolumeTask extends Task {
-
- private String layout;
- private String serverName;
- private SshUtil sshUtil;
- private GlusterUtil glusterUtil;
-
- public RebalanceVolumeTask(ClusterService clusterService, String clusterName, String volumeName, String layout) {
- super(clusterService, clusterName, TASK_TYPE.VOLUME_REBALANCE, volumeName, "Volume " + volumeName
- + " Rebalance", false, true, false);
- setLayout(layout);
- taskInfo.setName(getId());
- init();
- }
-
- private void init() {
- ApplicationContext ctx = ContextLoader.getCurrentWebApplicationContext();
- sshUtil = ctx.getBean(SshUtil.class);
- glusterUtil = ctx.getBean(GlusterUtil.class);
- }
-
- @Override
- public String getId() {
- return new String(Base64.encode(getClusterName() + "-" + taskInfo.getType() + "-" + taskInfo.getReference()));
- }
-
- @Override
- public void start() {
- try {
- serverName = getOnlineServer().getName();
- startRebalance(serverName);
- } catch(ConnectionException e) {
- // online server might have gone offline. try with a new one
- serverName = getNewOnlineServer().getName();
- startRebalance(serverName);
- }
- }
-
- private void startRebalance(String serverName) {
- String command = "gluster volume rebalance " + getTaskInfo().getReference() + " " + getLayout() + " start";
- ProcessResult processResult = sshUtil.executeRemote(serverName, command);
- if (processResult.isSuccess()) {
- getTaskInfo().setStatus(new TaskStatus(new Status(Status.STATUS_CODE_RUNNING, processResult.getOutput())));
- return;
- }
-
- // if we reach here, it means rebalance start failed.
- throw new GlusterRuntimeException(processResult.toString());
- }
-
- @Override
- public void resume() {
- getTaskInfo().setStatus(
- new TaskStatus(new Status(Status.STATUS_CODE_FAILURE,
- "Pause/Resume is not supported in Volume Rebalance")));
- }
-
- @Override
- public void stop() {
- try {
- glusterUtil.stopRebalance(serverName, getTaskInfo().getReference());
- } catch (ConnectionException e) {
- // online server might have gone offline. update the failure status
- getTaskInfo().setStatus(new TaskStatus(new Status(Status.STATUS_CODE_FAILURE, e.getMessage())));
- }
- }
-
- @Override
- public void pause() {
- getTaskInfo().setStatus(
- new TaskStatus(new Status(Status.STATUS_CODE_FAILURE,
- "Pause/Resume is not supported in Volume Rebalance")));
- }
-
- @Override
- public TaskStatus checkStatus() {
- try {
- return glusterUtil.checkRebalanceStatus(serverName, getTaskInfo().getReference());
- } catch(ConnectionException e) {
- // online server might have gone offline. update the failure status
- getTaskInfo().setStatus(new TaskStatus(new Status(Status.STATUS_CODE_FAILURE, e.getMessage())));
- return getTaskInfo().getStatus();
- }
- }
-
- public void setLayout(String layout) {
- this.layout = layout;
- }
-
- public String getLayout() {
- return layout;
- }
-
- @Override
- public void commit() {
- // TODO Auto-generated method stub
- }
-}
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/ServerDiscoveryTask.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/ServerDiscoveryTask.java
deleted file mode 100644
index e5b8d726..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/tasks/ServerDiscoveryTask.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/**
- * ServerDiscoveryTask.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.server.tasks;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import com.gluster.storage.management.core.constants.CoreConstants;
-import com.gluster.storage.management.core.utils.ProcessResult;
-import com.gluster.storage.management.server.data.ClusterInfo;
-import com.gluster.storage.management.server.data.PersistenceDao;
-import com.gluster.storage.management.server.resources.v1_0.DiscoveredServersResource;
-import com.gluster.storage.management.server.utils.ServerUtil;
-
-/**
- * Task for auto-discovery of servers eligible to be added to the Gluster cluster. This task runs periodically and keeps
- * the discovered server list at a common place. The server resource can then pick it and send to client whenever
- * demanded.
- */
-@Component
-public class ServerDiscoveryTask {
- private static final String SCRIPT_NAME_SFX = "-discover-servers.py";
-
- @Autowired
- private ServerUtil serverUtil;
-
- @Autowired
- private DiscoveredServersResource discoveredServersResource;
-
- @Autowired
- private String environment;
-
- @Autowired
- private PersistenceDao<ClusterInfo> clusterDao;
-
- public void discoverServers() {
- List<String> serverNameList = new ArrayList<String>();
-
- ProcessResult result = serverUtil.executeGlusterScript(true, environment + SCRIPT_NAME_SFX, new ArrayList<String>());
- if(result.isSuccess()) {
- List<String> existingServers = clusterDao.findBySQL("select name from server_info");
- String serverNames = result.getOutput();
- String[] parts = serverNames.split(CoreConstants.NEWLINE);
- for(String serverName : parts) {
- // The server discovery mechanism will return every server that has not been "peer probed". However we
- // need to filter out those servers that are the "first" server of a new cluster, and hence are still
- // not peer probed.
- if(!existingServers.contains(serverName)) {
- serverNameList.add(serverName);
- }
- }
- }
-
- discoveredServersResource.setDiscoveredServerNames(serverNameList);
- }
-} \ No newline at end of file
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/GlusterUtil.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/GlusterUtil.java
deleted file mode 100644
index 304da012..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/GlusterUtil.java
+++ /dev/null
@@ -1,646 +0,0 @@
-/**
- * GlusterUtil.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.server.utils;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Map.Entry;
-
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import com.gluster.storage.management.core.constants.CoreConstants;
-import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
-import com.gluster.storage.management.core.model.Brick;
-import com.gluster.storage.management.core.model.Brick.BRICK_STATUS;
-import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.core.model.InitDiskStatusResponse;
-import com.gluster.storage.management.core.model.InitDiskStatusResponse.FORMAT_STATUS;
-import com.gluster.storage.management.core.model.Server.SERVER_STATUS;
-import com.gluster.storage.management.core.model.Status;
-import com.gluster.storage.management.core.model.TaskStatus;
-import com.gluster.storage.management.core.model.Volume;
-import com.gluster.storage.management.core.model.Volume.TRANSPORT_TYPE;
-import com.gluster.storage.management.core.model.Volume.VOLUME_STATUS;
-import com.gluster.storage.management.core.model.Volume.VOLUME_TYPE;
-import com.gluster.storage.management.core.utils.GlusterCoreUtil;
-import com.gluster.storage.management.core.utils.ProcessResult;
-import com.gluster.storage.management.core.utils.StringUtil;
-import com.gluster.storage.management.server.resources.v1_0.TasksResource;
-import com.sun.jersey.api.core.InjectParam;
-
-@Component
-public class GlusterUtil {
- private static final String glusterFSminVersion = "3.1";
-
- private static final String HOSTNAME_PFX = "Hostname:";
- private static final String UUID_PFX = "Uuid:";
- private static final String STATE_PFX = "State:";
- private static final String GLUSTER_SERVER_STATUS_ONLINE = "Connected";
-
- private static final String VOLUME_NAME_PFX = "Volume Name:";
- private static final String VOLUME_TYPE_PFX = "Type:";
- private static final String VOLUME_STATUS_PFX = "Status:";
- private static final String VOLUME_NUMBER_OF_BRICKS = "Number of Bricks:";
- private static final String VOLUME_TRANSPORT_TYPE_PFX = "Transport-type:";
- private static final String VOLUME_BRICKS_GROUP_PFX = "Bricks";
- private static final String VOLUME_OPTIONS_RECONFIG_PFX = "Options Reconfigured";
- private static final String VOLUME_OPTION_AUTH_ALLOW_PFX = "auth.allow:";
- private static final String VOLUME_LOG_LOCATION_PFX = "log file location:";
- private static final String VOLUME_TYPE_DISTRIBUTE = "Distribute";
- private static final String VOLUME_TYPE_REPLICATE = "Replicate";
- private static final String GLUSTERD_INFO_FILE = "/etc/glusterd/glusterd.info";
-
- private static final GlusterCoreUtil glusterCoreUtil = new GlusterCoreUtil();
-
- private static final String INITIALIZE_DISK_STATUS_SCRIPT = "get_format_device_status.py";
-
- @Autowired
- private SshUtil sshUtil;
-
- @Autowired
- private ServerUtil serverUtil;
-
- @InjectParam
- private TasksResource taskResource;
-
- public void setSshUtil(SshUtil sshUtil) {
- this.sshUtil = sshUtil;
- }
-
- public SshUtil getSshUtil() {
- return sshUtil;
- }
-
- /**
- * Extract value of given token from given line. It is assumed that the token, if present, will be of the following
- * form: <code>token: value</code>
- *
- * @param line
- * Line to be analyzed
- * @param token
- * Token whose value is to be extracted
- * @return Value of the token, if present in the line
- */
- private final String extractToken(String line, String token) {
- if (line.contains(token)) {
- return line.split(token)[1].trim();
- }
- return null;
- }
-
- public GlusterServer getGlusterServer(GlusterServer onlineServer, String serverName) {
- List<GlusterServer> servers = getGlusterServers(onlineServer);
- for (GlusterServer server : servers) {
- if (server.getName().equals(serverName)) {
- return server;
- }
- }
- return null;
- }
-
- private String getUuid(String serverName) {
- ProcessResult result = getSshUtil().executeRemote(serverName, "cat " + GLUSTERD_INFO_FILE);
- if (!result.isSuccess()) {
- throw new GlusterRuntimeException("Couldn't read file [" + GLUSTERD_INFO_FILE + "]. Error: "
- + result.toString());
- }
- return result.getOutput().split("=")[1];
- }
-
- public List<GlusterServer> getGlusterServers(GlusterServer knownServer) {
- String output = getPeerStatus(knownServer.getName());
- if (output == null) {
- return null;
- }
-
- knownServer.setUuid(getUuid(knownServer.getName()));
-
- List<GlusterServer> glusterServers = new ArrayList<GlusterServer>();
- glusterServers.add(knownServer);
-
- GlusterServer server = null;
- boolean foundHost = false;
- boolean foundUuid = false;
- for (String line : output.split(CoreConstants.NEWLINE)) {
- if (foundHost && foundUuid) {
- // Host and UUID is found, we should look for state
- String state = extractToken(line, STATE_PFX);
- if (state != null) {
- server.setStatus(state.contains(GLUSTER_SERVER_STATUS_ONLINE) ? SERVER_STATUS.ONLINE
- : SERVER_STATUS.OFFLINE);
- // Completed populating current server. Add it to the list
- // and reset all related variables.
- glusterServers.add(server);
-
- foundHost = false;
- foundUuid = false;
- server = null;
- }
- } else if (foundHost) {
- // Host is found, look for UUID
- String uuid = extractToken(line, UUID_PFX);
- if (uuid != null) {
- server.setUuid(uuid);
- foundUuid = true;
- }
- } else {
- // Look for the next host
- if (server == null) {
- server = new GlusterServer();
- }
- String hostName = extractToken(line, HOSTNAME_PFX);
- if (hostName != null) {
- server.setName(hostName);
- foundHost = true;
- }
- }
-
- }
- return glusterServers;
- }
-
- public List<String> getGlusterServerNames(String knownServer) {
- String output = getPeerStatus(knownServer);
- if (output == null) {
- return null;
- }
-
- List<String> glusterServerNames = new ArrayList<String>();
- for (String line : output.split(CoreConstants.NEWLINE)) {
- String hostName = extractToken(line, HOSTNAME_PFX);
- if (hostName != null) {
- glusterServerNames.add(hostName);
- }
- }
- return glusterServerNames;
- }
-
- /**
- * @param knownServer
- * A known server on which the gluster command will be executed to fetch peer status
- * @return Outout of the "gluster peer status" command
- */
- private String getPeerStatus(String knownServer) {
- String output;
- ProcessResult result = getSshUtil().executeRemote(knownServer, "gluster peer status");
- if (!result.isSuccess()) {
- output = null;
- }
- output = result.getOutput();
- return output;
- }
-
- public void addServer(String existingServer, String newServer) {
- ProcessResult result = sshUtil.executeRemote(existingServer, "gluster peer probe " + newServer);
- if(!result.isSuccess()) {
- throw new GlusterRuntimeException("Couldn't probe server [" + newServer + "] from [" + existingServer
- + "]. Error: " + result);
- }
-
- // reverse peer probe to ensure that host names appear in peer status on both sides
- result = sshUtil.executeRemote(newServer, "gluster peer probe " + existingServer);
- if(!result.isSuccess()) {
- throw new GlusterRuntimeException("Couldn't _reverse_ probe server [" + existingServer + "] from ["
- + newServer + "]. Error: " + result);
- }
- }
-
- public Status startVolume(String volumeName, String knownServer) {
- return new Status(sshUtil.executeRemote(knownServer, "gluster volume start " + volumeName));
- }
-
- public Status stopVolume(String volumeName, String knownServer) {
- return new Status(sshUtil.executeRemote(knownServer, "gluster --mode=script volume stop " + volumeName));
- }
-
- public void resetOptions(String volumeName, String knownServer) {
- ProcessResult result = sshUtil.executeRemote(knownServer, "gluster volume reset " + volumeName);
- if(!result.isSuccess()) {
- throw new GlusterRuntimeException("Couldn't reset options for volume [" + volumeName + "]! Error: "
- + result);
- }
- }
-
- public void createVolume(String knownServer, String volumeName, String volumeTypeStr, String transportTypeStr,
- Integer replicaCount, Integer stripeCount, String bricks, String accessProtocols, String options) {
-
- int count = 1; // replica or stripe count
-
- VOLUME_TYPE volType = Volume.getVolumeTypeByStr(volumeTypeStr);
- String volTypeArg = null;
- if (volType == VOLUME_TYPE.DISTRIBUTED_MIRROR) {
- volTypeArg = "replica";
- count = replicaCount;
- } else if (volType == VOLUME_TYPE.DISTRIBUTED_STRIPE) {
- volTypeArg = "stripe";
- count = stripeCount;
- }
-
- String transportTypeArg = null;
- TRANSPORT_TYPE transportType = Volume.getTransportTypeByStr(transportTypeStr);
- transportTypeArg = (transportType == TRANSPORT_TYPE.ETHERNET) ? "tcp" : "rdma";
-
- String command = prepareVolumeCreateCommand(volumeName, StringUtil.extractList(bricks, ","), count,
- volTypeArg, transportTypeArg);
- ProcessResult result = sshUtil.executeRemote(knownServer, command);
- if (!result.isSuccess()) {
- throw new GlusterRuntimeException("Error in creating volume [" + volumeName + "]: " + result);
- }
-
- try {
- createOptions(volumeName, StringUtil.extractMap(options, ",", "="), knownServer);
- } catch(Exception e) {
- throw new GlusterRuntimeException(
- "Volume created successfully, however following errors occurred while setting options: "
- + CoreConstants.NEWLINE + e.getMessage());
- }
- }
-
- private String prepareVolumeCreateCommand(String volumeName, List<String> brickDirectories, int count,
- String volumeType, String transportTypeStr) {
- StringBuilder command = new StringBuilder("gluster volume create " + volumeName + " ");
- if (volumeType != null) {
- command.append(volumeType + " " + count + " ");
- }
- command.append("transport " + transportTypeStr);
- for (String brickDir : brickDirectories) {
- command.append(" " + brickDir);
- }
- return command.toString();
- }
-
- public void createOptions(String volumeName, Map<String, String> options, String knownServer) {
- String errors = "";
- if (options != null) {
- for (Entry<String, String> option : options.entrySet()) {
- String key = option.getKey();
- String value = option.getValue();
-
- try {
- setOption(volumeName, key, value, knownServer);
- } catch(Exception e) {
- // append error
- errors += e.getMessage() + CoreConstants.NEWLINE;
- }
- }
- }
- if (!errors.trim().isEmpty()) {
- throw new GlusterRuntimeException("Errors while setting option(s) on volume [" + volumeName + "] : "
- + errors.trim());
- }
- }
-
- public void setOption(String volumeName, String key, String value, String knownServer) {
- ProcessResult result = sshUtil.executeRemote(knownServer, "gluster volume set " + volumeName + " " + key + " "
- + "\"" + value + "\"");
- if (!result.isSuccess()) {
- throw new GlusterRuntimeException("Volume [" + volumeName + "] set [" + key + "=" + value + "] => "
- + result);
- }
- }
-
- public Status deleteVolume(String volumeName, String knownServer) {
- return new Status(sshUtil.executeRemote(knownServer, "gluster --mode=script volume delete " + volumeName));
- }
-
- private String getVolumeInfo(String volumeName, String knownServer) {
- ProcessResult result = sshUtil.executeRemote(knownServer, "gluster volume info " + volumeName);
- if (!result.isSuccess()) {
- throw new GlusterRuntimeException("Command [gluster volume info " + volumeName + "] failed on ["
- + knownServer + "] with error: " + result);
- }
- return result.getOutput();
- }
-
- private String getVolumeInfo(String knownServer) {
- ProcessResult result = sshUtil.executeRemote(knownServer, "gluster volume info ");
- if (!result.isSuccess()) {
- throw new GlusterRuntimeException("Command [gluster volume info] failed on [" + knownServer
- + "] with error: " + result);
- }
- return result.getOutput();
- }
-
- private boolean readVolumeType(Volume volume, String line) {
- String volumeType = extractToken(line, VOLUME_TYPE_PFX);
- if (volumeType != null) {
- if (volumeType.equals(VOLUME_TYPE_DISTRIBUTE)) {
- volume.setVolumeType(VOLUME_TYPE.PLAIN_DISTRIBUTE);
- } else if (volumeType.equals(VOLUME_TYPE_REPLICATE)) {
- volume.setVolumeType(VOLUME_TYPE.DISTRIBUTED_MIRROR);
- volume.setReplicaCount(Volume.DEFAULT_REPLICA_COUNT);
- } else {
- volume.setVolumeType(VOLUME_TYPE.DISTRIBUTED_STRIPE);
- volume.setStripeCount(Volume.DEFAULT_STRIPE_COUNT);
- }
- return true;
- }
- return false;
- }
-
- private void readReplicaOrStripeCount(Volume volume, String line) {
- if (extractToken(line, "x") != null) {
- // expected formated of line is "Number of Bricks: 3 x 2 = 6"
- int count = Integer.parseInt(line.split("x")[1].split("=")[0].trim());
- if (volume.getVolumeType() == VOLUME_TYPE.DISTRIBUTED_STRIPE) {
- volume.setStripeCount(count);
- } else if (volume.getVolumeType() == VOLUME_TYPE.DISTRIBUTED_MIRROR) {
- volume.setReplicaCount(count);
- volume.setStripeCount(0);
- }
-
- }
- return;
- }
-
- private boolean readVolumeStatus(Volume volume, String line) {
- String volumeStatus = extractToken(line, VOLUME_STATUS_PFX);
- if (volumeStatus != null) {
- volume.setStatus(volumeStatus.equals("Started") ? VOLUME_STATUS.ONLINE : VOLUME_STATUS.OFFLINE);
- return true;
- }
- return false;
- }
-
- private boolean readTransportType(Volume volume, String line) {
- String transportType = extractToken(line, VOLUME_TRANSPORT_TYPE_PFX);
- if (transportType != null) {
- volume.setTransportType(transportType.equals("tcp") ? TRANSPORT_TYPE.ETHERNET : TRANSPORT_TYPE.INFINIBAND);
- return true;
- }
- return false;
- }
-
- private boolean readBrick(Volume volume, String brickLine) {
- BRICK_STATUS brickStatus;
- if (brickLine.matches("Brick[0-9]+:.*")) {
- // line: "Brick1: server1:/export/md0/volume-name"
- String brickName = brickLine.split(": ")[1];
- String[] brickParts = brickLine.split(":");
- String serverName = brickParts[1].trim();
- String brickDir = brickParts[2].trim();
- //To get the brick status
- brickStatus = getBrickStatus(serverName, volume.getName(), brickName);
-
- addBrickToVolume(volume, serverName, brickDir, brickStatus);
- return true;
- }
- return false;
- }
-
- private void addBrickToVolume(Volume volume, String serverName, String brickDir, BRICK_STATUS status) {
- volume.addBrick(new Brick(serverName, status, brickDir.split("/")[2].trim(), brickDir));
- }
-
- // Do not throw exception, Gracefully handle as Offline brick.
- private BRICK_STATUS getBrickStatus(String serverName, String volumeName, String brick){
- try {
- ProcessResult output = getSshUtil().executeRemote(serverName, "get_brick_status.py" + " " + volumeName + " " + brick);
-
- if (output.isSuccess() && output.getOutput().equals(CoreConstants.ONLINE)) {
- return BRICK_STATUS.ONLINE;
- } else {
- return BRICK_STATUS.OFFLINE;
- }
- } catch(Exception e) { // Particularly interested on ConnectionExecption, if the server is offline
- return BRICK_STATUS.OFFLINE;
- }
- }
-
- private boolean readBrickGroup(String line) {
- return extractToken(line, VOLUME_BRICKS_GROUP_PFX) != null;
- }
-
- private boolean readOptionReconfigGroup(String line) {
- return extractToken(line, VOLUME_OPTIONS_RECONFIG_PFX) != null;
- }
-
- private boolean readOption(Volume volume, String line) {
- if (line.matches("^[^:]*:.*$")) {
- int index = line.indexOf(':');
- volume.setOption(line.substring(0, index).trim(), line.substring(index + 1, line.length()).trim());
- return true;
- }
- return false;
- }
-
- public Volume getVolume(String volumeName, String knownServer) {
- return parseVolumeInfo(getVolumeInfo(volumeName, knownServer)).get(0);
- }
-
- public List<Volume> getAllVolumes(String knownServer) {
- return parseVolumeInfo(getVolumeInfo(knownServer));
- }
-
- private List<Volume> parseVolumeInfo(String volumeInfoText) {
- List<Volume> volumes = new ArrayList<Volume>();
- boolean isBricksGroupFound = false;
- boolean isOptionReconfigFound = false;
- Volume volume = null;
-
- for (String line : volumeInfoText.split(CoreConstants.NEWLINE)) {
- String volumeName = extractToken(line, VOLUME_NAME_PFX);
- if (volumeName != null) {
- if (volume != null) {
- volumes.add(volume);
- }
-
- // prepare next volume to be read
- volume = new Volume();
- volume.setName(volumeName);
- isBricksGroupFound = isOptionReconfigFound = false;
- continue;
- }
-
- if (readVolumeType(volume, line))
- continue;
- if (extractToken(line, VOLUME_NUMBER_OF_BRICKS) != null) {
- readReplicaOrStripeCount(volume, line);
- }
- if (readVolumeStatus(volume, line))
- continue;
- if (readTransportType(volume, line))
- continue;
- if (readBrickGroup(line)) {
- isBricksGroupFound = true;
- continue;
- }
-
- if (isBricksGroupFound) {
- if (readBrick(volume, line)) {
- continue;
- } else {
- isBricksGroupFound = false;
- }
- }
-
- if (readOptionReconfigGroup(line)) {
- isOptionReconfigFound = true;
- continue;
- }
-
- if (isOptionReconfigFound) {
- if (readOption(volume, line)) {
- continue;
- } else {
- isOptionReconfigFound = false;
- }
- }
- }
-
- if (volume != null) {// Adding the last volume parsed
- volumes.add(volume);
- }
-
- return volumes;
- }
-
- public void addBricks(String volumeName, List<String> bricks, String knownServer) {
- StringBuilder command = new StringBuilder("gluster volume add-brick " + volumeName);
- for (String brickDir : bricks) {
- command.append(" " + brickDir);
- }
-
- ProcessResult result = sshUtil.executeRemote(knownServer, command.toString());
- if(!result.isSuccess()) {
- throw new GlusterRuntimeException("Error in volume [" + volumeName + "] add-brick [" + bricks + "]: "
- + result);
- }
- }
-
- public String getLogLocation(String volumeName, String brickName, String knownServer) {
- String command = "gluster volume log locate " + volumeName + " " + brickName;
- ProcessResult result = sshUtil.executeRemote(knownServer, command);
- if (!result.isSuccess()) {
- throw new GlusterRuntimeException("Command [" + command + "] failed with error: [" + result.getExitValue()
- + "][" + result.getOutput() + "]");
- }
- String output = result.getOutput();
- if (output.startsWith(VOLUME_LOG_LOCATION_PFX)) {
- return output.substring(VOLUME_LOG_LOCATION_PFX.length()).trim();
- }
-
- throw new GlusterRuntimeException("Couldn't parse output of command [" + command + "]. Output [" + output
- + "] doesn't start with prefix [" + VOLUME_LOG_LOCATION_PFX + "]");
- }
-
- public String getLogFileNameForBrickDir(String brickDir) {
- String logFileName = brickDir;
- if (logFileName.startsWith(File.separator)) {
- logFileName = logFileName.replaceFirst(File.separator, "");
- }
- logFileName = logFileName.replaceAll(File.separator, "-") + ".log";
- return logFileName;
- }
-
- public Status removeBricks(String volumeName, List<String> bricks, String knownServer) {
- StringBuilder command = new StringBuilder("gluster --mode=script volume remove-brick " + volumeName);
- for (String brickDir : bricks) {
- command.append(" " + brickDir);
- }
- return new Status(sshUtil.executeRemote(knownServer, command.toString()));
- }
-
- public void removeServer(String existingServer, String serverName) {
- ProcessResult result = sshUtil.executeRemote(existingServer, "gluster --mode=script peer detach " + serverName);
- if(!result.isSuccess()) {
- throw new GlusterRuntimeException("Couldn't remove server [" + serverName + "]! Error: " + result);
- }
- }
-
- public TaskStatus checkRebalanceStatus(String serverName, String volumeName) {
- String command = "gluster volume rebalance " + volumeName + " status";
- ProcessResult processResult = sshUtil.executeRemote(serverName, command);
- TaskStatus taskStatus = new TaskStatus();
- if (processResult.isSuccess()) {
- if (processResult.getOutput().trim().matches("^rebalance completed.*")) {
- taskStatus.setCode(Status.STATUS_CODE_SUCCESS);
- } else if(processResult.getOutput().trim().matches(".*in progress.*")) {
- taskStatus.setCode(Status.STATUS_CODE_RUNNING);
- } else {
- taskStatus.setCode(Status.STATUS_CODE_FAILURE);
- }
- } else {
- taskStatus.setCode(Status.STATUS_CODE_FAILURE);
- }
- taskStatus.setMessage(processResult.getOutput()); // Common
- return taskStatus;
- }
-
- public void stopRebalance(String serverName, String volumeName) {
- String command = "gluster volume rebalance " + volumeName + " stop";
- ProcessResult processResult = sshUtil.executeRemote(serverName, command);
- TaskStatus taskStatus = new TaskStatus();
- if (processResult.isSuccess()) {
- taskStatus.setCode(Status.STATUS_CODE_SUCCESS);
- taskStatus.setMessage(processResult.getOutput());
- }
- }
-
- public TaskStatus getInitializingDeviceStatus(String serverName, String diskName) {
- Object response = serverUtil.executeOnServer(true, serverName, INITIALIZE_DISK_STATUS_SCRIPT + " " + diskName,
- InitDiskStatusResponse.class);
-
- TaskStatus taskStatus = new TaskStatus();
- if (response instanceof Status) {
- taskStatus.setCode(Status.STATUS_CODE_FAILURE);
- taskStatus.setMessage(((Status) response).getMessage());
- throw new GlusterRuntimeException(((Status) response).getMessage());
- }
-
- InitDiskStatusResponse initDiskStatusResponse = (InitDiskStatusResponse) response;
-
- if (initDiskStatusResponse.getFormatStatus() == FORMAT_STATUS.COMPLETED) {
- taskStatus.setCode(Status.STATUS_CODE_SUCCESS);
- } else if (initDiskStatusResponse.getFormatStatus() == FORMAT_STATUS.IN_PROGRESS) {
- taskStatus.setCode(Status.STATUS_CODE_RUNNING);
- taskStatus.setPercentCompleted(Math.round(initDiskStatusResponse.getCompletedBlocks()
- / initDiskStatusResponse.getTotalBlocks() * 100));
- } else if(initDiskStatusResponse.getFormatStatus() == FORMAT_STATUS.NOT_RUNNING) {
- taskStatus.setCode(Status.STATUS_CODE_FAILURE);
- }
-
- taskStatus.setMessage(initDiskStatusResponse.getMessage());
- return taskStatus;
- }
-
- public ProcessResult executeBrickMigration(String onlineServerName, String volumeName, String fromBrick,
- String toBrick, String operation) {
- String command = "gluster volume replace-brick " + volumeName + " " + fromBrick + " " + toBrick + " " + operation;
- ProcessResult processResult = sshUtil.executeRemote(onlineServerName, command);
- if (!processResult.isSuccess()) {
- throw new GlusterRuntimeException(processResult.toString());
- }
- return processResult;
- }
-
- public static void main(String args[]) {
- // List<String> names = new GlusterUtil().getGlusterServerNames();
- // System.out.println(names);
- List<String> disks = new ArrayList<String>();
- disks.add("server1:sda");
- disks.add("server1:sdb");
- new GlusterUtil().addBricks("Volume3", disks, "localhost");
- }
-}
diff --git a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/ServerUtil.java b/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/ServerUtil.java
deleted file mode 100644
index 871a2e9d..00000000
--- a/src/com.gluster.storage.management.server/src/com/gluster/storage/management/server/utils/ServerUtil.java
+++ /dev/null
@@ -1,365 +0,0 @@
-/**
- * ServerUtil.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
- * This file is part of Gluster Management Console.
- *
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
- * <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.server.utils;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Date;
-import java.util.List;
-
-import javax.servlet.ServletContext;
-import javax.xml.bind.JAXBContext;
-import javax.xml.bind.JAXBException;
-import javax.xml.bind.Marshaller;
-import javax.xml.bind.Unmarshaller;
-
-import org.apache.log4j.Logger;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-import com.gluster.storage.management.core.constants.CoreConstants;
-import com.gluster.storage.management.core.exceptions.ConnectionException;
-import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
-import com.gluster.storage.management.core.model.ServerStatsRow;
-import com.gluster.storage.management.core.model.ServerStats;
-import com.gluster.storage.management.core.model.Server;
-import com.gluster.storage.management.core.model.Status;
-import com.gluster.storage.management.core.response.GenericResponse;
-import com.gluster.storage.management.core.utils.ProcessResult;
-import com.gluster.storage.management.core.utils.ProcessUtil;
-
-@Component
-public class ServerUtil {
- @Autowired
- ServletContext servletContext;
-
- @Autowired
- private SshUtil sshUtil;
-
- private static final Logger logger = Logger.getLogger(ServerUtil.class);
-
- private static final String SCRIPT_DIR = "scripts";
- private static final String SCRIPT_COMMAND = "python";
- private static final String REMOTE_SCRIPT_GET_DISK_FOR_DIR = "get_disk_for_dir.py";
-
- public void setSshUtil(SshUtil sshUtil) {
- this.sshUtil = sshUtil;
- }
-
- public ProcessResult executeGlusterScript(boolean runInForeground, String scriptName, List<String> arguments) {
- List<String> command = new ArrayList<String>();
-
- command.add(SCRIPT_COMMAND);
- command.add(getScriptPath(scriptName));
- command.addAll(arguments);
- return new ProcessUtil().executeCommand(runInForeground, command);
- }
-
- private String getScriptPath(String scriptName) {
- String scriptPath = servletContext.getRealPath(SCRIPT_DIR) + CoreConstants.FILE_SEPARATOR + scriptName;
- return scriptPath;
- }
-
- /**
- * Fetch details of the given server. The server name must be populated in the object before calling this method.
- *
- * @param server
- * Server whose details are to be fetched
- */
- public void fetchServerDetails(Server server) {
- // fetch standard server details like cpu, disk, memory details
- Object response = executeOnServer(true, server.getName(), "get_server_details.py", Server.class);
- if (response instanceof Status) {
- throw new GlusterRuntimeException(((Status)response).getMessage());
- }
- server.copyFrom((Server) response); // Update the details in <Server> object
- server.setDisks(((Server) response).getDisks());
- }
-
- /**
- * Executes given command on given server
- *
- * @param runInForeground
- * @param serverName
- * @param commandWithArgs
- * @param expectedClass
- * Class of the object expected from script execution
- * @return Object of the expected class from remote execution of the command. In case the remote execution fails
- * ungracefully, an object of class {@link Status} will be returned.
- */
- @SuppressWarnings("rawtypes")
- public Object executeOnServer(boolean runInForeground, String serverName, String commandWithArgs,
- Class expectedClass) {
- try {
- String output = executeOnServer(serverName, commandWithArgs);
-
- // In case the script execution exits ungracefully, the agent would return a GenericResponse.
- // hence pass last argument as true to try GenericResponse unmarshalling in such cases.
- Object response = unmarshal(expectedClass, output, expectedClass != GenericResponse.class);
- if (expectedClass != GenericResponse.class && response instanceof GenericResponse) {
- // expected class was not GenericResponse, but that's what we got. This means the
- // script failed ungracefully. Extract and return the status object from the response
- return ((GenericResponse) response).getStatus();
- }
- return response;
- } catch (RuntimeException e) {
- // Except for connection exception, wrap any other exception in the a object and return it.
- if (e instanceof ConnectionException) {
- throw e;
- } else {
- // error during unmarshalling. return status with error from exception.
- return new Status(e);
- }
- }
- }
-
- private String executeOnServer(String serverName, String commandWithArgs) {
- ProcessResult result = sshUtil.executeRemote(serverName, commandWithArgs);
-
- if (!result.isSuccess()) {
- throw new GlusterRuntimeException("Command [" + commandWithArgs + "] failed on [" + serverName
- + "] with error [" + result.getExitValue() + "][" + result.getOutput() + "]");
- }
- return result.getOutput();
- }
-
- // This is the old executeOnServer that used socket communication.
- // We can keep it commented for the time being.
- // private String executeOnServerUsingSocket(String serverName, String commandWithArgs) {
- // try {
- // InetAddress address = InetAddress.getByName(serverName);
- // Socket connection = new Socket(address, 50000);
- //
- // PrintWriter writer = new PrintWriter(connection.getOutputStream(), true);
- // writer.println(commandWithArgs);
- // writer.println(); // empty line means end of request
- //
- // InputStream inputStream = connection.getInputStream();
- // int available = inputStream.available();
- //
- // StringBuffer output = new StringBuffer();
- // if( available > 0 ) {
- // // This happens when PeerAgent sends complete file
- // byte[] responseData = new byte[available];
- // inputStream.read(responseData);
- // output.append(new String(responseData, "UTF-8"));
- // } else {
- // // This happens in case of normal XML response from PeerAgent
- // BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream, "UTF-8"));
- //
- // String line;
- // while (!(line = reader.readLine()).trim().isEmpty()) {
- // output.append(line + CoreConstants.NEWLINE);
- // }
- // }
- // connection.close();
- //
- // return output.toString();
- // } catch (Exception e) {
- // throw new GlusterRuntimeException("Error during remote execution: [" + e.getMessage() + "]");
- // }
- // }
-
- public void getFileFromServer(String serverName, String remoteFileName, String localDirName) {
- sshUtil.getFile(serverName, remoteFileName, localDirName);
- }
-
- /**
- * Unmarshals given input string into object of given class
- *
- * @param expectedClass
- * Class whose object is expected
- * @param input
- * Input string
- * @param tryGenericResponseOnFailure
- * If true, and if the unmarshalling fails for given class, another unmarshalling will be attempted with
- * class {@link GenericResponse}. If this also fails, a status object with exception message is created
- * and returned.
- * @return Object of given expected class, or a status object in case first unmarshalling fails.
- */
- @SuppressWarnings("rawtypes")
- private Object unmarshal(Class expectedClass, String input, boolean tryGenericResponseOnFailure) {
- try {
- // create JAXB context and instantiate marshaller
- JAXBContext context = JAXBContext.newInstance(expectedClass);
- Unmarshaller um = context.createUnmarshaller();
- return um.unmarshal(new ByteArrayInputStream(input.getBytes()));
- } catch (JAXBException e) {
- if (tryGenericResponseOnFailure) {
- // unmarshalling failed. try to unmarshal a GenericResponse object
- return unmarshal(GenericResponse.class, input, false);
-
- }
- return new Status(Status.STATUS_CODE_FAILURE, "Error during unmarshalling string [" + input
- + "] for class [" + expectedClass.getName() + ": [" + e.getMessage() + "]");
- }
- }
-
- /**
- * @param serverName
- * Server on which the directory is present
- * @param brickDir
- * Directory whose disk is to be fetched
- * @return Status object containing the disk name, or error message in case the remote script fails.
- */
- public Status getDiskForDir(String serverName, String brickDir) {
- return (Status) executeOnServer(true, serverName, REMOTE_SCRIPT_GET_DISK_FOR_DIR + " " + brickDir, Status.class);
- }
-
- public ServerStats fetchCPUUsageData(String serverName) {
- Object output = executeOnServer(true, serverName, "get_rrd_cpu_details.py 1d", ServerStats.class);
- //String cpuUsageData = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?> <xport> <meta> <start>1310468100</start> <step>300</step> <end>1310471700</end> <rows>13</rows> <columns>3</columns> <legend> <entry>user</entry> <entry>system</entry> <entry>total</entry> </legend> </meta> <data> <row><t>1310468100</t><v>2.23802952e-1</v><v>4.3747778209e-01</v><v>6.6128073384e-01</v></row> <row><t>1310468400</t><v>2.3387347338e-01</v><v>4.4642717442e-01</v><v>6.8030064780e-01</v></row> <row><t>1310468700</t><v>5.5043873220e+00</v><v>6.2462376636e+00</v><v>1.1750624986e+01</v></row> <row><t>1310469000</t><v>2.4350593653e+01</v><v>2.6214585217e+01</v><v>5.0565178869e+01</v></row> <row><t>1310469300</t><v>4.0786489953e+01</v><v>4.6784713828e+01</v><v>8.7571203781e+01</v></row> <row><t>1310469600</t><v>4.1459955508e+01</v><v>5.2546309044e+01</v><v>9.4006264551e+01</v></row> <row><t>1310469900</t><v>4.2312286165e+01</v><v>5.2390588332e+01</v><v>9.4702874497e+01</v></row> <row><t>1310470200</t><v>4.2603794982e+01</v><v>5.1598861493e+01</v><v>9.4202656475e+01</v></row> <row><t>1310470500</t><v>3.8238751290e+01</v><v>4.5312089966e+01</v><v>8.3550841256e+01</v></row> <row><t>1310470800</t><v>1.7949961224e+01</v><v>2.1282058418e+01</v><v>3.9232019642e+01</v></row> <row><t>1310471100</t><v>1.2330371421e-01</v><v>4.6347832868e-01</v><v>5.8678204289e-01</v></row> <row><t>1310471400</t><v>1.6313260492e-01</v><v>5.4088119561e-01</v><v>7.0401380052e-01</v></row> <row><t>1310471700</t><v>NaN</v><v>NaN</v><v>NaN</v></row> </data> </xport>";
- //Object output = unmarshal(ServerStats.class, cpuUsageData, false);
- if(output instanceof Status) {
- throw new GlusterRuntimeException(((Status)output).toString());
- }
- return (ServerStats) output;
- }
-
- private ServerStats getFirstOnlineServerCPUStats(List<String> serverNames, boolean removeServerOnError, boolean removeOnlineServer) {
- for(int i = serverNames.size() - 1; i >= 0; i--) {
- String serverName = serverNames.get(i);
- try {
- ServerStats stats = fetchCPUUsageData(serverName);
- if(removeOnlineServer) {
- serverNames.remove(serverName);
- }
- return stats;
- } catch(Exception e) {
- // server might be offline - continue with next one
- logger.warn("Couldn't fetch CPU stats from server [" + serverName + "]!", e);
- if(removeServerOnError) {
- serverNames.remove(serverName);
- }
- continue;
- }
- }
- throw new GlusterRuntimeException("All servers offline!");
- }
-
- public ServerStats fetchAggregatedCPUStats(List<String> serverNames) {
- if(serverNames == null || serverNames.size() == 0) {
- throw new GlusterRuntimeException("No server names passed to fetchAggregaredCPUUsageData!");
- }
-
- ServerStats firstServerStats = getFirstOnlineServerCPUStats(serverNames, true, true);
-
- ServerStats aggregatedStats = new ServerStats(firstServerStats);
- aggregateCPUStats(serverNames, aggregatedStats);
- return aggregatedStats;
- }
-
- private void aggregateCPUStats(List<String> serverNames, ServerStats aggregatedStats) {
- if(serverNames.isEmpty()) {
- return;
- }
-
- int rowCount = aggregatedStats.getMetadata().getRowCount();
- int columnCount = aggregatedStats.getMetadata().getLegend().size();
- int[][] dataCount = initDataCountArray(rowCount, columnCount);
-
- for (String serverName : serverNames) {
- try {
- // fetch the stats and add to aggregated stats
- addServerStats(fetchCPUUsageData(serverName), aggregatedStats, dataCount);
- } catch(Exception e) {
- // server might be offline - continue with next one
- logger.warn("Couldn't fetch CPU stats from server [" + serverName + "]!", e);
- continue;
- }
- }
-
- averageAggregatedStats(aggregatedStats, dataCount);
- }
-
- private void averageAggregatedStats(ServerStats aggregatedStats, int[][] dataCount) {
- List<ServerStatsRow> rows = aggregatedStats.getRows();
- for(int rowNum = 0; rowNum < rows.size(); rowNum++) {
- List<Double> data = rows.get(rowNum).getUsageData();
- for(int columnNum = 0; columnNum < data.size(); columnNum++) {
- data.set(columnNum, data.get(columnNum) / dataCount[rowNum][columnNum]);
- }
- }
- }
-
- private int[][] initDataCountArray(int rowCount, int columnCount) {
- int[][] dataCount = new int[rowCount][columnCount];
- // initialize all data counts to 1
- for(int rowNum = 0; rowNum < rowCount; rowNum++) {
- for(int columnNum = 0; columnNum < columnCount; columnNum++) {
- dataCount[rowNum][columnNum] = 1;
- }
- }
- return dataCount;
- }
-
- /**
- *
- * @param statsToBeAdded
- * @param targetStats
- * @param dataCount Each element of this matrix will be incremented for every valid element added
- * @return
- */
- private List<ServerStatsRow> addServerStats(ServerStats statsToBeAdded, ServerStats targetStats, int[][] dataCount) {
- List<ServerStatsRow> serverStatsRows = statsToBeAdded.getRows();
- for (int rowNum = 0; rowNum < serverStatsRows.size()
- && rowNum < targetStats.getMetadata().getRowCount(); rowNum++) {
- ServerStatsRow row = serverStatsRows.get(rowNum);
- List<Double> rowData = row.getUsageData();
-
- List<Double> aggregatedStatsRowData = targetStats.getRows().get(rowNum).getUsageData();
- for(int i = 1; i < targetStats.getMetadata().getLegend().size(); i++) {
- // Add the data
- Double data = rowData.get(i);
- if(!data.isNaN()) {
- // data is available. add it.
- aggregatedStatsRowData.set(i, aggregatedStatsRowData.get(i) + data);
- // increment record count. this will be used for calculating average of aggregated data.
- dataCount[rowNum][i]++;
- }
- }
- }
- return serverStatsRows;
- }
-
- public static void main(String[] args) {
- ServerStats stats = new ServerUtil().fetchCPUUsageData("s1");
- for(ServerStatsRow row : stats.getRows()) {
- System.out.println(row.getUsageData().get(2));
- }
- JAXBContext context;
- try {
- context = JAXBContext.newInstance(ServerStats.class);
- Marshaller m = context.createMarshaller();
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- m.marshal(stats, out);
- ServerStats stats1 = (ServerStats)new ServerUtil().unmarshal(ServerStats.class, out.toString(), false);
- for(ServerStatsRow row : stats1.getRows()) {
- System.out.println(row.getUsageData().get(2));
- }
- } catch (JAXBException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
-}
diff --git a/src/com.gluster.storage.management.server/src/log4j.properties b/src/com.gluster.storage.management.server/src/log4j.properties
deleted file mode 100644
index f84009d3..00000000
--- a/src/com.gluster.storage.management.server/src/log4j.properties
+++ /dev/null
@@ -1,19 +0,0 @@
-log4j.rootLogger=INFO, CONSOLE
-
-log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
-log4j.appender.CONSOLE.immediateFlush=true
-log4j.appender.CONSOLE.target=System.out
-log4j.appender.CONSOLE.threshold=DEBUG
-log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
-log4j.appender.CONSOLE.layout.ConversionPattern=%d{dd MMM, yyyy HH:mm:ss} %p: %c %t - %m%n
-
-log4j.appender.R=org.apache.log4j.RollingFileAppender
-log4j.appender.R.File=${catalina.home}/logs/tomcat.log
-log4j.appender.R.MaxFileSize=10MB
-log4j.appender.R.MaxBackupIndex=10
-log4j.appender.R.layout=org.apache.log4j.PatternLayout
-log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n
-
-log4j.logger.org.springframework=ERROR
-log4j.logger.org.springframework.aop=DEBUG
-log4j.logger.com.gluster=INFO \ No newline at end of file
diff --git a/src/com.gluster.storage.management.client/.classpath b/src/org.gluster.storage.management.client/.classpath
index b90a101e..9e3c9ce6 100644
--- a/src/com.gluster.storage.management.client/.classpath
+++ b/src/org.gluster.storage.management.client/.classpath
@@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry exported="true" kind="lib" path="lib/jersey-1.5/jersey-multipart-1.5.jar"/>
- <classpathentry exported="true" kind="lib" path="keystore/"/>
- <classpathentry exported="true" kind="lib" path="lib/jersey-1.5/jersey-client-1.5.jar" sourcepath="/home/selvam/sources/jersey/jersey-client-1.5-sources.jar"/>
+ <classpathentry exported="true" kind="lib" path="lib/jersey-1.5/jersey-client-1.5.jar" sourcepath="/data/downloads/sun/jersey/sources/jersey-client-1.5-sources.jar"/>
<classpathentry exported="true" kind="lib" path="lib/jersey-1.5/jersey-core-1.5.jar" sourcepath="/home/selvam/sources/jersey/jersey-core-1.5-sources.jar"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry excluding="keystore/" kind="src" path="src"/>
- <classpathentry combineaccessrules="false" kind="src" path="/com.gluster.storage.management.core"/>
+ <classpathentry kind="src" path="keystore"/>
+ <classpathentry combineaccessrules="false" kind="src" path="/org.gluster.storage.management.core"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/src/com.gluster.storage.management.core/.project b/src/org.gluster.storage.management.client/.project
index 6c8fbb5c..e8da4675 100644
--- a/src/com.gluster.storage.management.core/.project
+++ b/src/org.gluster.storage.management.client/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>com.gluster.storage.management.core</name>
+ <name>org.gluster.storage.management.client</name>
<comment></comment>
<projects>
</projects>
@@ -20,9 +20,15 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>com.instantiations.assist.eclipse.coverage.instrumentationBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>com.instantiations.assist.eclipse.coverage.codeCoverageNature</nature>
</natures>
</projectDescription>
diff --git a/src/com.gluster.storage.management.client/.settings/org.eclipse.jdt.core.prefs b/src/org.gluster.storage.management.client/.settings/org.eclipse.jdt.core.prefs
index f8b5cc38..f8b5cc38 100644
--- a/src/com.gluster.storage.management.client/.settings/org.eclipse.jdt.core.prefs
+++ b/src/org.gluster.storage.management.client/.settings/org.eclipse.jdt.core.prefs
diff --git a/src/com.gluster.storage.management.client/META-INF/MANIFEST.MF b/src/org.gluster.storage.management.client/META-INF/MANIFEST.MF
index 7958d8cd..0b7ada61 100644
--- a/src/com.gluster.storage.management.client/META-INF/MANIFEST.MF
+++ b/src/org.gluster.storage.management.client/META-INF/MANIFEST.MF
@@ -1,14 +1,14 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Gluster Storage Platform Client
-Bundle-SymbolicName: com.gluster.storage.management.client
-Bundle-Version: 1.0.0
-Bundle-Vendor: GLUSTER
+Bundle-SymbolicName: org.gluster.storage.management.client
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: Gluster
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
-Require-Bundle: com.gluster.storage.management.core;bundle-version="1.0.0",
+Require-Bundle: org.gluster.storage.management.core;bundle-version="1.0.0",
org.eclipse.equinox.common;bundle-version="3.6.0"
-Export-Package: com.gluster.storage.management.client,
- com.gluster.storage.management.client.constants
+Export-Package: org.gluster.storage.management.client,
+ org.gluster.storage.management.client.constants
Bundle-ClassPath: .,
lib/jersey-1.5/jersey-client-1.5.jar,
lib/jersey-1.5/jersey-core-1.5.jar,
diff --git a/src/org.gluster.storage.management.client/build.properties b/src/org.gluster.storage.management.client/build.properties
new file mode 100644
index 00000000..fe37f4ee
--- /dev/null
+++ b/src/org.gluster.storage.management.client/build.properties
@@ -0,0 +1,27 @@
+###############################################################################
+# Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
+# This file is part of Gluster Management Console.
+#
+# Gluster Management Console is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public
+# License as published by the Free Software Foundation; either
+# version 3 of the License, or (at your option) any later version.
+#
+# Gluster Management Console is distributed in the hope that it
+# will be useful, but WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see
+# <http://www.gnu.org/licenses/>.
+###############################################################################
+source.. = src/,\
+ keystore/
+output.. = bin/
+bin.includes = .,\
+ META-INF/,\
+ lib/,\
+ keystore/,\
+ lib/jersey-1.5/jersey-multipart-1.5.jar
+src.includes = lib/
diff --git a/src/com.gluster.storage.management.client/keystore/gmc-trusted.keystore b/src/org.gluster.storage.management.client/keystore/gmc-trusted.keystore
index 5517b6e5..5517b6e5 100644
--- a/src/com.gluster.storage.management.client/keystore/gmc-trusted.keystore
+++ b/src/org.gluster.storage.management.client/keystore/gmc-trusted.keystore
Binary files differ
diff --git a/src/org.gluster.storage.management.client/lib/jersey-1.5/Jersey-LICENSE.txt b/src/org.gluster.storage.management.client/lib/jersey-1.5/Jersey-LICENSE.txt
new file mode 100644
index 00000000..d24fbfdb
--- /dev/null
+++ b/src/org.gluster.storage.management.client/lib/jersey-1.5/Jersey-LICENSE.txt
@@ -0,0 +1,135 @@
+The GNU General Public License (GPL) Version 2, June 1991
+
+
+Copyright (C) 1989, 1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
+
+Preamble
+
+The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too.
+
+When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things.
+
+To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it.
+
+For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights.
+
+We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software.
+
+Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations.
+
+Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all.
+
+The precise terms and conditions for copying, distribution and modification follow.
+
+
+TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does.
+
+1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
+
+2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
+
+ a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
+
+ b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License.
+
+ c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.)
+
+These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
+
+3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following:
+
+ a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
+ b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or,
+
+ c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
+
+If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code.
+
+4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
+
+5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it.
+
+6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License.
+
+7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
+
+This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
+
+8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
+
+9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation.
+
+10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
+
+NO WARRANTY
+
+11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
+
+END OF TERMS AND CONDITIONS
+
+
+How to Apply These Terms to Your New Programs
+
+If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms.
+
+To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
+
+ One line to give the program's name and a brief idea of what it does.
+
+ Copyright (C)
+
+ This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) year name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+ signature of Ty Coon, 1 April 1989
+ Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Library General Public License instead of this License.
+
+
+"CLASSPATH" EXCEPTION TO THE GPL VERSION 2
+
+Certain source files distributed by Oracle are subject to the following clarification and special exception to the GPL Version 2, but only where Oracle has expressly included in the particular source file's header the words "Oracle designates this particular file as subject to the "Classpath" exception as provided by Oracle in the License file that accompanied this code."
+
+Linking this library statically or dynamically with other modules is making a combined work based on this library. Thus, the terms and conditions of the GNU General Public License Version 2 cover the whole combination.
+
+As a special exception, the copyright holders of this library give you permission to link this library with independent modules to produce an executable, regardless of the license terms of these independent modules, and to copy and distribute the resulting executable under terms of your choice, provided that you also meet, for each linked independent module, the terms and conditions of the license of that module. An independent module is a module which is not derived from or based on this library. If you modify this library, you may extend this exception to your version of the library, but you are not obligated to do so. If you do not wish to do so, delete this exception statement from your version.
diff --git a/src/org.gluster.storage.management.client/lib/jersey-1.5/Jersey-third-party-license-readme.txt b/src/org.gluster.storage.management.client/lib/jersey-1.5/Jersey-third-party-license-readme.txt
new file mode 100644
index 00000000..b3acf520
--- /dev/null
+++ b/src/org.gluster.storage.management.client/lib/jersey-1.5/Jersey-third-party-license-readme.txt
@@ -0,0 +1,188 @@
+
+DO NOT TRANSLATE OR LOCALIZE.
+
+%% The following software may be included in this product: ASM
+ Use of any of this software is governed by the terms of the license below:
+
+Copyright (c) 2000-2005 INRIA, France Telecom
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions
+are met:
+
+1. Redistributions of source code must retain the above copyright
+ notice, this list of conditions and the following disclaimer.
+
+2. Redistributions in binary form must reproduce the above copyright
+ notice, this list of conditions and the following disclaimer in the
+ documentation and/or other materials provided with the distribution.
+
+3. Neither the name of the copyright holders nor the names of its
+ contributors may be used to endorse or promote products derived from
+ this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "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.
+
+
+%% The following software may be included in this product: Jettison
+ Use of any of this software is governed by the terms of the license below:
+
+
+Copyright 2006 Envoi Solutions LLC
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+
+--------------------------------------------------------------------------
+
+Apache License
+Version 2.0, January 2004
+http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
+
+"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
+
+ 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
+
+ 2. You must cause any modified files to carry prominent notices stating that You changed the files; and
+
+ 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
+
+ 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
+
+You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+APPENDIX: How to apply the Apache License to your work
+
+To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
+Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
+
+
+
+%% The following software may be included in this product: Jackson
+ Use of any of this software is governed by the terms of the license below:
+
+
+Jackson is dual-licensed under two alternative popular Open Source licenses: Apache (AL 2.0) and Gnu Lesser GPL (LGPL 2.1). You choose one or the other, as necessary (if you want to redistribute the code ¿ for use, you do not need license), and abide by the license rules as defined by the respective license agreement (and only that one).
+
+--------------------------------------------------------------------------
+
+Apache License
+Version 2.0, January 2004
+http://www.apache.org/licenses/
+
+TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+1. Definitions.
+
+"License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document.
+
+"Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License.
+
+"Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity.
+
+"You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License.
+
+"Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files.
+
+"Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types.
+
+"Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below).
+
+"Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof.
+
+"Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution."
+
+"Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work.
+
+2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form.
+
+3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed.
+
+4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions:
+
+ 1. You must give any other recipients of the Work or Derivative Works a copy of this License; and
+
+ 2. You must cause any modified files to carry prominent notices stating that You changed the files; and
+
+ 3. You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and
+
+ 4. If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License.
+
+You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License.
+
+5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions.
+
+6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
+
+7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
+
+8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages.
+
+9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability.
+
+END OF TERMS AND CONDITIONS
+APPENDIX: How to apply the Apache License to your work
+
+To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "[]" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives.
+Copyright [yyyy] [name of copyright owner] Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
+
+
diff --git a/src/com.gluster.storage.management.client/lib/jersey-1.5/jersey-client-1.5.jar b/src/org.gluster.storage.management.client/lib/jersey-1.5/jersey-client-1.5.jar
index 62f790fa..62f790fa 100644
--- a/src/com.gluster.storage.management.client/lib/jersey-1.5/jersey-client-1.5.jar
+++ b/src/org.gluster.storage.management.client/lib/jersey-1.5/jersey-client-1.5.jar
Binary files differ
diff --git a/src/com.gluster.storage.management.client/lib/jersey-1.5/jersey-core-1.5.jar b/src/org.gluster.storage.management.client/lib/jersey-1.5/jersey-core-1.5.jar
index 92b38466..92b38466 100644
--- a/src/com.gluster.storage.management.client/lib/jersey-1.5/jersey-core-1.5.jar
+++ b/src/org.gluster.storage.management.client/lib/jersey-1.5/jersey-core-1.5.jar
Binary files differ
diff --git a/src/com.gluster.storage.management.client/lib/jersey-1.5/jersey-multipart-1.5.jar b/src/org.gluster.storage.management.client/lib/jersey-1.5/jersey-multipart-1.5.jar
index 1c134f05..1c134f05 100644
--- a/src/com.gluster.storage.management.client/lib/jersey-1.5/jersey-multipart-1.5.jar
+++ b/src/org.gluster.storage.management.client/lib/jersey-1.5/jersey-multipart-1.5.jar
Binary files differ
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java b/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/AbstractClient.java
index 20582835..c433c3f4 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/AbstractClient.java
+++ b/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/AbstractClient.java
@@ -1,419 +1,447 @@
-package com.gluster.storage.management.client;
-
-import static com.gluster.storage.management.client.constants.ClientConstants.ALGORITHM_SUNX509;
-import static com.gluster.storage.management.client.constants.ClientConstants.KEYSTORE_TYPE_JKS;
-import static com.gluster.storage.management.client.constants.ClientConstants.PROTOCOL_TLS;
-import static com.gluster.storage.management.client.constants.ClientConstants.TRUSTED_KEYSTORE;
-import static com.gluster.storage.management.client.constants.ClientConstants.TRUSTED_KEYSTORE_ACCESS;
-
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.ConnectException;
-import java.net.URI;
-import java.security.KeyStore;
-
-import javax.net.ssl.HostnameVerifier;
-import javax.net.ssl.KeyManagerFactory;
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.SSLSession;
-import javax.net.ssl.TrustManagerFactory;
-import javax.ws.rs.core.MediaType;
-import javax.ws.rs.core.MultivaluedMap;
-import javax.ws.rs.core.Response;
-
-import org.apache.log4j.Logger;
-
-import com.gluster.storage.management.client.utils.ClientUtil;
-import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
-import com.sun.jersey.api.client.Client;
-import com.sun.jersey.api.client.ClientResponse;
-import com.sun.jersey.api.client.UniformInterfaceException;
-import com.sun.jersey.api.client.WebResource;
-import com.sun.jersey.api.client.WebResource.Builder;
-import com.sun.jersey.api.client.config.DefaultClientConfig;
-import com.sun.jersey.api.representation.Form;
-import com.sun.jersey.client.urlconnection.HTTPSProperties;
-import com.sun.jersey.core.util.MultivaluedMapImpl;
-import com.sun.jersey.multipart.FormDataMultiPart;
-
-public abstract class AbstractClient {
- private static final String HTTP_HEADER_AUTH = "Authorization";
- protected static final MultivaluedMap<String, String> NO_PARAMS = new MultivaluedMapImpl();
- private static final Logger logger = Logger.getLogger(AbstractClient.class);
- protected static String clusterName;
- protected static String securityToken;
- protected WebResource resource;
- private String authHeader;
- private Client client;
-
- /**
- * This constructor will work only after the data model manager has been initialized.
- */
- public AbstractClient() {
- this(securityToken, clusterName);
- }
-
- /**
- * This constructor will work only after the data model manager has been initialized.
- */
- public AbstractClient(String clusterName) {
- this(securityToken, clusterName);
- }
-
- public AbstractClient(String securityToken, String clusterName) {
- AbstractClient.clusterName = clusterName;
- setSecurityToken(securityToken);
-
- createClient();
-
- // this must be after setting clusterName as sub-classes may refer to cluster name in the getResourcePath method
- resource = client.resource(ClientUtil.getServerBaseURI()).path(getResourcePath());
- }
-
- private void createClient() {
- SSLContext context = initializeSSLContext();
- DefaultClientConfig config = createClientConfig(context);
- client = Client.create(config);
- }
-
- private DefaultClientConfig createClientConfig(SSLContext context) {
- DefaultClientConfig config = new DefaultClientConfig();
- config.getProperties().put(HTTPSProperties.PROPERTY_HTTPS_PROPERTIES,
- new HTTPSProperties(createHostnameVerifier(), context));
- return config;
- }
-
- private HostnameVerifier createHostnameVerifier() {
- HostnameVerifier hostnameVerifier = new HostnameVerifier() {
- @Override
- public boolean verify(String arg0, SSLSession arg1) {
- return true;
- }
- };
- return hostnameVerifier;
- }
-
- private SSLContext initializeSSLContext() {
- SSLContext context = null;
- try {
- context = SSLContext.getInstance(PROTOCOL_TLS);
-
- KeyStore keyStore = KeyStore.getInstance(KEYSTORE_TYPE_JKS);
- keyStore.load(loadResource(TRUSTED_KEYSTORE), TRUSTED_KEYSTORE_ACCESS.toCharArray());
-
- KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(ALGORITHM_SUNX509);
- keyManagerFactory.init(keyStore, TRUSTED_KEYSTORE_ACCESS.toCharArray());
-
- TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(ALGORITHM_SUNX509);
- trustManagerFactory.init(keyStore);
-
- context.init(keyManagerFactory.getKeyManagers(), trustManagerFactory.getTrustManagers(), null);
- } catch (Exception e) {
- throw new GlusterRuntimeException(
- "Couldn't initialize SSL Context with Gluster Management Gateway! Error: " + e, e);
- }
- return context;
- }
-
- private InputStream loadResource(String resourcePath) {
- return this.getClass().getClassLoader().getResourceAsStream(resourcePath);
- }
-
- /**
- * Fetches the given resource by dispatching a GET request
- *
- * @param res
- * Resource to be fetched
- * @param queryParams
- * Query parameters to be sent for the GET request
- * @param responseClass
- * Expected class of the response
- * @return Object of responseClass received as a result of the GET request
- */
- private <T> T fetchResource(WebResource res, MultivaluedMap<String, String> queryParams, Class<T> responseClass) {
- try {
- return res.queryParams(queryParams).header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.APPLICATION_XML)
- .get(responseClass);
- } catch (Exception e1) {
- logger.error("Error in fetching response", e1);
- throw createGlusterException(e1);
- }
- }
-
- private GlusterRuntimeException createGlusterException(Exception e) {
- if (e instanceof GlusterRuntimeException) {
- return (GlusterRuntimeException) e;
- }
-
- if (e instanceof UniformInterfaceException) {
- UniformInterfaceException uie = (UniformInterfaceException) e;
- if ((uie.getResponse().getStatus() == Response.Status.UNAUTHORIZED.getStatusCode())) {
- // authentication failed. clear security token.
- setSecurityToken(null);
- return new GlusterRuntimeException("Invalid credentials!");
- } else {
- return new GlusterRuntimeException("[" + uie.getResponse().getStatus() + "]["
- + uie.getResponse().getEntity(String.class) + "]");
- }
- } else {
- Throwable cause = e.getCause();
- if (cause != null && cause instanceof ConnectException) {
- return new GlusterRuntimeException("Couldn't connect to Gluster Management Gateway!");
- }
-
- return new GlusterRuntimeException("Exception in REST communication! [" + e.getMessage() + "]", e);
- }
- }
-
- protected void downloadResource(WebResource res, String filePath) {
- ClientResponse response = res.header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.APPLICATION_OCTET_STREAM)
- .get(ClientResponse.class);
- try {
- if (!response.hasEntity()) {
- throw new GlusterRuntimeException("No entity in response!");
- }
-
- InputStream inputStream = response.getEntityInputStream();
- FileOutputStream outputStream = new FileOutputStream(filePath);
-
- int c;
- while ((c = inputStream.read()) != -1) {
- outputStream.write(c);
- }
- inputStream.close();
- outputStream.close();
- } catch (IOException e) {
- throw new GlusterRuntimeException("Error while downloading resource [" + res.getURI().getPath() + "]", e);
- }
- }
-
- public void uploadResource(WebResource res, FormDataMultiPart form) {
- try {
- res.header(HTTP_HEADER_AUTH, authHeader).type(MediaType.MULTIPART_FORM_DATA_TYPE).post(String.class, form);
- } catch (Exception e) {
- throw new GlusterRuntimeException("Error while importing resource [" + e.getMessage() + "]", e);
- }
- }
-
- /**
- * Fetches the default resource (the one returned by {@link AbstractClient#getResourcePath()}) by dispatching a GET
- * request on the resource
- *
- * @param queryParams
- * Query parameters to be sent for the GET request
- * @param responseClass
- * Expected class of the response
- * @return Object of responseClass received as a result of the GET request
- */
- protected <T> T fetchResource(MultivaluedMap<String, String> queryParams, Class<T> responseClass) {
- return fetchResource(resource, queryParams, responseClass);
- }
-
- /**
- * Fetches the default resource (the one returned by {@link AbstractClient#getResourcePath()}) by dispatching a GET
- * request on the resource
- *
- * @param responseClass
- * Expected class of the response
- * @return Object of responseClass received as a result of the GET request
- */
- protected <T> T fetchResource(Class<T> responseClass) {
- return fetchResource(resource, NO_PARAMS, responseClass);
- }
-
- /**
- * Fetches the resource whose name is arrived at by appending the "subResourceName" parameter to the default
- * resource (the one returned by {@link AbstractClient#getResourcePath()})
- *
- * @param subResourceName
- * Name of the sub-resource
- * @param responseClass
- * Expected class of the response
- * @return Object of responseClass received as a result of the GET request on the sub-resource
- */
- protected <T> T fetchSubResource(String subResourceName, Class<T> responseClass) {
- return fetchResource(resource.path(subResourceName), NO_PARAMS, responseClass);
- }
-
- protected void downloadSubResource(String subResourceName, String filePath) {
- downloadResource(resource.path(subResourceName), filePath);
- }
-
- /**
- * Fetches the resource whose name is arrived at by appending the "subResourceName" parameter to the default
- * resource (the one returned by {@link AbstractClient#getResourcePath()})
- *
- * @param subResourceName
- * Name of the sub-resource
- * @param queryParams
- * Query parameters to be sent for the GET request
- * @param responseClass
- * Expected class of the response
- * @return Object of responseClass received as a result of the GET request on the sub-resource
- */
- protected <T> T fetchSubResource(String subResourceName, MultivaluedMap<String, String> queryParams,
- Class<T> responseClass) {
- return fetchResource(resource.path(subResourceName), queryParams, responseClass);
- }
-
- private void postRequest(WebResource resource, Form form) {
- try {
- prepareFormRequestBuilder(resource).post(form);
- } catch (UniformInterfaceException e) {
- throw new GlusterRuntimeException(e.getResponse().getEntity(String.class));
- }
- }
-
- /**
- * Submits given object to the resource and returns the object received as response
- *
- * @param responseClass
- * Class of the object expected as response
- * @param requestObject
- * the Object to be submitted
- * @return Object of given class received as response
- */
- protected <T> T postObject(Class<T> responseClass, Object requestObject) {
- return resource.type(MediaType.APPLICATION_XML).header(HTTP_HEADER_AUTH, authHeader)
- .accept(MediaType.APPLICATION_XML).post(responseClass, requestObject);
- }
-
- /**
- * Submits given Form using POST method to the resource and returns the object received as response
- *
- * @param form
- * Form to be submitted
- */
- protected void postRequest(Form form) {
- postRequest(resource, form);
- }
-
- /**
- * Submits given Form using POST method to the given sub-resource and returns the object received as response
- *
- * @param subResourceName
- * Name of the sub-resource to which the request is to be posted
- * @param form
- * Form to be submitted
- */
- protected void postRequest(String subResourceName, Form form) {
- postRequest(resource.path(subResourceName), form);
- }
-
- private ClientResponse putRequest(WebResource resource, Form form) {
- try {
- ClientResponse response = prepareFormRequestBuilder(resource).put(ClientResponse.class, form);
- if ((response.getStatus() == Response.Status.UNAUTHORIZED.getStatusCode())) {
- // authentication failed. clear security token.
- setSecurityToken(null);
- throw new GlusterRuntimeException("Invalid credentials!");
- }
- if (response.getStatus() >= 300) {
- throw new GlusterRuntimeException(response.getEntity(String.class));
- }
- return response;
- } catch (Exception e) {
- throw createGlusterException(e);
- }
- }
-
- public Builder prepareFormRequestBuilder(WebResource resource) {
- return resource.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).header(HTTP_HEADER_AUTH, authHeader)
- .accept(MediaType.APPLICATION_XML);
- }
-
- /**
- * Submits given Form using PUT method to the given sub-resource and returns the object received as response
- *
- * @param subResourceName
- * Name of the sub-resource to which the request is to be posted
- * @param form
- * Form to be submitted
- */
- protected void putRequest(String subResourceName, Form form) {
- putRequest(resource.path(subResourceName), form);
- }
-
- protected URI putRequestURI(String subResourceName, Form form) {
- ClientResponse response = putRequest(resource.path(subResourceName), form);
- return response.getLocation();
- }
-
- /**
- * Submits given Form using PUT method to the given sub-resource and returns the object received as response
- *
- * @param form
- * Form to be submitted
- */
- protected void putRequest(Form form) {
- putRequest(resource, form);
- }
-
- /**
- * Submits given Form using PUT method to the given sub-resource and returns the object received as response
- *
- * @param subResourceName
- * Name of the sub-resource to which the request is to be posted
- */
- protected void putRequest(String subResourceName) {
- try {
- prepareFormRequestBuilder(resource.path(subResourceName)).put();
- } catch (UniformInterfaceException e) {
- throw new GlusterRuntimeException(e.getResponse().getEntity(String.class));
- }
- }
-
- private void deleteResource(WebResource resource, MultivaluedMap<String, String> queryParams) {
- try {
- resource.queryParams(queryParams).header(HTTP_HEADER_AUTH, authHeader).delete();
- } catch (UniformInterfaceException e) {
- throw new GlusterRuntimeException(e.getResponse().getEntity(String.class));
- }
- }
-
- protected void deleteResource(MultivaluedMap<String, String> queryParams) {
- deleteResource(resource, queryParams);
- }
-
- protected void deleteSubResource(String subResourceName, MultivaluedMap<String, String> queryParams) {
- deleteResource(resource.path(subResourceName), queryParams);
- }
-
- protected void deleteSubResource(String subResourceName) {
- try {
- resource.path(subResourceName).header(HTTP_HEADER_AUTH, authHeader).delete();
- } catch (UniformInterfaceException e) {
- throw new GlusterRuntimeException(e.getResponse().getEntity(String.class));
- }
- }
-
- public abstract String getResourcePath();
-
- /**
- * @return the securityToken
- */
- protected String getSecurityToken() {
- return securityToken;
- }
-
- /**
- * @param securityToken
- * the securityToken to set
- */
- protected void setSecurityToken(String securityToken) {
- AbstractClient.securityToken = securityToken;
- authHeader = "Basic " + securityToken;
- }
-
- /**
- * @param uri
- * The URI to be fetched using GET API
- * @param responseClass
- * Expected type of response object
- * @return Object of the given class
- */
- protected <T> T fetchResource(URI uri, Class<T> responseClass) {
- return fetchResource(client.resource(uri), NO_PARAMS, responseClass);
- }
-}
+/*******************************************************************************
+ * Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
+ * This file is part of Gluster Management Console.
+ *
+ * Gluster Management Console is free software; you can redistribute
+ * it and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * Gluster Management Console is distributed in the hope that it
+ * will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *******************************************************************************/
+package org.gluster.storage.management.client;
+
+import static org.gluster.storage.management.client.constants.ClientConstants.ALGORITHM_SUNX509;
+import static org.gluster.storage.management.client.constants.ClientConstants.KEYSTORE_TYPE_JKS;
+import static org.gluster.storage.management.client.constants.ClientConstants.PROTOCOL_TLS;
+import static org.gluster.storage.management.client.constants.ClientConstants.TRUSTED_KEYSTORE;
+import static org.gluster.storage.management.client.constants.ClientConstants.TRUSTED_KEYSTORE_ACCESS;
+
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.ConnectException;
+import java.net.URI;
+import java.security.KeyStore;
+
+import javax.net.ssl.HostnameVerifier;
+import javax.net.ssl.KeyManagerFactory;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLSession;
+import javax.net.ssl.TrustManagerFactory;
+import javax.ws.rs.core.MediaType;
+import javax.ws.rs.core.MultivaluedMap;
+import javax.ws.rs.core.Response;
+
+import org.gluster.storage.management.client.utils.ClientUtil;
+import org.gluster.storage.management.core.exceptions.GlusterRuntimeException;
+
+import com.sun.jersey.api.client.Client;
+import com.sun.jersey.api.client.ClientResponse;
+import com.sun.jersey.api.client.UniformInterfaceException;
+import com.sun.jersey.api.client.WebResource;
+import com.sun.jersey.api.client.WebResource.Builder;
+import com.sun.jersey.api.client.config.DefaultClientConfig;
+import com.sun.jersey.api.representation.Form;
+import com.sun.jersey.client.urlconnection.HTTPSProperties;
+import com.sun.jersey.core.util.MultivaluedMapImpl;
+import com.sun.jersey.multipart.FormDataMultiPart;
+
+public abstract class AbstractClient {
+ private static final String HTTP_HEADER_AUTH = "Authorization";
+ protected static final MultivaluedMap<String, String> NO_PARAMS = new MultivaluedMapImpl();
+ protected static String clusterName;
+ protected static String securityToken;
+ protected WebResource resource;
+ private String authHeader;
+ private Client client;
+
+ /**
+ * This constructor will work only after the data model manager has been initialized.
+ */
+ public AbstractClient() {
+ this(securityToken, clusterName);
+ }
+
+ /**
+ * This constructor will work only after the data model manager has been initialized.
+ */
+ public AbstractClient(String clusterName) {
+ this(securityToken, clusterName);
+ }
+
+ public AbstractClient(String securityToken, String clusterName) {
+ AbstractClient.clusterName = clusterName;
+ setSecurityToken(securityToken);
+
+ createClient();
+
+ // this must be after setting clusterName as sub-classes may refer to cluster name in the getResourcePath method
+ resource = client.resource(ClientUtil.getServerBaseURI()).path(getResourcePath());
+ }
+
+ private void createClient() {
+ SSLContext context = initializeSSLContext();
+ DefaultClientConfig config = createClientConfig(context);
+ client = Client.create(config);
+ }
+
+ private DefaultClientConfig createClientConfig(SSLContext context) {
+ DefaultClientConfig config = new DefaultClientConfig();
+ config.getProperties().put(HTTPSProperties.PROPERTY_HTTPS_PROPERTIES,
+ new HTTPSProperties(createHostnameVerifier(), context));
+ return config;
+ }
+
+ private HostnameVerifier createHostnameVerifier() {
+ HostnameVerifier hostnameVerifier = new HostnameVerifier() {
+ @Override
+ public boolean verify(String arg0, SSLSession arg1) {
+ return true;
+ }
+ };
+ return hostnameVerifier;
+ }
+
+ private SSLContext initializeSSLContext() {
+ SSLContext context = null;
+ try {
+ context = SSLContext.getInstance(PROTOCOL_TLS);
+
+ KeyStore keyStore = KeyStore.getInstance(KEYSTORE_TYPE_JKS);
+ keyStore.load(loadResource(TRUSTED_KEYSTORE), TRUSTED_KEYSTORE_ACCESS.toCharArray());
+
+ KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(ALGORITHM_SUNX509);
+ keyManagerFactory.init(keyStore, TRUSTED_KEYSTORE_ACCESS.toCharArray());
+
+ TrustManagerFactory trustManagerFactory = TrustManagerFactory.getInstance(ALGORITHM_SUNX509);
+ trustManagerFactory.init(keyStore);
+
+ context.init(keyManagerFactory.getKeyManagers(), trustManagerFactory.getTrustManagers(), null);
+ } catch (Exception e) {
+ throw new GlusterRuntimeException(
+ "Couldn't initialize SSL Context with Gluster Management Gateway! Error: " + e, e);
+ }
+ return context;
+ }
+
+ private InputStream loadResource(String resourcePath) {
+ return this.getClass().getClassLoader().getResourceAsStream(resourcePath);
+ }
+
+ /**
+ * Fetches the given resource by dispatching a GET request
+ *
+ * @param res
+ * Resource to be fetched
+ * @param queryParams
+ * Query parameters to be sent for the GET request
+ * @param responseClass
+ * Expected class of the response
+ * @return Object of responseClass received as a result of the GET request
+ */
+ private <T> T fetchResource(WebResource res, MultivaluedMap<String, String> queryParams, Class<T> responseClass) {
+ try {
+ return res.queryParams(queryParams).header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.APPLICATION_XML)
+ .get(responseClass);
+ } catch (Exception e1) {
+ throw createGlusterException(e1);
+ }
+ }
+
+ private GlusterRuntimeException createGlusterException(Exception e) {
+ if (e instanceof GlusterRuntimeException) {
+ return (GlusterRuntimeException) e;
+ }
+
+ if (e instanceof UniformInterfaceException) {
+ UniformInterfaceException uie = (UniformInterfaceException) e;
+ if ((uie.getResponse().getStatus() == Response.Status.UNAUTHORIZED.getStatusCode())) {
+ // authentication failed. clear security token.
+ setSecurityToken(null);
+ return new GlusterRuntimeException("Invalid credentials!");
+ } else {
+ return new GlusterRuntimeException("[" + uie.getResponse().getStatus() + "]["
+ + uie.getResponse().getEntity(String.class) + "]");
+ }
+ } else {
+ Throwable cause = e.getCause();
+ if (cause != null && cause instanceof ConnectException) {
+ return new GlusterRuntimeException("Couldn't connect to Gluster Management Gateway!");
+ }
+
+ return new GlusterRuntimeException("Exception in REST communication! [" + e.getMessage() + "]", e);
+ }
+ }
+
+ protected void downloadResource(WebResource res, String filePath) {
+ ClientResponse response = null;
+ try {
+ response = res.header(HTTP_HEADER_AUTH, authHeader).accept(MediaType.APPLICATION_OCTET_STREAM)
+ .get(ClientResponse.class);
+ checkResponseStatus(response);
+ } catch (Exception e1) {
+ throw createGlusterException(e1);
+ }
+
+ try {
+ if (!response.hasEntity()) {
+ throw new GlusterRuntimeException("No entity in response!");
+ }
+
+ InputStream inputStream = response.getEntityInputStream();
+ FileOutputStream outputStream = new FileOutputStream(filePath);
+
+ int c;
+ while ((c = inputStream.read()) != -1) {
+ outputStream.write(c);
+ }
+ inputStream.close();
+ outputStream.close();
+ } catch (IOException e) {
+ throw new GlusterRuntimeException("Error while downloading resource [" + res.getURI().getPath() + "]", e);
+ }
+ }
+
+ public void uploadResource(WebResource res, FormDataMultiPart form) {
+ try {
+ res.header(HTTP_HEADER_AUTH, authHeader).type(MediaType.MULTIPART_FORM_DATA_TYPE).post(String.class, form);
+ } catch (Exception e) {
+ throw createGlusterException(e);
+ }
+ }
+
+ /**
+ * Fetches the default resource (the one returned by {@link AbstractClient#getResourcePath()}) by dispatching a GET
+ * request on the resource
+ *
+ * @param queryParams
+ * Query parameters to be sent for the GET request
+ * @param responseClass
+ * Expected class of the response
+ * @return Object of responseClass received as a result of the GET request
+ */
+ protected <T> T fetchResource(MultivaluedMap<String, String> queryParams, Class<T> responseClass) {
+ return fetchResource(resource, queryParams, responseClass);
+ }
+
+ /**
+ * Fetches the default resource (the one returned by {@link AbstractClient#getResourcePath()}) by dispatching a GET
+ * request on the resource
+ *
+ * @param responseClass
+ * Expected class of the response
+ * @return Object of responseClass received as a result of the GET request
+ */
+ protected <T> T fetchResource(Class<T> responseClass) {
+ return fetchResource(resource, NO_PARAMS, responseClass);
+ }
+
+ /**
+ * Fetches the resource whose name is arrived at by appending the "subResourceName" parameter to the default
+ * resource (the one returned by {@link AbstractClient#getResourcePath()})
+ *
+ * @param subResourceName
+ * Name of the sub-resource
+ * @param responseClass
+ * Expected class of the response
+ * @return Object of responseClass received as a result of the GET request on the sub-resource
+ */
+ protected <T> T fetchSubResource(String subResourceName, Class<T> responseClass) {
+ return fetchResource(resource.path(subResourceName), NO_PARAMS, responseClass);
+ }
+
+ protected void downloadSubResource(String subResourceName, String filePath) {
+ downloadResource(resource.path(subResourceName), filePath);
+ }
+
+ /**
+ * Fetches the resource whose name is arrived at by appending the "subResourceName" parameter to the default
+ * resource (the one returned by {@link AbstractClient#getResourcePath()})
+ *
+ * @param subResourceName
+ * Name of the sub-resource
+ * @param queryParams
+ * Query parameters to be sent for the GET request
+ * @param responseClass
+ * Expected class of the response
+ * @return Object of responseClass received as a result of the GET request on the sub-resource
+ */
+ protected <T> T fetchSubResource(String subResourceName, MultivaluedMap<String, String> queryParams,
+ Class<T> responseClass) {
+ return fetchResource(resource.path(subResourceName), queryParams, responseClass);
+ }
+
+ private ClientResponse postRequest(WebResource resource, Form form) {
+ try {
+ ClientResponse response = prepareFormRequestBuilder(resource).post(ClientResponse.class, form);
+ checkResponseStatus(response);
+ return response;
+ } catch (UniformInterfaceException e) {
+ throw new GlusterRuntimeException(e.getResponse().getEntity(String.class));
+ }
+ }
+
+ /**
+ * Submits given object to the resource and returns the object received as response
+ *
+ * @param responseClass
+ * Class of the object expected as response
+ * @param requestObject
+ * the Object to be submitted
+ * @return Object of given class received as response
+ */
+ protected <T> T postObject(Class<T> responseClass, Object requestObject) {
+ return resource.type(MediaType.APPLICATION_XML).header(HTTP_HEADER_AUTH, authHeader)
+ .accept(MediaType.APPLICATION_XML).post(responseClass, requestObject);
+ }
+
+ /**
+ * Submits given Form using POST method to the resource and returns the object received as response
+ *
+ * @param form
+ * Form to be submitted
+ */
+ protected URI postRequest(Form form) {
+ return postRequest(resource, form).getLocation();
+ }
+
+ /**
+ * Submits given Form using POST method to the given sub-resource and returns the object received as response
+ *
+ * @param subResourceName
+ * Name of the sub-resource to which the request is to be posted
+ * @param form
+ * Form to be submitted
+ */
+ protected void postRequest(String subResourceName, Form form) {
+ postRequest(resource.path(subResourceName), form);
+ }
+
+ private ClientResponse putRequest(WebResource resource, Form form) {
+ try {
+ ClientResponse response = prepareFormRequestBuilder(resource).put(ClientResponse.class, form);
+ checkResponseStatus(response);
+ return response;
+ } catch (Exception e) {
+ throw createGlusterException(e);
+ }
+ }
+
+ private void checkResponseStatus(ClientResponse response) {
+ if ((response.getStatus() == Response.Status.UNAUTHORIZED.getStatusCode())) {
+ // authentication failed. clear security token.
+ setSecurityToken(null);
+ throw new GlusterRuntimeException("Invalid credentials!");
+ }
+ if (response.getStatus() >= 300) {
+ throw new GlusterRuntimeException(response.getEntity(String.class));
+ }
+ }
+
+ public Builder prepareFormRequestBuilder(WebResource resource) {
+ return resource.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).header(HTTP_HEADER_AUTH, authHeader)
+ .accept(MediaType.APPLICATION_XML);
+ }
+
+ /**
+ * Submits given Form using PUT method to the given sub-resource and returns the object received as response
+ *
+ * @param subResourceName
+ * Name of the sub-resource to which the request is to be posted
+ * @param form
+ * Form to be submitted
+ */
+ protected void putRequest(String subResourceName, Form form) {
+ putRequest(resource.path(subResourceName), form);
+ }
+
+ protected URI putRequestURI(String subResourceName, Form form) {
+ ClientResponse response = putRequest(resource.path(subResourceName), form);
+ return response.getLocation();
+ }
+
+ /**
+ * Submits given Form using PUT method to the given sub-resource and returns the object received as response
+ *
+ * @param form
+ * Form to be submitted
+ */
+ protected void putRequest(Form form) {
+ putRequest(resource, form);
+ }
+
+ /**
+ * Submits given Form using PUT method to the given sub-resource and returns the object received as response
+ *
+ * @param subResourceName
+ * Name of the sub-resource to which the request is to be posted
+ */
+ protected void putRequest(String subResourceName) {
+ try {
+ prepareFormRequestBuilder(resource.path(subResourceName)).put();
+ } catch (UniformInterfaceException e) {
+ throw new GlusterRuntimeException(e.getResponse().getEntity(String.class));
+ }
+ }
+
+ private void deleteResource(WebResource resource, MultivaluedMap<String, String> queryParams) {
+ try {
+ resource.queryParams(queryParams).header(HTTP_HEADER_AUTH, authHeader).delete();
+ } catch (UniformInterfaceException e) {
+ throw new GlusterRuntimeException(e.getResponse().getEntity(String.class));
+ }
+ }
+
+ protected void deleteResource(MultivaluedMap<String, String> queryParams) {
+ deleteResource(resource, queryParams);
+ }
+
+ protected void deleteSubResource(String subResourceName, MultivaluedMap<String, String> queryParams) {
+ deleteResource(resource.path(subResourceName), queryParams);
+ }
+
+ protected void deleteSubResource(String subResourceName) {
+ try {
+ resource.path(subResourceName).header(HTTP_HEADER_AUTH, authHeader).delete();
+ } catch (UniformInterfaceException e) {
+ throw new GlusterRuntimeException(e.getResponse().getEntity(String.class));
+ }
+ }
+
+ public abstract String getResourcePath();
+
+ /**
+ * @return the securityToken
+ */
+ protected String getSecurityToken() {
+ return securityToken;
+ }
+
+ /**
+ * @param securityToken
+ * the securityToken to set
+ */
+ protected void setSecurityToken(String securityToken) {
+ AbstractClient.securityToken = securityToken;
+ authHeader = "Basic " + securityToken;
+ }
+
+ /**
+ * @param uri
+ * The URI to be fetched using GET API
+ * @param responseClass
+ * Expected type of response object
+ * @return Object of the given class
+ */
+ protected <T> T fetchResource(URI uri, Class<T> responseClass) {
+ return fetchResource(client.resource(uri), NO_PARAMS, responseClass);
+ }
+}
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/ClustersClient.java b/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/ClustersClient.java
index 0185084c..fc012dc3 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/ClustersClient.java
+++ b/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/ClustersClient.java
@@ -1,32 +1,31 @@
/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
+ * Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
* This file is part of Gluster Management Console.
*
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
+ * Gluster Management Console is free software; you can redistribute
+ * it and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * Gluster Management Console is distributed in the hope that it
+ * will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
* <http://www.gnu.org/licenses/>.
*******************************************************************************/
-package com.gluster.storage.management.client;
+package org.gluster.storage.management.client;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_CLUSTER_NAME;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_SERVER_NAME;
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_CLUSTERS;
+import static org.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_CLUSTER_NAME;
+import static org.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_SERVER_NAME;
+import static org.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_CLUSTERS;
import java.util.List;
-import com.gluster.storage.management.core.exceptions.GlusterRuntimeException;
-import com.gluster.storage.management.core.model.Status;
-import com.gluster.storage.management.core.response.ClusterNameListResponse;
+import org.gluster.storage.management.core.response.ClusterNameListResponse;
+
import com.sun.jersey.api.representation.Form;
/**
@@ -43,7 +42,7 @@ public class ClustersClient extends AbstractClient {
}
/* (non-Javadoc)
- * @see com.gluster.storage.management.client.AbstractClient#getResourcePath()
+ * @see org.gluster.storage.management.client.AbstractClient#getResourcePath()
*/
@Override
public String getResourcePath() {
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java b/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/DiscoveredServersClient.java
index c85cdffd..44c93b72 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/DiscoveredServersClient.java
+++ b/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/DiscoveredServersClient.java
@@ -1,36 +1,35 @@
/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
+ * Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
* This file is part of Gluster Management Console.
*
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
+ * Gluster Management Console is free software; you can redistribute
+ * it and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * Gluster Management Console is distributed in the hope that it
+ * will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
* <http://www.gnu.org/licenses/>.
*******************************************************************************/
-package com.gluster.storage.management.client;
+package org.gluster.storage.management.client;
-import static com.gluster.storage.management.core.constants.RESTConstants.QUERY_PARAM_DETAILS;
-import static com.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_DISCOVERED_SERVERS;
+import static org.gluster.storage.management.core.constants.RESTConstants.QUERY_PARAM_DETAILS;
+import static org.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_DISCOVERED_SERVERS;
import java.util.List;
import javax.ws.rs.core.MultivaluedMap;
-import com.gluster.storage.management.core.model.GlusterServer;
-import com.gluster.storage.management.core.model.Server;
-import com.gluster.storage.management.core.response.GenericResponse;
-import com.gluster.storage.management.core.response.ServerListResponse;
-import com.gluster.storage.management.core.response.ServerNameListResponse;
-import com.gluster.storage.management.core.utils.GlusterCoreUtil;
+import org.gluster.storage.management.core.model.Server;
+import org.gluster.storage.management.core.response.ServerListResponse;
+import org.gluster.storage.management.core.response.ServerNameListResponse;
+import org.gluster.storage.management.core.utils.GlusterCoreUtil;
+
import com.sun.jersey.core.util.MultivaluedMapImpl;
public class DiscoveredServersClient extends AbstractClient {
@@ -48,8 +47,7 @@ public class DiscoveredServersClient extends AbstractClient {
return RESOURCE_PATH_DISCOVERED_SERVERS;
}
- @SuppressWarnings("rawtypes")
- private Object getDiscoveredServers(Boolean details, Class responseClass) {
+ private <T> T getDiscoveredServers(Boolean details, Class<T> responseClass) {
MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
queryParams.putSingle(QUERY_PARAM_DETAILS, details.toString());
return fetchResource(queryParams, responseClass);
diff --git a/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/GlusterServersClient.java b/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/GlusterServersClient.java
new file mode 100644
index 00000000..4827c1d5
--- /dev/null
+++ b/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/GlusterServersClient.java
@@ -0,0 +1,139 @@
+/*******************************************************************************
+ * Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
+ * This file is part of Gluster Management Console.
+ *
+ * Gluster Management Console is free software; you can redistribute
+ * it and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * Gluster Management Console is distributed in the hope that it
+ * will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *******************************************************************************/
+package org.gluster.storage.management.client;
+
+import static org.gluster.storage.management.core.constants.RESTConstants.QUERY_PARAM_DETAILS;
+import static org.gluster.storage.management.core.constants.RESTConstants.RESOURCE_PATH_CLUSTERS;
+import static org.gluster.storage.management.core.constants.RESTConstants.RESOURCE_SERVERS;
+
+import java.net.URI;
+import java.util.List;
+
+import javax.ws.rs.core.MultivaluedMap;
+
+import org.gluster.storage.management.core.constants.RESTConstants;
+import org.gluster.storage.management.core.model.GlusterServer;
+import org.gluster.storage.management.core.model.ServerStats;
+import org.gluster.storage.management.core.response.FsTypeListResponse;
+import org.gluster.storage.management.core.response.GlusterServerListResponse;
+import org.gluster.storage.management.core.utils.GlusterCoreUtil;
+
+import com.sun.jersey.api.representation.Form;
+import com.sun.jersey.core.util.MultivaluedMapImpl;
+
+public class GlusterServersClient extends AbstractClient {
+
+ public GlusterServersClient() {
+ super();
+ }
+
+ public GlusterServersClient(String clusterName) {
+ super(clusterName);
+ }
+
+ public GlusterServersClient(String securityToken, String clusterName) {
+ super(securityToken, clusterName);
+ }
+
+ @Override
+ public String getResourcePath() {
+ return RESOURCE_PATH_CLUSTERS + "/" + clusterName + "/" + RESOURCE_SERVERS;
+ }
+
+ public List<GlusterServer> getServers() {
+ MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
+ queryParams.putSingle(QUERY_PARAM_DETAILS, "true");
+ List<GlusterServer> servers = ((GlusterServerListResponse) fetchResource(queryParams, GlusterServerListResponse.class)).getServers();
+ for(GlusterServer server : servers) {
+ GlusterCoreUtil.updateServerNameOnDevices(server);
+ }
+ return servers;
+ }
+
+ public GlusterServer getGlusterServer(String serverName) {
+ GlusterServer server = (GlusterServer) fetchSubResource(serverName, GlusterServer.class);
+ GlusterCoreUtil.updateServerNameOnDevices(server);
+ return server;
+ }
+
+ public URI addServer(String serverName) {
+ Form form = new Form();
+ form.add(RESTConstants.FORM_PARAM_SERVER_NAME, serverName);
+ return postRequest(form);
+ }
+
+ public List<String> getFSTypes(String serverName) {
+ FsTypeListResponse fsTypeListResponse = ((FsTypeListResponse) fetchSubResource(serverName + "/" + RESTConstants.RESOURCE_FSTYPES,
+ FsTypeListResponse.class));
+ return fsTypeListResponse.getFsTypes();
+ }
+
+ public URI initializeDisk(String serverName, String diskName, String fsType, String mountPoint) {
+ Form form = new Form();
+ form.add(RESTConstants.FORM_PARAM_FSTYPE, fsType);
+ form.add(RESTConstants.FORM_PARAM_MOUNTPOINT, mountPoint);
+ return putRequestURI(serverName + "/" + RESTConstants.RESOURCE_DISKS + "/" + diskName, form);
+ }
+
+ public void removeServer(String serverName) {
+ deleteSubResource(serverName);
+ }
+
+ public ServerStats getCpuStats(String serverName, String period) {
+ MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
+ queryParams.add(RESTConstants.QUERY_PARAM_TYPE, RESTConstants.STATISTICS_TYPE_CPU);
+ queryParams.add(RESTConstants.QUERY_PARAM_PERIOD, period);
+ return fetchSubResource(serverName + "/" + RESTConstants.RESOURCE_STATISTICS, queryParams, ServerStats.class);
+ }
+
+ public ServerStats getMemoryStats(String serverName, String period) {
+ MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
+ queryParams.add(RESTConstants.QUERY_PARAM_TYPE, RESTConstants.STATISTICS_TYPE_MEMORY);
+ queryParams.add(RESTConstants.QUERY_PARAM_PERIOD, period);
+ return fetchSubResource(serverName + "/" + RESTConstants.RESOURCE_STATISTICS, queryParams, ServerStats.class);
+ }
+
+ public ServerStats getNetworkStats(String serverName, String networkInterface, String period) {
+ MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
+ queryParams.add(RESTConstants.QUERY_PARAM_TYPE, RESTConstants.STATISTICS_TYPE_NETWORK);
+ queryParams.add(RESTConstants.QUERY_PARAM_PERIOD, period);
+ queryParams.add(RESTConstants.QUERY_PARAM_INTERFACE, networkInterface);
+ return fetchSubResource(serverName + "/" + RESTConstants.RESOURCE_STATISTICS, queryParams, ServerStats.class);
+ }
+
+ public ServerStats getAggregatedCpuStats(String period) {
+ MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
+ queryParams.add(RESTConstants.QUERY_PARAM_TYPE, RESTConstants.STATISTICS_TYPE_CPU);
+ queryParams.add(RESTConstants.QUERY_PARAM_PERIOD, period);
+ return fetchSubResource(RESTConstants.RESOURCE_STATISTICS, queryParams, ServerStats.class);
+ }
+
+ public ServerStats getAggregatedNetworkStats(String period) {
+ MultivaluedMap<String, String> queryParams = new MultivaluedMapImpl();
+ queryParams.add(RESTConstants.QUERY_PARAM_TYPE, RESTConstants.STATISTICS_TYPE_NETWORK);
+ queryParams.add(RESTConstants.QUERY_PARAM_PERIOD, period);
+ return fetchSubResource(RESTConstants.RESOURCE_STATISTICS, queryParams, ServerStats.class);
+ }
+
+ public GlusterServer getGlusterServer(URI uri) {
+ GlusterServer server = fetchResource(uri, GlusterServer.class);
+ GlusterCoreUtil.updateServerNameOnDevices(server);
+ return server;
+ }
+}
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/KeysClient.java b/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/KeysClient.java
index 51fda466..feb24241 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/KeysClient.java
+++ b/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/KeysClient.java
@@ -1,31 +1,30 @@
-/**
- * KeysClient.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
+/*******************************************************************************
+ * Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
* This file is part of Gluster Management Console.
*
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
+ * Gluster Management Console is free software; you can redistribute
+ * it and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
*
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
+ * Gluster Management Console is distributed in the hope that it
+ * will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
*
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
* <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.client;
+ *******************************************************************************/
+package org.gluster.storage.management.client;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import javax.ws.rs.core.MediaType;
-import com.gluster.storage.management.core.constants.RESTConstants;
+import org.gluster.storage.management.core.constants.RESTConstants;
+
import com.sun.jersey.multipart.FormDataMultiPart;
public class KeysClient extends AbstractClient {
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/TasksClient.java b/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/TasksClient.java
index 46077371..d8005cfc 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/TasksClient.java
+++ b/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/TasksClient.java
@@ -1,33 +1,32 @@
-/**
- * tasksClient.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
+/*******************************************************************************
+ * Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
* This file is part of Gluster Management Console.
*
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
+ * Gluster Management Console is free software; you can redistribute
+ * it and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
*
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
+ * Gluster Management Console is distributed in the hope that it
+ * will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
*
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
* <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.client;
+ *******************************************************************************/
+package org.gluster.storage.management.client;
import java.net.URI;
import java.util.List;
import javax.ws.rs.core.MultivaluedMap;
-import com.gluster.storage.management.core.constants.RESTConstants;
-import com.gluster.storage.management.core.model.TaskInfo;
-import com.gluster.storage.management.core.response.TaskInfoListResponse;
+import org.gluster.storage.management.core.constants.RESTConstants;
+import org.gluster.storage.management.core.model.TaskInfo;
+import org.gluster.storage.management.core.response.TaskInfoListResponse;
+
import com.sun.jersey.api.representation.Form;
import com.sun.jersey.core.util.MultivaluedMapImpl;
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java b/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/UsersClient.java
index 5144b6ba..cc82a5e8 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/UsersClient.java
+++ b/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/UsersClient.java
@@ -1,36 +1,35 @@
/*******************************************************************************
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
+ * Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
* This file is part of Gluster Management Console.
*
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
- *
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
+ * Gluster Management Console is free software; you can redistribute
+ * it and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * Gluster Management Console is distributed in the hope that it
+ * will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
* <http://www.gnu.org/licenses/>.
*******************************************************************************/
-package com.gluster.storage.management.client;
+package org.gluster.storage.management.client;
-import org.apache.log4j.Logger;
+import static org.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_NEW_PASSWORD;
+import static org.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_OLD_PASSWORD;
+
+import org.gluster.storage.management.core.constants.RESTConstants;
+import org.gluster.storage.management.core.exceptions.GlusterRuntimeException;
+import org.gluster.storage.management.core.model.Status;
-import com.gluster.storage.management.core.model.Status;
import com.sun.jersey.api.representation.Form;
import com.sun.jersey.core.util.Base64;
public class UsersClient extends AbstractClient {
- private static final String RESOURCE_NAME = "users";
- private static final String FORM_PARAM_OLD_PASSWORD = "oldpassword";
- private static final String FORM_PARAM_NEW_PASSWORD = "newpassword";
- private static final Logger logger = Logger.getLogger(UsersClient.class);
-
private String generateSecurityToken(String user, String password) {
return new String(Base64.encode(user + ":" + password));
}
@@ -45,7 +44,11 @@ public class UsersClient extends AbstractClient {
}
public void changePassword(String user, String oldPassword, String newPassword) {
- setSecurityToken(generateSecurityToken(user, oldPassword));
+ String oldSecurityToken = getSecurityToken();
+ String newSecurityToken = generateSecurityToken(user, oldPassword);
+ if(!oldSecurityToken.equals(newSecurityToken)) {
+ throw new GlusterRuntimeException("Invalid old password!");
+ }
Form form = new Form();
form.add(FORM_PARAM_OLD_PASSWORD, oldPassword);
@@ -75,17 +78,17 @@ public class UsersClient extends AbstractClient {
/*
* (non-Javadoc)
*
- * @see com.gluster.storage.management.client.AbstractClient#getResourceName()
+ * @see org.gluster.storage.management.client.AbstractClient#getResourceName()
*/
@Override
public String getResourcePath() {
- return RESOURCE_NAME;
+ return RESTConstants.RESOURCE_USERS;
}
/*
* (non-Javadoc)
*
- * @see com.gluster.storage.management.client.AbstractClient#getSecurityToken()
+ * @see org.gluster.storage.management.client.AbstractClient#getSecurityToken()
*/
@Override
public String getSecurityToken() {
diff --git a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java b/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/VolumesClient.java
index 3435b2e1..442f61f6 100644
--- a/src/com.gluster.storage.management.client/src/com/gluster/storage/management/client/VolumesClient.java
+++ b/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/VolumesClient.java
@@ -1,33 +1,32 @@
-/**
- * VolumesClient.java
- *
- * Copyright (c) 2011 Gluster, Inc. <http://www.gluster.com>
+/*******************************************************************************
+ * Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
* This file is part of Gluster Management Console.
*
- * Gluster Management Console is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Affero General Public License as published
- * by the Free Software Foundation; either version 3 of the License, or
- * (at your option) any later version.
+ * Gluster Management Console is free software; you can redistribute
+ * it and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
*
- * Gluster Management Console is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
- * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License
- * for more details.
+ * Gluster Management Console is distributed in the hope that it
+ * will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
*
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
* <http://www.gnu.org/licenses/>.
- */
-package com.gluster.storage.management.client;
+ *******************************************************************************/
+package org.gluster.storage.management.client;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_ACCESS_PROTOCOLS;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_BRICKS;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_REPLICA_COUNT;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_STRIPE_COUNT;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_TRANSPORT_TYPE;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_VOLUME_NAME;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_VOLUME_OPTIONS;
-import static com.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_VOLUME_TYPE;
+import static org.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_ACCESS_PROTOCOLS;
+import static org.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_BRICKS;
+import static org.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_CIFS_USERS;
+import static org.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_REPLICA_COUNT;
+import static org.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_STRIPE_COUNT;
+import static org.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_TRANSPORT_TYPE;
+import static org.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_VOLUME_NAME;
+import static org.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_VOLUME_OPTIONS;
+import static org.gluster.storage.management.core.constants.RESTConstants.FORM_PARAM_VOLUME_TYPE;
import java.net.URI;
import java.util.Date;
@@ -36,20 +35,20 @@ import java.util.Set;
import javax.ws.rs.core.MultivaluedMap;
-import com.gluster.storage.management.core.constants.CoreConstants;
-import com.gluster.storage.management.core.constants.GlusterConstants;
-import com.gluster.storage.management.core.constants.RESTConstants;
-import com.gluster.storage.management.core.model.Brick;
-import com.gluster.storage.management.core.model.TaskInfo;
-import com.gluster.storage.management.core.model.Volume;
-import com.gluster.storage.management.core.model.VolumeLogMessage;
-import com.gluster.storage.management.core.model.VolumeOptionInfo;
-import com.gluster.storage.management.core.response.LogMessageListResponse;
-import com.gluster.storage.management.core.response.VolumeListResponse;
-import com.gluster.storage.management.core.response.VolumeOptionInfoListResponse;
-import com.gluster.storage.management.core.utils.DateUtil;
-import com.gluster.storage.management.core.utils.GlusterCoreUtil;
-import com.gluster.storage.management.core.utils.StringUtil;
+import org.gluster.storage.management.core.constants.CoreConstants;
+import org.gluster.storage.management.core.constants.GlusterConstants;
+import org.gluster.storage.management.core.constants.RESTConstants;
+import org.gluster.storage.management.core.model.Brick;
+import org.gluster.storage.management.core.model.Volume;
+import org.gluster.storage.management.core.model.VolumeLogMessage;
+import org.gluster.storage.management.core.model.VolumeOptionInfo;
+import org.gluster.storage.management.core.response.LogMessageListResponse;
+import org.gluster.storage.management.core.response.VolumeListResponse;
+import org.gluster.storage.management.core.response.VolumeOptionInfoListResponse;
+import org.gluster.storage.management.core.utils.DateUtil;
+import org.gluster.storage.management.core.utils.GlusterCoreUtil;
+import org.gluster.storage.management.core.utils.StringUtil;
+
import com.sun.jersey.api.representation.Form;
import com.sun.jersey.core.util.MultivaluedMapImpl;
@@ -81,22 +80,34 @@ public class VolumesClient extends AbstractClient {
form.add(FORM_PARAM_BRICKS, StringUtil.collectionToString(volume.getBricks(), ","));
form.add(FORM_PARAM_ACCESS_PROTOCOLS, StringUtil.collectionToString(volume.getNASProtocols(), ","));
form.add(FORM_PARAM_VOLUME_OPTIONS, StringUtil.collectionToString(volume.getOptions().getOptions(), ","));
+ if (volume.isCifsEnable()) {
+ form.add(FORM_PARAM_CIFS_USERS, StringUtil.collectionToString(volume.getCifsUsers(), ","));
+ }
postRequest(form);
}
- private void performOperation(String volumeName, String operation) {
+ private void performOperation(String volumeName, String operation, Boolean force) {
Form form = new Form();
form.add(RESTConstants.FORM_PARAM_OPERATION, operation);
+ form.add(RESTConstants.FORM_PARAM_FORCE, force);
putRequest(volumeName, form);
}
- public void startVolume(String volumeName) {
- performOperation(volumeName, RESTConstants.TASK_START);
+ public void startVolume(String volumeName, Boolean forceStart) {
+ performOperation(volumeName, RESTConstants.TASK_START, forceStart);
}
- public void stopVolume(String volumeName) {
- performOperation(volumeName, RESTConstants.TASK_STOP);
+ public void stopVolume(String volumeName, Boolean forceStop) {
+ performOperation(volumeName, RESTConstants.TASK_STOP, forceStop);
+ }
+
+ public void setCifsConfig(String volumeName, Boolean isCifsEnabled, String cifsUsers) {
+ Form form = new Form();
+ form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.FORM_PARAM_CIFS_CONFIG);
+ form.add(RESTConstants.FORM_PARAM_CIFS_ENABLE, isCifsEnabled);
+ form.add(RESTConstants.FORM_PARAM_CIFS_USERS, cifsUsers);
+ putRequest(volumeName, form);
}
public boolean volumeExists(String volumeName) {
@@ -129,12 +140,12 @@ public class VolumesClient extends AbstractClient {
return (Volume)fetchSubResource(volumeName, Volume.class);
}
- public void deleteVolume(Volume volume, boolean deleteOption) {
+ public void deleteVolume(String volumeName, boolean deleteOption) {
MultivaluedMap<String, String> queryParams = prepareDeleteVolumeQueryParams(deleteOption);
- deleteSubResource(volume.getName(), queryParams);
+ deleteSubResource(volumeName, queryParams);
}
- public List<VolumeOptionInfo> getVolumeOptionsDefaults() {
+ public List<VolumeOptionInfo> getVolumeOptionsInfo() {
return ((VolumeOptionInfoListResponse) fetchSubResource(RESTConstants.RESOURCE_DEFAULT_OPTIONS,
VolumeOptionInfoListResponse.class)).getOptions();
}
@@ -247,6 +258,14 @@ public class VolumesClient extends AbstractClient {
putRequest(volumeName, form);
}
+ public void volumeLogRotate(String volumeName, List<String> brickList) {
+ Form form = new Form();
+ String bricks = StringUtil.collectionToString(brickList, ",");
+ form.add(RESTConstants.FORM_PARAM_OPERATION, RESTConstants.TASK_LOG_ROTATE);
+ form.add(FORM_PARAM_BRICKS, bricks);
+ putRequest(volumeName, form);
+ }
+
public static void main(String[] args) {
UsersClient usersClient = new UsersClient();
try {
diff --git a/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/constants/ClientConstants.java b/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/constants/ClientConstants.java
new file mode 100644
index 00000000..c2dd1890
--- /dev/null
+++ b/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/constants/ClientConstants.java
@@ -0,0 +1,38 @@
+/*******************************************************************************
+ * Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
+ * This file is part of Gluster Management Console.
+ *
+ * Gluster Management Console is free software; you can redistribute
+ * it and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * Gluster Management Console is distributed in the hope that it
+ * will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *******************************************************************************/
+package org.gluster.storage.management.client.constants;
+
+/**
+ *
+ */
+public class ClientConstants {
+ public static final String SYS_PROP_SERVER_URL = "gluster.server.url";
+ public static final String DEFAULT_SERVER_URL = "https://localhost:8443/glustermg/linux.gtk.x86_64";
+ public static final String CONTEXT_ROOT = "glustermg";
+ public static final String SYS_PROP_API_VERSION = "gluster.api.version";
+ public static final String DEFAULT_API_VERSION = "@VERSION@";
+
+ // SSL related
+ public static final String TRUSTED_KEYSTORE = "gmc-trusted.keystore";
+ public static final String TRUSTED_KEYSTORE_ACCESS = "gluster";
+ public static final String PROTOCOL_TLS = "TLS";
+ public static final String ALGORITHM_SUNX509 = "SunX509";
+ public static final String KEYSTORE_TYPE_JKS = "JKS";
+}
+
diff --git a/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/utils/ClientUtil.java b/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/utils/ClientUtil.java
new file mode 100644
index 00000000..a4d665f9
--- /dev/null
+++ b/src/org.gluster.storage.management.client/src/org/gluster/storage/management/client/utils/ClientUtil.java
@@ -0,0 +1,43 @@
+/*******************************************************************************
+ * Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
+ * This file is part of Gluster Management Console.
+ *
+ * Gluster Management Console is free software; you can redistribute
+ * it and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * Gluster Management Console is distributed in the hope that it
+ * will be useful, but WITHOUT ANY WARRANTY; without even the
+ * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ * PURPOSE. See the GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see
+ * <http://www.gnu.org/licenses/>.
+ *******************************************************************************/
+package org.gluster.storage.management.client.utils;
+
+import java.net.URI;
+
+import javax.ws.rs.core.UriBuilder;
+
+import org.gluster.storage.management.client.constants.ClientConstants;
+
+
+public class ClientUtil {
+
+ public static URI getServerBaseURI() {
+ return UriBuilder.fromUri(getBaseURL()).path(getAPIVersion()).build();
+ }
+
+ private static String getAPIVersion() {
+ return System.getProperty(ClientConstants.SYS_PROP_API_VERSION, ClientConstants.DEFAULT_API_VERSION);
+ }
+
+ private static String getBaseURL() {
+ // remove the platform path (e.g. /linux.gtk.x86_64) from the URL
+ return System.getProperty(ClientConstants.SYS_PROP_SERVER_URL, ClientConstants.DEFAULT_SERVER_URL)
+ .replaceAll(ClientConstants.CONTEXT_ROOT + "\\/.*", ClientConstants.CONTEXT_ROOT + "\\/");
+ }
+}
diff --git a/src/com.gluster.storage.management.releng/.project b/src/org.gluster.storage.management.console.feature.webstart/.project
index f4723731..f306a1c9 100644
--- a/src/com.gluster.storage.management.releng/.project
+++ b/src/org.gluster.storage.management.console.feature.webstart/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>com.gluster.storage.management.releng</name>
+ <name>org.gluster.storage.management.console.feature.webstart</name>
<comment></comment>
<projects>
</projects>
diff --git a/src/com.gluster.storage.management.gui.feature.webstart/buckminster.cspex b/src/org.gluster.storage.management.console.feature.webstart/buckminster.cspex
index 252a5e15..7a7a9b95 100644
--- a/src/com.gluster.storage.management.gui.feature.webstart/buckminster.cspex
+++ b/src/org.gluster.storage.management.console.feature.webstart/buckminster.cspex
@@ -37,5 +37,11 @@
<property key="targets" value="copy.root.files" />
</actorProperties>
</public>
+ <public name="update.version" actor="ant">
+ <actorProperties>
+ <property key="buildFile" value="build/glustermc.ant" />
+ <property key="targets" value="update.version" />
+ </actorProperties>
+ </public>
</actions>
</cspecExtension>
diff --git a/src/org.gluster.storage.management.console.feature.webstart/build.properties b/src/org.gluster.storage.management.console.feature.webstart/build.properties
new file mode 100644
index 00000000..44f026e3
--- /dev/null
+++ b/src/org.gluster.storage.management.console.feature.webstart/build.properties
@@ -0,0 +1,20 @@
+###############################################################################
+# Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
+# This file is part of Gluster Management Console.
+#
+# Gluster Management Console is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public
+# License as published by the Free Software Foundation; either
+# version 3 of the License, or (at your option) any later version.
+#
+# Gluster Management Console is distributed in the hope that it
+# will be useful, but WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see
+# <http://www.gnu.org/licenses/>.
+###############################################################################
+#bin.includes = feature.xml
+root=rootfiles
diff --git a/src/com.gluster.storage.management.gui.feature.webstart/build/glustermc.ant b/src/org.gluster.storage.management.console.feature.webstart/build/glustermc.ant
index 6b0152f6..a1dc0c66 100644
--- a/src/com.gluster.storage.management.gui.feature.webstart/build/glustermc.ant
+++ b/src/org.gluster.storage.management.console.feature.webstart/build/glustermc.ant
@@ -1,5 +1,7 @@
<project>
<property name="export.dir" value="${buckminster.output}/glustermc/" />
+ <property name="jnlp.file" value="${export.dir}/gluster-management-console.jnlp" />
+
<target name='unsign'>
<buckminster.signatureCleaner>
<fileset dir='${export.dir}/plugins'>
@@ -12,7 +14,7 @@
</target>
<target name="sign">
- <signjar alias="gluster" storepass="gluster" keypass="gluster" keystore="/var/lib/jenkins/gmc/gluster.keystore">
+ <signjar alias="gluster" storepass="gluster" keypass="gluster" keystore="${jar.signing.keystore}">
<fileset dir="${export.dir}/plugins">
<include name="*.jar" />
</fileset>
@@ -27,4 +29,17 @@
<fileset dir="${basedir}/rootfiles" />
</copy>
</target>
+
+ <target name='update.version'>
+ <replace file="${jnlp.file}" token="@VERSION@" value="${product.version}" />
+ <move todir="${export.dir}">
+ <fileset dir="${export.dir}" />
+ <mapper>
+ <mapper type="regexp"
+ from="org.gluster.storage.management.console.feature_.*.jnlp"
+ to="org.gluster.storage.management.console.feature_${product.version}.jnlp" />
+ </mapper>
+ </move>
+ </target>
+
</project>
diff --git a/src/com.gluster.storage.management.gui.feature.webstart/feature.xml b/src/org.gluster.storage.management.console.feature.webstart/feature.xml
index 0c7142fe..beab8637 100644
--- a/src/com.gluster.storage.management.gui.feature.webstart/feature.xml
+++ b/src/org.gluster.storage.management.console.feature.webstart/feature.xml
@@ -1,9 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
+ This file is part of Gluster Management Console.
+
+ Gluster Management Console is free software; you can redistribute
+ it and/or modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 3 of the License, or (at your option) any later version.
+
+ Gluster Management Console is distributed in the hope that it
+ will be useful, but WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see
+ <http://www.gnu.org/licenses/>.
+ -->
<feature
- id="com.gluster.storage.management.gui.feature.webstart"
- label="Gluster Management Console - GUI Feature for Webstart"
- version="1.0.0"
- provider-name="Gluster Inc."
+ id="org.gluster.storage.management.console.feature.webstart"
+ label="Gluster Management Console - Webstart"
+ version="1.0.0.qualifier"
+ provider-name="Gluster"
os="linux,macosx,win32"
ws="cocoa,gtk,win32"
arch="x86,x86_64,amd64">
@@ -21,7 +39,7 @@
</license>
<includes
- id="com.gluster.storage.management.gui.feature"
+ id="org.gluster.storage.management.console.feature"
version="0.0.0"/>
<requires>
@@ -50,12 +68,12 @@
<import plugin="org.eclipse.jface.databinding" version="1.3.0" match="compatible"/>
<import plugin="org.eclipse.core.databinding.property" version="1.2.0" match="compatible"/>
<import plugin="org.eclipse.core.databinding.observable" version="1.2.0" match="compatible"/>
- <import plugin="org.eclipse.osgi" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.equinox.common" version="3.5.0" match="compatible"/>
<import plugin="org.eclipse.core.jobs" version="3.2.0" match="compatible"/>
- <import plugin="org.eclipse.equinox.preferences" version="3.3.0" match="compatible"/>
<import plugin="org.eclipse.core.contenttype" version="3.3.0" match="compatible"/>
- <import plugin="org.eclipse.equinox.app" version="1.0.0" match="compatible"/>
+ <import plugin="org.eclipse.osgi" version="3.7.0" match="compatible"/>
+ <import plugin="org.eclipse.equinox.preferences" version="3.4.0" match="compatible"/>
+ <import plugin="org.eclipse.equinox.app" version="1.0.0" match="greaterOrEqual"/>
</requires>
<plugin
diff --git a/src/com.gluster.storage.management.gui.feature.webstart/rootfiles/gluster-management-console.jnlp b/src/org.gluster.storage.management.console.feature.webstart/rootfiles/gluster-management-console.jnlp
index 597adf4c..b5417bb8 100644
--- a/src/com.gluster.storage.management.gui.feature.webstart/rootfiles/gluster-management-console.jnlp
+++ b/src/org.gluster.storage.management.console.feature.webstart/rootfiles/gluster-management-console.jnlp
@@ -5,7 +5,7 @@
<vendor>Gluster Inc.</vendor>
<homepage href="$$codebase" />
<description>Gluster Management Console</description>
- <icon kind="splash" href="splash.jpg"/>
+ <icon kind="splash" href="splash.png"/>
<shortcut online="true">
<desktop/>
@@ -16,11 +16,11 @@
<all-permissions/>
</security>
<resources>
- <j2se java-vm-args="-XstartOnFirstThread" version="1.5+" />
- <jar href="plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar" main="true"/>
+ <j2se java-vm-args="-XstartOnFirstThread" version="1.6+" />
+ <jar href="plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar" main="true"/>
<extension
name="Gluster Management Console"
- href="com.gluster.storage.management.gui.feature_1.0.0.jnlp"/>
+ href="org.gluster.storage.management.console.feature_@VERSION@.jnlp"/>
<property
name="osgi.instance.area"
value="@user.home/Application Data/glustermc"/>
@@ -29,15 +29,19 @@
value="@user.home/Application Data/glustermc"/>
<property
name="eclipse.product"
- value="com.gluster.storage.management.gui.product"/>
+ value="org.gluster.storage.management.console.product"/>
<property
name="gluster.server.url"
value="$$codebase"/>
+ <property
+ name="gluster.api.version"
+ value="@VERSION@"/>
+ <property
+ name="javaws.cfg.jauthenticator"
+ value="true"/>
</resources>
<resources os="Linux">
<property name="osgi.ws" value="gtk"/>
</resources>
- <application-desc main-class="org.eclipse.equinox.launcher.WebStartMain">
- <argument>-nosplash</argument>
- </application-desc>
-</jnlp> \ No newline at end of file
+ <application-desc main-class="org.eclipse.equinox.launcher.WebStartMain" />
+</jnlp>
diff --git a/src/org.gluster.storage.management.console.feature.webstart/rootfiles/splash.png b/src/org.gluster.storage.management.console.feature.webstart/rootfiles/splash.png
new file mode 100644
index 00000000..74983f8a
--- /dev/null
+++ b/src/org.gluster.storage.management.console.feature.webstart/rootfiles/splash.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui.feature/.project b/src/org.gluster.storage.management.console.feature/.project
index c93780b5..a4a4a321 100644
--- a/src/com.gluster.storage.management.gui.feature/.project
+++ b/src/org.gluster.storage.management.console.feature/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>com.gluster.storage.management.gui.feature</name>
+ <name>org.gluster.storage.management.console.feature</name>
<comment></comment>
<projects>
</projects>
diff --git a/src/org.gluster.storage.management.console.feature/build.properties b/src/org.gluster.storage.management.console.feature/build.properties
new file mode 100644
index 00000000..66f4d625
--- /dev/null
+++ b/src/org.gluster.storage.management.console.feature/build.properties
@@ -0,0 +1,19 @@
+###############################################################################
+# Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
+# This file is part of Gluster Management Console.
+#
+# Gluster Management Console is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public
+# License as published by the Free Software Foundation; either
+# version 3 of the License, or (at your option) any later version.
+#
+# Gluster Management Console is distributed in the hope that it
+# will be useful, but WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see
+# <http://www.gnu.org/licenses/>.
+###############################################################################
+bin.includes = feature.xml
diff --git a/src/com.gluster.storage.management.gui.feature/feature.xml b/src/org.gluster.storage.management.console.feature/feature.xml
index 7f526f72..473b1947 100644
--- a/src/com.gluster.storage.management.gui.feature/feature.xml
+++ b/src/org.gluster.storage.management.console.feature/feature.xml
@@ -1,9 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
+ This file is part of Gluster Management Console.
+
+ Gluster Management Console is free software; you can redistribute
+ it and/or modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 3 of the License, or (at your option) any later version.
+
+ Gluster Management Console is distributed in the hope that it
+ will be useful, but WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see
+ <http://www.gnu.org/licenses/>.
+ -->
<feature
- id="com.gluster.storage.management.gui.feature"
- label="Gluster Storage Platform - GUI Feature"
- version="1.0.0"
- provider-name="GLUSTER"
+ id="org.gluster.storage.management.console.feature"
+ label="Gluster Management Console"
+ version="1.0.0.qualifier"
+ provider-name="Gluster"
os="linux,macosx,win32"
ws="cocoa,gtk,win32"
arch="x86,x86_64,amd64">
@@ -108,13 +126,6 @@
unpack="false"/>
<plugin
- id="org.eclipse.help"
- download-size="0"
- install-size="0"
- version="0.0.0"
- unpack="false"/>
-
- <plugin
id="org.eclipse.equinox.p2.metadata"
download-size="0"
install-size="0"
@@ -225,7 +236,7 @@
unpack="false"/>
<plugin
- id="com.gluster.storage.management.gui"
+ id="org.gluster.storage.management.console"
download-size="0"
install-size="0"
version="0.0.0"
@@ -492,7 +503,7 @@
<plugin
id="org.eclipse.core.filesystem.win32.x86"
- os="win32"
+ os="Windows XP, Windows 7, Windows Vista"
ws="win32"
arch="x86"
download-size="0"
@@ -503,7 +514,7 @@
<plugin
id="org.eclipse.core.filesystem.win32.x86_64"
- os="win32"
+ os="Windows XP, Windows 7, Windows Vista"
ws="win32"
arch="x86_64, amd64"
download-size="0"
@@ -525,7 +536,7 @@
<plugin
id="org.eclipse.core.net.win32.x86"
- os="win32"
+ os="Windows XP, Windows 7, Windows Vista"
ws="win32"
arch="x86"
download-size="0"
@@ -536,7 +547,7 @@
<plugin
id="org.eclipse.core.net.win32.x86_64"
- os="win32"
+ os="Windows XP, Windows 7, Windows Vista"
ws="win32"
arch="x86_64, amd64"
download-size="0"
@@ -567,7 +578,7 @@
<plugin
id="org.eclipse.swt.win32.win32.x86"
- os="win32"
+ os="Windows XP, Windows 7, Windows Vista"
ws="win32"
arch="x86"
download-size="0"
@@ -578,7 +589,7 @@
<plugin
id="org.eclipse.swt.win32.win32.x86_64"
- os="win32"
+ os="Windows XP, Windows 7, Windows Vista"
ws="win32"
arch="x86_64, amd64"
download-size="0"
@@ -609,7 +620,7 @@
<plugin
id="org.eclipse.equinox.launcher.win32.win32.x86"
- os="Windows XP, Windows 7"
+ os="Windows XP, Windows 7, Windows Vista"
ws="win32"
arch="x86"
download-size="0"
@@ -619,7 +630,7 @@
<plugin
id="org.eclipse.equinox.launcher.win32.win32.x86_64"
- os="win32"
+ os="Windows XP, Windows 7, Windows Vista"
ws="win32"
arch="x86_64, amd64"
download-size="0"
@@ -628,7 +639,7 @@
fragment="true"/>
<plugin
- id="com.gluster.storage.management.core"
+ id="org.gluster.storage.management.core"
download-size="0"
install-size="0"
version="0.0.0"
@@ -698,7 +709,7 @@
unpack="false"/>
<plugin
- id="com.gluster.storage.management.client"
+ id="org.gluster.storage.management.client"
download-size="0"
install-size="0"
version="0.0.0"
@@ -780,118 +791,167 @@
unpack="false"/>
<plugin
- id="com.gluster.storage.management.console.help"
+ id="org.gluster.storage.management.console.help"
download-size="0"
install-size="0"
version="0.0.0"/>
<plugin
- id="org.eclipse.help.ui"
+ id="org.apache.lucene.analysis"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
- id="org.eclipse.help.webapp"
+ id="org.apache.lucene"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
- id="org.eclipse.help.base"
+ id="org.apache.commons.el"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
- id="org.apache.lucene.analysis"
+ id="org.apache.commons.logging"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
- id="org.apache.lucene"
+ id="org.apache.jasper"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
- id="org.apache.commons.el"
+ id="org.eclipse.equinox.http.registry"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
- id="org.apache.commons.logging"
+ id="org.eclipse.equinox.http.servlet"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
- id="org.apache.jasper"
+ id="org.eclipse.equinox.jsp.jasper"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
- id="org.eclipse.equinox.http.registry"
+ id="org.eclipse.equinox.jsp.jasper.registry"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
- id="org.eclipse.equinox.http.servlet"
+ id="javax.servlet.jsp"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
- id="org.eclipse.equinox.jsp.jasper"
+ id="org.eclipse.equinox.http.jetty"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
- id="org.eclipse.equinox.jsp.jasper.registry"
+ id="org.mortbay.jetty.server"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
- id="javax.servlet.jsp"
+ id="org.mortbay.jetty.util"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
- id="org.eclipse.equinox.http.jetty"
+ id="org.eclipse.tm.terminal"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
- id="org.mortbay.jetty.server"
+ id="org.eclipse.tm.terminal.ssh"
download-size="0"
install-size="0"
version="0.0.0"
unpack="false"/>
<plugin
- id="org.mortbay.jetty.util"
+ id="org.eclipse.tm.terminal.view"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="com.jcraft.jsch"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.jsch.core"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.apache.lucene.core"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.help"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.help.base"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.help.ui"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.help.webapp"
download-size="0"
install-size="0"
version="0.0.0"
diff --git a/src/com.gluster.storage.management.console.help/.project b/src/org.gluster.storage.management.console.help/.project
index ba39c551..51640e5e 100644
--- a/src/com.gluster.storage.management.console.help/.project
+++ b/src/org.gluster.storage.management.console.help/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>com.gluster.storage.management.console.help</name>
+ <name>org.gluster.storage.management.console.help</name>
<comment></comment>
<projects>
</projects>
diff --git a/src/org.gluster.storage.management.console.help/.settings/org.eclipse.core.resources.prefs b/src/org.gluster.storage.management.console.help/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 00000000..970d49e2
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,8 @@
+#Tue Aug 23 12:38:58 IST 2011
+eclipse.preferences.version=1
+encoding//html/concepts/about_gmc.html=UTF-8
+encoding//html/concepts/common_terms.html=UTF-8
+encoding//html/concepts/gluster_fs.html=UTF-8
+encoding//html/gettingstarted/check_req_client.html=UTF-8
+encoding//html/gettingstarted/cifs_service.html=UTF-8
+encoding/build.properties=UTF-8
diff --git a/src/org.gluster.storage.management.console.help/.settings/org.eclipse.wst.css.core.prefs b/src/org.gluster.storage.management.console.help/.settings/org.eclipse.wst.css.core.prefs
new file mode 100644
index 00000000..d7503970
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/.settings/org.eclipse.wst.css.core.prefs
@@ -0,0 +1,4 @@
+#Tue Aug 09 14:50:25 IST 2011
+css-profile//html/concepts/about_gmc.html=org.eclipse.wst.css.core.cssprofile.css1
+css-profile//html/concepts/common_terms.html=org.eclipse.wst.css.core.cssprofile.css1
+eclipse.preferences.version=1
diff --git a/src/org.gluster.storage.management.console.help/META-INF/MANIFEST.MF b/src/org.gluster.storage.management.console.help/META-INF/MANIFEST.MF
new file mode 100644
index 00000000..c86045d4
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/META-INF/MANIFEST.MF
@@ -0,0 +1,9 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: Gluster Management Console - Help
+Bundle-SymbolicName: org.gluster.storage.management.console.help;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Vendor: Gluster
+Require-Bundle: org.eclipse.help.ui;bundle-version="3.5.2",
+ org.eclipse.help.webapp;bundle-version="3.5.2",
+ org.eclipse.help
diff --git a/src/org.gluster.storage.management.console.help/build.properties b/src/org.gluster.storage.management.console.help/build.properties
new file mode 100644
index 00000000..f4ce4012
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/build.properties
@@ -0,0 +1,26 @@
+###############################################################################
+# Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
+# This file is part of Gluster Management Console.
+#
+# Gluster Management Console is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public
+# License as published by the Free Software Foundation; either
+# version 3 of the License, or (at your option) any later version.
+#
+# Gluster Management Console is distributed in the hope that it
+# will be useful, but WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see
+# <http://www.gnu.org/licenses/>.
+###############################################################################
+bin.includes = plugin.xml,\
+ META-INF/,\
+ html/,\
+ toc.xml,\
+ tocconcepts.xml,\
+ tocgettingstarted.xml,\
+ toctasks.xml,\
+ tocreference.xml
diff --git a/src/org.gluster.storage.management.console.help/html/concepts/about_gmc.html b/src/org.gluster.storage.management.console.help/html/concepts/about_gmc.html
new file mode 100644
index 00000000..ef79927b
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/concepts/about_gmc.html
@@ -0,0 +1,21 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Main Topic</title>
+</head>
+
+<body>
+<h1>About Gluster Management Console</h1>
+Gluster Management Console is a Java application that provides a single interface to perform the administrative tasks such as create, manage, and maintain your storage cluster. <p>You can use the Gluster Management Console to:</p>
+<ul>
+ <li>Create a Gluster Storage Cluster
+ <li>Expand your cluster
+ <li>Monitor systems in your cluster
+ <li>Manage logs
+</ul>
+ </body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/concepts/about_gmg.html b/src/org.gluster.storage.management.console.help/html/concepts/about_gmg.html
new file mode 100644
index 00000000..34f9c860
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/concepts/about_gmg.html
@@ -0,0 +1,16 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Main Topic</title>
+</head>
+
+<body>
+<h1>Gluster Management Gateway</h1>
+Gluster Management Gateway provides simple and powerful ReST APIs for managing your Gluster Storage Cluster. It also hosts the Gluster Management Console binaries, which can be launched from a browser using the Java Webstart. Gluster Management Console uses the ReST APIs for performing the administrative tasks on the Gluster Storage Cluster
+<p><p><img src="../images/GlusterMC_Architecture.jpg" alt="Gluster Management Gateway Architecture" />
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/concepts/common_terms.html b/src/org.gluster.storage.management.console.help/html/concepts/common_terms.html
new file mode 100644
index 00000000..ccf6d218
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/concepts/common_terms.html
@@ -0,0 +1,50 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Sub Topic 2</title>
+</head>
+
+<body>
+<h1>Common Cluster Terminologies</h1>
+<p><b>Cluster</b></p>
+<p>A cluster is a group of linked computers, working together closely thus in many respects forming a single computer.</p>
+<p><b>Brick</b>
+<p>Brick is the basic unit of storage, represented by an export directory on a server in the trusted storage pool.</p>
+<p><b>Network</b></p>
+<p>A network is a collection of interconnected computers able to
+communicate with each other and transfer information back and forth.</p>
+<p><b>Distributed File Systems</b></p>
+<p>A file system is a collection of files and the facilities
+(programs and commands) that enable users to access the information in
+the files. All computing environments have file systems. A distributed
+file system takes advantage of the interconnected nature of the network
+by storing files on more than one computer in the network and making
+them accessible to all of them. In other words, the responsibility for
+file storage and delivery is "distributed" among multiple machines
+instead of relying on only one.</p>
+<p><b>File Server Machines</b></p>
+<p>File server machines store the files in the distributed file
+system, and a server process running on the file server machine delivers
+and receives files.</p>
+<p><b>Volumes</b></p>
+<p>A volume is a conceptual container for a set of related files
+that keeps them all together on one file server machine partition.
+Volumes can vary in size, but are (by definition) smaller than a
+partition. You can maintain maximum system efficiency by moving volumes
+to keep the load balanced evenly among the different machines. If a
+partition becomes full, the small size of individual volumes makes it
+easy to find enough room on other machines for them. Each volume
+corresponds logically to a directory in the file tree and keeps
+together, on a single partition, all the data that makes up the files in
+the directory (including possible subdirectories). By maintaining (for
+example) a separate volume for each user's home directory, you keep all
+of the user's files together, but separate from those of other users.
+This is an administrative convenience that is impossible if the
+partition is the smallest unit of storage.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/concepts/gluster_fs.html b/src/org.gluster.storage.management.console.help/html/concepts/gluster_fs.html
new file mode 100644
index 00000000..4efe5f36
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/concepts/gluster_fs.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Introducing Gluster Filesystem (GlusterFS)</h1>
+GlusterFS is an open source, scale-out file system capable of scaling to several petabytes and handling thousands of clients. GlusterFS assembles storage building blocks, aggregating disk and memory resources and managing data in a single global namespace. GlusterFS is based on a stackable user space design and can deliver exceptional performance for diverse workloads<p>The GlusterFS modular architecture allows administrators to stack modules to match user requirements, as needed. For example, administrators can use GlusterFS to quickly configure a standalone server system and later expand the system as their business needs grow.</p>
+<p><b>Virtualized Cloud Environments </b></p>
+<p>GlusterFS is designed for today's high-performance, virtualized cloud environments. Unlike traditional data centers, cloud environments require multi-tenancy along with the ability to grow or shrink resources on demand. GlusterFS incorporates cloud capabilities into the core architecture.
+<p>Every module in GlusterFS is treated as a volume. GlusterFS further adds an elastic volume manager (the glusterd daemon) and a console manager (the gluster command line interface). Using the console manager, administrators can dynamically expand, shrink, rebalance, and migrate volumes, among other operations. The command line interface additionally provides an interactive shell (with auto-completion) along with scripting capabilities suitable for automation.</p>
+<p><img src="../images/GlusterFS_3.2_Architecture.png" alt="GlusterFS Architecture" />
+</body>
+</html> \ No newline at end of file
diff --git a/src/com.gluster.storage.management.console.help/html/concepts/maintopic.html b/src/org.gluster.storage.management.console.help/html/concepts/maintopic.html
index a476078a..a476078a 100644
--- a/src/com.gluster.storage.management.console.help/html/concepts/maintopic.html
+++ b/src/org.gluster.storage.management.console.help/html/concepts/maintopic.html
diff --git a/src/com.gluster.storage.management.console.help/html/concepts/subtopic.html b/src/org.gluster.storage.management.console.help/html/concepts/subtopic.html
index 8a61c501..8a61c501 100644
--- a/src/com.gluster.storage.management.console.help/html/concepts/subtopic.html
+++ b/src/org.gluster.storage.management.console.help/html/concepts/subtopic.html
diff --git a/src/com.gluster.storage.management.console.help/html/concepts/subtopic2.html b/src/org.gluster.storage.management.console.help/html/concepts/subtopic2.html
index 86bcbf9c..86bcbf9c 100644
--- a/src/com.gluster.storage.management.console.help/html/concepts/subtopic2.html
+++ b/src/org.gluster.storage.management.console.help/html/concepts/subtopic2.html
diff --git a/src/org.gluster.storage.management.console.help/html/css/Builder/style.css b/src/org.gluster.storage.management.console.help/html/css/Builder/style.css
new file mode 100644
index 00000000..39efe946
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/css/Builder/style.css
@@ -0,0 +1,939 @@
+/*
+Theme Name: Builder
+Theme URI: http://ithemes.com/
+Description: Builder lets you create custom layouts quickly and easily.
+Author: iThemes
+Author URI: http://ithemes.com/
+Version: 2.8.0
+Tags: blog, theme options, multiple layouts, multiple color schemes
+
+Version History
+ See history.txt
+*/
+
+/*********************************************
+ Default font settings and typography.
+ The font-size percentage is of 16px. (0.75 * 16px = 12px)
+*********************************************/
+html {
+ font-size: 100.01%;
+}
+body {
+ font-size: 75%;
+ line-height: 1.5;
+ color: #222222;
+ font-family: Arial, Helvetica, sans-serif;
+}
+input, select, textarea {
+ font-family: Arial, Helvetica, sans-serif;
+}
+pre, code, tt, kbd {
+ font-family: 'andale mono', 'lucida console', monospace;
+ font-size: 1em;
+ line-height: 1.5;
+}
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+address, dfn, img, samp, ul, ol, dl {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+a img {
+ margin: 0;
+}
+
+/*********************************************
+ Constrain table, image, and input widths
+*********************************************/
+table, img, input, textarea, select {
+ max-width: 100%;
+ height: auto;
+ -moz-box-sizing: border-box;
+ -webkit-box-sizing: border-box;
+ -ms-box-sizing: border-box;
+ box-sizing: border-box;
+}
+
+/*********************************************
+ Main Background
+*********************************************/
+body {
+ background: #F7F7F7;
+}
+
+/*********************************************
+ Universal Link Styles
+*********************************************/
+a {
+ color: #000000;
+ text-decoration: underline;
+}
+a:hover {
+ color: #000000;
+ text-decoration: underline;
+}
+a:focus {
+ color: #000000;
+}
+
+/*********************************************
+ Headings
+*********************************************/
+h1, h2, h3, h4, h5, h6 {
+ font-weight: bold;
+ color: #111111;
+}
+h1 {
+ font-family: "Arial Black", Arial, Helvetica, Sans-Serif;
+ font-size: 2em;
+ line-height: 1.5;
+ margin-top: 0.75em;
+ margin-bottom: 0.75em;
+ letter-spacing: -1px;
+}
+h2 {
+ font-size: 1.7em;
+ line-height: 1.75em;
+ margin-top: 0.9em;
+ margin-bottom: 0.9em;
+}
+h3 {
+ font-size: 1.5em;
+ line-height: 1;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+h4 {
+ font-size: 1.2em;
+ line-height: 1.25em;
+ margin-top: 1.25em;
+ margin-bottom: 1.25em;
+}
+h5, h6 {
+ font-size: 1em;
+}
+h6 {
+ font-style: italic;
+}
+h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {
+ margin: 0;
+}
+
+/*********************************************
+ Container Div
+*********************************************/
+.builder-container-outer-wrapper {
+ background: transparent;
+ margin: 1.5em auto;
+ border: none;
+ display: block;
+}
+
+/*********************************************
+ Default Module Styling
+*********************************************/
+.builder-module {
+ background: #FFFFFF;
+ margin-bottom: 1.5em;
+ border-top: .1em solid #777777;
+ border-bottom: .1em solid #777777;
+}
+.builder-module-last {
+ margin-bottom: 0;
+}
+
+/* Failed attempt #5 at producing full-height sidebars
+
+ This does not work due to a Firefox glitch that causes wide content to
+ override the width of blocks.
+
+ These rules should be looked at again later in case Firefox fixes this issue.
+*/
+/*
+.builder-module {
+ display: table;
+ table-layout: fixed;
+}
+.builder-module-block-outer-wrapper {
+ display: table-cell !important;
+ float: none !important;
+ vertical-align: top;
+}
+*/
+
+/*********************************************
+ All Sidebars
+*********************************************/
+.builder-module-sidebar {
+ background: #DDDDDD;
+ display: block;
+ width: 100%;
+ text-align: left;
+ margin: 0;
+ padding: .75em 0;
+}
+.builder-module-sidebar.right {
+ margin-right: 0;
+}
+.builder-module-sidebar.left {
+ margin-left: 0;
+}
+.builder-module-sidebar .widget-wrapper {
+ width: 100%;
+}
+.builder-module-sidebar .widget {
+ margin: 0;
+ padding: .75em 1.5em;
+ color: #333333;
+}
+.builder-module-block-outer-wrapper {
+ overflow: visible !important;
+}
+.builder-module-block-outer-wrapper .widget-wrapper-left .widget,
+.builder-module-block-outer-wrapper .widget-wrapper-middle .widget {
+ padding-right: .75em;
+}
+.builder-module-block-outer-wrapper .widget-wrapper-middle .widget,
+.builder-module-block-outer-wrapper .widget-wrapper-right .widget {
+ padding-left: .75em;
+}
+.builder-module-sidebar h4.widget-title {
+ color: #333333;
+ background: none;
+ font-size: 1.2em;
+ line-height: 1.25;
+ padding: 0;
+ margin: 0 0 1.25em 0;
+}
+.builder-module-sidebar h4.widget-title a {
+ color: #333333;
+}
+.builder-module-sidebar h4.widget-title + * {
+ margin-top: 0;
+}
+.builder-module-sidebar .widget *:first-child {
+ margin-top: 0;
+}
+.builder-module-sidebar .widget *:last-child {
+ margin-bottom: 0;
+}
+.builder-module-sidebar .widget a.rsswidget img {
+ display: none;
+}
+
+/*********************************************
+ Navigation Module
+*********************************************/
+.builder-module-navigation {
+ font-size: 1em;
+ line-height: 2em;
+ background: #FFFFFF url('images/nav_bg.png') repeat top left;
+ display: block;
+ width: 100%;
+}
+.builder-module-navigation .builder-module-element {
+ margin: 0 .5em;
+}
+.builder-module-navigation ul {
+ float: left;
+ display: block;
+ margin: 0;
+ padding: 0;
+}
+.builder-module-navigation ul * {
+ margin: 0;
+}
+.builder-module-navigation li {
+ padding: 0;
+}
+.builder-module-navigation li a,
+.builder-module-navigation li.current_page_item li a,
+.builder-module-navigation li.current-cat li a {
+ font-size: 1em;
+ padding: .4em .6em;
+ color: #333333;
+ font-weight: bold;
+ text-decoration: none;
+ background: #FFFFFF url('images/nav_bg.png') repeat-x top left;
+}
+.builder-module-navigation li a:hover {
+ background: #333333 url('images/nav_bg_hover.jpg') repeat-x top left;
+ color: #FFFFFF;
+}
+.builder-module-navigation li.current_page_item a,
+.builder-module-navigation li.current-cat a {
+}
+/* second level stuff */
+.builder-module-navigation li ul {
+ width: 14em;
+ border: .1em solid #777777;
+ border-bottom: 0;
+}
+.builder-module-navigation li li {
+ border-bottom: .1em solid #777777;
+ width: 14em;
+}
+.builder-module-navigation li li a {
+ float: none;
+}
+.builder-module-navigation li li a:hover,
+.builder-module-navigation li li a.sfhover {
+}
+.builder-module-navigation li ul ul {
+ margin: -2.9em 0 0 14em;
+}
+
+/*********************************************
+ Widget Bar Module
+*********************************************/
+.builder-module-widget-bar {
+ background: #DDDDDD;
+}
+
+/*********************************************
+ Footer Module
+*********************************************/
+.builder-module-footer {
+ background: transparent;
+ border: none;
+}
+.builder-module-footer .builder-module-element {
+ text-align: left;
+ color: #333333;
+ margin: 0 1.5em;
+}
+.builder-module-footer .builder-module-element .alignright {
+ text-align: right;
+}
+.builder-module-footer .builder-module-element a {
+ color: #333333;
+ text-decoration: none;
+}
+.builder-module-footer .builder-module-element a:hover {
+ text-decoration: underline;
+}
+
+/*********************************************
+ Image Module
+*********************************************/
+.builder-module-image .builder-module-element {
+ font-size: 0;
+}
+.builder-module-image .builder-module-element img {
+ margin: 0;
+}
+
+/*********************************************
+ HTML Module
+*********************************************/
+
+/*********************************************
+ Content Module
+*********************************************/
+.builder-module-content .builder-module-element {
+ margin: 1.5em;
+ display: block;
+ text-align: left;
+ overflow: hidden;
+}
+.builder-module-content .post {
+ margin-bottom: 1.5em;
+}
+
+.post-title, .post-title * {
+ margin: 0;
+ padding: 0;
+}
+.post .thumbnail-wrap {
+ display: none;
+}
+.post .date {
+ /*display: none;*/
+ float: left;
+}
+
+.post-title h1,
+.post-title h2,
+.post-title h3 {
+ font-family: "Arial Black",Arial,Helvetica,Sans-Serif;
+ clear: both;
+ color: #262626;
+ font-size: 1.9em;
+ line-height: 1em;
+ letter-spacing: -1px;
+ font-weight: bold;
+ text-transform: uppercase;
+ margin-bottom: .56em;
+}
+.post-title a {
+ text-decoration: none;
+ color: #262626;
+ font-size: 1em;
+}
+
+.post .post-meta {
+ display: block;
+ /*clear: both;*/
+}
+.post .post-meta a {
+ text-decoration: none;
+ font-style: italic;
+}
+.post .post-meta a:hover {
+ text-decoration: underline;
+}
+.post .meta-bottom {
+ display: block;
+}
+.post .meta-bottom img {
+ max-width: none;
+}
+
+.post .entry-attachment .attachment {
+ text-align: center;
+}
+
+.post .edit-entry-link {
+ margin: 0 0 1.5em 0;
+ clear: both;
+}
+
+.post-content {
+ margin-top: 1.5em;
+ clear: both;
+}
+.page-title {
+ font-size: 1.75em;
+ line-height: 1.7em;
+ margin-top: 0;
+ margin-bottom: .875em;
+}
+
+/*********************************************
+ Style images and galleries
+ .hentry is used instead of .page or .post
+ as it applies to all content types
+*********************************************/
+.hentry .gallery a,
+.hentry .gallery dt,
+.hentry .gallery img {
+ margin: 0;
+ font-size: 0;
+ line-height: 0;
+}
+.hentry .gallery-item {
+ display: inline-block;
+ margin: 0 1.5em 1.5em 0;
+ padding: 5px;
+ vertical-align: top;
+ text-align: left;
+ width: 150px;
+ border: 1px solid #CFCFCF;
+ background: #F3F3F3;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+}
+.hentry .gallery-item img {
+ border: 0;
+ margin: 0;
+ padding: 0;
+}
+.hentry .gallery-caption {
+ margin: 0;
+ padding: 10px 5px 5px 5px;
+ line-height: 1;
+}
+.hentry .gallery + * {
+ margin-top: 0;
+}
+
+.hentry img {
+ border: 1px solid #CFCFCF;
+ background: #F3F3F3;
+ padding: 5px;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+}
+.hentry .alignright {
+ margin: 0 0 1.5em 1.5em;
+}
+.hentry .alignleft {
+ margin: 0 1.5em 1.5em 0;
+}
+.hentry .aligncenter {
+ margin: 0 auto 1.5em auto;
+}
+
+.hentry .wp-caption {
+ border: 1px solid #CFCFCF;
+ background: #F3F3F3;
+ padding: 5px;
+ -moz-border-radius: 3px;
+ -webkit-border-radius: 3px;
+ border-radius: 3px;
+}
+.hentry .wp-caption img {
+ border: none;
+ background: transparent;
+ padding: 0;
+}
+
+.hentry .wp-caption-text {
+ text-align: left;
+ margin: 0;
+ padding: 10px 5px 5px 5px;
+ line-height: 1;
+}
+
+
+/*********************************************
+ Post Meta Styles, if needed
+*********************************************/
+.meta-top {
+ clear: both; /* we need this so floats in the post are cleared */
+}
+
+.meta-bottom {
+ clear: both; /* we need this so floats in the post are cleared */
+ border-top: .1em solid #D7D7D7;
+ padding-top: 1.4em;
+ margin-bottom: 3em;
+}
+.meta-bottom .alignright {
+ margin-bottom: 1.5em;
+}
+.meta-bottom .categories,
+.meta-bottom .tags {
+ background: url( 'images/folder.png' ) 0 0 no-repeat;
+ padding: 0 0 0 1.5em;
+}
+.meta-bottom .comments {
+ background: url( 'images/comments.png' ) 0 2px no-repeat;
+ padding: 0 0 0 1.5em;
+}
+
+.EXIF table {
+ margin: 1.5em auto;
+}
+.photometa h4 {
+ text-align: center;
+ margin: 0;
+ padding: 0;
+}
+.photometa ul {
+ list-style-type: none;
+}
+
+/*********************************************
+ Previous/Next Page Navigation
+*********************************************/
+.paging {
+ clear: both; /* To clear any floats */
+ margin: 0;
+ padding: 0;
+}
+
+/*********************************************
+ Comment Styles
+*********************************************/
+#comments {
+ margin: 3em 0 1.5em 0;
+ padding: 0;
+}
+#comments ol.commentlist {
+ margin: 1.5em 0;
+ padding: 0;
+ background: transparent;
+}
+#comments ul.children {
+ margin: 0 1.5em;
+}
+#comments .vcard {
+ line-height: 1;
+ margin-bottom: .5em;
+}
+#comments .vcard .avatar {
+ display: block;
+ float: left;
+ margin: 0 .75em 0 0;
+}
+#comments .comment-meta {
+ margin-bottom: 1.5em;
+}
+#comments li {
+ clear: both;
+ list-style-type: none;
+ margin: 1.5em 0;
+ border: 1px solid #999999;
+ overflow: hidden;
+}
+#comments li .comment-body {
+ margin: 1.5em;
+}
+#comments blockquote {
+ margin: 1.5em;
+}
+
+#respond {
+ margin-top: 3em;
+ overflow: visible !important;
+}
+.comment #respond {
+ margin: 1.5em 1.5em 1.5em 1.5em;
+ padding: 0 1.5em 1.5em 1.5em;
+ border: 1px solid #999999;
+}
+#respond h3 {
+ margin-bottom: 0;
+}
+#respond .cancel-comment-reply a {
+ margin: 0;
+ display: block;
+}
+#commentform label {
+ margin-left: 1em;
+}
+#commentform input[type="text"] {
+ width: 20em;
+}
+#commentform input,
+#commentform textarea {
+ margin: 0;
+}
+#commentform #comment {
+ width: 100%;
+}
+#commentform .comment-submit-wrapper {
+ margin-bottom: 0;
+}
+
+/*********************************************
+ Text elements
+*********************************************/
+p {
+}
+p img.left {
+ float: left;
+ margin: 1.5em 1.5em 1.5em 0;
+ padding: 0;
+}
+p img.right {
+ float: right;
+ margin: 1.5em 0 1.5em 1.5em;
+}
+blockquote {
+ background: url('images/blockquote.png') top left no-repeat;
+ margin: 1.5em;
+ padding: 0;
+ color: #666666;
+ font-style: italic;
+}
+strong {
+ font-weight: bold;
+}
+em, dfn {
+ font-style: italic;
+}
+dfn {
+ font-weight: bold;
+}
+sup, sub {
+ height: 0;
+ line-height: 1.5;
+ vertical-align: baseline;
+ position: relative;
+}
+sup {
+ bottom: 1ex;
+}
+sub {
+ top: .5ex;
+}
+abbr, acronym {
+ border-bottom: 1px dotted #666;
+}
+address {
+ font-style: italic;
+}
+del {
+ color: #666666;
+}
+pre {
+ margin: 1.5em 0;
+ white-space: pre;
+}
+big {
+ font-size: 1.2em;
+ line-height: 1;
+}
+
+/*********************************************
+ Lists
+*********************************************/
+ul, ol {
+ list-style-position: outside;
+ margin: 0 0 0 1.4em;
+ padding: 0;
+}
+.post-content > ul,
+.post-content > ol {
+ margin-top: 1.5em;
+ margin-bottom: 1.5em;
+}
+ol {
+ margin-left: 20px;
+ *margin-left: 24px; /* targeted IE 6, 7 fix */
+}
+li {
+ margin: 0;
+ padding: 0;
+}
+li > * {
+ margin-top: 0;
+}
+li *:last-child {
+ margin-bottom: 0;
+}
+li > p + ul {
+ margin-top: -1.5em;
+}
+ul {
+ list-style-type: disc;
+}
+ol {
+ list-style-type: decimal;
+}
+dl {
+ margin: 0 0 1.5em 0;
+}
+dl dt {
+ font-weight: bold;
+}
+dd {
+ margin-left: 1.5em;
+}
+dd + dd {
+ margin-top: 1.5em;
+}
+
+/*********************************************
+ Tables
+*********************************************/
+table {
+ margin-bottom: 1.5em;
+ background: #F3F3F3;
+}
+table, td, th {
+ border: 1px solid #CFCFCF;
+ border-collapse: collapse;
+}
+th {
+ font-weight: bold;
+ line-height: 1.5;
+ background: #E8E8E8;
+}
+th, td, caption {
+ padding: .75em;
+}
+tr:nth-child(2n) th {
+ background: #F6F6F6;
+}
+tr:nth-child(2n) td {
+ background: #FFFFFF;
+}
+tfoot {
+ font-style: italic;
+}
+caption {
+ background: #EEEEEE;
+}
+
+/*********************************************
+ Misc classes
+*********************************************/
+.small {
+ font-size: .8em;
+ line-height: 1.875;
+ margin-top: 1.875em;
+ margin-bottom: 1.875em;
+}
+.large {
+ font-size: 1.2em;
+ line-height: 2.5;
+ margin-top: 1.25em;
+ margin-bottom: 1.25em;
+}
+.hide {
+ display: none;
+}
+.quiet {
+ color: #666666;
+}
+.loud {
+ color: #000000;
+}
+.highlight {
+ background: #FFFF00;
+}
+.added {
+ background: #006600;
+ color: #FFFFFF;
+}
+.removed {
+ background: #990000;
+ color: #FFFFFF;
+}
+.first {
+ margin-left: 0;
+ padding-left: 0;
+}
+.last {
+ margin-right: 0;
+ padding-right: 0;
+}
+.top {
+ margin-top: 0;
+ padding-top: 0;
+}
+.bottom {
+ margin-bottom: 0;
+ padding-bottom: 0;
+}
+
+/*********************************************
+ Default styling for forms
+*********************************************/
+label {
+ font-weight: bold;
+}
+fieldset {
+ padding: 1.4em;
+ margin: 0 0 1.5em 0;
+ border: .1em solid #CCCCCC;
+}
+legend {
+ font-weight: bold;
+ font-size: 1.2em;
+}
+
+/*********************************************
+ Form fields
+*********************************************/
+input[type=text], input[type=password], input.text, input.title, textarea, select {
+ font-size: 1em;
+ margin-top: .5em;
+ margin-bottom: .5em;
+}
+input[type=text], input[type=password], input.text, input.title, textarea {
+ background-color: #FFFFFF;
+ border: 1px solid #999999;
+ padding: 5px;
+}
+input[type=text]:focus, input[type=password]:focus, input.text:focus, input.title:focus, textarea:focus {
+ border-color: #666666;
+}
+textarea {
+ width: 30em;
+ height: 20em;
+}
+input[type=checkbox], input[type=radio], input.checkbox, input.radio {
+/* position: relative;
+ top: .25em;*/
+}
+.search-text-box {
+ margin-bottom: 0;
+}
+.search-submit-button {
+ margin: 0 !important;
+ padding: .2em .5em;
+}
+
+/*********************************************
+ Success, notice and error boxes
+*********************************************/
+.error, .notice, .success {
+ padding: .8em;
+ margin-bottom: 1em;
+ border: 2px solid #ddd;
+}
+.error {
+ background: #FBE3E4;
+ color: #8a1f11;
+ border-color: #FBC2C4;
+}
+.notice {
+ background: #FFF6BF;
+ color: #514721;
+ border-color: #FFD324;
+}
+.success {
+ background: #E6EFC2;
+ color: #264409;
+ border-color: #C6D880;
+}
+.error a {
+ color: #8a1f11;
+}
+.notice a {
+ color: #514721;
+}
+.success a {
+ color: #264409;
+}
+
+/*********************************************
+ Widget Styling
+*********************************************/
+.widget_rss li {
+ margin-bottom: 1.5em;
+}
+.widget_rss .rsswidget {
+ display: block;
+ margin: 0;
+}
+.widget_rss .rss-date {
+ display: block;
+ font-style: italic;
+ margin-bottom: 1.5em;
+}
+.widget_rss .rssSummary {
+ margin: 1.5em 0;
+}
+
+
+/*********************************************
+ Social Tabs
+*********************************************/
+#social-tags {
+ position: fixed;
+ width: 95px;
+ height: 100%;
+ right: 0;
+ left: auto;
+ margin-right: 0;
+ margin-left: auto;
+ padding-top: 10px;
+ overflow: hidden;
+}
+#social-tags a {
+ position: relative;
+ right: -50px;
+ margin: 0;
+}
+#social-tags a:hover {
+ right: 0;
+}
+
+/*********************************************
+ The Obligatory WP Styles
+*********************************************/
+.alignright {
+ margin-left: 1.5em;
+}
+.alignleft {
+ margin-right: 1.5em;
+}
+.post img.wp-smiley {
+ border: none;
+}
diff --git a/src/org.gluster.storage.management.console.help/html/css/builder-gluster/style.css b/src/org.gluster.storage.management.console.help/html/css/builder-gluster/style.css
new file mode 100644
index 00000000..80daf9fb
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/css/builder-gluster/style.css
@@ -0,0 +1,1341 @@
+/*
+Theme Name: Gluster - Builder Theme
+Description: Gluster Theme based on Builder Framework
+Author: iThemes modified by glassCanopy
+Template: Builder
+*/
+
+/* do not remove the import line */
+@import url("../Builder/style.css");
+
+
+/*********************************************
+ Default font settings and typography.
+ The font-size percentage is of 16px. (0.75 * 16px = 12px)
+*********************************************/
+body {
+ font-size: 75%;
+ line-height: 1.5;
+ color: #333333;
+ font-family: Arial,Verdana,Helvetica,sans-serif;
+}
+input, select, textarea {
+ font-family: Arial,Verdana,Helvetica,sans-serif;
+}
+
+h1, h2, h3, h4, h5, h6, p, blockquote, pre,
+address, dfn, samp, dl, img, ul, ol {
+ margin-top: 0.5em;
+ margin-bottom: 0.5em;
+}
+
+/*img, li { filter:alpha(opacity=100)!important;} */
+
+a img {
+ margin: 0;
+}
+
+table, th, td {
+ border:0;
+ background-color:none;
+}
+
+ul {
+ list-style-type:none;
+}
+/*
+html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
+ vertical-align: top;
+}
+*/
+
+
+.hentry img {
+ border: 0;
+ background: none;
+ padding: 0;
+ -moz-border-radius: 0;
+ -webkit-border-radius: 0;
+ border-radius: 0;
+/* width: auto !important;
+ height: auto !important; */
+}
+
+p {
+ font-size:110%;
+ line-height:1.5em;
+ margin:0;
+ padding:0 0 .5em 0;
+}
+
+table, img, input, textarea, select {
+ max-width: auto;
+ height: auto;
+ -moz-box-sizing: none;
+ -webkit-box-sizing: none;
+ -ms-box-sizing: none;
+ box-sizing: none;
+}
+
+.builder-module-block-outer-wrapper .widget-wrapper-left .widget, .builder-module-block-outer-wrapper .widget-wrapper-middle .widget {
+ padding-right: 0.25em;
+ padding-left:2em;
+}
+
+/*********************************************
+ Main Background
+*********************************************/
+body {
+ background: #FFFFFF;
+}
+
+.builder-container-outer-wrapper {
+ background: url(/wp-content/themes/builder-gluster/images/background-top.png);
+ background-position:top right;
+ background-repeat:no-repeat;
+}
+
+#gluster-logo {
+ display:block;
+ border:0;
+ position:absolute;
+ top:4px;
+ z-index:900;
+ width:464px;
+ height:86px;
+}
+
+
+/*********************************************
+ Universal Link Styles
+*********************************************/
+a {
+ color: #EF7622;
+ text-decoration: underline;
+}
+a:hover {
+ color: #EF7622;
+ text-decoration: underline;
+}
+
+/*********************************************
+ Headings
+*********************************************/
+h1, h2, h3, h4, h5, h6 {
+ font-weight: bold;
+ color: #60A0CF;
+}
+h1 {
+ font-family: Arial, Helvetica, Sans-Serif;
+ font-size: 135%;
+ line-height: 1.5;
+ margin-top: 0;
+ margin-bottom: 0.5em;
+ letter-spacing: 1px;
+ color: #284764;
+}
+h2 {
+
+ color: #60A0CF;
+ font-family: Verdana,Arial,Helvetica,sans-serif;
+ font-size: 13px;
+ margin: 0;
+ padding: 8px 0 4px 0;
+ line-height: 1.75em;
+}
+h3 {
+ font-size: 1.5em;
+ line-height: 1;
+ margin-top: 1em;
+ margin-bottom: 1em;
+}
+h4 {
+ font-size: 1.2em;
+ line-height: 1.25em;
+ margin-top: 1.25em;
+ margin-bottom: 1.25em;
+}
+h5, h6 {
+ font-size: 1em;
+}
+h6 {
+ font-style: italic;
+}
+h1 img, h2 img, h3 img, h4 img, h5 img, h6 img {
+ margin: 0;
+}
+
+.type-page .post-title {
+display: none;
+}
+
+.type-post .post-title h1 {
+ font-family: Arial, Helvetica, Sans-Serif;
+ font-size: 135%;
+ line-height: 1.5;
+ margin-top: 1em;
+ margin-bottom: 0em;
+ letter-spacing: 1px;
+ color: #284764;
+}
+
+.post-title h1 {
+ font-family: Arial, Helvetica, Sans-Serif;
+ font-size: 135%;
+ line-height: 1.5;
+ margin-top: 0;
+ margin-bottom: 0.5em;
+ letter-spacing: 1px;
+ color: #284764;
+}
+
+.post-content {
+ clear: both;
+ margin-top: 1em;
+}
+
+.post-content > ul, .post-content > ol {
+ margin-bottom: 0.5em;
+ margin-top: 0.5em;
+}
+
+.builder-module-sidebar h4.widget-title {
+ background: none repeat scroll 0 0 transparent;
+ color:#284764;
+ letter-spacing:1px;
+ font-size: 1.2em;
+ line-height: 1.25;
+ margin: 0 0 1.25em;
+ padding: 0;
+ font-weight:normal;
+}
+
+.builder-module-content .builder-module-element {
+ display: block;
+ margin: 0 0.25em 1.5em 0.25em;
+ overflow: hidden;
+ text-align: left;
+}
+
+.builder-module-sidebar .widget {
+ color: #333333;
+ margin: 0;
+ padding: 0.25em .75em 0 .75em;
+}
+
+.widget-content p {
+ margin:0;
+ padding:0;
+}
+
+.widget-it-content {
+ margin:0;
+ padding:0;
+}
+
+/*********************************************
+ All Sidebars
+*********************************************/
+.builder-module-sidebar {
+ background: #FFFFFF;
+}
+
+/* fix footer link underline */
+.builder-module-footer .builder-module-element a {
+ text-decoration: underline;
+}
+
+/*********************************************
+ Navigation Module
+*********************************************/
+.builder-module-navigation {
+ font-size: 1em;
+ line-height: 1.81em;
+ background: none;
+ display: block;
+ width: 100%;
+ margin-bottom: 0;
+
+}
+.builder-module-navigation .builder-module-element {
+ margin: 0 .5em;
+}
+.builder-module-navigation ul {
+ float: right;
+ display: block;
+ margin: 0;
+ padding: 0;
+}
+.builder-module-navigation ul * {
+ margin: 0;
+}
+.builder-module-navigation li {
+ padding: 0;
+}
+.builder-module-navigation li a,
+.builder-module-navigation li.current_page_item li a,
+.builder-module-navigation li.current-cat li a {
+ font-size: 1em;
+ padding: .1em .6em;
+ color: #ffffff;
+ font-weight: normal;
+ text-decoration: none;
+ background: none;
+}
+.builder-module-navigation li a:hover {
+ background: none;
+ color: #325C84;
+ text-decoration:none;
+}
+.builder-module-navigation li.current_page_item a,
+.builder-module-navigation li.current-cat a {
+ color: #325C84;
+}
+
+.builder-module-navigation li.current_page_item a:hover,
+.builder-module-navigation li.current-cat a:hover {
+ color: #ffffff;
+ background: none;
+ border:none;
+}
+
+.builder-module {
+ border:0px solid #ffffff;
+background:none;
+}
+.builder-module-block {
+border:0px solid #ffffff;
+background:none;
+}
+
+#menu-utility-menu li a {
+ background:none;
+ color:#FFFFFF;
+ font-size:90%;
+}
+
+#menu-utility-menu li a:hover{
+ background:none;
+ color:#FFFFFF;
+ text-decoration:underline;
+ font-size:90%;
+}
+
+#menu-top-menu .sub-menu li.menu-item, #menu-top-menu .sub-menu li.menu-item a {
+background: #67ABDD;
+color:#ffffff;
+
+}
+
+#menu-top-menu .sub-menu li.menu-item a:hover, #menu-top-menu .sub-menu li.menu-item a:hover {
+background:#67ABDD;
+color: #325C84;
+
+}
+
+/* second level stuff */
+.builder-module-navigation li ul {
+ width: 14em;
+ border:none;
+ border-bottom: 0;
+}
+.builder-module-navigation li li {
+ border-bottom: .1em solid #ffffff;
+ width: 14em;
+}
+.builder-module-navigation li li a {
+ float: none;
+}
+.builder-module-navigation li li a:hover,
+.builder-module-navigation li li a.sfhover {
+}
+.builder-module-navigation li ul ul {
+ /* margin: -2.9em 0 0 14em;*/
+ margin: -2.05em 0 0 14em;
+}
+.builder-module-navigation li ul ul li {
+ border-left: 1px solid #89c8f9;
+}
+
+/* LEFT NAVIGATION */
+#nav_menu-2 ul,
+#nav_menu-3 ul,
+#nav_menu-4 ul,
+#nav_menu-5 ul,
+#nav_menu-6 ul,
+#nav_menu-7 ul,
+#nav_menu-8 ul,
+#nav_menu-9 ul,
+#nav_menu-10 ul,
+#nav_menu-11 ul,
+#nav_menu-12 ul,
+#nav_menu-13 ul,
+#nav_menu-14 ul {
+ color:#325C84;
+ list-style-type:disc;
+ margin-left:1em;
+ padding-left:0;
+
+}
+#nav_menu-2 li a:link, #nav_menu-2 li a:visited, #nav_menu-2 li a:hover,
+#nav_menu-3 li a:link, #nav_menu-3 li a:visited, #nav_menu-3 li a:hover,
+#nav_menu-4 li a:link, #nav_menu-4 li a:visited, #nav_menu-4 li a:hover,
+#nav_menu-5 li a:link, #nav_menu-5 li a:visited, #nav_menu-5 li a:hover,
+#nav_menu-6 li a:link, #nav_menu-6 li a:visited, #nav_menu-6 li a:hover,
+#nav_menu-7 li a:link, #nav_menu-7 li a:visited, #nav_menu-7 li a:hover,
+#nav_menu-8 li a:link, #nav_menu-8 li a:visited #nav_menu-8 li a:hover,
+#nav_menu-9 li a:link, #nav_menu-9 li a:visited #nav_menu-9 li a:hover,
+#nav_menu-10 li a:link, #nav_menu-10 li a:visited #nav_menu-10 li a:hover,
+#nav_menu-11 li a:link, #nav_menu-11 li a:visited #nav_menu-11 li a:hover,
+#nav_menu-12 li a:link, #nav_menu-12 li a:visited, #nav_menu-12 li a:hover,
+#nav_menu-13 li a:link, #nav_menu-13 li a:visited, #nav_menu-13 li a:hover,
+#nav_menu-14 li a:link, #nav_menu-14 li a:visited, #nav_menu-14 li a:hover {
+ color: #325C84;
+ font-weight: normal;
+ text-decoration: none;
+}
+#nav_menu-2 li.menu-item a,
+#nav_menu-3 li.menu-item a,
+#nav_menu-4 li.menu-item a,
+#nav_menu-5 li.menu-item a,
+#nav_menu-6 li.menu-item a,
+#nav_menu-7 li.menu-item a,
+#nav_menu-8 li.menu-item a,
+#nav_menu-9 li.menu-item a,
+#nav_menu-10 li.menu-item a,
+#nav_menu-11 li.menu-item a,
+#nav_menu-12 li.menu-item a,
+#nav_menu-13 li.menu-item a,
+#nav_menu-14 li.menu-item a {
+ color: #325C84;
+ font-weight: normal;
+ text-decoration: none;
+}
+#nav_menu-2 ul li ul.sub-menu,
+#nav_menu-3 ul li ul.sub-menu,
+#nav_menu-4 ul li ul.sub-menu,
+#nav_menu-5 ul li ul.sub-menu,
+#nav_menu-6 ul li ul.sub-menu,
+#nav_menu-7 ul li ul.sub-menu,
+#nav_menu-8 ul li ul.sub-menu,
+#nav_menu-9 ul li ul.sub-menu,
+#nav_menu-10 ul li ul.sub-menu,
+#nav_menu-11 ul li ul.sub-menu,
+#nav_menu-12 ul li ul.sub-menu,
+#nav_menu-13 ul li ul.sub-menu,
+#nav_menu-14 ul li ul.sub-menu {
+margin-top:.2em;
+list-style-type:none;
+}
+
+
+
+/* HOME PAGE STYLES */
+<!--
+
+#UL {
+width:680px;
+height:270px;
+}
+
+#spotlight {
+background-image:url(/images/home/bg-home-right.png);
+width:315px;
+height:270px;
+
+}
+
+#LL {
+background-image:url(/images/home/bg-ll.png);
+background-repeat:no-repeat;
+width:680px;
+height:270px;
+}
+
+#LR {
+
+background-image:url(/images/home/bg-home-right.png);
+width:315px;
+height:270px;
+}
+
+.panelHeads {
+font-family:Arial,Helvetica,sans-serif;
+font-size:130%;
+font-weight:bold;
+padding-bottom:5px;
+padding-top:7px;
+text-align:center;
+color:#48647f;
+}
+
+.bbLg {
+font-family:Arial,Helvetica,sans-serif;
+color:#000000;
+font-size:150%;
+padding-bottom:5px;
+padding-top:7px;
+margin-left:125px;
+}
+
+.bbSm {
+font-family:Arial,Helvetica,sans-serif;
+color:#000000;
+font-size:120%;
+padding-bottom:3px;
+padding-top:3px;
+line-height:160%;
+}
+
+a.homeLM {
+font-family:Arial,Helvetica,sans-serif;
+color:#ef7622;
+font-size:90%;
+font-weight:bold;
+padding-bottom:5px;
+padding-top:7px;
+text-align:center;
+letter-spacing:1px;
+text-decoration:none;
+}
+
+.LRContent {
+font-family:Arial,Helvetica,sans-serif;
+color:#333333;
+font-size:110%;
+padding: 7px 15px 0 15px;
+line-height:130%;
+}
+
+a.FRLink {
+color:#333333;
+font-size:110%;
+text-decoration:underline;
+}
+
+.fr {
+line-height:140%;
+padding-bottom:14px;
+}
+
+
+/* HOME PAGE F1 SLIDER STYLING */
+
+#container {
+ width:632px;
+ padding:0;
+ margin:0;
+ position:relative;
+ z-index:0;
+}
+
+#frame {
+ position:absolute;
+ z-index:0;
+ width:739px;
+ height:270px;
+ top:-3px;
+ left:-80px;
+}
+
+#slides {
+ position:absolute;
+ top:1px;
+ left:1px;
+ z-index:100;
+}
+
+#slides .next,#slides .prev {
+ position:absolute;
+ top:107px;
+ left:-24px;
+ width:24px;
+ height:43px;
+ display:block;
+ z-index:101;
+}
+
+.slides_container {
+ width:632px;
+ height:270px;
+ overflow:hidden;
+ position:relative;
+}
+
+#slides .next {
+ left:632px;
+}
+
+.pagination {
+ position:absolute;
+ top:223px;
+ left:289px;
+ z-index:500;
+ margin:26px auto 0;
+ width:100px;
+}
+
+ul.pagination {
+ list-style-type:none;
+}
+
+.pagination li {
+ float:left;
+ margin:0 1px;
+}
+
+.pagination li a {
+ display:block;
+ width:12px;
+ height:0;
+ padding-top:12px;
+ background-image:url(/images/home/pagination.png);
+ background-position:0 0;
+ float:left;
+ overflow:hidden;
+}
+
+.pagination li.current a {
+ background-position:0 -12px;
+}
+
+/*pager wrapper*/
+/*spotlight styles
+.bx-pager a {
+ margin-right: 5px;
+
+ padding: 3px 8px 3px 6px;
+ font-size: 12px;
+ zoom:1;
+
+}*/
+
+/*pager links hover and active states
+.bx-pager .pager-active,
+.bx-pager a:hover {
+ background-position: 0 0;
+}*/
+
+/*pager wrapper
+.bx-pager {
+ text-align:center;
+ padding-top: 7px;
+ font-size:12px;
+ color:#666;
+}*/
+
+/*captions*/
+.bx-captions {
+ text-align:center;
+ font-size: 90%;
+ padding: 10px 0 0 0;
+ color:#333333;
+ line-height:95%;
+}
+
+.bx-window {
+height: 130px !important;
+}
+
+#slider1 {
+text-align:center;
+width: 240px;
+height:130px;
+padding:0;
+margin:0;
+overflow:hidden;
+}
+
+/* Front page footer */
+.footerTitleBox{color:#666; font-weight:bold; font-size:125%;text-align:left;}
+.footerContentsBox{font-weight:normal; font-size:100%;padding-top:5px;color:#666;}
+.footerContentsBox ul{
+list-style: none;
+margin: 0;
+padding: 0;
+border: none;
+font-size:120%;
+}
+.footerContentsBox ul li{margin:0;display: block;
+padding: 5px 5px 15px 0;
+line-height: 110%;
+width: 100%;}
+.footerContentsBox ul li a{
+text-decoration:none;
+color:#666;}
+ #socialicocontainer li
+{
+display: inline;
+list-style-type: none;
+padding-right: 3px;
+width:38px;
+}
+#socialicocontainer a{
+ border:none;
+ text-align:center;}
+
+
+/* RIGHT RESOURCES LIST */
+ .rightResources {
+ margin-left:-18px;
+}
+
+.rightResourcesTitle {
+ color: #325c84 !important;
+ font-size: 140%;
+ font-style:normal;
+ letter-spacing: 1px;
+}
+
+#rightResourcesList li {
+ padding: 10px 0;
+ vertical-align:middle;
+}
+
+#rightResourcesList li img{
+ float:left;
+ margin:0 3px 0 0;
+ vertical-align:middle;
+}
+
+#rightResourcesList ul{
+ list-style-type:none;
+ padding:0;
+ margin:0;
+}
+
+ul#rightResourcesList a:link, ul#rightResourcesList a:hover, ul#rightResourcesList a:visited{
+ text-decoration:none;
+ color: #325c84 !important;
+ font-size:80%;
+ vertical-align:middle;
+ padding-top:8px;
+}
+
+
+/*********************************************
+ Tables
+*********************************************/
+table {
+ margin-bottom: 1.5em;
+ background: none;
+}
+table, td, th {
+ border: 0px solid #CFCFCF;
+ /*border-collapse: collapse; */
+}
+th {
+ font-weight: bold;
+ line-height: 1.5;
+ background:#325c84;
+ padding:10px 0;
+ color:#FFF;
+ text-align:center;}
+
+th, td, caption {
+ padding: .75em;
+}
+tr:nth-child(2n) th {
+ background: none;
+}
+tr:nth-child(2n) td {
+ background: none;
+}
+tfoot {
+ font-style: italic;
+}
+caption {
+ background: none;
+}
+
+table.comp td {
+ border-bottom:1px solid #325C84;
+}
+
+.builder-module-block-outer-wrapper .widget-wrapper-middle .widget, .builder-module-block-outer-wrapper .widget-wrapper-right .widget {
+ padding-left: 0.25em;
+}
+
+/* RESOURCES PG */
+.post-content ul li {
+ background-image: url(/images/global/blue-bullet.gif);
+ background-position: 0 4px;
+ background-repeat: no-repeat;
+ font-size: 110%;
+ line-height: 1.2em;
+ margin: 0 0 6px;
+ padding-left: 10px;
+}
+
+/* FORMS */
+
+form#partner fieldset, form#whitepaper fieldset {
+margin: 1.5em 0 0 0;
+padding: 0;
+min-width:150px;
+}
+form#partner legend, form#whitepaper legend {
+margin-left: 1em;
+color: #000000;
+font-weight: bold;
+}
+form#partner fieldset ol, form#whitepaper fieldset ol {
+padding: 1em 1em 0 1em;
+list-style: none;
+}
+form#partner fieldset li, form#whitepaper fieldset li {
+padding-bottom: 1em;
+}
+form#partner fieldset.submit, form#whitepaper fieldset.submit {
+border-style: none;
+}
+form#partner label, form#whitepaper label {
+float: left;
+width: 12em;
+margin-right: 1em;
+}
+form#partner textarea{width:150px; height:150px;}
+div.error_container {
+ background-color: #eee;
+ border: 1px solid red;
+ margin: 5px;
+ padding: 5px;
+}
+div.error_container ol li {
+ list-style-type: disc;
+ margin-left: 20px;
+}
+div.error_container { display: none }
+.error_container label.error {
+ display: inline;
+}
+div.container {
+ background-color: #eee;
+ border: 1px solid red;
+ margin: 5px;
+ padding: 5px;
+}
+div.container ol li {
+ list-style-type: disc;
+ margin-left: 20px;
+}
+div.container { display: none }
+form#partner label.error, form#whitepaper label.error {
+ display: block;
+ color:#F00;
+ width: auto;
+ margin-right: 0;
+}
+a#partner_form_link{color:#EF7622; text-decoration:underline;}
+.required{color:#333;}
+
+form#partner fieldset input, form#partner fieldset textarea, form#partner fieldset select {width:200px;}
+form#partner fieldset.submit input {width:148px;}
+
+ label {
+
+ width:130px;
+ clear:left;
+ margin:5px 0;
+ }
+
+.entry-content form ol li {
+ padding-top:0;
+ }
+
+form br {
+ display:none;
+ }
+
+
+input[type="text"], input[type="password"], select, textarea {
+ margin:5px 0;
+ float:left;
+ width:220px;
+
+}
+
+input[type="password"] {
+ margin:5px 0 10px 13px;
+ float:left;
+ width:220px;
+
+}
+
+textarea {
+ float:none;
+ }
+
+input[type="checkbox"] {
+ clear:both;
+ }
+
+input#submit {
+ clear:both;
+ float:left;
+ padding:0;
+ width:148px;
+ margin-left:150px;
+}
+
+label.error {
+color: red;
+clear:none;
+padding-left:15px;
+border:none;
+background:none;
+ }
+
+
+.page-id-23 label.error, .page-id-713 label.error, .page-id-2524 label.error {
+ float:none;
+ padding:10px;
+ }
+fieldset {border:none;}
+
+ul.news_releases {padding-left:0px; margin:0 0 14px 0;;list-style:none;}
+ul.news_releases li{background:none;padding:0;line-height:1.25em;margin-bottom:3px;margin-top:0px;}
+ul.news_releases li a {background:none;padding:0;line-height:1.25em;margin:0;}
+
+/* TABLE: NEWS */
+table.comp {
+ border-top: 1px solid #325c84;
+ font-family: Arial,Verdana,Helvetica,sans-serif;
+ font-size: 100%;
+ padding: 0;
+ vertical-align: top;
+ width: 500px;}
+table.pricing th {background:#325c84;padding:15px 0; color:#FFF;text-align:center;}
+
+table.pricing tr {color:#325c84;}
+td.small, th.small {width:15%;}
+td.lg, th.lg {width:70%;}
+
+table.comp td {
+ border-bottom: 1px solid #325c84;
+ border-left: 0px;
+ border-right: 0px;
+
+ padding:7px 5px 0 8px;
+ vertical-align:top;
+ margin: 0;
+ line-spacing:1.2em;
+}
+table.comp td h3 {
+ color: #60A0CF;
+ font-family: Arial,Helvetica,sans-serif;
+ font-size: 12px;
+ margin: 0;
+ padding: 13px 0 0;
+}
+
+table.pricing td.sm {
+text-align:center;
+}
+
+/* TABLE WITH BORDERS */
+
+table.bd {
+ border-color: #325C84 -moz-use-text-color -moz-use-text-color;
+ border-style: solid none none;
+ border-width: 1px 0 0;
+ font-family: Arial,Verdana,Helvetica,sans-serif;
+ font-size: 100%;
+ padding: 0;
+ margin:2px 2px 6px 1px;
+ vertical-align: top;
+ width: 98%;
+}
+table.bd th {
+ background:#325c84;
+ padding:10px 0;
+ color:#FFF;
+ text-align:center;
+border: 1px solid #325c84;
+}
+
+table.bd td {
+ border: 1px solid #325c84;
+ padding:7px 8px 2px 8px;
+ vertical-align:top;
+ margin: 0px;
+
+}
+table.bd td h3 {
+ color: #60A0CF;
+ font-family: Arial,Helvetica,sans-serif;
+ font-size: 12px;
+ margin: 0;
+ padding: 13px 0 0;
+}
+
+table.bd img {
+ margin:8px 0;
+}
+
+.hentry .wp-caption-text {
+ line-height: 1;
+ margin: 0;
+ padding: 10px 5px 5px;
+ text-align: center;
+}
+#wrap-list {
+ margin: 0 auto;
+ width: 100%;
+}
+
+#left-col {
+ float: left;
+ width: 250px;
+}
+
+#right-col {
+ float: right;
+ width: 250px;
+}
+/* WEBINAR AND PROMO RIGHT SIDEBAR */
+
+#webpromo-top {
+ background-image:url(/wp-content/uploads/2011/03/sidebar-blue-top.png);
+ background-repeat:no-repeat;
+ width: 240px;
+ height:81px;
+ margin:0;
+ padding:0;
+ text-align:center;
+ color:#FFFFFF;
+ font-weight:bold;
+ font-size:18px;
+}
+
+#webpromo-top p {
+ padding: 25px 0 0 0 ;
+ margin:0;
+}
+
+#webpromo-mid{
+ background-color: #75b5e3;
+ width: 240px;
+ margin:0;
+ padding:0;
+ color:#FFFFFF;
+}
+
+#webpromo-bottom{
+background-image:url(/wp-content/uploads/2011/03/sidebar-blue-bottom.png);
+background-repeat:no-repeat;
+ width: 240px;
+ height: 36px;
+ margin:0;
+ padding:0;
+}
+#webpromo-mid p {
+ font-size:15px;
+ font-weight:bold;
+ margin: 0 0 0 20px;
+ padding:0;
+}
+
+#webpromo-mid ul li {
+ list-style-type:none;
+ margin-left:20px;
+ font-weight:normal;
+ font-size:15px;
+
+
+}
+
+.pbutton {
+ margin-left: 40px;
+ padding-top:15px;
+}
+
+.post .post-meta {
+ /*display:none;*/
+ float: left;
+}
+
+.categories {
+display:none;
+}
+
+/* Landing Pages */
+.clear {clear: both;}
+h1.big {font-size: 27px; padding-bottom: 20px; margin: 0;}
+h2.smallcaps {font-size: 10px; color: #818181; text-transform: uppercase; letter-spacing: 1px;}
+.col-3 {width: 30%; float: left; margin-right: 5%; padding: 6px 0 20px 0; margin-top: 5px;}
+.col-3.aqua {border-top: 1px solid #4aafe5;}
+.col-3.blue {border-top: 1px solid #1c4784;}
+.col-3.orange {border-top: 1px solid #fab34b;}
+.col-3.last {margin-right: 0;}
+h2.step {font-size: 15px; color: #262626; font-family: arial;}
+h2.step span {font-weight: normal; padding-right: 4px; color: #333;}
+p.button {padding-top: 15px;}
+.grey-divider {height: 1px; border-top: 1px solid #ccc; padding-bottom: 10px; margin-top: 2px;}
+.features {height: 40px; list-style-image: url('http://www.gluster.com/wp-content/uploads/2011/04/icon-check.jpg'); list-style-position: inside; padding: 0 0 0 2px; margin: 0;}
+.post-content ul.features li {float: left; width: 220px; margin-right: 20px; list-style: image; padding: 0; margin-left: 0; background-image: none;}
+.post-content ul.features li.last {margin-right: 0;}
+
+
+/* Awards Table */
+body table.awards{padding: 0; margin: 0 0 15px 0; width: 534px;}
+body table.awards tr {padding: 0; margin: 0;}
+body table.awards td {padding: 10px; margin: 0; text-align: center; font-size: 14px;}
+
+/* PR Table */
+body table.pr {padding: 0; margin: 0; width: 534px;}
+body table.pr tr {padding: 0; margin: 0;}
+body table.pr td {border-bottom: 1px dotted #ccc; padding: 10px 10px 10px 0; vertical-align: middle;}
+body table.pr td a {font-size: 13px;}
+body table.pr td:first-child {width: 95px; font-size: 10px; color: #777;}
+body table.pr span.date {font-size: 11px; text-transform: uppercase; color: #444; display: block;}
+
+/* News Table */
+body table.news {padding: 0; margin: 0; width: 534px; position: relative; top: -10px;}
+body table.news tr {padding: 0; margin: 0;}
+body table.news td {border-bottom: 1px dotted #ccc; padding: 10px 10px 10px 0; vertical-align: top;}
+body table.news td.news-logo {width: 95px; padding-right: 20px;}
+body table.news td.news-logo img {max-width: 95px;}
+body table.news td a {font-size: 13px;}
+body table.news td:first-child {width: 95px; font-size: 10px; color: #777;}
+body table.news span.date {font-size: 11px; text-transform: uppercase; color: #444; display: block;}
+
+.more {text-align: right; font-size: 11px; padding: 3px 0; margin-bottom: 15px;}
+
+/* TryBuy */
+h2.faded {color: #0eabe0; font-size: 19px; font-weight: normal; letter-spacing: 0; padding-bottom: 0px; margin-bottom: 8px; background: url('http://www.gluster.com/wp-content/uploads/2011/05/bg-trybuy-title.jpg') no-repeat bottom left;}
+p.trybuy-logos {height: 70px; width: 283px;}
+
+.post .post-title h3 a {
+ color: #60A0CF;
+ font-family: arial;
+ font-size: 24px;
+ font-weight: normal;
+ text-transform: none;
+}
+
+/* partner pages */
+a.link-blue {
+ color: #60A0CF;
+}
+
+.font-blue {
+ color: #60A0CF;
+}
+
+.partner td {
+ padding: 0px;
+}
+
+.partner-form-wrapper {
+ border-top: 1px solid #9eb1c6;
+ border-bottom: 1px solid #9eb1c6;
+ width: 511px;
+ padding: 20px 0px;
+ margin: 20px 0px 0px;
+}
+
+.partner-form-wrapper .ajax-loader {
+ float: left;
+ clear: both;
+}
+
+.partner-form-wrapper .label {
+ width: 140px;
+ font-weight: bold;
+}
+
+.partner-form-wrapper .field {
+ width: 281px;
+}
+
+.partner-form-wrapper .field-message {
+ width: 371px;
+}
+
+.partner-form-wrapper .left {
+ float: left;
+}
+
+.partner-form-wrapper .clear {
+ clear: both;
+}
+
+.partner-form-wrapper .wpcf7-text {
+ background: url('images/partner-form/text-field-bg.png') no-repeat;
+ width: 281px;
+ height: 28px;
+ border: none;
+ color: #777777;
+}
+
+.partner-form-wrapper .message textarea {
+ background: url('images/partner-form/text-area-bg.png') no-repeat;
+ width: 371px;
+ height: 119px;
+ border: none;
+ color: #777777;
+}
+
+.partner-form-wrapper .wpcf7-submit {
+ background: url('images/partner-form/btn-submit.png') no-repeat;
+ width: 148px;
+ height: 36px;
+ border: none;
+ text-indent: -9999em;
+ cursor: pointer;
+ margin: 10px 0px 0px;
+}
+
+.partner-form-wrapper p {
+ text-align: right;
+ padding: 0px;
+}
+
+.partner-form-wrapper span.wpcf7-not-valid-tip {
+ border: none;
+ color: #FF0000;
+ padding: 0px 0px 0px 5px;
+}
+
+/* ============================================================
+
+ Project Ammendment: Gluster Future Proof Landing Page
+ Author: Cole Winans (@ColeWinans) of Uptrending, LLC.
+ Contact: Cole@Uptrending.com
+
+ Notes: This CSS is specific to the Future Proof
+ landing page layout (Page ID 4732).
+
+============================================================*/
+/*------------------------------------------------------------
+ =Elements
+------------------------------------------------------------ */
+/*-----------------------------
+ =Typography
+------------------------------*/
+.page-id-4732 h1 {
+ margin: 40px 0 30px 0;
+ color: #67aade;
+ font-weight: normal;
+ line-height: 0;
+ font-size: 36px;
+}
+
+.page-id-4732 p {
+ font-size: 12px;
+ line-height: 18px;
+ color: #7d7d7d;
+}
+
+/*------------------------------------------------------------
+ =Layout
+------------------------------------------------------------ */
+.page-id-4732 #main {
+ background: url('images/future-proof/content-bg.jpg') no-repeat;
+ width: 1024px;
+ min-height: 300px;
+}
+
+/*-----------------------------
+ =Banner
+------------------------------*/
+.page-id-4732 #banner {
+ width: 100%;
+ height: 220px;
+}
+
+.page-id-4732 #banner div {
+ float: left;
+}
+
+.page-id-4732 #banner #left {
+ width: 50%;
+ margin-top: 40px;
+}
+
+.page-id-4732 #banner #middle {
+ width: 30%;
+}
+
+.page-id-4732 #banner #right {
+ width: 20%;
+}
+
+.page-id-4732 #banner #left p {
+ width: 60%;
+}
+
+.page-id-4732 #banner #right ul {
+ list-style: none;
+ margin-top: 70px;
+}
+
+.page-id-4732 #banner #right ul li {
+ padding-bottom: 15px;
+}
+
+.page-id-4732 #banner #right a {
+ font-weight: bold;
+ color: #67aade;
+ text-decoration: none;
+}
+
+.page-id-4732 #banner #right ul li a.trial {
+ text-indent: -9999px;
+ background: url('images/future-proof/free-trial-btn.jpg') no-repeat;
+ width: 186px;
+ height: 32px;
+ display: block;
+}
+
+/*-----------------------------
+ =Timeline
+------------------------------*/
+.page-id-4732 #box1 {
+ background: url('images/future-proof/reduce-complexity.jpg') no-repeat;
+ width: 259px;
+ height: 98px;
+ position: relative;
+ left: 0;
+ top: 35px;
+ float: left;
+}
+
+.page-id-4732 #box2 {
+ background: url('images/future-proof/storage-management.jpg') no-repeat;
+ width: 280px;
+ height: 98px;
+ position: relative;
+ left: 50px;
+ top: 170px;
+ float: left;
+}
+
+.page-id-4732 #box3 {
+ background: url('images/future-proof/scale-on-demand.jpg') no-repeat;
+ width: 279px;
+ height: 79px;
+ position: relative;
+ right: 353px;
+ top: 37px;
+ float: right;
+}
+
+.page-id-4732 #box4 {
+ background: url('images/future-proof/deploy-anywhere.jpg') no-repeat;
+ width: 280px;
+ height: 101px;
+ position: relative;
+ right: 28px;
+ top: 17px;
+ float: right;
+}
+
+.page-id-4732 #box1 .box-wrapper, #box3 .box-wrapper {
+ padding: 15px 55px 15px 15px
+}
+
+.page-id-4732 #box2 .box-wrapper, #box4 .box-wrapper {
+ padding: 13px 15px 15px 65px;
+} \ No newline at end of file
diff --git a/src/com.gluster.storage.management.console.help/html/gettingstarted/subtopic2.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/ subtopic3.html
index 86bcbf9c..86bcbf9c 100644
--- a/src/com.gluster.storage.management.console.help/html/gettingstarted/subtopic2.html
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/ subtopic3.html
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/access_gmc_jws.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/access_gmc_jws.html
new file mode 100644
index 00000000..ff18004a
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/access_gmc_jws.html
@@ -0,0 +1,43 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Accessing the Gluster Management Console Using Java Web Start</h1>
+<p>To start Gluster Management Console using Java web start, perform the following steps.
+<ol>
+<li>Open your web browser.
+<p>Ensure that your web browser has cookies and Javascript enabled.</p>
+<li>Type the following URL in your web browser:
+<p><FONT FACE = "Courier">https://server-name:8443/glustermg/</FONT></p>
+<p>Gluster Management Console login window is displayed</p>
+<p><img src="../images/GMC_Login_Window.jpg" alt="Login Window" />
+<li>Type the following default user name and password in the login window:
+<p>Username: gluster</p>
+<p>Password: syst3m</p>
+<p><b>Note:</b> In Mac OS, it is not possible to identify the CPU architecture through Java script. The system provides links to all possible combinations, click on the appropriate link to launch the application.</p>
+<li>When you access the application for the first time, the console requests you to change this password.
+<p><img src="../images/GMC_Change_Password.jpg" alt="Change Default Password" /></p>
+ <li>Type your current default password in the <b>Old Password</b> field.
+ <p>The default system-assigned password is syst3m.</p>
+ <li>Type your new password in the <b>New Password</b> field.
+ <li>Retype your new password in the <b>Confirm Password</b> field.
+ <li>Click <b>Change</b>. The system displays <b>Change Password</b> window
+ indicating that the password was successfully changed.
+ <p><img src="../images/GMC_Change_Password_Confirm.jpg" alt="Password Changed Successfully" /></p>
+
+ <li>Click <b>OK</b>. The <b>Select Cluster</b> window is
+ displayed. You can now create a new cluster or register an existing
+ cluster. For more information on creating or registering clusters,
+ refer to <a href="manage_cluster.html">Managing Clusters</a>.
+</ol>
+<p><b>Note:</b> You can change the password at any time by
+ accessing <b>Edit</b> > <b>Change Password</b>.
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/alerts.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/alerts.html
new file mode 100644
index 00000000..69033fff
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/alerts.html
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Sub Topic 2</title>
+</head>
+
+<body>
+<h1>Alerts</h1>
+Alerts section lists the typical alarm conditions found in your cluster environment. For example, low disk space is frequently a problem on managed machines. You can generate alerts for the critical conditions in your cluster by defining threshold conditions. An alert is generated when it reaches the threshold conditions that you set against server resources. These alerts are real-time data collected from your resources and are displayed in the <b>Cluster Summary</b> tab.
+<ul>
+<li>CPU utilization
+<li>Memory utilization
+<li>Disk-space utilization
+<li>Server offline
+<li>Brick offline
+</ul>
+<p>To know more on how you can set the thresholds conditions, refer
+to <a href="setting_alerts_prefs.html">Setting Alerts Preferences</a>.
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/change_password.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/change_password.html
new file mode 100644
index 00000000..d5189d98
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/change_password.html
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Main Topic</title>
+</head>
+
+<body>
+<h1>Changing the Administrator&rsquo;s Password</h1>
+Gluster Management Console assigns a default password (gluster) to
+control access to the Management Console. When you access the
+application for the first time, the console requests you to change this
+password
+<p>To change the default administrator&rsquo;s password, perform the
+following steps.</p>
+<ol>
+ <li>Open your web browser.
+ <li>Type the following URL in your web browser:
+ <p><FONT FACE = "Courier">
+ https://server-name:webserver-port/glustermg/
+ </FONT></p>
+ <p><b>Gluster Management Console</b> login window is displayed.</p>
+ <p><img src="../images/GMC_Change_Password.jpg" height="150" width="250" alt="Change Default Password" /></p>
+ <li>Type your current password in the <b>Old Password</b> field.
+ <p>The default system-assigned password is syst3m.</p>
+ <li>Type your new password in the <b>New Password</b> field.
+ <li>Retype your new password in the <b>Confirm Password</b> field.
+ <li>Click <b>Change</b>. The system displays <b>Change Password</b> window
+ indicating that the password was successfully changed.
+ <p><img src="../images/GMC_Change_Password_Confirm.jpg" height="150" width="380"
+ alt="Password Changed Successfully" /></p>
+ <li>Click <b>OK</b>.
+</ol>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/check_req_client.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/check_req_client.html
new file mode 100644
index 00000000..76a44038
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/check_req_client.html
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css" type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Main Topic</title>
+</head>
+
+<body>
+<h1>Checking the Minimum Requirements of Client Machines</h1>
+
+<p>Verify the following:</p>
+<ul style="margin-top: 8px;">
+<li> Processor - 1.4GHz CPU</li>
+<li> Memory - 2 GB RAM</li>
+<li> Disk - 100 MB</li>
+<li> Operating Systems: Windows XP/Vista/7, Linux, Mac OS X</li>
+<li> Oracle JRE 1.6</li>
+</ul>
+<h2>Web Browser Requirements</h2>
+<ul>
+<li>Use your JRE installer to configure your browser for Java Web Start. Also, ensure that you have configured your browser to open .jnlp files using the Java Web Start application or javaws exe located in bin folder of your JRE installation.
+<li>When you access the Gluster Management Console, Java Web Start downloads all required .jar files from the Gateway server and launches the console&#39;s GUI. During this process, web start may display a certificate warning mentioning that the application is signed by Gluster, Inc.. This certificate is authentic, but it requires full permissions as the application contains features that require registering information on the client's hard disk such as exporting the security keys from gateway. You can accept the warning and select Always Trust Content from this Provider on your browser to avoid this warning every time you launch the application
+</ul>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/check_req_gmg.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/check_req_gmg.html
new file mode 100644
index 00000000..fa106b64
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/check_req_gmg.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Main Topic</title>
+</head>
+
+<body>
+<h1>Checking Gluster Management Gateway Minimum Requirements</h1>
+Gluster Management Gateway is installed on a central server using the Linux package published by Gluster. Before you install Gluster Management Gateway, you must verify that your environment matches the minimum requirements described in this section.
+<p><b>Note:</b> For checking the GlusterFS minimum requirements, refer to the <a href= "http://www.gluster.com/community/documentation/index.php/Gluster_3.2:_Checking_Minimum_Requirements" target="_blank">Gluster 3.2 Filesystem Installation Guide, Checking Minimum Requirements</a>.</p>
+<p>You must verify that your central server matches the minimum requirements listed below:</p>
+<ul>
+<li>Memory: 2 GB RAM
+<li>Processor: 2 (2.4 GHz each) recommended; 64 bit
+<li>Disk Space: 10 GB
+<li> The gateway machine can be either Gluster Storage Software Appliance, Gluster Virtual Storage Appliance, or CentOS 5.6.
+</ul>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/cifs_service.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/cifs_service.html
new file mode 100644
index 00000000..21ba31ec
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/cifs_service.html
@@ -0,0 +1,42 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>CIFS Services</h1>
+<p>Common Internet File System (CIFS) operates as an application &#45; layer network protocol to provide shared access to files, printers, serial ports, and miscellaneous communications between nodes on a network. It also provides an authenticated inter&#45;process communication mechanism. Most usage of SMB involves computers running Microsoft Windows operating system.</p>
+<p>CIFS can be used as an access protocol by Microsoft Windows users to access files in a GlusterFS volume. Users will be able to perform regular file system operations such as creating files, read or write data to files, deletion of data through CIFS.</p>
+<p>Typically, all CIFS releated operations such as configuring CIFS services, creating and removing users, enabling CIFS re-export of a volume must be perfomed on each and every node of your cluster. Gluster Management Gateway provides an easy way to manage these opeartions, such as:
+<ul>
+<li>An user interface for enabling or disabling CIFS re-export of volumes and configuring CIFS users for a volume.</li>
+<li>Command line utilities for configuring CIFS services, creating and removing CIFS users on all the servers.</li>
+</ul>
+
+<h2>Configuring the CIFS Service</h2>
+<p>To configure CIFS, you must create a text file consisting of a list of servers (hostnames or IP addresses).</p>
+<p><b>Note:</b> You can configure CIFS on a fresh install or on an existing installation on the server which you have installed Gluster Management Gateway after adding the server to the cluster.</p>
+<p>Run the following command on the gateway server to configure CIFS:</p>
+<p><FONT FACE = "Courier">$ setup_cifs_config_all.py &lt;server list file&gt;</FONT></p>
+<p><b>Note:</b> Ensure that CIFS services are configured on all the servers of your cluster at all times. Any new servers added to the cluster, ensure that you configure CIFS services on them. This enables you to access the CIFS enabled volumes from any of the cluster nodes.
+<h2>Creating CIFS Users</h2>
+<p>You must create users and their password to enable them to use the CIFS access protocol.</p>
+<p>To create CIFS users, run the following on the gateway server:</p>
+<p><FONT FACE = "Courier">$ add_user_cifs_all.py &lt;server list file&gt; &lt;user name&gt; &lt;password&gt;</FONT></p>
+<ul>
+<li>Server list file – contains one server name per line
+</ul>
+<p>The user defined in the &lt;user name&gt; will be created on each and every server defined in &lt;server list file&gt;, will be assigned the same password defined in &lt;password&gt;.
+<p><b>Note:</b> Ensure that the CIFS user is created on all the servers of your cluster at all times which includes any new servers added to the cluster.
+
+<h2>Removing CIFS Users</h2>
+<p>You can delete users and their password.</p>
+<p>To delete CIFS users, run the following on the gateway server:</p>
+<p><FONT FACE = "Courier">$ delete_user_cifs_all.py &lt;server list&gt; &lt;user name&gt;</FONT></p>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/configure_cifs.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/configure_cifs.html
new file mode 100644
index 00000000..1b39f66a
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/configure_cifs.html
@@ -0,0 +1,15 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Main Topic</title>
+</head>
+
+<body>
+<h1>Configuring</h1>
+<h2>Configuring CIFS Services on Your Cluster</h2>
+The SMB/CIFS server is configured via the file-servers.xml file in the
+WEB-INF\classes\alfresco folder
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/explore_gmc.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/explore_gmc.html
new file mode 100644
index 00000000..8aee7171
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/explore_gmc.html
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Exploring Gluster Management Console</title>
+</head>
+
+<body>
+<h1>Exploring Gluster Management Console</h1>
+<p>This section describes the main sections of the user interface and
+explains the type of functions you can perform using each section.</p>
+<p><b>Note:</b> You can use Gluster Management Console to set up different cloud environments; but can only manage one cloud in one login session.
+<p>The Gluster Management Console window is divided into two panes: a navigation tree in the left and a tabbed information pane in the right.
+<p><img src="../images/GMC_Landing_Page.jpg"
+ alt="Gluster Management Console" height="350" width="500" /></p>
+<ul>
+ <li><b>Left Pane:</b> The Left pane displays the cloud, it's
+ servers, and it's volumes.
+ <li><b>Right Pane: </b> At any point of time, the Right pane shows tabs with information that are applicable to the resource selected in the left pane such as Server, Volumes, Bricks, and Discovered Server.
+ <li><b>File Menu:</b> Helps you to exit the application.
+ <li><b>Edit Menu:</b> Helps you to import keys, export keys,
+ change password, change settings and refresh the application.
+ <li><b>Gluster Menu:</b> Helps you to manage your cluster,
+ servers, and volumes.
+For example, if you have selected volumes, the Gluster menu displays all volume related options.</ul>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/gmc_install_overview.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/gmc_install_overview.html
new file mode 100644
index 00000000..f8e5e954
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/gmc_install_overview.html
@@ -0,0 +1,15 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Main Topic</title>
+</head>
+
+<body>
+<h1>Gluster Management Console Installation Overview</h1>
+Please enter your text here.
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/gmc_terminal_window.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/gmc_terminal_window.html
new file mode 100644
index 00000000..ee78defe
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/gmc_terminal_window.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Terminal</h1>
+<p>The Gluster Management Console provides a stand-alone ANSI or vt102 terminal emulator that enables you to connect to servers through SSH.</p>
+<p>It processes ANSI control characters, including NUL, backspace, carriage return, linefeed, and a subset of ANSI escape sequences sufficient to enable the use of screen-oriented applications, such as vi, Emacs, and any GNU readline-enabled application such as Bash, bc, or ncftp.</p>
+<p><b>Note:</b> Gluster Terminal window is not a fully compliant vt100 or vt102 terminal emulator.</p>
+<p><img src="../images/GMC_Terminal_window.jpg" alt="Terminal Window" />
+<p>You must provide SSH connection details to connect to the required host. Here is a screenshot of how to configure these settings on Gluster Management Console.
+<p><img src="../images/GMC_terminal_Settings.jpg" alt="Terminal Window" />
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/gmc_toolbar.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/gmc_toolbar.html
new file mode 100644
index 00000000..77681663
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/gmc_toolbar.html
@@ -0,0 +1,98 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Main Topic</title>
+</head>
+
+<body>
+<h1>Gluster Management Console Toolbar</h1>
+The Toolbar provides shortcuts to the main Gluster Management Console functions.
+<p>The table below describes the buttons on the toolbar of the console.</p>
+<table border="1">
+<tr>
+<th>Icon</th>
+<th>Description</th>
+</tr>
+<tr>
+<td><img src="../images/GMC_terminal_toolbar.jpg" alt="Terminal Icon" /></td>
+<td>Launches the terminal window that allows you type system commands.</td>
+</tr>
+<tr>
+<td><img src="../images/GMC_settings.jpg" alt="Preferences Icon" /></td>
+<td>Opens the Preferences window.</td>
+</tr>
+<tr>
+<td><img src="../images/GMC_Refresh.jpg" alt="Refresh Icon" /></td>
+<td>Refreshes the application.</td>
+</tr>
+<tr>
+<td><img src="../images/GMC_add_server_icon.jpg" alt="Add Server Icon" /></td>
+<td>Allows you to add a server to a cluster.</td>
+</tr>
+<tr>
+<td><img src="../images/GMC_Remove_Server_icon.jpg" alt="Remove Server Icon" /></td>
+<td>Allows you to removes a server from a cluster.</td>
+</tr>
+<tr>
+<td><img src="../images/GMC_Create_Vol_icon.jpg" alt="Create Volume Icon" /></td>
+<td>Opens the Create Volume window.</td>
+</tr>
+<tr>
+<td><img src="../images/GMC_start_vol_icon.jpg" alt="Create Volume Icon" /></td>
+<td>Allows you to start a volume.</td>
+</tr>
+<tr>
+<td><img src="../images/GMC_stop_vol_icon.jpg" alt="Stop Volume Icon" /></td>
+<td>Allows you to stop a volume.</td>
+</tr>
+<tr>
+<td><img src="../images/GMC_remove_volume_icon.jpg" alt="Remove Volume Icon" /></td>
+<td>Allows you to removes a volume.</td>
+</tr>
+<tr>
+<td><img src="../images/GMC_Rebalance_icon.jpg" alt="Rebalance Volume Icon" /></td>
+<td>Allows you to rebalance a volume.</td>
+</tr>
+<tr>
+<td><img src="../images/GMC_setting_icon.jpg" alt="Reset Volume Option Icon" /></td>
+<td>Allows you to reset the volume options.</td>
+</tr>
+<tr>
+<td><img src="../images/GMC_download_log_icon.jpg" alt="Download Log Icon" /></td>
+<td>Allows you to download logs.</td>
+</tr>
+<tr>
+<td><img src="../images/GMC_Add_Brick_icon.jpg" alt="Add Brick Icon" /></td>
+<td>Opens the Add Brick window.</td>
+</tr>
+<tr>
+<td><img src="../images/GMC_Remove_Brick_icon.jpg" alt="Remove Brick Icon" /></td>
+<td>Removes brick from a volume.</td>
+</tr>
+<tr>
+<td><img src="../images/GMC_migrate_brick_icon.jpg" alt="Migrate Brick Icon" /></td>
+<td>Migrates a brick from one volume to another.</td>
+</tr>
+<tr>
+<td><img src="../images/GMC_Start_task_icon.jpg" alt="Start Task Icon" /></td>
+<td>Allows you to start a task from the Tasks tab.</td>
+</tr>
+<tr>
+<td><img src="../images/GMC_Stop_icon.jpg" alt="Stop Task Icon" /></td>
+<td>Allows you to stop a task from the Tasks tab.</td>
+</tr>
+<tr>
+<td><img src="../images/GMC_pause_icon.jpg" alt="Pause Task Icon" /></td>
+<td>Allows you to pause a task from the Tasks tab.</td>
+</tr>
+<tr>
+<td><img src="../images/GMC_Clear_task_icon.jpg" alt="Clear Task Icon" /></td>
+<td>Allows you to clear completed task from the Tasks tab.</td>
+</tr>
+</table>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/gmg_install_overview.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/gmg_install_overview.html
new file mode 100644
index 00000000..e6b44580
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/gmg_install_overview.html
@@ -0,0 +1,15 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Main Topic</title>
+</head>
+
+<body>
+<h1>Gluster Management Gateway Installation Overview</h1>
+Please enter your text here.
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/install_gmg.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/install_gmg.html
new file mode 100644
index 00000000..94d26c03
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/install_gmg.html
@@ -0,0 +1,49 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Installing the Gluster Management Gateway</h1>
+
+<p>To install the Gluster Management Gateway, perform the following steps:</p>
+<ol>
+<li>Download the Gluster Management Gateway repository configuration file (<FONT FACE = "Courier">glustermg.repo</FONT>) and the Gluster Management Gateway RPM (<FONT FACE = "Courier">glustermg-1.0.0-1.x86_64.rpm</FONT>) from the location provided by Gluster.
+<p><b>Note:</b> <FONT FACE = "Courier">glustermg.repo</FONT> has been created and tested with CentOS 5.6. It may work with other versions of CentOS, however it has not been extensively tested.
+<li>Save the file in the following location on your machine:
+<p><FONT FACE = "Courier">/etc/yum.repos.d/</FONT>
+<li> Run the following command to install Gluster Management Gateway:
+<p><FONT FACE = "Courier"># yum groupinstall glustermg</FONT>
+<li>The following packages are installed if not installed earlier:
+<ul>
+<li>Java SE runtime version 1.6 &ndash; OpenJDK v1.6.0.0
+<li>Tomcat v5.5.23 or higher
+<li>wget
+</ul>
+<li>Run the following command to install Gluster Management Gateway.
+<p><FONT FACE = "Courier">rpm -ivh glustermg-1.0.0-1.x86_64.rpm </FONT>
+</ol>
+<p>Gateway generates SSH keys during installation. These keys are stored in the following location <FONT FACE = "Courier">/opt/glustermg/keys</FONT>. These keys are used for communication with the storage servers. However, in Amazon Web Services (AWS) environment, SSH communication is done using the private key provided by Amazon. Hence, the AWS genegrated private key (.pem file) must be stored in <FONT FACE = "Courier">/opt/glustermg/keys</FONT> and the file must be named as <FONT FACE = "Courier">gluster.pem</FONT></p>
+<p><b>Note:</b>
+<ul>
+<li>You can install the Gluster Management Gateway packages on a Gluster Storage Server. However, this can impact performance of the GlusterFS processes on this machine hence this is not recommended.
+
+ <li>The Gluster Management Gateway is shipped with a self-signed
+ SSL certificate, by default. While this ensures that the communication
+ between the console and gateway is encrypted and safe, some browsers
+ may throw security warnings mentioning that the site is not secure. It
+ is highly recommended that you install your own SSL certificate issued
+ by a valid certifying authority in the tomcat5 configuration for the
+ 8443 port. For more information on obtaining your own service
+ certificate, refer to <a href="http://tomcat.apache.org/tomcat-5.5-doc/ssl-howto.html#Installing_a_Certificate_from_a_Certificate_Authority" target="_blank">Installing a Certificate from a
+ Certificate Authority</a> from Tomcat documentation.
+ <li>Ensure to enable port 8443 (HTTPS), port 24731 (TCP), and port 24729 (UDP) on the gateway.
+<li>Gluster Management Gateway communicates with all storage servers through SSH, using their host names. Make sure all of your storage server&#39;s host names (fully qualified domain names) are resolvable by the Gateway and by each other. If you have a properly configured DNS setup, this should work seamlessly.
+</ul>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/install_gmg_backend.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/install_gmg_backend.html
new file mode 100644
index 00000000..fad76f27
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/install_gmg_backend.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Installing Gluster Management Gateway Backend Package</h1>
+Gluster Management Gateway communicates with every node of your cluster using the backend package. This package must be installed on each and every node of your cluster using the Linux package published by Gluster.
+<p><b>Pre-requisite</b></p>
+<ul>
+<li> Your backend machines can be either Gluster Storage Software Appliance, Gluster Virtual Storage Appliance, or CentOS 5.6 running GlusterFS v3.2.3 or higher.
+</ul>
+
+<p>To install the backend packages on each and every node of your cluster, perform the following steps:</p>
+<ol>
+<li>Download Gluster Management Gateway repository configuration file (<FONT FACE = "Courier">glustermg.repo</FONT>) and the Gluster Management Gateway Backend RPM (<FONT FACE = "Courier">glustermg-backend-1.0.0-1.x86_64.rpm</FONT>) from the location provided by Gluster. :
+<p><b>Note:</b> <FONT FACE = "Courier">glustermg.repo</FONT> has been created and tested with CentOS 5.6. It may work with other versions of CentOS, however it has not been extensively tested.
+<li>Save the file in the following location on your machine:
+<p><FONT FACE = "Courier">/etc/yum.repos.d/</FONT>
+<li>Run the following command to install the glustermg-backend dependencies:
+<p><FONT FACE = "Courier">rpm -ivh glustermg-backend-1.0.0-1.x86_64.rpm</FONT>
+<li>The following backend packages are installed if not installed earlier:
+<ul>
+<li>chkconfig
+<li>python v2.4.3
+<li>perl v5.8.8
+<li>rrdtool-perl v1.2.27
+<li>appliance-base v1.3
+<li>sudo
+<li>crontabs
+<li>samba3
+<li>libxml2 v2.6
+</ul>
+</ol>
+<p><b>Note:</b>
+<ul>
+<li>You must enable port 24729 (UDP) for auto discovery of servers.
+<li>In case CIFS only, the Samba services must be configured to run on port 445 which needs to be enabled and open on all the storage servers in your cluster.
+<li>Paravirtual VMs on Xen are not supported.
+</ul>
+</body>
+</html> \ No newline at end of file
diff --git a/src/com.gluster.storage.management.console.help/html/reference/maintopic.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/maintopic (4).html
index a476078a..dccb80ab 100644
--- a/src/com.gluster.storage.management.console.help/html/reference/maintopic.html
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/maintopic (4).html
@@ -1,13 +1,13 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Main Topic</title>
-</head>
-
-<body>
-<h1>Main Topic</h1>
-Please enter your text here.
-</body>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Main Topic</title>
+</head>
+
+<body>
+<h1>Main Topic</h1>
+Please enter your text here.
+</body>
</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/maintopic - Copy (3).html b/src/org.gluster.storage.management.console.help/html/gettingstarted/maintopic - Copy (3).html
new file mode 100644
index 00000000..dccb80ab
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/maintopic - Copy (3).html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Main Topic</title>
+</head>
+
+<body>
+<h1>Main Topic</h1>
+Please enter your text here.
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/maintopic - Copy (4).html b/src/org.gluster.storage.management.console.help/html/gettingstarted/maintopic - Copy (4).html
new file mode 100644
index 00000000..dccb80ab
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/maintopic - Copy (4).html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Main Topic</title>
+</head>
+
+<body>
+<h1>Main Topic</h1>
+Please enter your text here.
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/maintopic - Copy.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/maintopic - Copy.html
new file mode 100644
index 00000000..dccb80ab
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/maintopic - Copy.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Main Topic</title>
+</head>
+
+<body>
+<h1>Main Topic</h1>
+Please enter your text here.
+</body>
+</html> \ No newline at end of file
diff --git a/src/com.gluster.storage.management.console.help/html/gettingstarted/maintopic.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/maintopic.html
index a476078a..dccb80ab 100644
--- a/src/com.gluster.storage.management.console.help/html/gettingstarted/maintopic.html
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/maintopic.html
@@ -1,13 +1,13 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Main Topic</title>
-</head>
-
-<body>
-<h1>Main Topic</h1>
-Please enter your text here.
-</body>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Main Topic</title>
+</head>
+
+<body>
+<h1>Main Topic</h1>
+Please enter your text here.
+</body>
</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/manage_bricks.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/manage_bricks.html
new file mode 100644
index 00000000..96233f0e
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/manage_bricks.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic 2</title>
+</head>
+
+<body>
+<h1>Managing Bricks</h1>
+Brick is the basic unit of storage, represented by an export directory
+on a server in the storage cluster. You can expand, shrink, and migrate
+volume of you cluster, as required, by adding new bricks, removing
+bricks, and migrating bricks.
+<p><b>Note:</b> You need to add at least one brick to a distributed volume, multiples of two bricks to replicated volumes, multiples of four bricks to striped volumes when expanding your storage space.</p>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/manage_cluster.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/manage_cluster.html
new file mode 100644
index 00000000..17b7f0a8
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/manage_cluster.html
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Main Topic</title>
+</head>
+
+<body>
+<h1>Managing Clusters</h1>
+A cluster is a group of linked computers, working together closely thus
+in many respects forming a single computer. Gluster Management Console
+enables you to create, register and select cluster.
+<h2>Cluster Summary</h2>
+<p>The console enables you to monitor your cluster resources from
+the <b>Summary</b> tab. To display the summary of your cluster, click the
+cluster node from the left pane of the console window. The summary of
+the selected cluster is displayed in the right pane of the console
+window.
+<p><img src="../images/GMC_Cluster_Summary_tab_new.jpg" alt="Cluster Summary" />
+<p>After you log into the application successfully, you will be prompted to:
+<ul>
+<li><a href="select_cluster.html">Selecting a Cluster</a>: The cluster you will manage in the login session.
+<li><a href="create_cluster.html">Creating a Cluster</a>: Creating an empty cluster that can be expanded using the console.
+<li><a href="register_cluster.html">Registering a Cluster</a>: Registering an existing cluster and start managing it through the console.
+</ul>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/manage_logs.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/manage_logs.html
new file mode 100644
index 00000000..790fc206
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/manage_logs.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Managing Logs</title>
+</head>
+
+<body>
+<h1>Managing Logs</h1>
+You can download volume logs to your local machine to analyze and archive or you can retrieve volume logs based on a search criteria. This section describes how you can manage logs on your storage cluster.
+<p>Typically, the log file includes:</p>
+<ul>
+ <li>Installation messages
+ <li>Removal messages
+ <li>Configuration messages
+ <li>Informational messages
+</ul>
+<p>The Gluster Management Gateway log files are stored in the following locations on your server:</p>
+<ul>
+<li>Tomcat servlet container logs - <FONT FACE = "Courier">/var/log/tomcat5/catalina.out</FONT>
+<li>Gluster Management Gateway logs - <FONT FACE = "Courier">/var/log/glustermg/glustermg.log</FONT>
+</ul>
+
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/manage_servers.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/manage_servers.html
new file mode 100644
index 00000000..1326eb34
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/manage_servers.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Main Topic</title>
+</head>
+
+<body>
+<h1>Managing Your Servers</h1>
+A server is a computer on a network that is used as a storage node in a cluster. You can add a new server to the storage cluster to expand the amount of available storage.
+<h2>Server Summary</h2>
+<p>The console enables you to monitor your servers in your cluster
+from the <b>Summary</b> tab. To display the summary of your cluster, click the
+<b>Server </b>node from the left pane of the console window. The summary of the
+servers in your cluster is displayed in the right pane of the console
+window. It also displays the <b>Tasks</b> and <b>Alerts</b>.</p>
+<p><img src="../images/GMC_Server_Summary_tab.jpg" alt="Server Summary" />
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/manage_volumes.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/manage_volumes.html
new file mode 100644
index 00000000..a37ed7b4
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/manage_volumes.html
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Managing Volumes</title>
+</head>
+
+<body>
+<h1>Managing Volumes</h1>
+<p>A volume is a logical collection of bricks where each brick is an
+export directory on a server in the trusted storage pool. Most of the
+Gluster management operations happen on the volume. The volume is the
+designated unit of administration in GlusterFS, so managing them is a
+large part of the administrator's duties. This section explains how to
+manage the volumes stored on file server machines.
+<p>You can use Volumes to do the following:
+<ul>
+ <li> Create a new volume </li>
+ <li>Start a volume </li>
+ <li>Stop a volume </li>
+ <li>Migrate a volume</li>
+ <li>Rebalance a volume</li>
+</ul>
+<h2>Volume Summary</h2>
+<p>The console also enables you to monitor the volumes in your cluster from the <b>Summary</b> tab. To display the summary of your volumes,
+click the Volume node from the left pane of the console window. The summary of the volumes is displayed in the right pane of the console
+window. It also displays <B>Tasks</B> and <B>Alerts</B> of all the volumes.
+<p><img src="../images/GMC_Volume_Summary.jpg" alt="Volume Summary" />
+
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/monitor_resources.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/monitor_resources.html
new file mode 100644
index 00000000..907f2d73
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/monitor_resources.html
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Main Topic</title>
+</head>
+
+<body>
+<h1>Monitoring Cluster Resources</h1>
+Gluster Management Console enables you to monitor your cluster resources
+such as through Summary Tab. You can monitor resources such as CPU
+usage, Alerts, Tasks, Network usage and so on.
+<p>To monitor resources in your cluster, perform the following
+steps.</p>
+<ol>
+ <li>Select your resource at the node level. For example, choose
+ your cluster. The Summary tab displays the historical graphical
+ representations of your clusters key resources such as CPU, memory,
+ network usage, and disk utilization by day, week, or month. In case of
+ Network usage, the graph will be displayed for the selected network
+ from the drop down list.
+ <p><b>Note:</b> At any point of time, the <b>Summary</b> tab will show views that
+ are applicable to the resource selected from the navigation tree in the
+ left pane.</p>
+ <p><img src="../images/GMC_Cluster_Summary_tab.jpg"
+ width="75%" alt="Volume Created Successfuly" /></p>
+ <li>Click to expand other resource nodes such as Volume, Bricks,
+ and Server to display the respective details, as required.
+</ol>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/resetting_pwd.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/resetting_pwd.html
new file mode 100644
index 00000000..723a6776
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/resetting_pwd.html
@@ -0,0 +1,20 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic 2</title>
+</head>
+
+<body>
+<h1>Resetting the Password</h1>
+If you have managed to get locked out of your Gluster Management Console, you will be able to reset the password if you are the administrator of the Tomcat server.
+<p><b>Note:</b> Ensure to stop the tomcat5 service before running this script.</p>
+<p>You can reset the password by running the following tool on your tomcat server:</p>
+<p><FONT FACE = "Courier">/opt/glustermg/1.0.0/scripts/gmg-reset-password.sh</FONT></p>
+<p>The tool resets the password to the default system password &ldquo;syst3m&rdquo;.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/security_keys.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/security_keys.html
new file mode 100644
index 00000000..5b723899
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/security_keys.html
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Security Keys</h1>
+Gluster Management Gateway communicates with storage servers using public key authentication. This establishes trust between your account on your central server and the new machine you just added to your cluster. Administrators can export and/or import the SSH keys (of the gateway) for security reasons from the Gluster Management Gateway server.
+<h2>Importing Keys</h2>
+<p>To import the security keys, perform the following steps:</p>
+<ol>
+<li>Choose <b>Edit</b> > <b>Import Keys</b>
+<li>A window is displayed allowing you to choose the download location on your machine.
+<li>Choose the location, and click <b>Save</b>.
+<p>The security keys are imported from the gateway server to the location you specified in ssh-keys.tar file format.
+</ol>
+<h2>Exporting Keys</h2>
+<p>To export the security keys, perform the following steps:</p>
+<ol>
+<li>Choose <b>Edit</b> > <b>Export Keys</b>
+<li>A window is displayed allowing you to choose the location on your machine.
+<li>Choose the location, and click <b>Save</b>.
+<p>The security keys are exported on to gateway server to the location you specified in a .tar file format.</p>
+</ol>
+
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/setting_alerts_prefs.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/setting_alerts_prefs.html
new file mode 100644
index 00000000..5673586e
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/setting_alerts_prefs.html
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Setting Alerts Preferences</h1>
+Thresholds are the critical conditions that you define in Gluster Management Console.
+<p>To set the thresholds, perform the following steps:</p>
+<ol>
+<li>Choose <b>Edit</b> &gt; <b>Settings</b> &gt; <b>Alerts</b>
+<p>The Preferences window displays the <b>Alerts</b> page on the right pane of the window.</p>
+
+<p><img src="../images/GMC_Alerts.jpg" alt="Alerts Perferences" /></p>
+<li>Type the value for server CPU threshold limits in the <b>Server CPU Threshold</b> field.
+<li>Type the value for server memory usage threshold in the <b>Server Memory Usage Threshold</b> field.
+<li>Type the value for disk space usage threshold in the <b>Disk Space Threshold</b> field.
+<li>Click <b>Apply</b>.
+<li>Click <b>OK</b> to exit the <b>Preferences</b> window.
+</ol>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/setting_charts_prefs.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/setting_charts_prefs.html
new file mode 100644
index 00000000..e85d9324
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/setting_charts_prefs.html
@@ -0,0 +1,29 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Setting the Charts Preferences</h1>
+You can customize the console and change the way some of the monitoring data is displayed, as described in this section.
+<p><b>Note:</b> The default duration for all the charts is a day.</p>
+<p>To set the display of the charts, perform the following:</p>
+<ol>
+<li>Choose <b>Edit</b> &gt; <b>Settings</b> &gt; <b>Charts</b>
+<p>The Preferences window displays the <b>Charts</b> page on the right pane of the window.</p>
+<p><img src="../images/GMC_Charts.jpg" alt="Charts Perferences"/></p>
+<li>Select the <b>Aggregated CPU Usage chart period</b> from the drop down list.
+<li>Select the <b>Aggregated Network Usage chart period</b> from the drop down list.
+<li>Select the <b>CPU Usage chart period</b> from the drop down list.
+<li>Select the <b>Memory Usage chart period</b> from the drop down list.
+<li>Select the <b>Network Usage chart period</b> from the drop down list.
+<li>Click <b>Apply</b>.
+<li>Click <b>OK</b> to exit the <b>Preferences</b> window.
+</ol>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/setting_gluster_prefs.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/setting_gluster_prefs.html
new file mode 100644
index 00000000..16db7708
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/setting_gluster_prefs.html
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Setting Gluster Preferences</h1>
+Please enter your text here.
+<p>To set the Gluster perferences, perform the following steps:
+<ol>
+<li>Choose <b>Edit</b> &gt; <b>Settings</b> &gt; <b>Gluster</b>
+<p>The Preferences window displays the <b>Gluster</b> page on the right pane of the window.</p>
+<p><img src="../images/GMC_Preferences_gluster.jpg" alt="Gluster Perferences" /></p>
+<li>Select <b>Show Cluster Selection Dialog on Login</b>, if you want your cluster name to appear when you launch the application.
+<li>Choose your cluster name from <b>Default Cluster to Manage</b> drop down list to manage the default cluster you wish to manage when you launch the application.</li>
+<li>Type the duration (in sec) of the refresh intervals in the <b>Refresh Interval</b> field.
+<li>Click <b>Apply</b>.
+<li>Click <b>OK</b> to exit the <b>Preferences</b> window.
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/setting_preferences.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/setting_preferences.html
new file mode 100644
index 00000000..13f9f54c
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/setting_preferences.html
@@ -0,0 +1,22 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Preferences</title>
+
+</head>
+
+<body>
+<h1>Preferences</h1>
+You can use preferences to configure several aspects of the Gluster Management Console. These include setting preferences for the console, alerts, charts, and terminal.
+<ul>
+<li><a href="setting_gluster_prefs.html">Setting Gluster Preferences</a>
+<li><a href="setting_alerts_prefs.html">Setting Alert Preferences</a>
+<li><a href="setting_charts_prefs.html">Setting Charts Preferences</a>
+<li><a href="setting_terminal_prefs.html">Setting Terminal Preferences</a>
+</ul>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/setting_terminal_prefs.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/setting_terminal_prefs.html
new file mode 100644
index 00000000..8f381665
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/setting_terminal_prefs.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Setting Terminal Preferences</h1>
+<p>You can customize the terminal window as described in this section.</p>
+<p>To set the display of the charts, perform the following:</p>
+<ol>
+<li>Choose <b>Edit</b> &gt; <b>Settings</b> &gt; <b>Terminal</b>
+<p>The Preferences window displays the <b>Terminal</b> page on the right pane of the window.</p>
+<p><img src="../images/GMC_Preferences_terminal.jpg" alt="Gluster Perferences" /></p>
+<li>Type the limit of terminal buffer lines in the <b>Terminal buffer lines</b> field.
+<li>Type the value of the serial timeout in the <b>Serial timeout</b> field.</li>
+<li>Type the value of the network timeout in the <b>Network timeout</b> field.
+<li>Click <b>Apply</b>.
+<li>Click <b>OK</b> to exit the <b>Preferences</b> window.
+</ol>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/setting_the_gmc.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/setting_the_gmc.html
new file mode 100644
index 00000000..92641ccb
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/setting_the_gmc.html
@@ -0,0 +1,15 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Main Topic</title>
+</head>
+
+<body>
+<h1>Setting up the Management Console</h1>
+Please enter your text here.
+</body>
+</html> \ No newline at end of file
diff --git a/src/com.gluster.storage.management.console.help/html/reference/subtopic.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/subtopic (3) - Copy.html
index 8a61c501..6dccc35e 100644
--- a/src/com.gluster.storage.management.console.help/html/reference/subtopic.html
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/subtopic (3) - Copy.html
@@ -1,13 +1,13 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Sub Topic</title>
-</head>
-
-<body>
-<h1>Sub Topic</h1>
-Please enter your text here.
-</body>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Sub Topic</h1>
+Please enter your text here.
+</body>
</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/subtopic (3).html b/src/org.gluster.storage.management.console.help/html/gettingstarted/subtopic (3).html
new file mode 100644
index 00000000..6dccc35e
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/subtopic (3).html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Sub Topic</h1>
+Please enter your text here.
+</body>
+</html> \ No newline at end of file
diff --git a/src/com.gluster.storage.management.console.help/html/tasks/subtopic.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/subtopic.html
index 8a61c501..6dccc35e 100644
--- a/src/com.gluster.storage.management.console.help/html/tasks/subtopic.html
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/subtopic.html
@@ -1,13 +1,13 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Sub Topic</title>
-</head>
-
-<body>
-<h1>Sub Topic</h1>
-Please enter your text here.
-</body>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Sub Topic</h1>
+Please enter your text here.
+</body>
</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/subtopic2 (2).html b/src/org.gluster.storage.management.console.help/html/gettingstarted/subtopic2 (2).html
new file mode 100644
index 00000000..5ece5749
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/subtopic2 (2).html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Sub Topic 2</title>
+</head>
+
+<body>
+<h1>Sub Topic 2</h1>
+Please enter your text here.
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/subtopic2 (3).html b/src/org.gluster.storage.management.console.help/html/gettingstarted/subtopic2 (3).html
new file mode 100644
index 00000000..d443ce80
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/subtopic2 (3).html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic 2</title>
+</head>
+
+<body>
+<h1>Sub Topic 2</h1>
+Please enter your text here.
+</body>
+</html> \ No newline at end of file
diff --git a/src/com.gluster.storage.management.console.help/html/reference/subtopic2.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/subtopic2.html
index 86bcbf9c..86bcbf9c 100644
--- a/src/com.gluster.storage.management.console.help/html/reference/subtopic2.html
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/subtopic2.html
diff --git a/src/org.gluster.storage.management.console.help/html/gettingstarted/tasks.html b/src/org.gluster.storage.management.console.help/html/gettingstarted/tasks.html
new file mode 100644
index 00000000..c5647b9a
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/gettingstarted/tasks.html
@@ -0,0 +1,17 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Tasks</h1>
+<b>Task</b> tab is displayed when you select the cluster node. It displays the status of all running tasks such as disk initialization, brick migration, volume rebalance.
+<p><img src="../images/GMC_Task_tab.jpg" alt="Task Tab"/></p>
+<p>When you select a task on this tab, the relevent toolbar options are enabled. These include pause, resume, abort, commit, or clear operations.
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/help_home.html b/src/org.gluster.storage.management.console.help/html/help_home.html
new file mode 100644
index 00000000..b9c17b9e
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/help_home.html
@@ -0,0 +1,29 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+<link rel="stylesheet" href="css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+<title>Gluster Management Console</title>
+</head>
+<body>
+<h1>Gluster Management Console Help</h1>
+
+<p>Gluster Management Console offers an advanced yet simple-to-use
+graphical user interface (GUI) to manage your clustered storage
+environment.</p>
+
+<p>This help explains the console interface when working with
+Gluster Filesystem. It also describes how you can work with the Gluster
+Management Console to add servers, create volumes, monitor the system,
+manage logs, download server configurations, and more.</p>
+
+<p>For information about how to install Gluster Filesystem, refer to
+the <a
+ href="http://www.gluster.com/community/documentation/index.php/Gluster_3.2_Filesystem_Installation_Guide" target="_blank">Gluster
+3.2 Filesystem Installation Guide</a>. For information about accessing the
+cluster using client systems, <a
+ href="http://www.gluster.com/community/documentation/index.php/Gluster_3.2:_Accessing_Data_-_Setting_Up_GlusterFS_Client" target="_blank">Gluster
+3.2: Accessing Data - Setting Up GlusterFS Client</a>.</p>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/images/Delete-brick.png b/src/org.gluster.storage.management.console.help/html/images/Delete-brick.png
new file mode 100644
index 00000000..d93aa173
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/Delete-brick.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC-Preferences-alerts .jpg b/src/org.gluster.storage.management.console.help/html/images/GMC-Preferences-alerts .jpg
new file mode 100644
index 00000000..d57c6adc
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC-Preferences-alerts .jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC-Preferences-charts.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC-Preferences-charts.jpg
new file mode 100644
index 00000000..7ae6ca8c
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC-Preferences-charts.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC-Preferences-gluster .jpg b/src/org.gluster.storage.management.console.help/html/images/GMC-Preferences-gluster .jpg
new file mode 100644
index 00000000..06702e7b
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC-Preferences-gluster .jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_02.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_02.jpg
new file mode 100644
index 00000000..2aac60ff
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_02.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_03.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_03.jpg
new file mode 100644
index 00000000..282c1407
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_03.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_04.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_04.jpg
new file mode 100644
index 00000000..383aa719
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_04.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_05.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_05.jpg
new file mode 100644
index 00000000..11f3096d
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_05.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_06.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_06.jpg
new file mode 100644
index 00000000..97323bd2
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_06.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_07.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_07.jpg
new file mode 100644
index 00000000..fd7e4dd6
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_07.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_09.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_09.jpg
new file mode 100644
index 00000000..54a10c8c
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_09.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Add_Brick.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Add_Brick.jpg
new file mode 100644
index 00000000..4480fd27
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Add_Brick.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Add_Brick_confirm.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Add_Brick_confirm.jpg
new file mode 100644
index 00000000..d609a373
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Add_Brick_confirm.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Add_Server_Confirm.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Add_Server_Confirm.jpg
new file mode 100644
index 00000000..4e39d5f4
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Add_Server_Confirm.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Create_Vol.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Create_Vol.jpg
new file mode 100644
index 00000000..e6b16ddb
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Create_Vol.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Discovered_Server_Add.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Discovered_Server_Add.jpg
new file mode 100644
index 00000000..7b273913
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Discovered_Server_Add.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Display_log_criteria.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Display_log_criteria.jpg
new file mode 100644
index 00000000..9284e314
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Display_log_criteria.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Remove_Brick_confirm.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Remove_Brick_confirm.jpg
new file mode 100644
index 00000000..891ab993
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Remove_Brick_confirm.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Remove_Bricks.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Remove_Bricks.jpg
new file mode 100644
index 00000000..d3911aad
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Remove_Bricks.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Remove_Bricks_success.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Remove_Bricks_success.jpg
new file mode 100644
index 00000000..452e8f20
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Remove_Bricks_success.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Remove_Server.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Remove_Server.jpg
new file mode 100644
index 00000000..c9674b51
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Remove_Server.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Remove_Server_1.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Remove_Server_1.jpg
new file mode 100644
index 00000000..3c3d7d18
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Remove_Server_1.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Select_FS_Type.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Select_FS_Type.jpg
new file mode 100644
index 00000000..08d26e41
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_Select_FS_Type.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_create_cluster.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_create_cluster.jpg
new file mode 100644
index 00000000..66ac694e
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_create_cluster.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_login.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_login.jpg
new file mode 100644
index 00000000..282c1407
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_login.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_multiple_vols.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_multiple_vols.jpg
new file mode 100644
index 00000000..e2aee777
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_multiple_vols.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_multiple_vols_confirm.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_multiple_vols_confirm.jpg
new file mode 100644
index 00000000..af7ba50a
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_multiple_vols_confirm.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_register_cluster.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_register_cluster.jpg
new file mode 100644
index 00000000..6e39bc31
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_register_cluster.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_removeBrick_confirm.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_removeBrick_confirm.jpg
new file mode 100644
index 00000000..591b98dc
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_removeBrick_confirm.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_select_cluster.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_select_cluster.jpg
new file mode 100644
index 00000000..383aa719
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_select_cluster.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_server_add_success.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_server_add_success.jpg
new file mode 100644
index 00000000..0f7dbfc5
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_server_add_success.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_vol_success.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_vol_success.jpg
new file mode 100644
index 00000000..74931bc9
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_1.0_vol_success.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_10.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_10.jpg
new file mode 100644
index 00000000..8a1bf08c
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_10.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Add_Brick.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Add_Brick.jpg
new file mode 100644
index 00000000..59c99311
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Add_Brick.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Add_Brick_confirm.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Add_Brick_confirm.jpg
new file mode 100644
index 00000000..133ef15d
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Add_Brick_confirm.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Add_Brick_icon.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Add_Brick_icon.jpg
new file mode 100644
index 00000000..d613a544
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Add_Brick_icon.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Add_Server_Manual.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Add_Server_Manual.jpg
new file mode 100644
index 00000000..7789034c
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Add_Server_Manual.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Add_brick.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Add_brick.jpg
new file mode 100644
index 00000000..4c5c2ae3
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Add_brick.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Add_brick_confirm.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Add_brick_confirm.jpg
new file mode 100644
index 00000000..a4b8a811
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Add_brick_confirm.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Alerts.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Alerts.jpg
new file mode 100644
index 00000000..1ae4e0aa
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Alerts.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Bricks_Tab.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Bricks_Tab.jpg
new file mode 100644
index 00000000..1653d58b
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Bricks_Tab.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Change_Password.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Change_Password.jpg
new file mode 100644
index 00000000..f8ab379a
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Change_Password.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Change_Password_Confirm.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Change_Password_Confirm.jpg
new file mode 100644
index 00000000..e13b22a1
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Change_Password_Confirm.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Charts.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Charts.jpg
new file mode 100644
index 00000000..b6d8edb0
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Charts.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Clear_task_icon.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Clear_task_icon.jpg
new file mode 100644
index 00000000..ce31471c
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Clear_task_icon.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Cluster_Summary.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Cluster_Summary.jpg
new file mode 100644
index 00000000..c6dcc77c
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Cluster_Summary.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Cluster_Summary_tab.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Cluster_Summary_tab.jpg
new file mode 100644
index 00000000..8af1267e
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Cluster_Summary_tab.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Cluster_Summary_tab_new.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Cluster_Summary_tab_new.jpg
new file mode 100644
index 00000000..53e83ce6
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Cluster_Summary_tab_new.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Create_Cluster.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Create_Cluster.jpg
new file mode 100644
index 00000000..6a21e8b9
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Create_Cluster.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Create_Vol_icon.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Create_Vol_icon.jpg
new file mode 100644
index 00000000..7529713c
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Create_Vol_icon.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Create_Volume.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Create_Volume.jpg
new file mode 100644
index 00000000..2f8ecfca
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Create_Volume.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Create_Volume_success.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Create_Volume_success.jpg
new file mode 100644
index 00000000..a128d182
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Create_Volume_success.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Delete_Vol.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Delete_Vol.jpg
new file mode 100644
index 00000000..51e97758
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Delete_Vol.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Delete_Vol_Confirm.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Delete_Vol_Confirm.jpg
new file mode 100644
index 00000000..c6fc98f2
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Delete_Vol_Confirm.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Delete_Vol_multiple.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Delete_Vol_multiple.jpg
new file mode 100644
index 00000000..be89ddc7
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Delete_Vol_multiple.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Delete_Vol_multiple_success.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Delete_Vol_multiple_success.jpg
new file mode 100644
index 00000000..fe037755
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Delete_Vol_multiple_success.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Delete_Vol_success.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Delete_Vol_success.jpg
new file mode 100644
index 00000000..1fdfb5f4
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Delete_Vol_success.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Disk_tab.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Disk_tab.jpg
new file mode 100644
index 00000000..8bc1dc9e
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Disk_tab.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Landing_Page.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Landing_Page.jpg
new file mode 100644
index 00000000..65e2bd9d
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Landing_Page.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Log_list.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Log_list.jpg
new file mode 100644
index 00000000..81ffa36c
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Log_list.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Login_Change_Pwd.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Login_Change_Pwd.jpg
new file mode 100644
index 00000000..27ed8be4
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Login_Change_Pwd.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Login_Window.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Login_Window.jpg
new file mode 100644
index 00000000..7b684567
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Login_Window.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Migrate_Brick.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Migrate_Brick.jpg
new file mode 100644
index 00000000..69366171
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Migrate_Brick.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Migrate_Brick_success.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Migrate_Brick_success.jpg
new file mode 100644
index 00000000..ef240296
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Migrate_Brick_success.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Preferences_alerts.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Preferences_alerts.jpg
new file mode 100644
index 00000000..d57c6adc
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Preferences_alerts.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Preferences_charts.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Preferences_charts.jpg
new file mode 100644
index 00000000..7ae6ca8c
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Preferences_charts.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Preferences_gluster.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Preferences_gluster.jpg
new file mode 100644
index 00000000..b1348c59
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Preferences_gluster.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Preferences_terminal.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Preferences_terminal.jpg
new file mode 100644
index 00000000..78e33410
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Preferences_terminal.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Rebalance_icon.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Rebalance_icon.jpg
new file mode 100644
index 00000000..4d0f81e0
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Rebalance_icon.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Refresh.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Refresh.jpg
new file mode 100644
index 00000000..2fa0cf6a
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Refresh.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Register_Cluster.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Register_Cluster.jpg
new file mode 100644
index 00000000..1da58638
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Register_Cluster.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Remove_Brick_Confirm.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Remove_Brick_Confirm.jpg
new file mode 100644
index 00000000..45529823
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Remove_Brick_Confirm.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Remove_Brick_icon.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Remove_Brick_icon.jpg
new file mode 100644
index 00000000..8f237ae5
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Remove_Brick_icon.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Remove_Server_icon.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Remove_Server_icon.jpg
new file mode 100644
index 00000000..a62f4e60
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Remove_Server_icon.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Remove_server.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Remove_server.jpg
new file mode 100644
index 00000000..e51eb1c6
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Remove_server.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Remove_server_success.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Remove_server_success.jpg
new file mode 100644
index 00000000..aaff5c0a
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Remove_server_success.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Select_Cluster.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Select_Cluster.jpg
new file mode 100644
index 00000000..1198e0bf
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Select_Cluster.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Select_Cluster_progess.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Select_Cluster_progess.jpg
new file mode 100644
index 00000000..4f970da7
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Select_Cluster_progess.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Server_Disk.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Server_Disk.jpg
new file mode 100644
index 00000000..12a53350
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Server_Disk.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Server_Summ.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Server_Summ.jpg
new file mode 100644
index 00000000..62169ee8
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Server_Summ.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Server_Summary_tab.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Server_Summary_tab.jpg
new file mode 100644
index 00000000..ccef5b46
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Server_Summary_tab.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Server_Tab.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Server_Tab.jpg
new file mode 100644
index 00000000..387e4b38
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Server_Tab.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Single_Vol.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Single_Vol.jpg
new file mode 100644
index 00000000..b88c3030
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Single_Vol.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Start_task_icon.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Start_task_icon.jpg
new file mode 100644
index 00000000..c864ed1b
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Start_task_icon.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Stop_Multiple_Vol.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Stop_Multiple_Vol.jpg
new file mode 100644
index 00000000..cdf8f2f8
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Stop_Multiple_Vol.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Stop_Vol.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Stop_Vol.jpg
new file mode 100644
index 00000000..f6fd4f3b
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Stop_Vol.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Stop_icon.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Stop_icon.jpg
new file mode 100644
index 00000000..5b39e612
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Stop_icon.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Task_tab.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Task_tab.jpg
new file mode 100644
index 00000000..3f0873a9
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Task_tab.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Terminal_window.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Terminal_window.jpg
new file mode 100644
index 00000000..603307e6
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Terminal_window.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Toolbar.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Toolbar.jpg
new file mode 100644
index 00000000..1eeb7a0c
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Toolbar.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Vol_List.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Vol_List.jpg
new file mode 100644
index 00000000..04813d79
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Vol_List.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Vol_Options.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Vol_Options.jpg
new file mode 100644
index 00000000..36d99160
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Vol_Options.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Vol_rebalance_success.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Vol_rebalance_success.jpg
new file mode 100644
index 00000000..1d06d499
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Vol_rebalance_success.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Volume_Options.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Volume_Options.jpg
new file mode 100644
index 00000000..4775a814
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Volume_Options.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Volume_Summary.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Volume_Summary.jpg
new file mode 100644
index 00000000..23287308
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Volume_Summary.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Volume_Summary_tab.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Volume_Summary_tab.jpg
new file mode 100644
index 00000000..1084c0f9
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Volume_Summary_tab.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Volume_logs.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Volume_logs.jpg
new file mode 100644
index 00000000..6f70bc46
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Volume_logs.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Volume_properties.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Volume_properties.jpg
new file mode 100644
index 00000000..c31f4a09
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Volume_properties.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_Volumes_tab.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_Volumes_tab.jpg
new file mode 100644
index 00000000..40d732ce
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_Volumes_tab.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_add_server_icon.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_add_server_icon.jpg
new file mode 100644
index 00000000..693d94ff
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_add_server_icon.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_change_pwd.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_change_pwd.jpg
new file mode 100644
index 00000000..625bbe27
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_change_pwd.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_create_vol (2).jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_create_vol (2).jpg
new file mode 100644
index 00000000..63f9cf9e
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_create_vol (2).jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_create_vol.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_create_vol.jpg
new file mode 100644
index 00000000..63f9cf9e
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_create_vol.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_download_log_icon.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_download_log_icon.jpg
new file mode 100644
index 00000000..f5eb5fd3
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_download_log_icon.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_landing_page.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_landing_page.jpg
new file mode 100644
index 00000000..eee50db5
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_landing_page.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_log_criteria.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_log_criteria.jpg
new file mode 100644
index 00000000..112af00e
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_log_criteria.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_migrate_brick.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_migrate_brick.jpg
new file mode 100644
index 00000000..08b4d358
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_migrate_brick.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_migrate_brick_icon.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_migrate_brick_icon.jpg
new file mode 100644
index 00000000..f011d164
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_migrate_brick_icon.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_pause_icon.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_pause_icon.jpg
new file mode 100644
index 00000000..c9153cf1
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_pause_icon.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_pwd_change_success.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_pwd_change_success.jpg
new file mode 100644
index 00000000..c4f12744
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_pwd_change_success.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_rebalance_vol.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_rebalance_vol.jpg
new file mode 100644
index 00000000..9e310025
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_rebalance_vol.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_remove_server_confirm.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_remove_server_confirm.jpg
new file mode 100644
index 00000000..a7c1d8ed
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_remove_server_confirm.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_remove_volume_icon.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_remove_volume_icon.jpg
new file mode 100644
index 00000000..e5626e4c
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_remove_volume_icon.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_server_summary.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_server_summary.jpg
new file mode 100644
index 00000000..8a1bf08c
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_server_summary.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_setting_icon.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_setting_icon.jpg
new file mode 100644
index 00000000..049d15aa
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_setting_icon.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_settings.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_settings.jpg
new file mode 100644
index 00000000..bd655794
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_settings.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_start_vol_Multiple.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_start_vol_Multiple.jpg
new file mode 100644
index 00000000..99f3895f
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_start_vol_Multiple.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_start_vol_icon.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_start_vol_icon.jpg
new file mode 100644
index 00000000..f9c78eb7
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_start_vol_icon.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_start_vol_success.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_start_vol_success.jpg
new file mode 100644
index 00000000..0aa6668f
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_start_vol_success.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_stop_vol_Multiple.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_stop_vol_Multiple.jpg
new file mode 100644
index 00000000..99f3895f
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_stop_vol_Multiple.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_stop_vol_icon.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_stop_vol_icon.jpg
new file mode 100644
index 00000000..2c5f7c2f
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_stop_vol_icon.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_terminal_Settings.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_terminal_Settings.jpg
new file mode 100644
index 00000000..cf67682c
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_terminal_Settings.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMC_terminal_toolbar.jpg b/src/org.gluster.storage.management.console.help/html/images/GMC_terminal_toolbar.jpg
new file mode 100644
index 00000000..d2d79b58
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMC_terminal_toolbar.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GMG_Architecture.jpg b/src/org.gluster.storage.management.console.help/html/images/GMG_Architecture.jpg
new file mode 100644
index 00000000..2c606b59
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GMG_Architecture.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GlusterFS_3.2_Architecture.jpg b/src/org.gluster.storage.management.console.help/html/images/GlusterFS_3.2_Architecture.jpg
new file mode 100644
index 00000000..b093fc29
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GlusterFS_3.2_Architecture.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GlusterFS_3.2_Architecture.png b/src/org.gluster.storage.management.console.help/html/images/GlusterFS_3.2_Architecture.png
new file mode 100644
index 00000000..b506db1f
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GlusterFS_3.2_Architecture.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/GlusterMC_Architecture.jpg b/src/org.gluster.storage.management.console.help/html/images/GlusterMC_Architecture.jpg
new file mode 100644
index 00000000..64618ddf
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/GlusterMC_Architecture.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/Migration.png b/src/org.gluster.storage.management.console.help/html/images/Migration.png
new file mode 100644
index 00000000..4ed6e054
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/Migration.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/Preferences-alerts .png b/src/org.gluster.storage.management.console.help/html/images/Preferences-alerts .png
new file mode 100644
index 00000000..d7cefac3
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/Preferences-alerts .png
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/Preferences-charts.png b/src/org.gluster.storage.management.console.help/html/images/Preferences-charts.png
new file mode 100644
index 00000000..89cabb06
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/Preferences-charts.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/Preferences-gluster .png b/src/org.gluster.storage.management.console.help/html/images/Preferences-gluster .png
new file mode 100644
index 00000000..f279b9fb
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/Preferences-gluster .png
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/Running tasks & alerts.png b/src/org.gluster.storage.management.console.help/html/images/Running tasks & alerts.png
new file mode 100644
index 00000000..7f3b192f
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/Running tasks & alerts.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/Stop_Vol.jpg b/src/org.gluster.storage.management.console.help/html/images/Stop_Vol.jpg
new file mode 100644
index 00000000..124a1180
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/Stop_Vol.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/Stop_Vol_confirm.jpg b/src/org.gluster.storage.management.console.help/html/images/Stop_Vol_confirm.jpg
new file mode 100644
index 00000000..ad87228b
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/Stop_Vol_confirm.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/Stop_Vol_multiple.jpg b/src/org.gluster.storage.management.console.help/html/images/Stop_Vol_multiple.jpg
new file mode 100644
index 00000000..6955996c
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/Stop_Vol_multiple.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/Stop_Vol_multiple_confirm.jpg b/src/org.gluster.storage.management.console.help/html/images/Stop_Vol_multiple_confirm.jpg
new file mode 100644
index 00000000..581bf389
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/Stop_Vol_multiple_confirm.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/discovered_servers.png b/src/org.gluster.storage.management.console.help/html/images/discovered_servers.png
new file mode 100644
index 00000000..2a4e2c5c
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/discovered_servers.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/java-web-start.jpg b/src/org.gluster.storage.management.console.help/html/images/java-web-start.jpg
new file mode 100644
index 00000000..2a445b60
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/java-web-start.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/java_web_start.jpg b/src/org.gluster.storage.management.console.help/html/images/java_web_start.jpg
new file mode 100644
index 00000000..2a445b60
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/java_web_start.jpg
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/images/login-dialog.png b/src/org.gluster.storage.management.console.help/html/images/login-dialog.png
new file mode 100644
index 00000000..50051b96
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/images/login-dialog.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console.help/html/reference/maintopic.html b/src/org.gluster.storage.management.console.help/html/reference/maintopic.html
new file mode 100644
index 00000000..8caa4cc2
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/reference/maintopic.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Main Topic</title>
+</head>
+
+<body>
+<h1>Main Topic</h1>
+Please enter your text here.
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/reference/subtopic.html b/src/org.gluster.storage.management.console.help/html/reference/subtopic.html
new file mode 100644
index 00000000..c68dc748
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/reference/subtopic.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Sub Topic</h1>
+Please enter your text here.
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/reference/subtopic2.html b/src/org.gluster.storage.management.console.help/html/reference/subtopic2.html
new file mode 100644
index 00000000..e5e31cd1
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/reference/subtopic2.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic 2</title>
+</head>
+
+<body>
+<h1>Sub Topic 2</h1>
+Please enter your text here.
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/access_gmc_jws.html b/src/org.gluster.storage.management.console.help/html/tasks/access_gmc_jws.html
new file mode 100644
index 00000000..79c42427
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/access_gmc_jws.html
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Accessing the Gluster Management Console Using Java Web Start</h1>
+To start Gluster Management Console using Java web start, perform the following steps.
+<ol>
+<li>Open your web browser.
+<p>Make sure that:</p>
+<ul>
+<li>Your web browser has cookies and Javascript enabled.
+</ul>
+<li>Type the following URL in your web browser:
+<p><FONT FACE = "Courier">https://server-name:webserver-port/glustermg/</FONT>
+<p>Gluster Management Console login window is displayed.</p>
+<img src="../images/GMC_Login_Window.jpg" alt="Gluster Management Console"/>
+<li>Type the following default user name and password in the login window:
+<p>Username: gluster
+<p>Password: gluster
+
+
+
+</ol>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/add_brick.html b/src/org.gluster.storage.management.console.help/html/tasks/add_brick.html
new file mode 100644
index 00000000..de0dc6ea
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/add_brick.html
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Adding Bricks</h1>
+You can expand a volume, as required, by adding new bricks to an existing volume. To add a brick to an existing volume, perform the following steps.
+<p><b>Note: </b>You need to add at least one brick to a distributed
+volume, two (or multiples of two) bricks to replicated
+volumes, and four (or multiples of four) bricks to striped
+volumes when expanding your storage space.
+<p>To add a brick to an existing volume, perform the following
+steps.</p>
+<ol>
+ <li>Select the volume from the left pane, choose from the menu, toolbar, or right click and select <b>Add Bricks</b>.
+ <p>The <b>Add Brick</b> window is displayed.</p>
+ <p><img src="../images/GMC_1.0_Add_Brick.jpg" alt="Add Brick" /></p>
+ <li>Select the bricks that you want to add to the current volume.
+ Click <b>Add</b> to add a specific brick or Click <b>Add All</b> to add
+ all the available bricks.
+ <li>Click <b>Finish</b>. The <b>Add Brick(s)to Volume</b> window
+ appears indicating that the brick(s) is successfully added.
+ <p><img src="../images/GMC_1.0_Add_Brick_confirm.jpg"
+ alt="Add Brick to Volume Confirmation" /></p>
+ <li>Click <b>OK</b>.
+</ol>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/add_servers.html b/src/org.gluster.storage.management.console.help/html/tasks/add_servers.html
new file mode 100644
index 00000000..b554a1dc
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/add_servers.html
@@ -0,0 +1,31 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Main Topic</title>
+</head>
+
+<body>
+<h1>Adding Servers to a Cluster</h1>
+Gluster Management Console discovers servers across the environment. You
+can add servers manually or from the discovered list of servers to your
+cloud environment to expand the amount of available storage.
+<p>To add a server or a discovered server, perform the following
+steps:</p>
+<ol>
+ <li>Choose from the menu, toolbar, or right click on the
+ Discovered Server node and select <b>Add Server</b>.
+ <p>You can also choose multiple discovered servers or select <b>All</b> from the <b>Discovered Servers</b> tab and select <b>Add Sever</b>.</p>
+ <p><img src="../images/GMC_1.0_Discovered_Server_Add.jpg" alt="Add Servers" />
+ <li>The console displays the <b>Add Server(s) to Cluster</b>
+ window to indicate that the server was successfully added to the
+ cluster.
+ <p><img src="../images/GMC_1.0_Add_Server_Confirm.jpg" alt="Add Servers" /></p>
+ <li>Click <b>OK</b>.
+</ol>
+
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/configure_gmc.html b/src/org.gluster.storage.management.console.help/html/tasks/configure_gmc.html
new file mode 100644
index 00000000..3c385014
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/configure_gmc.html
@@ -0,0 +1,19 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Configuring the Gluster Management Console</h1>
+Gluster Managment Console enable you to manage you storage cluster. This
+section describes how you can configure the GMC with your cloud storage
+environment.
+
+<h2>Need more Info here</h2>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/create_cluster.html b/src/org.gluster.storage.management.console.help/html/tasks/create_cluster.html
new file mode 100644
index 00000000..a2e0dff8
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/create_cluster.html
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Create Cluster</title>
+</head>
+
+<body>
+<h1>Creating a Cluster</h1>
+ To create a cluster, perform the
+following steps.
+<ol>
+ <li>Launch the application and log in with a valid password.
+ <p><b>Select Cluster</b> window is displayed</p>
+ <p><img src="../images/GMC_Create_Cluster.jpg"
+ alt="Create Cluster" />
+ <li>Select <b>Create</b>. Type the name of the new cluster in the
+ <b>Cluster Name</b> field.
+ <li>Click <b>OK</b>. The Gluster Management Console window is displayed with the newly created cluster.
+</ol>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/create_volume.html b/src/org.gluster.storage.management.console.help/html/tasks/create_volume.html
new file mode 100644
index 00000000..814835ec
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/create_volume.html
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Creating Volumes</title>
+</head>
+
+<body>
+<h1>Creating a Volume</h1>
+You can create new volumes in your storage environment, as needed. When creating a new volume, you must specify the bricks that comprise the volume and specify whether the volume is to be distributed, replicated, or striped.
+<p>To create a volume, perform the following steps:
+<ol>
+ <li>Choose from the menu, toolbar, or right click and select the
+ Volume and select <b>Create Volume</b>.
+
+ <p>The <b>Create Volume</b> window is displayed.
+ <p><img src="../images/GMC_Create_Volume.jpg" alt="Create Volume" /></p>
+ <li>Type the name of the volume in the <b>Name</b> field.
+ <li>Select the type of the volume from the <b>Type</b> drop-down list.
+ You can choose the type as either <b>Distribute</b>, <b>Replicate</b>,
+ or <b>Stripe</b>.
+ <li>Bricks will be created on all the disks of the cluster when
+ you create a volume, by default. Click <b>Customize</b>, to select and add
+ specific bricks to your volume.
+ <li>Select the <b>Access Protocol</b> for the new volume by selecting <b>GlusterFS</b>, <b>NFS</b>, or <b>CIFS</b> checkbox.
+ <li>If you choose <b>CIFS</b>, specify the user name and password to use
+ from Windows clients to connect to the volume.
+ <p>You need to use user-based authentication for CIFS exports,
+ hence you must specify the user&rsquo;s who can access the volume as a
+ comma-separated list in the Users field.
+
+ <p>For more information about configuring CIFS, refer <a href="cifs_service.html">CIFS
+ Services</a>.<li>In the<b> Allow Access From</b> field, specify the volume access control as a comma-separated list of IP addresses or hostnames.
+ <p>You can use wildcards to specify ranges of addresses. Typing an asterisk (*) specifies all IP addresses or hostnames. You need to use IP-based authentication for Gluster Filesystem and NFS exports.</p>
+ <li>Select the <b>Start Volume</b> check box to automatically start the
+ volume once created.
+ <li>Click <b>Create Volume</b>. The console displays Create Volume window
+ to indicate that the volume was successfully created.
+ <p><img src="../images/GMC_Create_Volume_success.jpg"
+ alt="Volume Created Successfuly" /></p>
+ <li>Click <b>OK</b>.
+</ol>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/delete_brick.html b/src/org.gluster.storage.management.console.help/html/tasks/delete_brick.html
new file mode 100644
index 00000000..a5de99af
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/delete_brick.html
@@ -0,0 +1,40 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Remove Bricks</h1>
+You can shrink volumes, as needed, while the cluster is online and
+available. For example, you might need to remove a brick that has become
+inaccessible in a distributed volume due to hardware or network failure.
+<p><b>Note:</b> Data residing on the brick that you are removing
+will no longer be accessible; only the configuration information is
+removed - you can continue to access the data directly from the brick,
+as necessary.
+<p>To remove bricks from an existing volume, perform the following
+steps.</p>
+<ol>
+ <li>Choose from the menu, toolbar, or right click and select the
+ Volume and select <b>Remove Bricks</b>.
+ <li>If the volume is currently running, you are asked to confirm
+ before deleting a brick.
+ <p><img src="../images/GMC_1.0_Remove_Bricks.jpg" alt="Remove Brick" /></p>
+ <li>If you wish to remove the brick permanently, click <b>Remove
+ Bricks, Delete Data</b>.
+ <li>If you wish to keep the data but remove the brick, click <b>Remove
+ Bricks, Keep Data</b>.
+ <p>The <b>Remove Brick from Volume</b> window is displayed indicating that the
+ volume was deleted successfully.</p>
+ <p><img src="../images/GMC_1.0_Remove_Bricks_success.jpg" alt="Remove Brick" /></p>
+ <li>Click <b>OK</b>.
+</ol>
+
+
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/delete_volume.html b/src/org.gluster.storage.management.console.help/html/tasks/delete_volume.html
new file mode 100644
index 00000000..43d51231
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/delete_volume.html
@@ -0,0 +1,34 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Main Topic</title>
+</head>
+
+<body>
+<h1>Deleting Volumes</h1>
+You can delete a volume or multiple volumes from your storage environment, as required.
+<p>To delete a volume, perform the following steps.</p>
+<ol>
+<li>Choose from the menu, toolbar, or right click and select the Volume and select <b>Delete Volume</b>.
+<p>The <b>Delete Volume</b> window appears. You are asked to confirm before proceeding with the
+ volume deletion
+<p><img src="../images/GMC_Delete_Vol.jpg" alt="Delete Volume" /></p>
+<p>In case of multiple volumes, the Delete Volume window is displayed as shown below.</p>
+<p><img src="../images/GMC_Delete_Vol_multiple.jpg" alt="Delete Multiple Volumes" /></p>
+<li>If you wish to delete the volume permanently, click <b>Delete Volume and Data</b>.
+<li>If you wish to keep the data but delete the volume, click <b>Delete Volume, Keep Data</b>.
+<p>The brick(s) directories of the volume will be renamed to <FONT FACE = "Courier">&#60;olddirectory&#62;&#95;&#60;timestamp&#62;</FONT>.
+<li>The <b>Delete Volume</b> window is displayed indicating that the volume
+ was deleted successfully.
+<p><img src="../images/GMC_Delete_Vol_success.jpg" alt="Delete Volume" /></p>
+<p>In case of multiple volumes, the <b>Delete Volume</b> window is displayed as follows.</p>
+<p><img src="../images/GMC_Delete_Vol_multiple_success.jpg" alt="Delete Multiple Volumes" /></p>
+<li>Click <b>OK</b>.
+</ol>
+
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/deploy_gmc_dedicated_host.html b/src/org.gluster.storage.management.console.help/html/tasks/deploy_gmc_dedicated_host.html
new file mode 100644
index 00000000..688fa54d
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/deploy_gmc_dedicated_host.html
@@ -0,0 +1,36 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Deploying Gluster Management Console on a Dedicated Host</h1>
+You can display the server logs using the Management Console. The
+following table describes the information displayed when viewing logs:
+<table>
+
+ <tr>
+ <td>Date</td>
+ <td>The date of the log entry</td>
+ </tr>
+ <tr>
+ <td>Time</td>
+ <td>The time of the log entry</td>
+ </tr>
+ <tr>
+ <td>Type</td>
+ <td>The type of the log entry; either Normal or Error</td>
+ </tr>
+ <tr>
+ <td>Details</td>
+ <td>Details about the log entry</td>
+ </tr>
+</table>
+<p>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/display_log.html b/src/org.gluster.storage.management.console.help/html/tasks/display_log.html
new file mode 100644
index 00000000..4575fd18
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/display_log.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Main Topic</title>
+</head>
+
+<body>
+<h1>Displaying Logs Based on a Search Criteria</h1>
+You can download the log file of your resource based on search criteria such as warning,error, alerts, and so on.
+<p>To display log based on a search criteria, perform the following steps.</p>
+<ol>
+<li>Select the volume for which you want to display the log and click the <b>Volume Logs</b> tab.
+<li>In the <b>Scan Last</b> field, type the number of messages to scan.
+<li>Select All or select bricks from <b>Filter on Bricks</b> drop down list.
+<li>Select the <b>From date</b>, <b>Time</b>, and <b>To date</b> and click <b>Fetch Logs</b>.
+<p>The volume log messages for the selected criteria is displayed</p>
+<p><img src="../images/GMC_1.0_Display_log_criteria.jpg" alt="Volume Logs with Warning Search Criteria" /></p>
+<p>The logs fetched from the servers can be filtered further by typing a value in the <b>Filter String</b> field.
+</ol>
+</body>
+</html>
+ \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/download_log.html b/src/org.gluster.storage.management.console.help/html/tasks/download_log.html
new file mode 100644
index 00000000..4d36b0c4
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/download_log.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Main Topic</title>
+</head>
+
+<body>
+<h1>Downloading the Logs</h1>
+<p>You can download the server logs to your local machine to analyze and archive, as required.</p>
+<p>To download logs, perform the following steps.</p>
+<ol>
+<li>Select the volume for which you want to download the logs
+<li>From the Gluster menu or toolbar, select <b>Download Logs</b>.
+<li>A window is displayed allowing you to choose the download location on your machine.
+<li>Choose the location, and click <b>Save</b>.
+<p>The logs for the selected volume are downloaded to the location you specified in a <FONT FACE = "Courier">.tar.gz</FONT> file format.</p>
+</ol>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/initialize_disk.html b/src/org.gluster.storage.management.console.help/html/tasks/initialize_disk.html
new file mode 100644
index 00000000..d50e4a9f
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/initialize_disk.html
@@ -0,0 +1,25 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Initializing a Disk</h1>
+To initialize a disk, perform the following steps.
+<ol>
+<li>In the left pane of the console window, select the <b>Server</b>.
+<p>The <b>Disks</b> tab displays all the disks in the cluster.</p>
+<p><img src="../images/GMC_Disk_tab.jpg" alt="Disk Tab" /></p>
+<li>Select the disk to format and click <b>Initialize</b>.
+<p>The <b>Select Filesystem Type</b> window is displayed.
+<p><img src="../images/GMC_1.0_Select_FS_Type.jpg" alt="Select Filesystem Type"/></p>
+<li> Choose the File System type from the drop-down list. Click <b>OK</b>.
+<p>The selected disk begins formatting and displays the current status in the <b>Task</b> tab.
+</ol>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/logging.html b/src/org.gluster.storage.management.console.help/html/tasks/logging.html
new file mode 100644
index 00000000..e936e7ed
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/logging.html
@@ -0,0 +1,16 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Main Topic</title>
+</head>
+
+<body>
+<h1>Logging into the Management Console</h1>
+The GMC console is a GUI application accessible at
+http://localhost:8080/glustergmc -console when you start the server.
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/maintopic (3).html b/src/org.gluster.storage.management.console.help/html/tasks/maintopic (3).html
new file mode 100644
index 00000000..dccb80ab
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/maintopic (3).html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Main Topic</title>
+</head>
+
+<body>
+<h1>Main Topic</h1>
+Please enter your text here.
+</body>
+</html> \ No newline at end of file
diff --git a/src/com.gluster.storage.management.console.help/html/tasks/maintopic.html b/src/org.gluster.storage.management.console.help/html/tasks/maintopic.html
index a476078a..dccb80ab 100644
--- a/src/com.gluster.storage.management.console.help/html/tasks/maintopic.html
+++ b/src/org.gluster.storage.management.console.help/html/tasks/maintopic.html
@@ -1,13 +1,13 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Main Topic</title>
-</head>
-
-<body>
-<h1>Main Topic</h1>
-Please enter your text here.
-</body>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Main Topic</title>
+</head>
+
+<body>
+<h1>Main Topic</h1>
+Please enter your text here.
+</body>
</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/migrate_brick.html b/src/org.gluster.storage.management.console.help/html/tasks/migrate_brick.html
new file mode 100644
index 00000000..b5202f25
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/migrate_brick.html
@@ -0,0 +1,30 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Main Topic</title>
+</head>
+
+<body>
+<h1>Migrating Bricks</h1>
+<p>You can migrate the data from one brick to another, as needed, while the cluster is online and available.
+You can migrate bricks, that is, move data from one brick to another within your cluster. You might want to do this, for example, when upgrading a disk to another with a larger capacity.
+</p>
+<p>When migrating a disk, the Gluster Management Console allows you to select both the source and destination bricks. After initiating a disk migration, the <b>Task</b> tab displays the status of the migration. You can stop, pause, resume, or commit the migration by selecting the appropriate icon from the toolbar.</p>
+<p>To migrate volume data from one brick to another, perform the following steps.</p>
+<ol>
+<li>Select <b>Migrate Bricks</b> by choosing from the menu, toolbar, or right click when you select the volume.
+<p>The <b>Migrate Brick</b> window is displayed.</p>
+<p><img src="../images/GMC_Migrate_Brick.jpg" alt="Migrate Brick"/>
+<li>Select the source brick from the <b>From Brick</b> table.
+<li>Select the destination brick from the <b>To Brick</b> table.
+<li>Click <b>Finish</b>. The Brick Migration window appears indicating that the brick was successfully migrated.
+<p><img src="../images/GMC_Migrate_Brick_success.jpg" alt="Migrate Brick Success"/>
+<li>The <b>Tasks</b> tab displays the migration status (updated periodically).
+</ol>
+
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/rebalance_vol.html b/src/org.gluster.storage.management.console.help/html/tasks/rebalance_vol.html
new file mode 100644
index 00000000..63bf3050
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/rebalance_vol.html
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Rebalancing Volumes</h1>
+You can rebalance a volume, as required. After adding bricks, you need to rebalance the data among the servers. New directories created after expanding the volume will be evenly distributed automatically through this process.
+<p>To rebalance a volume, perform the following steps:</p>
+<ol>
+<li>Choose from the menu, toolbar, or right click to select the volume. Select <b>Rebalance Volume</b>.
+<p>The <b>Rebalance Volume</b> window is displayed indicating that the volume rebalance is successfully started.</p>
+<p><img src="../images/GMC_rebalance_vol.jpg" alt="Rebalance Volume" /></p>
+<li>Click <b>OK</b>.
+<li>Select the cluster from the left pane and choose the <b>Task</b> tab to check the volume rebalance status.
+<li>If you wish to stop rebalance of a volume, click <b>Stop</b> from the menu bar.
+</ol>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/register_cluster.html b/src/org.gluster.storage.management.console.help/html/tasks/register_cluster.html
new file mode 100644
index 00000000..ef1c66bd
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/register_cluster.html
@@ -0,0 +1,23 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Register Cluster</title>
+</head>
+
+<body>
+<h1>Registering a Cluster</h1>
+To register a cluster, perform the following steps.
+<ol>
+ <li>Launch the application and log in with a valid password.
+ <p><b>Select Cluster</b> window is displayed.</p>
+ <p><img src="../images/GMC_Register_Cluster.jpg" alt="Register Cluster" />
+ <li>Select <b>Register</b>. Type the name of the cluster and server name in the respective fields.
+ <p>Note: Ensure that you type an online server name in the <b>Server Name</b> field.</p>
+ <li>Click <b>OK</b>. The Gluster Management Console will register the cluster with the gateway; fetch all the management information such as servers, volume resources and display them in the console.
+</ol>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/remove_brick.html b/src/org.gluster.storage.management.console.help/html/tasks/remove_brick.html
new file mode 100644
index 00000000..fbbfb89e
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/remove_brick.html
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Removing Bricks</h1>
+You can shrink volumes, as needed, while the cluster is online and
+available. For example, you might need to remove a brick that has become
+inaccessible in a distributed volume due to hardware or network failure.
+
+<p>To remove bricks from an existing volume, perform the following
+steps.</p>
+<ol>
+ <li>Choose from the menu, toolbar, or right click and select the
+ Volume and select <b>Remove Bricks</b>.
+ <li>If the volume is currently running, you are asked to confirm
+ before deleting a brick.
+ <p><img src="../images/GMC_1.0_Remove_Bricks.jpg" alt="Remove Brick" /></p>
+ <li>If you wish to remove the brick permanently, click <b>Remove
+ Bricks, Delete Data</b>.
+ <li>If you wish to keep the data but remove the brick, click <b>Remove
+ Bricks, Keep Data</b>.
+ <p>The selected bricks directories will be renamed to <FONT FACE = "Courier">&#60;olddirectory&#62;&#95;&#60;timestamp&#62;</FONT>.
+ <li> The <b>Remove Brick from Volume</b> window is displayed indicating that the
+ volume was deleted successfully.
+ <p><img src="../images/GMC_1.0_Remove_Bricks_success.jpg" alt="Remove Brick" /></p>
+ <li>Click <b>OK</b>.
+</ol>
+
+
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/remove_server.html b/src/org.gluster.storage.management.console.help/html/tasks/remove_server.html
new file mode 100644
index 00000000..d432143d
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/remove_server.html
@@ -0,0 +1,27 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Removing Servers from a Cluster</h1>
+You can remove the server, as required.
+<p>To remove a server, perform the following steps:</p>
+<ol>
+<li>Choose from the menu, toolbar, or right click on the selected
+ server and select <b>Remove Server</b>.
+<p>You can also choose multiple servers or select <b>All</b> from the <b>Servers</b> tab and select <b>Remove Sever</b></p>
+<p><img src="../images/GMC_Server_Tab.jpg" alt="Remove Server Confirmation" />
+<p>You are asked to confirm before removing a server.
+<p><img src="../images/GMC_1.0_Remove_Server_1.jpg" alt="Remove Server Confirmation" />
+<li>Click <b>Yes</b>. The console displays the following window to indicate that the server was successfully removed.
+<p><img src="../images/GMC_1.0_Remove_Server.jpg" alt="Remove Server Confirmation" />
+<li>Click <b>OK</b>. The removed server is listed under <b>Discovered Server</b> node.
+</ol>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/select_cluster.html b/src/org.gluster.storage.management.console.help/html/tasks/select_cluster.html
new file mode 100644
index 00000000..a3dc9466
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/select_cluster.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic 2</title>
+</head>
+
+<body>
+<h1>Selecting a Cluster</h1>
+<p>The select cluster option is enabled after you create or register a cluster.</p>
+To select a cluster, perform the following steps.
+<ol>
+ <li>Launch the application and log in with a valid password.
+ <p><b>Select Cluster</b> window is displayed.</p>
+ <p><img src="../images/GMC_Select_Cluster.jpg" alt="Select Cluster" />
+ <li>Select the cluster name from the <b>Cluster
+ Name</b> drop down list.
+ <li>Click <b>OK</b>.The <b>Progress Information</b> window is displayed is displayed while the console fetches the management information for the selected cluster.
+ <p><img src="../images/GMC_Select_Cluster_progess.jpg" alt="Select Cluster Progress Information" />
+ <li>The <b>Gluster Management Console</b> window displays the selected cluster.
+</ol>
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/start_vol.html b/src/org.gluster.storage.management.console.help/html/tasks/start_vol.html
new file mode 100644
index 00000000..4b3e76d6
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/start_vol.html
@@ -0,0 +1,28 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Starting Volumes</h1>
+You can start a volume or multiple volumes that are currently stopped.
+<p>To start a volume, perform the following steps:</p>
+<ol>
+ <li>Choose from the menu, toolbar, or right click and select the
+ volume and select <b>Start Volume</b>.
+ <p>Alternatively, from the left pane you can choose the <b>Volumes</b> node and select the volumes that you need to start in <b>Volumes</b> tab or click <b>All</b> to select all volumes and select <b>Start Volume</b>.
+ <li>The <b>Start Volume</b> window appears indicating that the volume
+ (or volumes) were successfully started.
+ <p><img src="../images/GMC_start_vol_success.jpg" alt="Volume started Successfuly" /></p>
+ <p>If you have selected multiple volumes, the <b>Start Volume</b> window appears indicating the volumes were started successfully.</p>
+ <p><img src="../images/GMC_start_vol_Multiple.jpg" alt="Multiple Volumes Started Successfuly" /></p>
+ <li>Click <b>OK</b>.
+</ol>
+
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/starting_gmc.html b/src/org.gluster.storage.management.console.help/html/tasks/starting_gmc.html
new file mode 100644
index 00000000..933e72ed
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/starting_gmc.html
@@ -0,0 +1,15 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Starting the Gluster Management Gateway</h1>
+Please enter your text here.
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/stop_vol.html b/src/org.gluster.storage.management.console.help/html/tasks/stop_vol.html
new file mode 100644
index 00000000..c97d1d91
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/stop_vol.html
@@ -0,0 +1,26 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic 2</title>
+</head>
+
+<body>
+<h1>Stopping Volumes</h1>
+<p> To stop a volume, perform the following steps:</p>
+<ol>
+ <li>Choose from the menu, toolbar, or right click to select the volume. Select <b>Stop Volume</b>.
+ <p>You are asked to confirm before stopping a volume.</p>
+ <p><img src="../images/Stop_Vol.jpg" alt="Stop Volume"/></p>
+ <li>Click <b>Yes</b> to stop the Volume.
+ <p>The <b>Stop Volume</b> window appears indicating that the volume was successfully stopped.</p>
+ <p><img src="../images/Stop_Vol_confirm.jpg" alt="Stop Volume"/></p>
+ <p>If you have selected multiple volumes, the <b>Stop Volume</b> window appears indicating the volumes were stopped successfully.</p>
+ <p><img src="../images/Stop_Vol_multiple_confirm.jpg" alt="Stop Multiple Volumes"/></p>
+ <li> Click <b>OK</b>.
+</ol>
+</body>
+</html> \ No newline at end of file
diff --git a/src/com.gluster.storage.management.console.help/html/gettingstarted/subtopic.html b/src/org.gluster.storage.management.console.help/html/tasks/subtopic.html
index 8a61c501..6dccc35e 100644
--- a/src/com.gluster.storage.management.console.help/html/gettingstarted/subtopic.html
+++ b/src/org.gluster.storage.management.console.help/html/tasks/subtopic.html
@@ -1,13 +1,13 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Sub Topic</title>
-</head>
-
-<body>
-<h1>Sub Topic</h1>
-Please enter your text here.
-</body>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Sub Topic</h1>
+Please enter your text here.
+</body>
</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/subtopic2 (3).html b/src/org.gluster.storage.management.console.help/html/tasks/subtopic2 (3).html
new file mode 100644
index 00000000..5ece5749
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/subtopic2 (3).html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Sub Topic 2</title>
+</head>
+
+<body>
+<h1>Sub Topic 2</h1>
+Please enter your text here.
+</body>
+</html> \ No newline at end of file
diff --git a/src/com.gluster.storage.management.console.help/html/tasks/subtopic2.html b/src/org.gluster.storage.management.console.help/html/tasks/subtopic2.html
index 86bcbf9c..5ece5749 100644
--- a/src/com.gluster.storage.management.console.help/html/tasks/subtopic2.html
+++ b/src/org.gluster.storage.management.console.help/html/tasks/subtopic2.html
@@ -1,13 +1,13 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Sub Topic 2</title>
-</head>
-
-<body>
-<h1>Sub Topic 2</h1>
-Please enter your text here.
-</body>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Sub Topic 2</title>
+</head>
+
+<body>
+<h1>Sub Topic 2</h1>
+Please enter your text here.
+</body>
</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/subtopic3.html b/src/org.gluster.storage.management.console.help/html/tasks/subtopic3.html
new file mode 100644
index 00000000..6dccc35e
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/subtopic3.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Sub Topic</h1>
+Please enter your text here.
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/subtopic4.html b/src/org.gluster.storage.management.console.help/html/tasks/subtopic4.html
new file mode 100644
index 00000000..6dccc35e
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/subtopic4.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Sub Topic</h1>
+Please enter your text here.
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/subtopic5.html b/src/org.gluster.storage.management.console.help/html/tasks/subtopic5.html
new file mode 100644
index 00000000..6dccc35e
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/subtopic5.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Sub Topic</h1>
+Please enter your text here.
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/subtopic6.html b/src/org.gluster.storage.management.console.help/html/tasks/subtopic6.html
new file mode 100644
index 00000000..6dccc35e
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/subtopic6.html
@@ -0,0 +1,13 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Sub Topic</title>
+</head>
+
+<body>
+<h1>Sub Topic</h1>
+Please enter your text here.
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/tune_vol_opt.html b/src/org.gluster.storage.management.console.help/html/tasks/tune_vol_opt.html
new file mode 100644
index 00000000..b9dc0e72
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/tune_vol_opt.html
@@ -0,0 +1,24 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+<link rel="stylesheet" href="../css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Sub Topic 2</title>
+</head>
+
+<body>
+<h1>Tuning Volume Options</h1>
+<p>To tune volume options, perform the following steps.</p>
+<ol>
+ <li>Select the volume for which you need to tune volume options.
+ <li>Click the <b>Volume Options</b> tab.
+ <p><img src="../images/GMC_Volume_Options.jpg" alt="Volume Options"/></p>
+ <li>Click <b>Add</b>. Choose the volume option from <b>Option Key</b> drop down list and type the value in the <b>Option Value</b> field.
+ <p>You can edit the value of an existing option by selecting the <b>Option Value</b> field.</p>
+</ol>
+<p>To read more about the volume options, refer to the <A HREF="http://www.gluster.com/community/documentation/index.php/Gluster_3.2:_Tuning_Volume_Options" TARGET="_blank">Gluster
+Filesystem Administration Guide, Section 8.1 Tuning Volume Options</A>.
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/tasks/volumes.html b/src/org.gluster.storage.management.console.help/html/tasks/volumes.html
new file mode 100644
index 00000000..84532085
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/tasks/volumes.html
@@ -0,0 +1,38 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+ <title>Main Topic</title>
+</head>
+
+<body>
+<h1>Creating Volumes to Simplify Administration</h1>
+A volume is a logical collection of bricks where each brick is an export directory on a server in the trusted storage pool. Most of the gluster management operations happen on the volume.
+
+You can create new volumes in your storage environment, as needed. When creating a new volume, you must specify the bricks that comprise the volume.
+<p><b>Assigning Volume Names</b></p>
+
+<p>You can name your volumes anything you choose, subject to a few restrictions:
+<ul>
+<li>Volume names can be up to ?? characters in length. The maximum length for volume names is 32 characters.
+ <p>It is best to assign volume names that indicate the type of data they contain, and to use similar names for volumes with similar contents. It is also helpful if the volume name is similar to (or at least has elements in common with) the name of the directory at which it is mounted. Understanding the pattern then enables you accurately to guess what a volume contains and where it is mounted.</p>
+</ul>
+<p><b>Types of Volumes</b></p>
+<p>Volumes of the following types can be created in your storage environment:</p>
+<ul>
+<li>Plain Distributed - Distributes files throughout the bricks in the volume.
+<li>Distributed Striped - Distributes data across striped bricks in the volume.
+<li>Distributed Mirror - Creates a mirrored volume with all files replicated. <p><b>Note:</b> You must have at least two servers to activate this feature.</p></ul>
+<p>This section describes the various talks enabling you to manage your volumes on the storage cluster:
+<ul>
+<li>Create a new volume (featuring a single global namespace)
+<li>Start a volume that is currently stopped
+<li>Stop a volume that is currently running
+<li>Delete a volume from your storage environment
+
+</ul>
+
+
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/html/toc.html b/src/org.gluster.storage.management.console.help/html/toc.html
new file mode 100644
index 00000000..83401387
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/html/toc.html
@@ -0,0 +1,15 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
+
+<html>
+<link rel="stylesheet" href="css/builder-gluster/style.css"
+type="text/css" media="screen" />
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<title>Table of Contents</title>
+</head>
+
+<body>
+<h1>Table of Contents</h1>
+Please enter your text here.
+</body>
+</html> \ No newline at end of file
diff --git a/src/org.gluster.storage.management.console.help/plugin.xml b/src/org.gluster.storage.management.console.help/plugin.xml
new file mode 100644
index 00000000..7bee4143
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/plugin.xml
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<!--
+ Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
+ This file is part of Gluster Management Console.
+
+ Gluster Management Console is free software; you can redistribute
+ it and/or modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 3 of the License, or (at your option) any later version.
+
+ Gluster Management Console is distributed in the hope that it
+ will be useful, but WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see
+ <http://www.gnu.org/licenses/>.
+ -->
+
+<plugin>
+
+ <extension
+ point="org.eclipse.help.toc">
+ <toc
+ file="toc.xml"
+ primary="true">
+ </toc>
+ <toc
+ file="tocconcepts.xml">
+ </toc>
+ <toc
+ file="tocgettingstarted.xml">
+ </toc>
+ <toc
+ file="tocreference.xml">
+ </toc>
+ <toc
+ file="toctasks.xml"
+ primary="true">
+ </toc>
+ </extension>
+
+</plugin>
diff --git a/src/org.gluster.storage.management.console.help/toc.xml b/src/org.gluster.storage.management.console.help/toc.xml
new file mode 100644
index 00000000..29f2b401
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/toc.xml
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+<!--
+ Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
+ This file is part of Gluster Management Console.
+
+ Gluster Management Console is free software; you can redistribute
+ it and/or modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 3 of the License, or (at your option) any later version.
+
+ Gluster Management Console is distributed in the hope that it
+ will be useful, but WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see
+ <http://www.gnu.org/licenses/>.
+ -->
+
+<toc label="Gluster Management Console - Help" topic="html/toc.html">
+ <topic label="Concepts">
+ <anchor id="concepts"/>
+ </topic>
+ <topic label="Getting Started">
+ <anchor id="gettingstarted"/>
+ </topic>
+ <topic label="Tasks">
+ <anchor id="tasks"/>
+ </topic>
+</toc>
diff --git a/src/org.gluster.storage.management.console.help/tocconcepts.xml b/src/org.gluster.storage.management.console.help/tocconcepts.xml
new file mode 100644
index 00000000..cfb51e56
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/tocconcepts.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+<!--
+ Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
+ This file is part of Gluster Management Console.
+
+ Gluster Management Console is free software; you can redistribute
+ it and/or modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 3 of the License, or (at your option) any later version.
+
+ Gluster Management Console is distributed in the hope that it
+ will be useful, but WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see
+ <http://www.gnu.org/licenses/>.
+ -->
+
+<toc label="Concepts" link_to="toc.xml#concepts">
+ <topic label="Gluster FileSystem" href="html/concepts/gluster_fs.html">
+ <topic label="Common Cluster Terminologies" href="html/concepts/common_terms.html" />
+ </topic>
+ <topic href="html/concepts/about_gmg.html" label="About Gluster Management Gateway">
+ </topic>
+ <topic label="About Gluster Management Console" href="html/concepts/about_gmc.html">
+ </topic>
+</toc>
diff --git a/src/org.gluster.storage.management.console.help/tocgettingstarted.xml b/src/org.gluster.storage.management.console.help/tocgettingstarted.xml
new file mode 100644
index 00000000..afeae4c8
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/tocgettingstarted.xml
@@ -0,0 +1,62 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+<!--
+ Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
+ This file is part of Gluster Management Console.
+
+ Gluster Management Console is free software; you can redistribute
+ it and/or modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 3 of the License, or (at your option) any later version.
+
+ Gluster Management Console is distributed in the hope that it
+ will be useful, but WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see
+ <http://www.gnu.org/licenses/>.
+ -->
+
+<toc label="Getting Started" link_to="toc.xml#gettingstarted">
+ <topic label="Setting up the Gluster Management Console">
+ <topic href="html/gettingstarted/check_req_client.html" label="Checking the Minimum Requirements on the Client Machine">
+ </topic>
+ <topic href="html/gettingstarted/access_gmc_jws.html" label="Accessing the Gluster Management Console Using Java Web Start">
+ </topic>
+ </topic>
+ <topic href="html/gettingstarted/explore_gmc.html" label="Exploring Gluster Management Console">
+ <topic href="html/gettingstarted/gmc_toolbar.html" label="Gluster Management Console Toolbar">
+ </topic>
+ <topic href="html/gettingstarted/tasks.html" label="Tasks">
+ </topic>
+ <topic href="html/gettingstarted/gmc_terminal_window.html" label="Terminal">
+ </topic>
+ <topic href="html/gettingstarted/monitor_resources.html" label="Monitoring Cluster Resources">
+ </topic>
+ <topic href="html/gettingstarted/alerts.html" label="Alerts">
+ </topic>
+ <topic href="html/gettingstarted/setting_preferences.html" label="Preferences">
+ </topic>
+ <topic href="html/gettingstarted/security_keys.html" label="Security Keys">
+ </topic>
+ <topic href="html/gettingstarted/resetting_pwd.html" label="Resetting the Password">
+ </topic>
+ <topic href="html/gettingstarted/cifs_service.html" label="CIFS Services">
+ </topic>
+ </topic>
+ <topic href="html/gettingstarted/manage_cluster.html" label="Managing Clusters">
+ </topic>
+ <topic href="html/gettingstarted/manage_servers.html" label="Managing Servers">
+ </topic>
+ <topic href="html/gettingstarted/manage_volumes.html" label="Managing Volumes">
+ <topic href="html/gettingstarted/manage_bricks.html" label="Managing Bricks">
+ </topic>
+ </topic>
+ <topic href="html/gettingstarted/manage_logs.html" label="Managing Logs">
+ </topic>
+</toc>
+
+
+
diff --git a/src/org.gluster.storage.management.console.help/tocreference.xml b/src/org.gluster.storage.management.console.help/tocreference.xml
new file mode 100644
index 00000000..01363023
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/tocreference.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+<!--
+ Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
+ This file is part of Gluster Management Console.
+
+ Gluster Management Console is free software; you can redistribute
+ it and/or modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 3 of the License, or (at your option) any later version.
+
+ Gluster Management Console is distributed in the hope that it
+ will be useful, but WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see
+ <http://www.gnu.org/licenses/>.
+ -->
+
+<toc label="Reference" link_to="toc.xml#reference">
+ <topic label="Main Topic" href="html/reference/maintopic.html">
+ <topic label="Sub Topic" href="html/reference/subtopic.html" />
+ </topic>
+ <topic label="Main Topic 2">
+ <topic label="Sub Topic 2" href="html/reference/subtopic2.html" />
+ </topic>
+</toc>
diff --git a/src/org.gluster.storage.management.console.help/toctasks.xml b/src/org.gluster.storage.management.console.help/toctasks.xml
new file mode 100644
index 00000000..3ae97388
--- /dev/null
+++ b/src/org.gluster.storage.management.console.help/toctasks.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?NLS TYPE="org.eclipse.help.toc"?>
+<!--
+ Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
+ This file is part of Gluster Management Console.
+
+ Gluster Management Console is free software; you can redistribute
+ it and/or modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 3 of the License, or (at your option) any later version.
+
+ Gluster Management Console is distributed in the hope that it
+ will be useful, but WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see
+ <http://www.gnu.org/licenses/>.
+ -->
+
+<toc label="Tasks" link_to="toc.xml#tasks">
+ <topic label="Cluster">
+ <topic href="html/tasks/create_cluster.html" label="Creating a Cluster">
+ </topic>
+ <topic href="html/tasks/select_cluster.html" label="Selecting a Cluster">
+ </topic>
+ <topic href="html/tasks/register_cluster.html" label="Registering a Cluster">
+ </topic>
+ </topic>
+ <topic label="Server">
+ <topic label="Adding Servers to a Cluster" href="html/tasks/add_servers.html" />
+ <topic href="html/tasks/remove_server.html" label="Removing Servers from a Cluster">
+ </topic>
+ <topic href="html/tasks/initialize_disk.html" label="Initializing a Disk"/>
+ </topic>
+ <topic label="Volume">
+ <topic label="Creating a Volume" href="html/tasks/create_volume.html" />
+ <topic label="Starting Volumes" href="html/tasks/start_vol.html" />
+ <topic href="html/tasks/tune_vol_opt.html" label="Tuning Volume Options">
+ </topic>
+ <topic href="html/tasks/rebalance_vol.html" label="Rebalancing Volumes">
+ </topic>
+ <topic href="html/tasks/stop_vol.html" label="Stopping Volumes">
+ </topic>
+ <topic href="html/tasks/delete_volume.html" label="Deleting Volumes">
+ </topic>
+ <topic label="Adding Bricks" href="html/tasks/add_brick.html" />
+ <topic href="html/tasks/remove_brick.html" label="Removing Bricks">
+ </topic>
+ <topic href="html/tasks/migrate_brick.html" label="Migrating Bricks">
+ </topic>
+ </topic>
+ <topic label="Logs">
+ <topic label="Displaying a Log Based on a Search Criteria" href="html/tasks/display_log.html" />
+ <topic label="Downloading Logs" href="html/tasks/download_log.html" />
+ </topic>
+ </toc>
diff --git a/src/com.gluster.storage.management.gui/.classpath b/src/org.gluster.storage.management.console/.classpath
index ad32c83a..ad32c83a 100644
--- a/src/com.gluster.storage.management.gui/.classpath
+++ b/src/org.gluster.storage.management.console/.classpath
diff --git a/src/com.gluster.storage.management.client/.project b/src/org.gluster.storage.management.console/.project
index 647c8a91..dff371c7 100644
--- a/src/com.gluster.storage.management.client/.project
+++ b/src/org.gluster.storage.management.console/.project
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
- <name>com.gluster.storage.management.client</name>
+ <name>org.gluster.storage.management.console</name>
<comment></comment>
<projects>
</projects>
@@ -20,9 +20,15 @@
<arguments>
</arguments>
</buildCommand>
+ <buildCommand>
+ <name>com.instantiations.assist.eclipse.coverage.instrumentationBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>com.instantiations.assist.eclipse.coverage.codeCoverageNature</nature>
</natures>
</projectDescription>
diff --git a/src/com.gluster.storage.management.gui/.settings/org.eclipse.jdt.core.prefs b/src/org.gluster.storage.management.console/.settings/org.eclipse.jdt.core.prefs
index abf7cf5a..abf7cf5a 100644
--- a/src/com.gluster.storage.management.gui/.settings/org.eclipse.jdt.core.prefs
+++ b/src/org.gluster.storage.management.console/.settings/org.eclipse.jdt.core.prefs
diff --git a/src/com.gluster.storage.management.gui/META-INF/MANIFEST.MF b/src/org.gluster.storage.management.console/META-INF/MANIFEST.MF
index 55029ee6..fb2576f9 100644
--- a/src/com.gluster.storage.management.gui/META-INF/MANIFEST.MF
+++ b/src/org.gluster.storage.management.console/META-INF/MANIFEST.MF
@@ -1,16 +1,16 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: glustersp-gui
-Bundle-SymbolicName: com.gluster.storage.management.gui;singleton:=true
-Bundle-Version: 1.0.0
-Bundle-Activator: com.gluster.storage.management.gui.Activator
+Bundle-SymbolicName: org.gluster.storage.management.console;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.gluster.storage.management.console.Activator
Bundle-Vendor: Gluster
Require-Bundle: org.eclipse.ui;bundle-version="3.6.1",
org.eclipse.core.runtime;bundle-version="3.6.0",
org.eclipse.ui.forms;bundle-version="3.5.2",
org.eclipse.rcp;bundle-version="3.6.0",
- com.gluster.storage.management.core;bundle-version="1.0.0",
- com.gluster.storage.management.client;bundle-version="1.0.0",
+ org.gluster.storage.management.core;bundle-version="1.0.0",
+ org.gluster.storage.management.client;bundle-version="1.0.0",
org.eclipse.core.databinding;bundle-version="1.3.100",
org.eclipse.jface.databinding;bundle-version="1.4.0",
org.eclipse.core.databinding.property;bundle-version="1.3.0",
@@ -23,7 +23,11 @@ Require-Bundle: org.eclipse.ui;bundle-version="3.6.1",
com.richclientgui.rcptoolbox;bundle-version="1.0.5",
org.eclipse.core.resources,
org.apache.commons.lang;bundle-version="2.3.0",
- com.gluster.storage.management.console.help;bundle-version="1.0.0"
+ org.gluster.storage.management.console.help;bundle-version="1.0.0",
+ org.eclipse.tm.terminal;bundle-version="3.1.0",
+ org.eclipse.tm.terminal.ssh;bundle-version="2.1.0",
+ org.eclipse.tm.terminal.view;bundle-version="2.2.0"
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ActivationPolicy: lazy
Bundle-ClassPath: .
+Bundle-Localization: plugin
diff --git a/src/org.gluster.storage.management.console/buckminster.cspex b/src/org.gluster.storage.management.console/buckminster.cspex
new file mode 100644
index 00000000..88e2c953
--- /dev/null
+++ b/src/org.gluster.storage.management.console/buckminster.cspex
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
+ This file is part of Gluster Management Console.
+
+ Gluster Management Console is free software; you can redistribute
+ it and/or modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 3 of the License, or (at your option) any later version.
+
+ Gluster Management Console is distributed in the hope that it
+ will be useful, but WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see
+ <http://www.gnu.org/licenses/>.
+-->
+<cspecExtension xmlns:com="http://www.eclipse.org/buckminster/Common-1.0"
+ xmlns="http://www.eclipse.org/buckminster/CSpec-1.0">
+ <actions>
+ <public name="update.version" actor="ant">
+ <actorProperties>
+ <property key="buildFile" value="build/glustermc.ant" />
+ <property key="targets" value="update.version" />
+ </actorProperties>
+ </public>
+ </actions>
+</cspecExtension>
diff --git a/src/org.gluster.storage.management.console/build.properties b/src/org.gluster.storage.management.console/build.properties
new file mode 100644
index 00000000..b17cfb6d
--- /dev/null
+++ b/src/org.gluster.storage.management.console/build.properties
@@ -0,0 +1,32 @@
+###############################################################################
+# Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
+# This file is part of Gluster Management Console.
+#
+# Gluster Management Console is free software; you can redistribute
+# it and/or modify it under the terms of the GNU General Public
+# License as published by the Free Software Foundation; either
+# version 3 of the License, or (at your option) any later version.
+#
+# Gluster Management Console is distributed in the hope that it
+# will be useful, but WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+# PURPOSE. See the GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program. If not, see
+# <http://www.gnu.org/licenses/>.
+###############################################################################
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ icons/,\
+ splash.bmp,\
+ images/,\
+ plugin.xml,\
+ preferences.ini,\
+ plugin.properties
+src.includes = icons/,\
+ splash.bmp,\
+ images/,\
+ preferences.ini
diff --git a/src/org.gluster.storage.management.console/build/glustermc.ant b/src/org.gluster.storage.management.console/build/glustermc.ant
new file mode 100644
index 00000000..2626aec7
--- /dev/null
+++ b/src/org.gluster.storage.management.console/build/glustermc.ant
@@ -0,0 +1,25 @@
+<!--
+ Copyright (c) 2006-2011 Gluster, Inc. <http://www.gluster.com>
+ This file is part of Gluster Management Console.
+
+ Gluster Management Console is free software; you can redistribute
+ it and/or modify it under the terms of the GNU General Public
+ License as published by the Free Software Foundation; either
+ version 3 of the License, or (at your option) any later version.
+
+ Gluster Management Console is distributed in the hope that it
+ will be useful, but WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ PURPOSE. See the GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see
+ <http://www.gnu.org/licenses/>.
+-->
+<project>
+ <property name="plugin.properties.file" value="${basedir}/plugin.properties" />
+
+ <target name='update.version'>
+ <replace file="${plugin.properties.file}" token="@VERSION@" value="${product.version}" />
+ </target>
+</project>
diff --git a/src/org.gluster.storage.management.console/icons/tango/16x16/arrow-down.png b/src/org.gluster.storage.management.console/icons/tango/16x16/arrow-down.png
new file mode 100644
index 00000000..3dd7fccd
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/arrow-down.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/16x16/arrow-up.png b/src/org.gluster.storage.management.console/icons/tango/16x16/arrow-up.png
new file mode 100644
index 00000000..fa9a7d71
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/arrow-up.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/bricks.png b/src/org.gluster.storage.management.console/icons/tango/16x16/bricks.png
index ed381bd5..ed381bd5 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/bricks.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/bricks.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/close_task.png b/src/org.gluster.storage.management.console/icons/tango/16x16/close_task.png
index 933272b4..933272b4 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/close_task.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/close_task.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/cluster.png b/src/org.gluster.storage.management.console/icons/tango/16x16/cluster.png
index c9348a21..c9348a21 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/cluster.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/cluster.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/disk-available.png b/src/org.gluster.storage.management.console/icons/tango/16x16/disk-available.png
index c3c5f3b1..c3c5f3b1 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/disk-available.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/disk-available.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/disk-error.png b/src/org.gluster.storage.management.console/icons/tango/16x16/disk-error.png
index 314fa2f3..314fa2f3 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/disk-error.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/disk-error.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/disk-initialisation.png b/src/org.gluster.storage.management.console/icons/tango/16x16/disk-initialisation.png
index 71d0107c..71d0107c 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/disk-initialisation.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/disk-initialisation.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/disk-inuse.png b/src/org.gluster.storage.management.console/icons/tango/16x16/disk-inuse.png
index e4954c6a..e4954c6a 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/disk-inuse.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/disk-inuse.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/disk-uninitialized.png b/src/org.gluster.storage.management.console/icons/tango/16x16/disk-uninitialized.png
index ba3b48a4..ba3b48a4 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/disk-uninitialized.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/disk-uninitialized.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/disk.png b/src/org.gluster.storage.management.console/icons/tango/16x16/disk.png
index b74fb20e..b74fb20e 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/disk.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/disk.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/16x16/error.png b/src/org.gluster.storage.management.console/icons/tango/16x16/error.png
new file mode 100644
index 00000000..a9e4ff39
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/error.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/gluster_icon.png b/src/org.gluster.storage.management.console/icons/tango/16x16/gluster_icon.png
index f92e472d..f92e472d 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/gluster_icon.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/gluster_icon.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/help.png b/src/org.gluster.storage.management.console/icons/tango/16x16/help.png
index f25fc3fb..f25fc3fb 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/help.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/help.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/logs.png b/src/org.gluster.storage.management.console/icons/tango/16x16/logs.png
index 124f322f..124f322f 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/logs.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/logs.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/16x16/offline-brick.png b/src/org.gluster.storage.management.console/icons/tango/16x16/offline-brick.png
new file mode 100644
index 00000000..48812db8
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/offline-brick.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/16x16/online-brick.png b/src/org.gluster.storage.management.console/icons/tango/16x16/online-brick.png
new file mode 100644
index 00000000..da895838
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/online-brick.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/16x16/pause.png b/src/org.gluster.storage.management.console/icons/tango/16x16/pause.png
new file mode 100644
index 00000000..04923149
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/pause.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/question.png b/src/org.gluster.storage.management.console/icons/tango/16x16/question.png
index 30a47032..30a47032 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/question.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/question.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/16x16/running-task.png b/src/org.gluster.storage.management.console/icons/tango/16x16/running-task.png
new file mode 100644
index 00000000..ad679b8b
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/running-task.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/server.png b/src/org.gluster.storage.management.console/icons/tango/16x16/server.png
index d0b397be..d0b397be 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/server.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/server.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/servers.png b/src/org.gluster.storage.management.console/icons/tango/16x16/servers.png
index 0efee57e..0efee57e 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/servers.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/servers.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/settings.png b/src/org.gluster.storage.management.console/icons/tango/16x16/settings.png
index d90ab661..d90ab661 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/settings.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/settings.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/16x16/start-offline-bricks-disabled.png b/src/org.gluster.storage.management.console/icons/tango/16x16/start-offline-bricks-disabled.png
new file mode 100644
index 00000000..60d20d65
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/start-offline-bricks-disabled.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/16x16/start-offline-bricks.png b/src/org.gluster.storage.management.console/icons/tango/16x16/start-offline-bricks.png
new file mode 100644
index 00000000..fcd22fa5
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/start-offline-bricks.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/16x16/start.png b/src/org.gluster.storage.management.console/icons/tango/16x16/start.png
new file mode 100644
index 00000000..d4413259
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/start.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/status-offline.png b/src/org.gluster.storage.management.console/icons/tango/16x16/status-offline.png
index dbd0204e..dbd0204e 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/status-offline.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/status-offline.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/status-online.png b/src/org.gluster.storage.management.console/icons/tango/16x16/status-online.png
index a31ba599..a31ba599 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/status-online.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/status-online.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/16x16/stop.png b/src/org.gluster.storage.management.console/icons/tango/16x16/stop.png
new file mode 100644
index 00000000..8f591c63
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/stop.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/16x16/task-completed.png b/src/org.gluster.storage.management.console/icons/tango/16x16/task-completed.png
new file mode 100644
index 00000000..5de2361a
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/task-completed.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/16x16/task-error.png b/src/org.gluster.storage.management.console/icons/tango/16x16/task-error.png
new file mode 100644
index 00000000..1fc66ad2
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/task-error.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/16x16/utilities-terminal.png b/src/org.gluster.storage.management.console/icons/tango/16x16/utilities-terminal.png
new file mode 100644
index 00000000..c5b797a7
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/utilities-terminal.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/view-refresh.png b/src/org.gluster.storage.management.console/icons/tango/16x16/view-refresh.png
index 3fd71d6e..3fd71d6e 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/view-refresh.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/view-refresh.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/volume-create.png b/src/org.gluster.storage.management.console/icons/tango/16x16/volume-create.png
index 628f4d50..628f4d50 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/volume-create.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/volume-create.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/volume-options.png b/src/org.gluster.storage.management.console/icons/tango/16x16/volume-options.png
index d7665cb7..d7665cb7 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/volume-options.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/volume-options.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/volume.png b/src/org.gluster.storage.management.console/icons/tango/16x16/volume.png
index 41376404..41376404 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/volume.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/volume.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/16x16/volumes.png b/src/org.gluster.storage.management.console/icons/tango/16x16/volumes.png
index 18c2ad8b..18c2ad8b 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/16x16/volumes.png
+++ b/src/org.gluster.storage.management.console/icons/tango/16x16/volumes.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/22x22/disk-initialisation.png b/src/org.gluster.storage.management.console/icons/tango/22x22/disk-initialisation.png
index 73ecf4c0..73ecf4c0 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/22x22/disk-initialisation.png
+++ b/src/org.gluster.storage.management.console/icons/tango/22x22/disk-initialisation.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/22x22/high-memory-usage.png b/src/org.gluster.storage.management.console/icons/tango/22x22/high-memory-usage.png
index b7c166ab..b7c166ab 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/22x22/high-memory-usage.png
+++ b/src/org.gluster.storage.management.console/icons/tango/22x22/high-memory-usage.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/22x22/low-diskspace.png b/src/org.gluster.storage.management.console/icons/tango/22x22/low-diskspace.png
index 983012ad..983012ad 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/22x22/low-diskspace.png
+++ b/src/org.gluster.storage.management.console/icons/tango/22x22/low-diskspace.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/22x22/replace-brick.png b/src/org.gluster.storage.management.console/icons/tango/22x22/migrate-brick.png
index 48a66c8c..48a66c8c 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/22x22/replace-brick.png
+++ b/src/org.gluster.storage.management.console/icons/tango/22x22/migrate-brick.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/22x22/offline-brick.png b/src/org.gluster.storage.management.console/icons/tango/22x22/offline-brick.png
new file mode 100644
index 00000000..3a627598
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/22x22/offline-brick.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/22x22/offline-server.png b/src/org.gluster.storage.management.console/icons/tango/22x22/offline-server.png
index 5900c724..5900c724 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/22x22/offline-server.png
+++ b/src/org.gluster.storage.management.console/icons/tango/22x22/offline-server.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/22x22/offline-volume.png b/src/org.gluster.storage.management.console/icons/tango/22x22/offline-volume.png
new file mode 100644
index 00000000..fa3a64f9
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/22x22/offline-volume.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/22x22/server-warning.png b/src/org.gluster.storage.management.console/icons/tango/22x22/server-warning.png
index 9e2da0bc..9e2da0bc 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/22x22/server-warning.png
+++ b/src/org.gluster.storage.management.console/icons/tango/22x22/server-warning.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/22x22/start-offline-bricks-disabled.png b/src/org.gluster.storage.management.console/icons/tango/22x22/start-offline-bricks-disabled.png
new file mode 100644
index 00000000..69fb53de
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/22x22/start-offline-bricks-disabled.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/22x22/start-offline-bricks.png b/src/org.gluster.storage.management.console/icons/tango/22x22/start-offline-bricks.png
new file mode 100644
index 00000000..8d0e2878
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/22x22/start-offline-bricks.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/22x22/system-search.png b/src/org.gluster.storage.management.console/icons/tango/22x22/system-search.png
index 4e522b23..4e522b23 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/22x22/system-search.png
+++ b/src/org.gluster.storage.management.console/icons/tango/22x22/system-search.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/22x22/utilities-terminal.png b/src/org.gluster.storage.management.console/icons/tango/22x22/utilities-terminal.png
new file mode 100644
index 00000000..ceb0fb99
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/22x22/utilities-terminal.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/22x22/volume-rebalance.png b/src/org.gluster.storage.management.console/icons/tango/22x22/volume-rebalance.png
index 4539822c..4539822c 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/22x22/volume-rebalance.png
+++ b/src/org.gluster.storage.management.console/icons/tango/22x22/volume-rebalance.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/add-brick-disabled.png b/src/org.gluster.storage.management.console/icons/tango/32x32/add-brick-disabled.png
new file mode 100644
index 00000000..925c8b44
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/add-brick-disabled.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/add-brick.png b/src/org.gluster.storage.management.console/icons/tango/32x32/add-brick.png
new file mode 100644
index 00000000..81304ab4
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/add-brick.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/add-server.png b/src/org.gluster.storage.management.console/icons/tango/32x32/add-server.png
index 29a512f2..29a512f2 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/add-server.png
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/add-server.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/clear-task-disabled.png b/src/org.gluster.storage.management.console/icons/tango/32x32/clear-task-disabled.png
new file mode 100644
index 00000000..af8884e3
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/clear-task-disabled.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/clear-task.png b/src/org.gluster.storage.management.console/icons/tango/32x32/clear-task.png
index db17be6b..db17be6b 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/clear-task.png
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/clear-task.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/commit-task-disabled.png b/src/org.gluster.storage.management.console/icons/tango/32x32/commit-task-disabled.png
new file mode 100644
index 00000000..89ccbd4d
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/commit-task-disabled.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/commit-task.png b/src/org.gluster.storage.management.console/icons/tango/32x32/commit-task.png
index ff0c9452..ff0c9452 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/commit-task.png
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/commit-task.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/create-volume-disabled.png b/src/org.gluster.storage.management.console/icons/tango/32x32/create-volume-disabled.png
new file mode 100644
index 00000000..d7b69f97
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/create-volume-disabled.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/create-volume.png b/src/org.gluster.storage.management.console/icons/tango/32x32/create-volume.png
new file mode 100644
index 00000000..b43289b6
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/create-volume.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/disk.png b/src/org.gluster.storage.management.console/icons/tango/32x32/disk.png
index b34d8b77..b34d8b77 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/disk.png
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/disk.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/download-log.png b/src/org.gluster.storage.management.console/icons/tango/32x32/download-log.png
index 62bf9d7e..62bf9d7e 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/download-log.png
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/download-log.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/help.png b/src/org.gluster.storage.management.console/icons/tango/32x32/help.png
index d60425f7..d60425f7 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/help.png
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/help.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/log-rotate.png b/src/org.gluster.storage.management.console/icons/tango/32x32/log-rotate.png
new file mode 100644
index 00000000..a1ceebbf
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/log-rotate.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/logs.png b/src/org.gluster.storage.management.console/icons/tango/32x32/logs.png
index b62959e4..b62959e4 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/logs.png
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/logs.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/migrate-brick-disabled.png b/src/org.gluster.storage.management.console/icons/tango/32x32/migrate-brick-disabled.png
new file mode 100644
index 00000000..8a1e82a7
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/migrate-brick-disabled.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/migrate-brick.png b/src/org.gluster.storage.management.console/icons/tango/32x32/migrate-brick.png
new file mode 100644
index 00000000..999332a5
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/migrate-brick.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/pause-disabled.png b/src/org.gluster.storage.management.console/icons/tango/32x32/pause-disabled.png
new file mode 100644
index 00000000..7b023e3d
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/pause-disabled.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/pause.png b/src/org.gluster.storage.management.console/icons/tango/32x32/pause.png
index 597bc014..597bc014 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/pause.png
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/pause.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/remove-brick-disabled.png b/src/org.gluster.storage.management.console/icons/tango/32x32/remove-brick-disabled.png
new file mode 100644
index 00000000..8dbbf3c1
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/remove-brick-disabled.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/remove-brick.png b/src/org.gluster.storage.management.console/icons/tango/32x32/remove-brick.png
new file mode 100644
index 00000000..83a657a2
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/remove-brick.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/remove-server-disabled.png b/src/org.gluster.storage.management.console/icons/tango/32x32/remove-server-disabled.png
new file mode 100644
index 00000000..3f31d216
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/remove-server-disabled.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/remove-server.png b/src/org.gluster.storage.management.console/icons/tango/32x32/remove-server.png
index fba00869..fba00869 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/remove-server.png
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/remove-server.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/remove-volume-disabled.png b/src/org.gluster.storage.management.console/icons/tango/32x32/remove-volume-disabled.png
new file mode 100644
index 00000000..5eb09cfd
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/remove-volume-disabled.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/remove-volume.png b/src/org.gluster.storage.management.console/icons/tango/32x32/remove-volume.png
new file mode 100644
index 00000000..b7392805
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/remove-volume.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/reset-volume-option-disabled.png b/src/org.gluster.storage.management.console/icons/tango/32x32/reset-volume-option-disabled.png
new file mode 100644
index 00000000..c4c955f5
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/reset-volume-option-disabled.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/reset-volume-option.png b/src/org.gluster.storage.management.console/icons/tango/32x32/reset-volume-option.png
new file mode 100644
index 00000000..77203284
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/reset-volume-option.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/server.png b/src/org.gluster.storage.management.console/icons/tango/32x32/server.png
index e34eb4e4..e34eb4e4 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/server.png
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/server.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/servers.png b/src/org.gluster.storage.management.console/icons/tango/32x32/servers.png
index dca03af4..dca03af4 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/servers.png
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/servers.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/settings.png b/src/org.gluster.storage.management.console/icons/tango/32x32/settings.png
index 565f406d..565f406d 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/settings.png
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/settings.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/start-disabled.png b/src/org.gluster.storage.management.console/icons/tango/32x32/start-disabled.png
new file mode 100644
index 00000000..3f38a449
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/start-disabled.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/start-offline-bricks-disabled.png b/src/org.gluster.storage.management.console/icons/tango/32x32/start-offline-bricks-disabled.png
new file mode 100644
index 00000000..9acbdfae
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/start-offline-bricks-disabled.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/start-offline-bricks.png b/src/org.gluster.storage.management.console/icons/tango/32x32/start-offline-bricks.png
new file mode 100644
index 00000000..dbce3b9a
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/start-offline-bricks.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/start-volume-disabled.png b/src/org.gluster.storage.management.console/icons/tango/32x32/start-volume-disabled.png
new file mode 100644
index 00000000..ad14408b
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/start-volume-disabled.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/start-volume.png b/src/org.gluster.storage.management.console/icons/tango/32x32/start-volume.png
new file mode 100644
index 00000000..d357d291
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/start-volume.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/start.png b/src/org.gluster.storage.management.console/icons/tango/32x32/start.png
index 578736ec..578736ec 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/start.png
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/start.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/stop-disabled.png b/src/org.gluster.storage.management.console/icons/tango/32x32/stop-disabled.png
new file mode 100644
index 00000000..3c778c3d
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/stop-disabled.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/stop-volume-disabled.png b/src/org.gluster.storage.management.console/icons/tango/32x32/stop-volume-disabled.png
new file mode 100644
index 00000000..b70b2042
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/stop-volume-disabled.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/stop-volume.png b/src/org.gluster.storage.management.console/icons/tango/32x32/stop-volume.png
new file mode 100644
index 00000000..5cc5e1fb
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/stop-volume.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/stop.png b/src/org.gluster.storage.management.console/icons/tango/32x32/stop.png
index 615e465b..615e465b 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/stop.png
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/stop.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/utilities-terminal.png b/src/org.gluster.storage.management.console/icons/tango/32x32/utilities-terminal.png
new file mode 100644
index 00000000..f86c7840
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/utilities-terminal.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/view-refresh.png b/src/org.gluster.storage.management.console/icons/tango/32x32/view-refresh.png
index 606ea9eb..606ea9eb 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/view-refresh.png
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/view-refresh.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/volume-rebalance-disabled.png b/src/org.gluster.storage.management.console/icons/tango/32x32/volume-rebalance-disabled.png
new file mode 100644
index 00000000..35d49af7
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/volume-rebalance-disabled.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/32x32/volume-rebalance.png b/src/org.gluster.storage.management.console/icons/tango/32x32/volume-rebalance.png
new file mode 100644
index 00000000..eb63ec20
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/volume-rebalance.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/32x32/volume.png b/src/org.gluster.storage.management.console/icons/tango/32x32/volume.png
index 3e0d9add..3e0d9add 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/32x32/volume.png
+++ b/src/org.gluster.storage.management.console/icons/tango/32x32/volume.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/48x48/add-server.png b/src/org.gluster.storage.management.console/icons/tango/48x48/add-server.png
index 3e615b62..3e615b62 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/48x48/add-server.png
+++ b/src/org.gluster.storage.management.console/icons/tango/48x48/add-server.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/48x48/create-volume.png b/src/org.gluster.storage.management.console/icons/tango/48x48/create-volume.png
new file mode 100644
index 00000000..88a494cc
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/48x48/create-volume.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/48x48/remove-brick-disabled.png b/src/org.gluster.storage.management.console/icons/tango/48x48/remove-brick-disabled.png
new file mode 100644
index 00000000..368b6696
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/48x48/remove-brick-disabled.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/48x48/server.png b/src/org.gluster.storage.management.console/icons/tango/48x48/server.png
index a568c0b8..a568c0b8 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/48x48/server.png
+++ b/src/org.gluster.storage.management.console/icons/tango/48x48/server.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/48x48/start-offline-bricks-disabled.png b/src/org.gluster.storage.management.console/icons/tango/48x48/start-offline-bricks-disabled.png
new file mode 100644
index 00000000..3e21d996
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/48x48/start-offline-bricks-disabled.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/48x48/start-offline-bricks.png b/src/org.gluster.storage.management.console/icons/tango/48x48/start-offline-bricks.png
new file mode 100644
index 00000000..d4748fca
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/48x48/start-offline-bricks.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/48x48/start-volume-disabled.png b/src/org.gluster.storage.management.console/icons/tango/48x48/start-volume-disabled.png
new file mode 100644
index 00000000..fcf25df4
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/48x48/start-volume-disabled.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/48x48/stop-volume-disabled.png b/src/org.gluster.storage.management.console/icons/tango/48x48/stop-volume-disabled.png
new file mode 100644
index 00000000..f418875a
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/48x48/stop-volume-disabled.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/8x8/offline.png b/src/org.gluster.storage.management.console/icons/tango/8x8/offline.png
index 6b33d298..6b33d298 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/8x8/offline.png
+++ b/src/org.gluster.storage.management.console/icons/tango/8x8/offline.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/8x8/online.png b/src/org.gluster.storage.management.console/icons/tango/8x8/online.png
new file mode 100644
index 00000000..58a61f1a
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/8x8/online.png
Binary files differ
diff --git a/src/com.gluster.storage.management.gui/icons/tango/8x8/star.png b/src/org.gluster.storage.management.console/icons/tango/8x8/star.png
index 5f8fc748..5f8fc748 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/8x8/star.png
+++ b/src/org.gluster.storage.management.console/icons/tango/8x8/star.png
Binary files differ
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/add_brick.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/add_brick.svg
new file mode 100644
index 00000000..b1fb427c
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/add_brick.svg
@@ -0,0 +1,4155 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48px"
+ height="48px"
+ id="svg3373"
+ version="1.1"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="volume_rebalance.svg">
+ <defs
+ id="defs3375">
+ <linearGradient
+ id="linearGradient11720">
+ <stop
+ style="stop-color:#397303;stop-opacity:1"
+ offset="0"
+ id="stop11722" />
+ <stop
+ style="stop-color:#3a7304;stop-opacity:1"
+ offset="1"
+ id="stop11724" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11703">
+ <stop
+ id="stop11705"
+ offset="0"
+ style="stop-color:#428504;stop-opacity:1" />
+ <stop
+ id="stop11707"
+ offset="1"
+ style="stop-color:#428504;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11691">
+ <stop
+ id="stop11693"
+ offset="0.0000000"
+ style="stop-color:#adff5e;stop-opacity:1" />
+ <stop
+ id="stop11695"
+ offset="1.0000000"
+ style="stop-color:#428504;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6230">
+ <stop
+ style="stop-color:#b4fb71;stop-opacity:1"
+ offset="0"
+ id="stop6232" />
+ <stop
+ style="stop-color:#3fa617;stop-opacity:1"
+ offset="1"
+ id="stop6234" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6214">
+ <stop
+ style="stop-color:#38a111;stop-opacity:1"
+ offset="0"
+ id="stop6216" />
+ <stop
+ style="stop-color:#baff76;stop-opacity:1"
+ offset="1"
+ id="stop6218" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3">
+ <stop
+ id="stop6490-82"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5">
+ <stop
+ id="stop7723-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455"
+ xlink:href="#linearGradient6817-4"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9">
+ <stop
+ id="stop4136-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8" />
+ <stop
+ id="stop4138-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4">
+ <stop
+ id="stop4208-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452">
+ <stop
+ id="stop3454"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458" />
+ <stop
+ id="stop3460"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463">
+ <stop
+ id="stop3465"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210">
+ <stop
+ id="stop7212"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551">
+ <stop
+ id="stop4553"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545">
+ <stop
+ id="stop4547"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721">
+ <stop
+ id="stop7723"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0">
+ <stop
+ id="stop4136-4-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8" />
+ <stop
+ id="stop4138-2-9"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5">
+ <stop
+ id="stop4208-5-7"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3">
+ <stop
+ id="stop7212-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5">
+ <stop
+ id="stop2318-7-1"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9">
+ <stop
+ id="stop2328-8-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3-8">
+ <stop
+ id="stop6490-82-0"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-1"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4-7">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-4" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-6" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09-0">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-7" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5-2">
+ <stop
+ id="stop7723-5-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-7" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-1" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-7"
+ xlink:href="#linearGradient6817-4-5"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-8">
+ <stop
+ id="stop4136-4-2"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-3" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-0" />
+ <stop
+ id="stop4138-2-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-8">
+ <stop
+ id="stop4208-5-8"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-1">
+ <stop
+ id="stop3454-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-2" />
+ <stop
+ id="stop3460-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-3">
+ <stop
+ id="stop3465-3"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-0"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-1">
+ <stop
+ id="stop7212-3"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-9">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-8" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-3">
+ <stop
+ id="stop4553-9"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-3"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-3">
+ <stop
+ id="stop4547-6"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-5"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-4">
+ <stop
+ id="stop7723-0"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-50"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-6">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-2"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-5" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-5">
+ <stop
+ id="stop4136-4-1-2"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-6" />
+ <stop
+ id="stop4138-2-9-7"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-8">
+ <stop
+ id="stop4208-5-7-0"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-0"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-4">
+ <stop
+ id="stop7212-2-3"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-7"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-1">
+ <stop
+ id="stop2318-7-1-8"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-5"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-5">
+ <stop
+ id="stop2328-8-2-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-3"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3-9">
+ <stop
+ id="stop6490-82-08"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-0"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4-5">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-1" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09-9">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-5" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5-6">
+ <stop
+ id="stop7723-5-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-6">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-8" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-9"
+ xlink:href="#linearGradient6817-4-6"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-02">
+ <stop
+ id="stop4136-4-5"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-5" />
+ <stop
+ id="stop4138-2-7"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-4">
+ <stop
+ id="stop4208-5-1"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-7"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-13">
+ <stop
+ id="stop3454-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-5" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-1" />
+ <stop
+ id="stop3460-5"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-5">
+ <stop
+ id="stop3465-1"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-2"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-5">
+ <stop
+ id="stop7212-5"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-38"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-8">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-4" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-2" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-5">
+ <stop
+ id="stop4553-8"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-4"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-9">
+ <stop
+ id="stop4547-4"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-4"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-58">
+ <stop
+ id="stop7723-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-5">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-6"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-9">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-8" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-3" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-7">
+ <stop
+ id="stop4136-4-1-9"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-04" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-8" />
+ <stop
+ id="stop4138-2-9-74"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-2">
+ <stop
+ id="stop4208-5-7-3"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-5"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-5">
+ <stop
+ id="stop7212-2-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-9"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-8">
+ <stop
+ id="stop2318-7-1-7"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-8"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-0">
+ <stop
+ id="stop2328-8-2-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-32"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7"
+ id="linearGradient9924-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ id="linearGradient6488-3-7">
+ <stop
+ id="stop6490-82-6"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-17"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6359-4-0"
+ id="linearGradient9926-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-78.034668"
+ y1="19.883467"
+ x2="-56.572613"
+ y2="25.997072" />
+ <linearGradient
+ id="linearGradient6359-4-0">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-6" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-02" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6367-09-6"
+ id="linearGradient9928-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-66.404778"
+ y1="21.769932"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient6367-09-6">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-0" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-5-0"
+ id="linearGradient9930-2"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2623645,0.01939786,-0.01991094,1.2957544,342.35808,-20.945388)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-5-0">
+ <stop
+ id="stop7723-5-9"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-54"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-4-56"
+ id="linearGradient9932-32"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.672406,0.05643127,-0.00707387,0.46034998,484.35486,0.66073804)"
+ x1="-60.176182"
+ y1="48.328663"
+ x2="-60.225922"
+ y2="23.254047" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-56">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-88" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-4-56"
+ id="linearGradient9934-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.2159587,-2.5583937,0.50170579,-0.23845183,183.14808,-136.98861)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-5"
+ xlink:href="#linearGradient6817-4-56"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-5">
+ <stop
+ id="stop4136-4-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2" />
+ <stop
+ id="stop4138-2-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-7">
+ <stop
+ id="stop4208-5-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4176-3"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6924-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-3">
+ <stop
+ id="stop3454-8"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-50" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-9" />
+ <stop
+ id="stop3460-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-33">
+ <stop
+ id="stop3465-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-29"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-7">
+ <stop
+ id="stop7212-33"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-3">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-2" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-8">
+ <stop
+ id="stop4553-1"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-8"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-2">
+ <stop
+ id="stop4547-8"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-9"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-3">
+ <stop
+ id="stop7723-02"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-8">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-27"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-9" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-50" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-4">
+ <stop
+ id="stop4136-4-1-0"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-5" />
+ <stop
+ id="stop4138-2-9-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-23">
+ <stop
+ id="stop4208-5-7-2"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-9"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-44">
+ <stop
+ id="stop7212-2-9"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-2">
+ <stop
+ id="stop2318-7-1-9"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-3"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-02">
+ <stop
+ id="stop2328-8-2-0"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3612-21"
+ xlink:href="#linearGradient6817-4-56"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient5410"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient5412"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient5414"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient5418"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.724623,-0.46920261)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6220"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6236"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7"
+ id="linearGradient6258"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0296406,0.01582176,-0.01582176,1.0296406,53.400982,-41.023689)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7-9"
+ id="linearGradient6258-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0296406,0.01582176,-0.01582176,1.0296406,53.400982,-41.023689)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ id="linearGradient6488-3-7-9">
+ <stop
+ id="stop6490-82-6-6"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-17-3"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6300"
+ gradientUnits="userSpaceOnUse"
+ x1="24.595747"
+ y1="14.996862"
+ x2="24.595747"
+ y2="4.670352"
+ gradientTransform="translate(79.25,0)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6302"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-127.25,0)"
+ x1="22.807631"
+ y1="14.75276"
+ x2="22.82798"
+ y2="17.890547" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6323"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6325"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6337"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6339"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6364"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6366"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6368"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6370"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6372"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6374"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6391"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6393"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6566">
+ <path
+ sodipodi:nodetypes="sssssss"
+ inkscape:connector-curvature="0"
+ id="path6568"
+ d="m 437.13691,15.625187 c 0,3.922069 -8.57373,7.101535 -19.14997,7.101535 -10.57623,0 -19.14997,-3.179466 -19.14997,-7.101535 0,-2.453312 -2.97639,-9.339638 2.1246,-10.615427 3.05388,-0.763794 13.06472,-4.48610801 17.02537,-4.48610801 4.65593,0 15.23964,3.20196201 18.55878,4.22641201 4.22049,1.302653 0.59119,8.679649 0.59119,10.875123 z"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ clip-path="none" />
+ </clipPath>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient6639"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient6641"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient6643"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient6645"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient6647"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6649"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6651"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6653"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6655"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6657"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6659"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-4"
+ id="linearGradient7322-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-4">
+ <stop
+ id="stop4136-4-75"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-3" />
+ <stop
+ id="stop4138-2-20"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-88"
+ id="linearGradient7324-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-88">
+ <stop
+ id="stop4208-5-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-9"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-0"
+ id="linearGradient7326-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-0"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-9"
+ id="linearGradient7328-7"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-9">
+ <stop
+ id="stop7212-59"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-06"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-7"
+ id="linearGradient7330-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.724623,-0.46920261)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-7"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-69"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4539-1"
+ id="linearGradient7332-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-79.963799"
+ y1="31.954889"
+ x2="-52.985451"
+ y2="21.220755" />
+ <linearGradient
+ id="linearGradient4539-1">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-7" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-9" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4551-59"
+ id="linearGradient7334-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ id="linearGradient4551-59">
+ <stop
+ id="stop4553-0"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-40"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4545-25"
+ id="linearGradient7336-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient4545-25">
+ <stop
+ id="stop4547-80"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-7"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9"
+ id="linearGradient7338-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0222085,0.01570755,-0.01612302,1.0492462,138.00792,5.5809119)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-9">
+ <stop
+ id="stop7723-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-4"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7340-01"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9737564,0.04569561,-0.00572812,0.37277161,252.99081,23.076623)"
+ x1="-60.273727"
+ y1="52.962711"
+ x2="-60.231167"
+ y2="20.531628" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-1">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7342-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.98463104,-2.0716772,0.40625977,-0.19308803,9.0865162,-88.385897)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7344-0"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.16708703,-2.2876683,-0.44861606,-0.03276611,97.273845,-105.01052)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-64">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-3"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5455-2-0"
+ id="linearGradient7346-8"
+ gradientUnits="userSpaceOnUse"
+ x1="54.71489"
+ y1="5.4645443"
+ x2="72.233635"
+ y2="5.4645443" />
+ <linearGradient
+ id="linearGradient5455-2-0">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-1" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient6925"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient6927"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient6929"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient6931"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient6933"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-0"
+ id="linearGradient6925-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-0">
+ <stop
+ id="stop4136-4-7-3"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-0" />
+ <stop
+ id="stop4138-2-3-9"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-2"
+ id="linearGradient6927-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-2">
+ <stop
+ id="stop4208-5-9-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-6"
+ id="linearGradient6929-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-6"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1"
+ id="linearGradient6931-7"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1">
+ <stop
+ id="stop7212-33-7"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-3"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient31475"
+ xlink:href="#linearGradient6924-6-7"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-7"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient5597"
+ xlink:href="#linearGradient6924-6-7"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient9470"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6">
+ <stop
+ id="stop4136-4-7-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02" />
+ <stop
+ id="stop4138-2-3-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient9472"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-8">
+ <stop
+ id="stop4208-5-9-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient9474"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-2"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient9476"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-8">
+ <stop
+ id="stop7212-33-6"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient9478"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6-1"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517"
+ xlink:href="#linearGradient6924-6-1"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient9647">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop9649" />
+ <stop
+ style="stop-color:#dbdbdb;stop-opacity:1;"
+ offset="1"
+ id="stop9651" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2256">
+ <stop
+ style="stop-color:#ff0202;stop-opacity:1;"
+ offset="0"
+ id="stop2258" />
+ <stop
+ style="stop-color:#ff9b9b;stop-opacity:1;"
+ offset="1"
+ id="stop2260" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2248">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2250" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2252" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11780">
+ <stop
+ style="stop-color:#ff8b8b;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop11782" />
+ <stop
+ style="stop-color:#ec1b1b;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop11784" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4981">
+ <stop
+ style="stop-color:#cc0000;stop-opacity:1;"
+ offset="0"
+ id="stop4983" />
+ <stop
+ style="stop-color:#b30000;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop4985" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient21644"
+ id="radialGradient21650"
+ cx="25.125"
+ cy="36.75"
+ fx="25.125"
+ fy="36.75"
+ r="15.75"
+ gradientTransform="matrix(1,0,0,0.595238,0,14.875)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient21644">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop21646" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop21648" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3957">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11691"
+ id="linearGradient11663"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91724819,0,0,0.91907213,302.29549,5.732139)"
+ x1="15.737001"
+ y1="12.5036"
+ x2="53.570126"
+ y2="47.374317" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2248"
+ id="radialGradient11665"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.838984,0,0,2.961346,253.30758,-14.714265)"
+ cx="16.75"
+ cy="10.666344"
+ fx="16.75"
+ fy="10.666344"
+ r="21.25" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11720"
+ id="linearGradient11718"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.87782436,0.99037957,-0.87782433,0.99037953,319.93281,-20.25021)"
+ x1="21.75"
+ y1="15.80225"
+ x2="24.30225"
+ y2="35.05225" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11691"
+ id="linearGradient22637"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91724819,0,0,0.91907213,302.29549,5.732139)"
+ x1="15.737001"
+ y1="12.5036"
+ x2="53.570126"
+ y2="47.374317" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2248"
+ id="radialGradient22639"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.838984,0,0,2.961346,253.30758,-14.714265)"
+ cx="16.75"
+ cy="10.666344"
+ fx="16.75"
+ fy="10.666344"
+ r="21.25" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11720"
+ id="linearGradient22641"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.87782436,0.99037957,-0.87782433,0.99037953,319.93281,-20.25021)"
+ x1="21.75"
+ y1="15.80225"
+ x2="24.30225"
+ y2="35.05225" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2684-1"
+ id="linearGradient8265"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.128181,0,0,1.128181,-108.08145,-78.763896)"
+ x1="70.913956"
+ y1="101.74152"
+ x2="70.951942"
+ y2="88.923729" />
+ <linearGradient
+ id="linearGradient2684-1">
+ <stop
+ id="stop2686-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2688-4"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9056"
+ id="radialGradient8267"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.05324342,-0.836238,2.019473,0.128568,-206.0078,112.67299)"
+ cx="107.5884"
+ cy="83.990814"
+ fx="107.5884"
+ fy="83.990814"
+ r="12.551644" />
+ <linearGradient
+ id="linearGradient9056">
+ <stop
+ style="stop-color:#6acd11;stop-opacity:1"
+ offset="0"
+ id="stop9058" />
+ <stop
+ style="stop-color:#4cbe01;stop-opacity:1"
+ offset="1"
+ id="stop9060" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9050"
+ id="linearGradient8269"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-99.088729,-66.498056)"
+ x1="71.288956"
+ y1="124.11652"
+ x2="70.826942"
+ y2="95" />
+ <linearGradient
+ id="linearGradient9050">
+ <stop
+ id="stop9052"
+ offset="0"
+ style="stop-color:#428405;stop-opacity:1" />
+ <stop
+ id="stop9054"
+ offset="1"
+ style="stop-color:#264a03;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient17969"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient17971"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient17973"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient17975"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient17977"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient17986"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient17988"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient17990"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient17992"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient17994"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-6-2"
+ id="linearGradient10212"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.329484,6.9416806)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-6-2">
+ <stop
+ id="stop4136-4-9-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-9-7" />
+ <stop
+ id="stop4138-2-8-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-8-2"
+ id="linearGradient10214"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.329484,6.9416806)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-8-2">
+ <stop
+ id="stop4208-5-3-8"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-8-2"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-9-0"
+ id="linearGradient10216"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.45408812,0,0,0.45408812,32.774075,7.2711045)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-9-0"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-6-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-7-9"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-8-1"
+ id="linearGradient10218"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="-5.456851" />
+ <linearGradient
+ id="linearGradient7210-8-1">
+ <stop
+ id="stop7212-7-8"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-5-6"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-1-0"
+ id="linearGradient10220"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.448286,7.8656215)"
+ x1="15.972866"
+ y1="16.641634"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-1-0"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-3-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-9-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-6-2"
+ id="linearGradient13412"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.884513,6.8263032)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient9325">
+ <stop
+ id="stop9327"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop9329" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop9331" />
+ <stop
+ id="stop9333"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-8-2"
+ id="linearGradient13414"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.884513,6.8263032)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient9336">
+ <stop
+ id="stop9338"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop9340"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-9-0"
+ id="linearGradient13416"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.45408812,0,0,0.45408812,-19.439922,7.2711048)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-8-1"
+ id="linearGradient13418"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient9350">
+ <stop
+ id="stop9352"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop9354"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-1-0"
+ id="linearGradient13421"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.765711,7.8656218)"
+ x1="15.972866"
+ y1="16.641634"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-7"
+ id="linearGradient9470-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-7">
+ <stop
+ id="stop4136-4-7-1-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02-9" />
+ <stop
+ id="stop4138-2-3-6-4"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8-8"
+ id="linearGradient9472-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-8-8">
+ <stop
+ id="stop4208-5-9-9-2"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6-4"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2-5"
+ id="linearGradient9474-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-2-5"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8-1"
+ id="linearGradient9476-1"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-8-1">
+ <stop
+ id="stop7212-33-6-5"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6-2"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517-7"
+ xlink:href="#linearGradient6924-6-1-6"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-1-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7-4"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9529"
+ xlink:href="#linearGradient6924-6-1-6"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-7"
+ id="linearGradient9602"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8-8"
+ id="linearGradient9604"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2-5"
+ id="linearGradient9606"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8-1"
+ id="linearGradient9608"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1-6"
+ id="linearGradient9610"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512"
+ id="radialGradient22609"
+ gradientUnits="userSpaceOnUse"
+ cx="55"
+ cy="125"
+ fx="55"
+ fy="125"
+ r="14.375" />
+ <linearGradient
+ id="linearGradient12512">
+ <stop
+ id="stop12513"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512-7"
+ id="radialGradient22609-1"
+ gradientUnits="userSpaceOnUse"
+ cx="55"
+ cy="125"
+ fx="55"
+ fy="125"
+ r="14.375" />
+ <linearGradient
+ id="linearGradient12512-7">
+ <stop
+ id="stop12513-4"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517-0"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514-9"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-5-6-8">
+ <stop
+ id="stop4136-4-7-3-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-3" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-3" />
+ <stop
+ id="stop4138-2-3-6-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-7-1">
+ <stop
+ id="stop4208-5-9-0"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-4"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-7-1-3">
+ <stop
+ id="stop7212-33-15"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-7"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517-2"
+ xlink:href="#linearGradient6924-6-2"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-2"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3957-4">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-2" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3957-1">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-25" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2684-1-6"
+ id="linearGradient8265-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.128181,0,0,1.128181,-108.08145,-78.763896)"
+ x1="70.913956"
+ y1="101.74152"
+ x2="70.951942"
+ y2="88.923729" />
+ <linearGradient
+ id="linearGradient2684-1-6">
+ <stop
+ id="stop2686-7-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2688-4-5"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9056-6"
+ id="radialGradient8267-7"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.05324342,-0.836238,2.019473,0.128568,-206.0078,112.67299)"
+ cx="107.5884"
+ cy="83.990814"
+ fx="107.5884"
+ fy="83.990814"
+ r="12.551644" />
+ <linearGradient
+ id="linearGradient9056-6">
+ <stop
+ style="stop-color:#6acd11;stop-opacity:1"
+ offset="0"
+ id="stop9058-1" />
+ <stop
+ style="stop-color:#4cbe01;stop-opacity:1"
+ offset="1"
+ id="stop9060-8" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9050-2"
+ id="linearGradient8269-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-99.088729,-66.498056)"
+ x1="71.288956"
+ y1="124.11652"
+ x2="70.826942"
+ y2="95" />
+ <linearGradient
+ id="linearGradient9050-2">
+ <stop
+ id="stop9052-7"
+ offset="0"
+ style="stop-color:#428405;stop-opacity:1" />
+ <stop
+ id="stop9054-9"
+ offset="1"
+ style="stop-color:#264a03;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2817-4"
+ id="linearGradient13377"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.624525,0,0,1.054917,-530.24846,-71.839329)"
+ x1="174.83363"
+ y1="84.263489"
+ x2="174.74524"
+ y2="105.49083" />
+ <linearGradient
+ id="linearGradient2817-4">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2819-6" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.48453608;"
+ offset="1"
+ id="stop2821-0" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient13364"
+ id="radialGradient13379"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(8.905772e-6,-1.07205,4.98026,-1.250658e-6,-584.92577,217.16695)"
+ cx="169.77171"
+ cy="100.20107"
+ fx="169.77171"
+ fy="100.20107"
+ r="11" />
+ <linearGradient
+ id="linearGradient13364">
+ <stop
+ style="stop-color:#f10a0a;stop-opacity:1"
+ offset="0"
+ id="stop13366" />
+ <stop
+ style="stop-color:#cd0101;stop-opacity:1"
+ offset="1"
+ id="stop13368" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient13358"
+ id="linearGradient13381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.498884,0,0,1.004384,-508.20837,-66.990449)"
+ x1="169"
+ y1="110.33805"
+ x2="169"
+ y2="93.204849" />
+ <linearGradient
+ id="linearGradient13358">
+ <stop
+ style="stop-color:#bd0000;stop-opacity:1"
+ offset="0"
+ id="stop13360" />
+ <stop
+ style="stop-color:#970000;stop-opacity:1"
+ offset="1"
+ id="stop13362" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3081-5"
+ id="linearGradient13383"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.8933072,0,0,0.96437208,-157.89239,5.2328667)"
+ x1="15.089521"
+ y1="15.291994"
+ x2="14"
+ y2="52.510574" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3081-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop3083-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop3085-4" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient52493"
+ id="linearGradient52499"
+ x1="-72.303078"
+ y1="20.700233"
+ x2="-71.390366"
+ y2="31.757452"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient52493">
+ <stop
+ style="stop-color:#f7f7f7;stop-opacity:1;"
+ offset="0"
+ id="stop52495" />
+ <stop
+ style="stop-color:#f7f7f7;stop-opacity:0;"
+ offset="1"
+ id="stop52497" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4499"
+ id="linearGradient4566"
+ gradientUnits="userSpaceOnUse"
+ x1="31.480057"
+ y1="30.844528"
+ x2="32.374863"
+ y2="40.750778" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4499">
+ <stop
+ style="stop-color:#333334;stop-opacity:1;"
+ offset="0"
+ id="stop4501" />
+ <stop
+ style="stop-color:#333334;stop-opacity:0;"
+ offset="1"
+ id="stop4503" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4515"
+ id="radialGradient4568"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.910961,0.03332579,-4.099092e-8,1.3460695,51.082256,-3.4189674)"
+ cx="-54.743732"
+ cy="21.368473"
+ fx="-54.743732"
+ fy="21.368473"
+ r="8.1875" />
+ <linearGradient
+ id="linearGradient4515">
+ <stop
+ style="stop-color:#fbfbfb;stop-opacity:1"
+ offset="0"
+ id="stop4517" />
+ <stop
+ style="stop-color:#729bc6;stop-opacity:1"
+ offset="1"
+ id="stop4519" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4507"
+ id="linearGradient4570"
+ gradientUnits="userSpaceOnUse"
+ x1="30.907085"
+ y1="30.457268"
+ x2="30.937366"
+ y2="39.051018" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4507">
+ <stop
+ style="stop-color:#333334;stop-opacity:1;"
+ offset="0"
+ id="stop4509" />
+ <stop
+ style="stop-color:#333334;stop-opacity:0;"
+ offset="1"
+ id="stop4511" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4523"
+ id="linearGradient4546"
+ gradientUnits="userSpaceOnUse"
+ x1="32.778126"
+ y1="21.726969"
+ x2="33.368801"
+ y2="37.633221"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,69.53661,-3.4691061)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4523">
+ <stop
+ style="stop-color:#3a3a3b;stop-opacity:1;"
+ offset="0"
+ id="stop4525" />
+ <stop
+ style="stop-color:#3a3a3b;stop-opacity:0;"
+ offset="1"
+ id="stop4527" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4409"
+ id="linearGradient4476"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-9.402963)"
+ x1="23.710672"
+ y1="27.421602"
+ x2="23.710672"
+ y2="45.734699" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4409">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop4411" />
+ <stop
+ style="stop-color:#6e96c1;stop-opacity:1"
+ offset="1"
+ id="stop4413" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4499"
+ id="linearGradient4554"
+ gradientUnits="userSpaceOnUse"
+ x1="31.480057"
+ y1="30.844528"
+ x2="32.374863"
+ y2="40.750778" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4515"
+ id="radialGradient4556"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.910961,0.03332579,-4.099092e-8,1.3460695,51.082256,-3.4189674)"
+ cx="-54.743732"
+ cy="21.368473"
+ fx="-54.743732"
+ fy="21.368473"
+ r="8.1875" />
+ <linearGradient
+ id="linearGradient14544">
+ <stop
+ style="stop-color:#fbfbfb;stop-opacity:1"
+ offset="0"
+ id="stop14546" />
+ <stop
+ style="stop-color:#729bc6;stop-opacity:1"
+ offset="1"
+ id="stop14548" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4507"
+ id="linearGradient4572"
+ gradientUnits="userSpaceOnUse"
+ x1="30.907085"
+ y1="30.457268"
+ x2="30.937366"
+ y2="39.051018" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4523"
+ id="linearGradient4529"
+ x1="32.778126"
+ y1="21.726969"
+ x2="33.368801"
+ y2="37.633221"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-3.4691061)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4409"
+ id="linearGradient4471"
+ gradientUnits="userSpaceOnUse"
+ x1="23.710672"
+ y1="25.234375"
+ x2="23.710672"
+ y2="43.673359"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-9.402963)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4417"
+ id="linearGradient4473"
+ gradientUnits="userSpaceOnUse"
+ x1="23.710672"
+ y1="25.234375"
+ x2="23.710672"
+ y2="43.673359"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-9.402963)" />
+ <linearGradient
+ id="linearGradient4417">
+ <stop
+ style="stop-color:#333333;stop-opacity:1;"
+ offset="0"
+ id="stop4419" />
+ <stop
+ style="stop-color:#6e96c1;stop-opacity:1"
+ offset="1"
+ id="stop4421" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-5"
+ id="linearGradient22552"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-5">
+ <stop
+ id="stop4136-4-7-1-43"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02-2" />
+ <stop
+ id="stop4138-2-3-6-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8-3"
+ id="linearGradient22554"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-8-3">
+ <stop
+ id="stop4208-5-9-9-4"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6-1"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2-1"
+ id="linearGradient22556"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-2-1"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8-7"
+ id="linearGradient22558"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-8-7">
+ <stop
+ id="stop7212-33-6-4"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6-27"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1-7"
+ id="linearGradient22560"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6-1-7"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6-9"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7-3"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4409"
+ id="linearGradient14805"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-9.402963)"
+ x1="23.710672"
+ y1="25.234375"
+ x2="23.710672"
+ y2="43.673359" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4417"
+ id="linearGradient14807"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-9.402963)"
+ x1="23.710672"
+ y1="25.234375"
+ x2="23.710672"
+ y2="43.673359" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4523"
+ id="linearGradient14809"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-3.4691061)"
+ x1="32.778126"
+ y1="21.726969"
+ x2="33.368801"
+ y2="37.633221" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4499"
+ id="linearGradient14811"
+ gradientUnits="userSpaceOnUse"
+ x1="31.480057"
+ y1="30.844528"
+ x2="32.374863"
+ y2="40.750778" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4515"
+ id="radialGradient14813"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.910961,0.03332579,-4.099092e-8,1.3460695,51.082256,-3.4189674)"
+ cx="-54.743732"
+ cy="21.368473"
+ fx="-54.743732"
+ fy="21.368473"
+ r="8.1875" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4507"
+ id="linearGradient14815"
+ gradientUnits="userSpaceOnUse"
+ x1="30.907085"
+ y1="30.457268"
+ x2="30.937366"
+ y2="39.051018" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4409"
+ id="linearGradient14817"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-9.402963)"
+ x1="23.710672"
+ y1="27.421602"
+ x2="23.710672"
+ y2="45.734699" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4523"
+ id="linearGradient14819"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,69.53661,-3.4691061)"
+ x1="32.778126"
+ y1="21.726969"
+ x2="33.368801"
+ y2="37.633221" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4499"
+ id="linearGradient14821"
+ gradientUnits="userSpaceOnUse"
+ x1="31.480057"
+ y1="30.844528"
+ x2="32.374863"
+ y2="40.750778" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4515"
+ id="radialGradient14823"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.910961,0.03332579,-4.099092e-8,1.3460695,51.082256,-3.4189674)"
+ cx="-54.743732"
+ cy="21.368473"
+ fx="-54.743732"
+ fy="21.368473"
+ r="8.1875" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4507"
+ id="linearGradient14825"
+ gradientUnits="userSpaceOnUse"
+ x1="30.907085"
+ y1="30.457268"
+ x2="30.937366"
+ y2="39.051018" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-0"
+ id="linearGradient9602-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-0">
+ <stop
+ id="stop4136-4-7-3-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-6" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-2" />
+ <stop
+ id="stop4138-2-3-4"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-5"
+ id="linearGradient9604-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-5">
+ <stop
+ id="stop4208-5-9-8"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-8"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-1"
+ id="linearGradient9606-7"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-1"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-4"
+ id="linearGradient9608-3"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-4">
+ <stop
+ id="stop7212-33-9"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-2-0"
+ id="linearGradient9610-0"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6-2-0"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20490"
+ id="linearGradient9612"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,120.12809,-4.1871001)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.581718"
+ y2="19.79685" />
+ <linearGradient
+ id="linearGradient20490">
+ <stop
+ id="stop20492"
+ offset="0"
+ style="stop-color:#4dbb14;stop-opacity:1" />
+ <stop
+ id="stop20494"
+ offset="1"
+ style="stop-color:#99ea58;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient21771"
+ id="linearGradient9614"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,120.12809,-4.1871001)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ id="linearGradient21771">
+ <stop
+ id="stop21773"
+ offset="0"
+ style="stop-color:#7ad73c;stop-opacity:1" />
+ <stop
+ id="stop21775"
+ offset="1"
+ style="stop-color:#52be18;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20502"
+ id="linearGradient9616"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,120.12809,-4.1871001)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient20502">
+ <stop
+ style="stop-color:#98ea57;stop-opacity:1"
+ offset="0"
+ id="stop20504" />
+ <stop
+ style="stop-color:#60a81a;stop-opacity:1"
+ offset="1"
+ id="stop20506" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9-1"
+ id="linearGradient9618"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91004274,0.01398398,-0.01435387,0.93411362,120.29077,-4.7056724)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-9-1">
+ <stop
+ id="stop7723-2-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient9620"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6474497,0.04068148,-0.00509958,0.33186783,222.65672,10.870257)"
+ x1="-60.134838"
+ y1="70.540863"
+ x2="-60.135002"
+ y2="32.559666" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-38" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-2" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient9622"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.87658866,-1.8443545,0.36168137,-0.17190071,5.515756,-88.361616)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient9624"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.14875277,-2.0366452,-0.39938996,-0.02917073,84.026391,-103.16204)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-48"
+ id="linearGradient9626"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.38087698,0,0,0.35432336,78.684959,0.87746894)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ id="linearGradient3957-48">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-3" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-01" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20490-4"
+ id="linearGradient9612-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,120.12809,-4.1871001)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.581718"
+ y2="19.79685" />
+ <linearGradient
+ id="linearGradient20490-4">
+ <stop
+ id="stop20492-3"
+ offset="0"
+ style="stop-color:#4dbb14;stop-opacity:1" />
+ <stop
+ id="stop20494-5"
+ offset="1"
+ style="stop-color:#99ea58;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient21771-2"
+ id="linearGradient9614-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,120.12809,-4.1871001)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ id="linearGradient21771-2">
+ <stop
+ id="stop21773-6"
+ offset="0"
+ style="stop-color:#7ad73c;stop-opacity:1" />
+ <stop
+ id="stop21775-8"
+ offset="1"
+ style="stop-color:#52be18;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20502-2"
+ id="linearGradient9616-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,120.12809,-4.1871001)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient20502-2">
+ <stop
+ style="stop-color:#98ea57;stop-opacity:1"
+ offset="0"
+ id="stop20504-9" />
+ <stop
+ style="stop-color:#60a81a;stop-opacity:1"
+ offset="1"
+ id="stop20506-5" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9-1-4"
+ id="linearGradient9618-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91004274,0.01398398,-0.01435387,0.93411362,120.29077,-4.7056724)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-9-1-4">
+ <stop
+ id="stop7723-2-7-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-0-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7-8"
+ id="linearGradient9620-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6474497,0.04068148,-0.00509958,0.33186783,222.65672,10.870257)"
+ x1="-60.134838"
+ y1="70.540863"
+ x2="-60.135002"
+ y2="32.559666" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-7-8">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-38-8" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-2-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7-8"
+ id="linearGradient9622-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.87658866,-1.8443545,0.36168137,-0.17190071,5.515756,-88.361616)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7-8"
+ id="linearGradient9624-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.14875277,-2.0366452,-0.39938996,-0.02917073,84.026391,-103.16204)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.14875277,-2.0366452,-0.39938996,-0.02917073,84.026391,-103.16204)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient16256"
+ xlink:href="#linearGradient6817-7-8"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-1-3"
+ id="linearGradient16439"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.38087698,0,0,0.35432336,78.684959,0.87746894)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ id="linearGradient3957-1-3">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-25-4" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-7-3" />
+ </linearGradient>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="255.76518"
+ inkscape:cy="-15.43885"
+ inkscape:current-layer="g6615"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1600"
+ inkscape:window-height="838"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata3378">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g7697"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-0"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-1"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-3"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g6615"
+ transform="translate(-95.5,0)">
+ <g
+ id="g9464-2"
+ transform="matrix(1.2573708,0,0,1.2573709,57.798241,-12.320192)">
+ <path
+ style="color:#000000;fill:url(#linearGradient9470-1);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient9472-8);stroke-width:1.07960427;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 46.071102,14.389965 c -8.507118,0 -15.424338,3.017755 -15.424338,6.730038 0,0.266382 0,19.239684 0,19.51711 0,3.712296 6.91722,6.730038 15.424338,6.730038 8.507125,0 15.69978,-3.017742 15.69978,-6.730038 0,-0.219733 0,-19.297376 0,-19.51711 0,-3.712295 -7.192655,-6.730038 -15.69978,-6.730038 z"
+ id="path21753-3"
+ sodipodi:nodetypes="zsszssz"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="zsszssz"
+ id="path21755-2"
+ d="m 46.080432,15.126006 c -7.931631,0 -14.380916,2.822639 -14.380916,6.294907 0,0.249165 0,18.241368 0,18.500853 0,3.472269 6.449285,6.294908 14.380916,6.294908 7.931638,0 14.637742,-2.822639 14.637727,-6.294908 0,-0.205521 0,-18.295331 0,-18.500853 0,-3.472268 -6.706089,-6.294907 -14.637727,-6.294907 z"
+ style="opacity:0.70796461;color:#000000;fill:none;stroke:url(#linearGradient9474-5);stroke-width:1.08133531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient9476-1);stroke-width:1.00492704;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ id="path21757-2"
+ sodipodi:cx="24"
+ sodipodi:cy="14.071428"
+ sodipodi:rx="12.857142"
+ sodipodi:ry="5.5"
+ d="m 36.857142,14.071428 c 0,3.037566 -5.756338,5.5 -12.857142,5.5 -7.100804,0 -12.857142,-2.462434 -12.857142,-5.5 0,-3.037566 5.756338,-5.4999997 12.857142,-5.4999997 7.100804,0 12.857142,2.4624337 12.857142,5.4999997 z"
+ transform="matrix(1.1227741,0,0,1.0919883,19.192176,5.7605912)" />
+ <path
+ style="opacity:0.49367083;color:#000000;fill:url(#linearGradient9529);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 34.928081,25.959639 0.38657,12.731652 4.948172,1.388917 -0.154644,-12.654504 c 0,0 2.242138,0 5.875949,-0.231482 -5.645572,-0.251781 -12.104991,-2.673295 -14.303272,-4.243888 1.533656,2.260099 3.247225,3.009305 3.247225,3.009305 z"
+ id="path21759-1"
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ transform="matrix(-1.1510661,0,0,1.1535657,195.75301,16.706993)"
+ id="g20508">
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path19880"
+ d="m 45.514111,15.535852 0.0371,7.30215 20.48667,3.589106 0.0804,-7.865513 z"
+ style="fill:url(#linearGradient9612-1);fill-opacity:1;stroke:none" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path19882"
+ d="m 45.508311,15.537901 8.14425,-3.354298 20.08286,3.265543 -7.6184,3.329117 z"
+ style="fill:url(#linearGradient9614-5);fill-opacity:1;stroke:none" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path19884"
+ d="m 66.104301,18.719482 -0.085,7.744983 7.27053,-4.892126 0.39827,-6.261555 z"
+ style="fill:url(#linearGradient9616-9);fill-opacity:1;stroke:none" />
+ <path
+ sodipodi:nodetypes="ccccccccccccccc"
+ inkscape:connector-curvature="0"
+ id="path19886"
+ d="m 53.648601,12.76777 c -2.66643,1.074217 -7.32161,2.796413 -7.32161,2.796413 l 0.007,7.017683 19.71847,3.95873 6.77264,-4.707984 0.15268,-6.238945 c 0,0 -13.41372,-2.731117 -19.32909,-2.825895 z m 0.0979,0.544614 18.392618,2.671075 -0.06345,5.612148 -6.00725,3.776425 -18.74242,-3.469609 0.0867,-6.320942 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.41150441;color:#000000;fill:url(#linearGradient9618-9);fill-opacity:1;stroke:none;stroke-width:1.53600001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <path
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0"
+ id="path19888"
+ d="m 66.063221,18.563474 -0.13165,8.30955"
+ style="opacity:0.6946903;fill:#cedcc2;fill-opacity:1;stroke:url(#linearGradient9620-5);stroke-width:0.9374491px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="ccccccccccccccccc"
+ inkscape:connector-curvature="0"
+ id="path19890"
+ d="m 53.630881,12.144766 c 0,0 -5.31325,1.954668 -7.88129,3.047675 l -0.24781,0.09011 0,0.270339 0.0451,7.389259 20.6208,4.033511 7.49315,-4.875522 0.0873,-7.075886 -20.11718,-2.87949 z m 0.0505,0.617405 19.30082,2.847517 -0.0873,6.268968 -6.9074,4.30852 -19.65048,-3.605476 -0.01,-7.017191 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#428504;fill-opacity:1;stroke:#428504;stroke-width:0.13527358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0"
+ id="path19892"
+ d="m 71.739932,15.926031 -6.149493,2.629509 0.942927,0.01266 -0.0055,0.349304 5.613166,-2.519112 -0.005,-0.41299 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.69911505;color:#000000;fill:url(#linearGradient9622-1);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25439572px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <path
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.72123892;color:#000000;fill:url(#linearGradient16256);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25439572px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+ d="m 48.209951,15.351488 17.818404,3.017916 -0.423414,0.180949 -0.009,0.38622 -18.12861,-2.83368 0.0446,-0.458495 z"
+ id="path19894"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" />
+ </g>
+ <g
+ id="g16427"
+ transform="matrix(1.05104,0,0,1.0533223,42.491323,4.4421685)">
+ <path
+ sodipodi:type="arc"
+ style="fill:#4aab17;fill-opacity:1;stroke:#2a5503;stroke-width:0.77183652;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path16429"
+ sodipodi:cx="36.769554"
+ sodipodi:cy="36.818874"
+ sodipodi:rx="8.087534"
+ sodipodi:ry="8.087534"
+ d="m 44.857088,36.818874 c 0,4.466622 -3.620912,8.087534 -8.087534,8.087534 -4.466622,0 -8.087534,-3.620912 -8.087534,-8.087534 0,-4.466621 3.620912,-8.087534 8.087534,-8.087534 4.466622,0 8.087534,3.620913 8.087534,8.087534 z"
+ transform="matrix(0.96698595,0,0,0.97095123,52.201604,-26.650791)" />
+ <rect
+ style="fill:#eeeeec;fill-opacity:1;stroke:none"
+ id="rect16431"
+ width="8.9746046"
+ height="2.9915347"
+ x="83.237709"
+ y="7.6027775"
+ rx="0"
+ ry="0" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.3;fill:none;stroke:#ffffff;stroke-width:0.85211307;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path16433"
+ sodipodi:cx="36.769554"
+ sodipodi:cy="36.818874"
+ sodipodi:rx="8.087534"
+ sodipodi:ry="8.087534"
+ d="m 44.857088,36.818874 c 0,4.466622 -3.620912,8.087534 -8.087534,8.087534 -4.466622,0 -8.087534,-3.620912 -8.087534,-8.087534 0,-4.466621 3.620912,-8.087534 8.087534,-8.087534 4.466622,0 8.087534,3.620913 8.087534,8.087534 z"
+ transform="matrix(0.87708584,0,0,0.87827797,55.485208,-23.238068)" />
+ <path
+ sodipodi:nodetypes="czssc"
+ id="path16435"
+ d="m 95.203848,8.5717727 c 0,3.8375393 -3.943723,-2.2202999 -7.112772,0.1369054 -3.095126,2.3022199 -7.844902,4.3193959 -7.844902,0.4818562 0,-3.9273385 3.311873,-7.5708267 7.437003,-7.5708267 4.125129,0 7.520671,3.114525 7.520671,6.9520651 z"
+ style="fill:url(#linearGradient16439);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ inkscape:connector-curvature="0" />
+ <rect
+ transform="matrix(0,1,-1,0,0,0)"
+ ry="0"
+ rx="0"
+ y="-89.220779"
+ x="4.6112428"
+ height="2.9915347"
+ width="8.9746046"
+ id="rect16437"
+ style="fill:#eeeeec;fill-opacity:1;stroke:none" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/add_volume.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/add_volume.svg
new file mode 100644
index 00000000..66307f36
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/add_volume.svg
@@ -0,0 +1,3235 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48px"
+ height="48px"
+ id="svg3373"
+ version="1.1"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="offline_volume.svg">
+ <defs
+ id="defs3375">
+ <linearGradient
+ id="linearGradient11720">
+ <stop
+ style="stop-color:#397303;stop-opacity:1"
+ offset="0"
+ id="stop11722" />
+ <stop
+ style="stop-color:#3a7304;stop-opacity:1"
+ offset="1"
+ id="stop11724" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11703">
+ <stop
+ id="stop11705"
+ offset="0"
+ style="stop-color:#428504;stop-opacity:1" />
+ <stop
+ id="stop11707"
+ offset="1"
+ style="stop-color:#428504;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11691">
+ <stop
+ id="stop11693"
+ offset="0.0000000"
+ style="stop-color:#adff5e;stop-opacity:1" />
+ <stop
+ id="stop11695"
+ offset="1.0000000"
+ style="stop-color:#428504;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6230">
+ <stop
+ style="stop-color:#b4fb71;stop-opacity:1"
+ offset="0"
+ id="stop6232" />
+ <stop
+ style="stop-color:#3fa617;stop-opacity:1"
+ offset="1"
+ id="stop6234" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6214">
+ <stop
+ style="stop-color:#38a111;stop-opacity:1"
+ offset="0"
+ id="stop6216" />
+ <stop
+ style="stop-color:#baff76;stop-opacity:1"
+ offset="1"
+ id="stop6218" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3">
+ <stop
+ id="stop6490-82"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5">
+ <stop
+ id="stop7723-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455"
+ xlink:href="#linearGradient6817-4"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9">
+ <stop
+ id="stop4136-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8" />
+ <stop
+ id="stop4138-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4">
+ <stop
+ id="stop4208-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452">
+ <stop
+ id="stop3454"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458" />
+ <stop
+ id="stop3460"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463">
+ <stop
+ id="stop3465"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210">
+ <stop
+ id="stop7212"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551">
+ <stop
+ id="stop4553"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545">
+ <stop
+ id="stop4547"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721">
+ <stop
+ id="stop7723"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0">
+ <stop
+ id="stop4136-4-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8" />
+ <stop
+ id="stop4138-2-9"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5">
+ <stop
+ id="stop4208-5-7"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3">
+ <stop
+ id="stop7212-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5">
+ <stop
+ id="stop2318-7-1"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9">
+ <stop
+ id="stop2328-8-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3-8">
+ <stop
+ id="stop6490-82-0"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-1"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4-7">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-4" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-6" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09-0">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-7" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5-2">
+ <stop
+ id="stop7723-5-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-7" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-1" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-7"
+ xlink:href="#linearGradient6817-4-5"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-8">
+ <stop
+ id="stop4136-4-2"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-3" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-0" />
+ <stop
+ id="stop4138-2-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-8">
+ <stop
+ id="stop4208-5-8"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-1">
+ <stop
+ id="stop3454-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-2" />
+ <stop
+ id="stop3460-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-3">
+ <stop
+ id="stop3465-3"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-0"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-1">
+ <stop
+ id="stop7212-3"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-9">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-8" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-3">
+ <stop
+ id="stop4553-9"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-3"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-3">
+ <stop
+ id="stop4547-6"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-5"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-4">
+ <stop
+ id="stop7723-0"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-50"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-6">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-2"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-5" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-5">
+ <stop
+ id="stop4136-4-1-2"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-6" />
+ <stop
+ id="stop4138-2-9-7"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-8">
+ <stop
+ id="stop4208-5-7-0"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-0"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-4">
+ <stop
+ id="stop7212-2-3"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-7"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-1">
+ <stop
+ id="stop2318-7-1-8"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-5"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-5">
+ <stop
+ id="stop2328-8-2-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-3"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3-9">
+ <stop
+ id="stop6490-82-08"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-0"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4-5">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-1" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09-9">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-5" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5-6">
+ <stop
+ id="stop7723-5-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-6">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-8" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-9"
+ xlink:href="#linearGradient6817-4-6"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-02">
+ <stop
+ id="stop4136-4-5"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-5" />
+ <stop
+ id="stop4138-2-7"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-4">
+ <stop
+ id="stop4208-5-1"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-7"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-13">
+ <stop
+ id="stop3454-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-5" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-1" />
+ <stop
+ id="stop3460-5"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-5">
+ <stop
+ id="stop3465-1"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-2"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-5">
+ <stop
+ id="stop7212-5"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-38"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-8">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-4" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-2" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-5">
+ <stop
+ id="stop4553-8"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-4"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-9">
+ <stop
+ id="stop4547-4"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-4"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-58">
+ <stop
+ id="stop7723-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-5">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-6"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-9">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-8" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-3" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-7">
+ <stop
+ id="stop4136-4-1-9"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-04" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-8" />
+ <stop
+ id="stop4138-2-9-74"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-2">
+ <stop
+ id="stop4208-5-7-3"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-5"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-5">
+ <stop
+ id="stop7212-2-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-9"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-8">
+ <stop
+ id="stop2318-7-1-7"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-8"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-0">
+ <stop
+ id="stop2328-8-2-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-32"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7"
+ id="linearGradient9924-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ id="linearGradient6488-3-7">
+ <stop
+ id="stop6490-82-6"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-17"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6359-4-0"
+ id="linearGradient9926-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-78.034668"
+ y1="19.883467"
+ x2="-56.572613"
+ y2="25.997072" />
+ <linearGradient
+ id="linearGradient6359-4-0">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-6" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-02" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6367-09-6"
+ id="linearGradient9928-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-66.404778"
+ y1="21.769932"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient6367-09-6">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-0" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-5-0"
+ id="linearGradient9930-2"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2623645,0.01939786,-0.01991094,1.2957544,342.35808,-20.945388)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-5-0">
+ <stop
+ id="stop7723-5-9"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-54"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-4-56"
+ id="linearGradient9932-32"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.672406,0.05643127,-0.00707387,0.46034998,484.35486,0.66073804)"
+ x1="-60.176182"
+ y1="48.328663"
+ x2="-60.225922"
+ y2="23.254047" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-56">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-88" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-4-56"
+ id="linearGradient9934-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.2159587,-2.5583937,0.50170579,-0.23845183,183.14808,-136.98861)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-5"
+ xlink:href="#linearGradient6817-4-56"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-5">
+ <stop
+ id="stop4136-4-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2" />
+ <stop
+ id="stop4138-2-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-7">
+ <stop
+ id="stop4208-5-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4176-3"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6924-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-3">
+ <stop
+ id="stop3454-8"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-50" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-9" />
+ <stop
+ id="stop3460-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-33">
+ <stop
+ id="stop3465-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-29"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-7">
+ <stop
+ id="stop7212-33"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-3">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-2" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-8">
+ <stop
+ id="stop4553-1"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-8"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-2">
+ <stop
+ id="stop4547-8"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-9"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-3">
+ <stop
+ id="stop7723-02"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-8">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-27"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-9" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-50" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-4">
+ <stop
+ id="stop4136-4-1-0"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-5" />
+ <stop
+ id="stop4138-2-9-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-23">
+ <stop
+ id="stop4208-5-7-2"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-9"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-44">
+ <stop
+ id="stop7212-2-9"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-2">
+ <stop
+ id="stop2318-7-1-9"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-3"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-02">
+ <stop
+ id="stop2328-8-2-0"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3612-21"
+ xlink:href="#linearGradient6817-4-56"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient5410"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient5412"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient5414"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient5418"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.724623,-0.46920261)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6220"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6236"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7"
+ id="linearGradient6258"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0296406,0.01582176,-0.01582176,1.0296406,53.400982,-41.023689)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7-9"
+ id="linearGradient6258-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0296406,0.01582176,-0.01582176,1.0296406,53.400982,-41.023689)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ id="linearGradient6488-3-7-9">
+ <stop
+ id="stop6490-82-6-6"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-17-3"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6300"
+ gradientUnits="userSpaceOnUse"
+ x1="24.595747"
+ y1="14.996862"
+ x2="24.595747"
+ y2="4.670352"
+ gradientTransform="translate(79.25,0)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6302"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-127.25,0)"
+ x1="22.807631"
+ y1="14.75276"
+ x2="22.82798"
+ y2="17.890547" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6323"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6325"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6337"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6339"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6364"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6366"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6368"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6370"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6372"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6374"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6391"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6393"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6566">
+ <path
+ sodipodi:nodetypes="sssssss"
+ inkscape:connector-curvature="0"
+ id="path6568"
+ d="m 437.13691,15.625187 c 0,3.922069 -8.57373,7.101535 -19.14997,7.101535 -10.57623,0 -19.14997,-3.179466 -19.14997,-7.101535 0,-2.453312 -2.97639,-9.339638 2.1246,-10.615427 3.05388,-0.763794 13.06472,-4.48610801 17.02537,-4.48610801 4.65593,0 15.23964,3.20196201 18.55878,4.22641201 4.22049,1.302653 0.59119,8.679649 0.59119,10.875123 z"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ clip-path="none" />
+ </clipPath>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient6639"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient6641"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient6643"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient6645"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient6647"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6649"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6651"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6653"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6655"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6657"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6659"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-4"
+ id="linearGradient7322-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-4">
+ <stop
+ id="stop4136-4-75"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-3" />
+ <stop
+ id="stop4138-2-20"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-88"
+ id="linearGradient7324-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-88">
+ <stop
+ id="stop4208-5-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-9"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-0"
+ id="linearGradient7326-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-0"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-9"
+ id="linearGradient7328-7"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-9">
+ <stop
+ id="stop7212-59"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-06"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-7"
+ id="linearGradient7330-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.724623,-0.46920261)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-7"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-69"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4539-1"
+ id="linearGradient7332-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-79.963799"
+ y1="31.954889"
+ x2="-52.985451"
+ y2="21.220755" />
+ <linearGradient
+ id="linearGradient4539-1">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-7" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-9" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4551-59"
+ id="linearGradient7334-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ id="linearGradient4551-59">
+ <stop
+ id="stop4553-0"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-40"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4545-25"
+ id="linearGradient7336-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient4545-25">
+ <stop
+ id="stop4547-80"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-7"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9"
+ id="linearGradient7338-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0222085,0.01570755,-0.01612302,1.0492462,138.00792,5.5809119)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-9">
+ <stop
+ id="stop7723-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-4"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7340-01"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9737564,0.04569561,-0.00572812,0.37277161,252.99081,23.076623)"
+ x1="-60.273727"
+ y1="52.962711"
+ x2="-60.231167"
+ y2="20.531628" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-1">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7342-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.98463104,-2.0716772,0.40625977,-0.19308803,9.0865162,-88.385897)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7344-0"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.16708703,-2.2876683,-0.44861606,-0.03276611,97.273845,-105.01052)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-64">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-3"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5455-2-0"
+ id="linearGradient7346-8"
+ gradientUnits="userSpaceOnUse"
+ x1="54.71489"
+ y1="5.4645443"
+ x2="72.233635"
+ y2="5.4645443" />
+ <linearGradient
+ id="linearGradient5455-2-0">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-1" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient6925"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient6927"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient6929"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient6931"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient6933"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-0"
+ id="linearGradient6925-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-0">
+ <stop
+ id="stop4136-4-7-3"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-0" />
+ <stop
+ id="stop4138-2-3-9"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-2"
+ id="linearGradient6927-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-2">
+ <stop
+ id="stop4208-5-9-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-6"
+ id="linearGradient6929-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-6"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1"
+ id="linearGradient6931-7"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1">
+ <stop
+ id="stop7212-33-7"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-3"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient31475"
+ xlink:href="#linearGradient6924-6-7"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-7"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient5597"
+ xlink:href="#linearGradient6924-6-7"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient9470"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6">
+ <stop
+ id="stop4136-4-7-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02" />
+ <stop
+ id="stop4138-2-3-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient9472"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-8">
+ <stop
+ id="stop4208-5-9-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient9474"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-2"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient9476"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-8">
+ <stop
+ id="stop7212-33-6"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient9478"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6-1"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517"
+ xlink:href="#linearGradient6924-6-1"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient9647">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop9649" />
+ <stop
+ style="stop-color:#dbdbdb;stop-opacity:1;"
+ offset="1"
+ id="stop9651" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2256">
+ <stop
+ style="stop-color:#ff0202;stop-opacity:1;"
+ offset="0"
+ id="stop2258" />
+ <stop
+ style="stop-color:#ff9b9b;stop-opacity:1;"
+ offset="1"
+ id="stop2260" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2248">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2250" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2252" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11780">
+ <stop
+ style="stop-color:#ff8b8b;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop11782" />
+ <stop
+ style="stop-color:#ec1b1b;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop11784" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4981">
+ <stop
+ style="stop-color:#cc0000;stop-opacity:1;"
+ offset="0"
+ id="stop4983" />
+ <stop
+ style="stop-color:#b30000;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop4985" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient21644"
+ id="radialGradient21650"
+ cx="25.125"
+ cy="36.75"
+ fx="25.125"
+ fy="36.75"
+ r="15.75"
+ gradientTransform="matrix(1,0,0,0.595238,0,14.875)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient21644">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop21646" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop21648" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3957">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11691"
+ id="linearGradient11663"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91724819,0,0,0.91907213,302.29549,5.732139)"
+ x1="15.737001"
+ y1="12.5036"
+ x2="53.570126"
+ y2="47.374317" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2248"
+ id="radialGradient11665"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.838984,0,0,2.961346,253.30758,-14.714265)"
+ cx="16.75"
+ cy="10.666344"
+ fx="16.75"
+ fy="10.666344"
+ r="21.25" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11720"
+ id="linearGradient11718"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.87782436,0.99037957,-0.87782433,0.99037953,319.93281,-20.25021)"
+ x1="21.75"
+ y1="15.80225"
+ x2="24.30225"
+ y2="35.05225" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11691"
+ id="linearGradient22637"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91724819,0,0,0.91907213,302.29549,5.732139)"
+ x1="15.737001"
+ y1="12.5036"
+ x2="53.570126"
+ y2="47.374317" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2248"
+ id="radialGradient22639"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.838984,0,0,2.961346,253.30758,-14.714265)"
+ cx="16.75"
+ cy="10.666344"
+ fx="16.75"
+ fy="10.666344"
+ r="21.25" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11720"
+ id="linearGradient22641"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.87782436,0.99037957,-0.87782433,0.99037953,319.93281,-20.25021)"
+ x1="21.75"
+ y1="15.80225"
+ x2="24.30225"
+ y2="35.05225" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2684-1"
+ id="linearGradient8265"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.128181,0,0,1.128181,-108.08145,-78.763896)"
+ x1="70.913956"
+ y1="101.74152"
+ x2="70.951942"
+ y2="88.923729" />
+ <linearGradient
+ id="linearGradient2684-1">
+ <stop
+ id="stop2686-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2688-4"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9056"
+ id="radialGradient8267"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.05324342,-0.836238,2.019473,0.128568,-206.0078,112.67299)"
+ cx="107.5884"
+ cy="83.990814"
+ fx="107.5884"
+ fy="83.990814"
+ r="12.551644" />
+ <linearGradient
+ id="linearGradient9056">
+ <stop
+ style="stop-color:#6acd11;stop-opacity:1"
+ offset="0"
+ id="stop9058" />
+ <stop
+ style="stop-color:#4cbe01;stop-opacity:1"
+ offset="1"
+ id="stop9060" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9050"
+ id="linearGradient8269"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-99.088729,-66.498056)"
+ x1="71.288956"
+ y1="124.11652"
+ x2="70.826942"
+ y2="95" />
+ <linearGradient
+ id="linearGradient9050">
+ <stop
+ id="stop9052"
+ offset="0"
+ style="stop-color:#428405;stop-opacity:1" />
+ <stop
+ id="stop9054"
+ offset="1"
+ style="stop-color:#264a03;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient17969"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient17971"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient17973"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient17975"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient17977"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient17986"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient17988"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient17990"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient17992"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient17994"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-6-2"
+ id="linearGradient10212"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.329484,6.9416806)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-6-2">
+ <stop
+ id="stop4136-4-9-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-9-7" />
+ <stop
+ id="stop4138-2-8-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-8-2"
+ id="linearGradient10214"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.329484,6.9416806)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-8-2">
+ <stop
+ id="stop4208-5-3-8"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-8-2"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-9-0"
+ id="linearGradient10216"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.45408812,0,0,0.45408812,32.774075,7.2711045)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-9-0"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-6-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-7-9"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-8-1"
+ id="linearGradient10218"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="-5.456851" />
+ <linearGradient
+ id="linearGradient7210-8-1">
+ <stop
+ id="stop7212-7-8"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-5-6"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-1-0"
+ id="linearGradient10220"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.448286,7.8656215)"
+ x1="15.972866"
+ y1="16.641634"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-1-0"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-3-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-9-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-6-2"
+ id="linearGradient13412"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.884513,6.8263032)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient9325">
+ <stop
+ id="stop9327"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop9329" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop9331" />
+ <stop
+ id="stop9333"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-8-2"
+ id="linearGradient13414"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.884513,6.8263032)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient9336">
+ <stop
+ id="stop9338"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop9340"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-9-0"
+ id="linearGradient13416"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.45408812,0,0,0.45408812,-19.439922,7.2711048)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-8-1"
+ id="linearGradient13418"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient9350">
+ <stop
+ id="stop9352"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop9354"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-1-0"
+ id="linearGradient13421"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.765711,7.8656218)"
+ x1="15.972866"
+ y1="16.641634"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-7"
+ id="linearGradient9470-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-7">
+ <stop
+ id="stop4136-4-7-1-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02-9" />
+ <stop
+ id="stop4138-2-3-6-4"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8-8"
+ id="linearGradient9472-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-8-8">
+ <stop
+ id="stop4208-5-9-9-2"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6-4"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2-5"
+ id="linearGradient9474-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-2-5"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8-1"
+ id="linearGradient9476-1"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-8-1">
+ <stop
+ id="stop7212-33-6-5"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6-2"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517-7"
+ xlink:href="#linearGradient6924-6-1-6"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-1-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7-4"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9529"
+ xlink:href="#linearGradient6924-6-1-6"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-7"
+ id="linearGradient9602"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8-8"
+ id="linearGradient9604"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2-5"
+ id="linearGradient9606"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8-1"
+ id="linearGradient9608"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1-6"
+ id="linearGradient9610"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512"
+ id="radialGradient22609"
+ gradientUnits="userSpaceOnUse"
+ cx="55"
+ cy="125"
+ fx="55"
+ fy="125"
+ r="14.375" />
+ <linearGradient
+ id="linearGradient12512">
+ <stop
+ id="stop12513"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <radialGradient
+ r="14.375"
+ fy="125"
+ fx="55"
+ cy="125"
+ cx="55"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient6674"
+ xlink:href="#linearGradient12512"
+ inkscape:collect="always" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512-7"
+ id="radialGradient22609-1"
+ gradientUnits="userSpaceOnUse"
+ cx="55"
+ cy="125"
+ fx="55"
+ fy="125"
+ r="14.375" />
+ <linearGradient
+ id="linearGradient12512-7">
+ <stop
+ id="stop12513-4"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517-0"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514-9"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <radialGradient
+ r="14.375"
+ fy="125"
+ fx="55"
+ cy="125"
+ cx="55"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient6674-4"
+ xlink:href="#linearGradient12512-7"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-8"
+ id="linearGradient9470-2"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-8">
+ <stop
+ id="stop4136-4-7-3-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-3" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-3" />
+ <stop
+ id="stop4138-2-3-6-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-1"
+ id="linearGradient9472-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-1">
+ <stop
+ id="stop4208-5-9-0"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-4"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-7"
+ id="linearGradient9474-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-7"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-42"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-3"
+ id="linearGradient9476-2"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-3">
+ <stop
+ id="stop7212-33-15"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-7"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517-2"
+ xlink:href="#linearGradient6924-6-2"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-2"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8553"
+ xlink:href="#linearGradient6924-6-2"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-2"
+ id="linearGradient8705"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11503-8"
+ id="linearGradient16423"
+ gradientUnits="userSpaceOnUse"
+ x1="31.542158"
+ y1="27.633146"
+ x2="39.232777"
+ y2="40.738911" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient11503-8">
+ <stop
+ style="stop-color:#ef2929"
+ offset="0"
+ id="stop11505-6" />
+ <stop
+ style="stop-color:#cc0000"
+ offset="1"
+ id="stop11507-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-4"
+ id="linearGradient16425"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.509273,0,0,0.473768,23.78749,24.00915)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ id="linearGradient3957-4">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-2" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-1"
+ id="linearGradient16439"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.38087698,0,0,0.35432336,78.684959,0.87746894)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ id="linearGradient3957-1">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-25" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-7" />
+ </linearGradient>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="4"
+ inkscape:cx="21.997895"
+ inkscape:cy="7.5529609"
+ inkscape:current-layer="g6615"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1600"
+ inkscape:window-height="838"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata3378">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g7697"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-0"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-1"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-3"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g6615"
+ transform="translate(-95.5,0)">
+ <g
+ id="g9464-2"
+ transform="matrix(1.2573708,0,0,1.2573709,61.06861,-12.320192)">
+ <path
+ style="color:#000000;fill:url(#linearGradient9470-1);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient9472-8);stroke-width:1.07960427;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 46.071102,14.389965 c -8.507118,0 -15.424338,3.017755 -15.424338,6.730038 0,0.266382 0,19.239684 0,19.51711 0,3.712296 6.91722,6.730038 15.424338,6.730038 8.507125,0 15.69978,-3.017742 15.69978,-6.730038 0,-0.219733 0,-19.297376 0,-19.51711 0,-3.712295 -7.192655,-6.730038 -15.69978,-6.730038 z"
+ id="path21753-3"
+ sodipodi:nodetypes="zsszssz"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="zsszssz"
+ id="path21755-2"
+ d="m 46.080432,15.126006 c -7.931631,0 -14.380916,2.822639 -14.380916,6.294907 0,0.249165 0,18.241368 0,18.500853 0,3.472269 6.449285,6.294908 14.380916,6.294908 7.931638,0 14.637742,-2.822639 14.637727,-6.294908 0,-0.205521 0,-18.295331 0,-18.500853 0,-3.472268 -6.706089,-6.294907 -14.637727,-6.294907 z"
+ style="opacity:0.70796461;color:#000000;fill:none;stroke:url(#linearGradient9474-5);stroke-width:1.08133531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient9476-1);stroke-width:1.00492704;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ id="path21757-2"
+ sodipodi:cx="24"
+ sodipodi:cy="14.071428"
+ sodipodi:rx="12.857142"
+ sodipodi:ry="5.5"
+ d="m 36.857142,14.071428 c 0,3.037566 -5.756338,5.5 -12.857142,5.5 -7.100804,0 -12.857142,-2.462434 -12.857142,-5.5 0,-3.037566 5.756338,-5.4999997 12.857142,-5.4999997 7.100804,0 12.857142,2.4624337 12.857142,5.4999997 z"
+ transform="matrix(1.1227741,0,0,1.0919883,19.192176,5.7605912)" />
+ <path
+ style="opacity:0.49367083;color:#000000;fill:url(#linearGradient9529);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 34.928081,25.959639 0.38657,12.731652 4.948172,1.388917 -0.154644,-12.654504 c 0,0 2.242138,0 5.875949,-0.231482 -5.645572,-0.251781 -12.104991,-2.673295 -14.303272,-4.243888 1.533656,2.260099 3.247225,3.009305 3.247225,3.009305 z"
+ id="path21759-1"
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ id="g16427"
+ transform="matrix(1.05104,0,0,1.0533223,38.41441,29.721236)">
+ <path
+ sodipodi:type="arc"
+ style="fill:#4aab17;fill-opacity:1;stroke:#2a5503;stroke-width:0.77183652;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path16429"
+ sodipodi:cx="36.769554"
+ sodipodi:cy="36.818874"
+ sodipodi:rx="8.087534"
+ sodipodi:ry="8.087534"
+ d="m 44.857088,36.818874 c 0,4.466622 -3.620912,8.087534 -8.087534,8.087534 -4.466622,0 -8.087534,-3.620912 -8.087534,-8.087534 0,-4.466621 3.620912,-8.087534 8.087534,-8.087534 4.466622,0 8.087534,3.620913 8.087534,8.087534 z"
+ transform="matrix(0.96698595,0,0,0.97095123,52.201604,-26.650791)" />
+ <rect
+ style="fill:#eeeeec;fill-opacity:1;stroke:none"
+ id="rect16431"
+ width="8.9746046"
+ height="2.9915347"
+ x="83.237709"
+ y="7.6027775"
+ rx="0"
+ ry="0" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.3;fill:none;stroke:#ffffff;stroke-width:0.85211307;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path16433"
+ sodipodi:cx="36.769554"
+ sodipodi:cy="36.818874"
+ sodipodi:rx="8.087534"
+ sodipodi:ry="8.087534"
+ d="m 44.857088,36.818874 c 0,4.466622 -3.620912,8.087534 -8.087534,8.087534 -4.466622,0 -8.087534,-3.620912 -8.087534,-8.087534 0,-4.466621 3.620912,-8.087534 8.087534,-8.087534 4.466622,0 8.087534,3.620913 8.087534,8.087534 z"
+ transform="matrix(0.87708584,0,0,0.87827797,55.485208,-23.238068)" />
+ <path
+ sodipodi:nodetypes="czssc"
+ id="path16435"
+ d="m 95.203848,8.5717727 c 0,3.8375393 -3.943723,-2.2202999 -7.112772,0.1369054 -3.095126,2.3022199 -7.844902,4.3193959 -7.844902,0.4818562 0,-3.9273385 3.311873,-7.5708267 7.437003,-7.5708267 4.125129,0 7.520671,3.114525 7.520671,6.9520651 z"
+ style="fill:url(#linearGradient16439);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ inkscape:connector-curvature="0" />
+ <rect
+ transform="matrix(0,1,-1,0,0,0)"
+ ry="0"
+ rx="0"
+ y="-89.220779"
+ x="4.6112428"
+ height="2.9915347"
+ width="8.9746046"
+ id="rect16437"
+ style="fill:#eeeeec;fill-opacity:1;stroke:none" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/brick.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/brick.svg
new file mode 100644
index 00000000..365110f2
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/brick.svg
@@ -0,0 +1,652 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ sodipodi:docname="offline_brick_alert.svg"
+ inkscape:version="0.48.1 "
+ sodipodi:version="0.32"
+ id="svg11300"
+ height="48px"
+ width="48px"
+ inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs3">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6807">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6809" />
+ <stop
+ style="stop-color:#356a04;stop-opacity:1"
+ offset="1"
+ id="stop6811" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488">
+ <stop
+ id="stop6490"
+ offset="0"
+ style="stop-color:#3a7304;stop-opacity:1" />
+ <stop
+ id="stop6492"
+ offset="1"
+ style="stop-color:#6dcc11;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367">
+ <stop
+ style="stop-color:#66bd11;stop-opacity:1"
+ offset="0"
+ id="stop6369" />
+ <stop
+ style="stop-color:#3b7504;stop-opacity:1"
+ offset="1"
+ id="stop6371" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359">
+ <stop
+ style="stop-color:#3c7604;stop-opacity:1"
+ offset="0"
+ id="stop6361" />
+ <stop
+ style="stop-color:#67bf11;stop-opacity:1"
+ offset="1"
+ id="stop6363" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6351">
+ <stop
+ style="stop-color:#3a7304;stop-opacity:1"
+ offset="0"
+ id="stop6353" />
+ <stop
+ style="stop-color:#67bf11;stop-opacity:1"
+ offset="1"
+ id="stop6355" />
+ </linearGradient>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective24" />
+ <linearGradient
+ id="linearGradient1442">
+ <stop
+ id="stop1444"
+ offset="0"
+ style="stop-color:#73d216" />
+ <stop
+ id="stop1446"
+ offset="1.0000000"
+ style="stop-color:#4e9a06" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5048-8">
+ <stop
+ id="stop5050-4"
+ offset="0"
+ style="stop-color:black;stop-opacity:0;" />
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0.5"
+ id="stop5056-6" />
+ <stop
+ id="stop5052-2"
+ offset="1"
+ style="stop-color:black;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1789-2">
+ <stop
+ id="stop1790-0"
+ offset="0.0000000"
+ style="stop-color:#202020;stop-opacity:1.0000000;" />
+ <stop
+ id="stop1791-9"
+ offset="1.0000000"
+ style="stop-color:#b9b9b9;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3096-0">
+ <stop
+ style="stop-color:#424242;stop-opacity:1;"
+ offset="0"
+ id="stop3098-7" />
+ <stop
+ style="stop-color:#777777;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop3100-2" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3983-4">
+ <stop
+ id="stop3984-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.87628865;" />
+ <stop
+ id="stop3985-0"
+ offset="1.0000000"
+ style="stop-color:#fffffe;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9766-1">
+ <stop
+ id="stop9768-3"
+ offset="0"
+ style="stop-color:#6194cb;stop-opacity:1;" />
+ <stop
+ id="stop9770-9"
+ offset="1"
+ style="stop-color:#729fcf;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.5,0,20)"
+ r="17.142857"
+ fy="40"
+ fx="23.857143"
+ cy="40"
+ cx="23.857143"
+ id="radialGradient4132"
+ xlink:href="#linearGradient4126"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4126"
+ inkscape:collect="always">
+ <stop
+ id="stop4128"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop4130"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134">
+ <stop
+ id="stop4136"
+ offset="0.0000000"
+ style="stop-color:#7e807a;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#babbb8;stop-opacity:1.0000000;"
+ offset="0.25000000"
+ id="stop4148" />
+ <stop
+ style="stop-color:#a5a6a3;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop4142" />
+ <stop
+ id="stop4138"
+ offset="1.0000000"
+ style="stop-color:#333432;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206">
+ <stop
+ id="stop4208"
+ offset="0.0000000"
+ style="stop-color:#7d4b01;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4210"
+ offset="1.0000000"
+ style="stop-color:#535353;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4162">
+ <stop
+ id="stop4164"
+ offset="0.0000000"
+ style="stop-color:#f79403;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#fdb343;stop-opacity:1.0000000;"
+ offset="0.18691589"
+ id="stop4170" />
+ <stop
+ id="stop4172"
+ offset="0.43008122"
+ style="stop-color:#fdb74f;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4166"
+ offset="1.0000000"
+ style="stop-color:#8f5601;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6932">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop6934" />
+ <stop
+ style="stop-color:#e7e6ae;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop6936" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient18457">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop18459" />
+ <stop
+ style="stop-color:#e7e6ae;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop18461" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6351"
+ id="linearGradient18757"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.3298657,149.05613,-2.4166289)"
+ x1="-65.904015"
+ y1="33.321117"
+ x2="-81.716515"
+ y2="22.445917" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6359"
+ id="linearGradient18759"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.2592685,149.05613,-0.7938753)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6367"
+ id="linearGradient18761"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.2592685,149.05613,-0.7938753)"
+ x1="-61.079266"
+ y1="23.91073"
+ x2="-45.920662"
+ y2="27.888205" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6351"
+ id="linearGradient18763"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.3722732,149.05613,-13.755092)"
+ x1="-64.509407"
+ y1="37.451321"
+ x2="-81.591515"
+ y2="22.883417" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6359"
+ id="linearGradient18765"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.2592685,149.05613,1.2101819)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6367"
+ id="linearGradient18767"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.340854,149.05613,-12.700526)"
+ x1="-61.079266"
+ y1="23.91073"
+ x2="-45.920662"
+ y2="27.888205" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488"
+ id="linearGradient18769"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.2592685,149.05613,-9.1411511)"
+ x1="-60.01569"
+ y1="39.306713"
+ x2="-80.529015"
+ y2="22.945917" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6359"
+ id="linearGradient18771"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.2592685,149.05613,-9.1411511)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6367"
+ id="linearGradient18773"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.2592685,149.05613,-9.1411511)"
+ x1="-61.079266"
+ y1="23.91073"
+ x2="-45.920662"
+ y2="27.888205" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6807"
+ id="linearGradient18775"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2625135,0,0,1.2959074,149.2707,-9.8638701)"
+ x1="-85.607483"
+ y1="17.738201"
+ x2="-36.531059"
+ y2="44.132229" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817"
+ id="linearGradient18777"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3076164,0,0,1.3076164,151.78565,-22.64912)"
+ x1="-60.1875"
+ y1="58.0625"
+ x2="-61.1875"
+ y2="18.5625" />
+ <linearGradient
+ id="linearGradient6351-0">
+ <stop
+ style="stop-color:#3a7304;stop-opacity:1"
+ offset="0"
+ id="stop6353-2" />
+ <stop
+ style="stop-color:#67bf11;stop-opacity:1"
+ offset="1"
+ id="stop6355-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-9">
+ <stop
+ style="stop-color:#3c7604;stop-opacity:1"
+ offset="0"
+ id="stop6361-0" />
+ <stop
+ style="stop-color:#67bf11;stop-opacity:1"
+ offset="1"
+ id="stop6363-1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-0">
+ <stop
+ style="stop-color:#66bd11;stop-opacity:1"
+ offset="0"
+ id="stop6369-2" />
+ <stop
+ style="stop-color:#3b7504;stop-opacity:1"
+ offset="1"
+ id="stop6371-9" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient18810">
+ <stop
+ style="stop-color:#3a7304;stop-opacity:1"
+ offset="0"
+ id="stop18812" />
+ <stop
+ style="stop-color:#67bf11;stop-opacity:1"
+ offset="1"
+ id="stop18814" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient18817">
+ <stop
+ style="stop-color:#3c7604;stop-opacity:1"
+ offset="0"
+ id="stop18819" />
+ <stop
+ style="stop-color:#67bf11;stop-opacity:1"
+ offset="1"
+ id="stop18821" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient18824">
+ <stop
+ style="stop-color:#66bd11;stop-opacity:1"
+ offset="0"
+ id="stop18826" />
+ <stop
+ style="stop-color:#3b7504;stop-opacity:1"
+ offset="1"
+ id="stop18828" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-0">
+ <stop
+ id="stop6490-8"
+ offset="0"
+ style="stop-color:#3a7304;stop-opacity:1" />
+ <stop
+ id="stop6492-9"
+ offset="1"
+ style="stop-color:#6dcc11;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient18835">
+ <stop
+ style="stop-color:#3c7604;stop-opacity:1"
+ offset="0"
+ id="stop18837" />
+ <stop
+ style="stop-color:#67bf11;stop-opacity:1"
+ offset="1"
+ id="stop18839" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient18842">
+ <stop
+ style="stop-color:#66bd11;stop-opacity:1"
+ offset="0"
+ id="stop18844" />
+ <stop
+ style="stop-color:#3b7504;stop-opacity:1"
+ offset="1"
+ id="stop18846" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817"
+ id="linearGradient19572"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.2551236,-2.5394091,0.49798288,-0.24613213,-11.703445,-123.44722)"
+ x1="-60.693653"
+ y1="43.615685"
+ x2="-60.739853"
+ y2="22.826736" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817"
+ id="linearGradient19576"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.16291119,-2.8279664,-0.55456952,-0.03194723,96.874184,-145.64847)"
+ x1="-60.888218"
+ y1="67.751678"
+ x2="-60.739853"
+ y2="22.826736" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817"
+ id="linearGradient4701"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3076164,0,0,1.3076164,151.78565,-10.281384)"
+ x1="-60.1875"
+ y1="58.0625"
+ x2="-61.1875"
+ y2="18.5625" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-y="-8"
+ inkscape:window-x="-8"
+ inkscape:window-height="838"
+ inkscape:window-width="1600"
+ inkscape:showpageshadow="false"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ showgrid="false"
+ inkscape:current-layer="g19006"
+ inkscape:cy="16.627412"
+ inkscape:cx="33.578938"
+ inkscape:zoom="1"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="0.25490196"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ fill="#4e9a06"
+ stroke="#4e9a06"
+ inkscape:window-maximized="1"
+ showguides="false"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ orientation="0,1"
+ position="53.75,63.5"
+ id="guide18739" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:title></dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>go</rdf:li>
+ <rdf:li>lower</rdf:li>
+ <rdf:li>down</rdf:li>
+ <rdf:li>arrow</rdf:li>
+ <rdf:li>pointer</rdf:li>
+ <rdf:li>&gt;</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Andreas Nilsson</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1"
+ id="layer1">
+ <g
+ id="g6867">
+ <g
+ transform="matrix(0.97573585,0,0,0.97573585,97.72645,0.08879789)"
+ id="g6825">
+ <g
+ id="g18741"
+ transform="matrix(1.1601271,0,0,1.1601271,14.0986,-0.3151082)">
+ <g
+ id="g19006"
+ transform="translate(-143.11238,-0.55213107)">
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path6458"
+ d="m 45.975097,30.173574 17.895456,-4.72919 21.729141,-0.07904 -10.96161,5.656956 z"
+ style="fill:url(#linearGradient18765);fill-opacity:1;stroke:none" />
+ <path
+ style="fill:url(#linearGradient18769);fill-opacity:1;stroke:none"
+ d="m 45.988016,19.804519 0,10.130362 28.751189,1.468976 -0.158139,-11.066262 z"
+ id="path5569"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:url(#linearGradient18771);fill-opacity:1;stroke:none"
+ d="M 45.980011,19.807485 57.021665,14.763477 86.368978,15.973328 74.578943,20.34139 z"
+ id="path5571"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:url(#linearGradient18773);fill-opacity:1;stroke:none"
+ d="m 74.561362,20.346284 0.12765,11.053685 11.18606,-6.284761 0.206623,-9.088337 z"
+ id="path5573"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.7522124;color:#000000;fill:url(#linearGradient18775);fill-opacity:1;stroke:none;stroke-width:1.53600001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+ d="m 57.211426,15.865066 c -3.675387,1.54675 -7.253333,2.763201 -10.428502,4.13983 0.04504,10.862047 0.0717,-0.304471 0.07019,9.277997 l 0,0.739662 0.720602,0.03216 c 9.003583,0.30778 18.075547,1.085135 27.079889,1.361156 3.562748,-2.129314 10.151752,-5.76997 10.151752,-5.76997 0,0 -0.03225,0.412259 -0.02564,-9.289081 C 75.641044,16.145474 65.41798,15.870451 57.211426,15.865066 z m 0.147359,0.680081 25.812582,0.607531 c 0.07788,9.21881 0.0076,-2.799025 0.09997,7.589309 l -8.620422,5.025156 -26.262603,-1.20431 c 0.0023,-9.62921 0.277793,0.827715 0.236326,-8.583675 z"
+ id="path6805"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccccccccc" />
+ <path
+ style="opacity:0.70796461;fill:#cedcc2;fill-opacity:1;stroke:url(#linearGradient4701);stroke-width:1.30761635px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 74.500696,20.344991 -0.0041,9.40464"
+ id="path6815"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#2b5603;fill-opacity:1;stroke:none;stroke-width:1.70742929;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+ d="m 85.581122,15.018191 -28.46603,-0.682587 c -0.106851,0.0011 -0.213471,0.02299 -0.3125,0.06427 l -11.12772,4.303646 c -0.318722,0.133588 -0.540061,0.481685 -0.53125,0.835489 8.69e-4,3.450201 0,-1.681444 0,1.543543 -1.91e-4,0.01071 -1.91e-4,0.02142 0,0.03214 0.06644,1.362787 0.07971,3.92099 0.0625,6.169771 -0.01721,2.248782 -0.0625,4.743886 -0.0625,4.434524 l 0,-0.839161 c 0.0046,0.442424 0.382728,0.846247 0.8125,0.867624 l 28.78125,1.418711 c 0.150685,0.0083 0.303385,-0.02526 0.4375,-0.0964 l 10.875,-6.095404 c 0.274456,-0.157247 0.45053,-0.480562 0.4375,-0.803356 -0.139056,-11.398711 -0.03125,-10.253039 -0.03125,-10.253039 0.0116,-0.474268 -0.413782,-0.911688 -0.875,-0.899771 z m -0.84375,1.394784 c -0.0048,1.075601 -0.09556,-1.996134 0.03125,9.276001 l -10.053413,5.697443 -27.884087,-1.342092 0,1.674649 c 0,0.112423 0.04521,-2.143164 0.0625,-4.40239 0.01712,-2.236174 0.0069,-4.75904 -0.0625,-6.234039 0,-0.01949 0,-0.04473 0,-0.06427 10e-6,-3.038207 6.46e-4,2.233558 0,-1.058048 l 10.40625,-4.113408 z"
+ id="path6498"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccssccccccccccccsscsccc" />
+ <path
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.83628319;color:#000000;fill:url(#linearGradient19572);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25439572px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+ d="m 82.423759,17.140214 -8.566013,3.185728 1.269725,-0.0069 0.0019,0.321791 8.003261,-3.003952 -4.21e-4,-0.488424 z"
+ id="path19564"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0"
+ id="path19574"
+ d="m 49.723171,19.491353 24.704708,0.58196 -0.559498,0.25963 -0.0035,0.53587 -25.154943,-0.319451 0.05199,-0.636873 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.79646014;color:#000000;fill:url(#linearGradient19576);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25439572px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/brick_migration.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/brick_migration.svg
new file mode 100644
index 00000000..1fa4e0d4
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/brick_migration.svg
@@ -0,0 +1,3697 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48px"
+ height="48px"
+ id="svg3373"
+ version="1.1"
+ inkscape:version="0.47pre4 r22446"
+ sodipodi:docname="brick_migration-1.svg">
+ <defs
+ id="defs3375">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective698" />
+ <linearGradient
+ id="linearGradient11720">
+ <stop
+ style="stop-color:#397303;stop-opacity:1"
+ offset="0"
+ id="stop11722" />
+ <stop
+ style="stop-color:#3a7304;stop-opacity:1"
+ offset="1"
+ id="stop11724" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11703">
+ <stop
+ id="stop11705"
+ offset="0"
+ style="stop-color:#428504;stop-opacity:1" />
+ <stop
+ id="stop11707"
+ offset="1"
+ style="stop-color:#428504;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11691">
+ <stop
+ id="stop11693"
+ offset="0.0000000"
+ style="stop-color:#adff5e;stop-opacity:1" />
+ <stop
+ id="stop11695"
+ offset="1.0000000"
+ style="stop-color:#428504;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6230">
+ <stop
+ style="stop-color:#b4fb71;stop-opacity:1"
+ offset="0"
+ id="stop6232" />
+ <stop
+ style="stop-color:#3fa617;stop-opacity:1"
+ offset="1"
+ id="stop6234" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6214">
+ <stop
+ style="stop-color:#38a111;stop-opacity:1"
+ offset="0"
+ id="stop6216" />
+ <stop
+ style="stop-color:#baff76;stop-opacity:1"
+ offset="1"
+ id="stop6218" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3">
+ <stop
+ id="stop6490-82"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5">
+ <stop
+ id="stop7723-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455"
+ xlink:href="#linearGradient6817-4"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9">
+ <stop
+ id="stop4136-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8" />
+ <stop
+ id="stop4138-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4">
+ <stop
+ id="stop4208-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452">
+ <stop
+ id="stop3454"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458" />
+ <stop
+ id="stop3460"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463">
+ <stop
+ id="stop3465"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210">
+ <stop
+ id="stop7212"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551">
+ <stop
+ id="stop4553"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545">
+ <stop
+ id="stop4547"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721">
+ <stop
+ id="stop7723"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0">
+ <stop
+ id="stop4136-4-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8" />
+ <stop
+ id="stop4138-2-9"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5">
+ <stop
+ id="stop4208-5-7"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3">
+ <stop
+ id="stop7212-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5">
+ <stop
+ id="stop2318-7-1"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9">
+ <stop
+ id="stop2328-8-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3-8">
+ <stop
+ id="stop6490-82-0"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-1"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4-7">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-4" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-6" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09-0">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-7" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5-2">
+ <stop
+ id="stop7723-5-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-7" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-1" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-7"
+ xlink:href="#linearGradient6817-4-5"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-8">
+ <stop
+ id="stop4136-4-2"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-3" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-0" />
+ <stop
+ id="stop4138-2-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-8">
+ <stop
+ id="stop4208-5-8"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-1">
+ <stop
+ id="stop3454-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-2" />
+ <stop
+ id="stop3460-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-3">
+ <stop
+ id="stop3465-3"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-0"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-1">
+ <stop
+ id="stop7212-3"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-9">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-8" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-3">
+ <stop
+ id="stop4553-9"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-3"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-3">
+ <stop
+ id="stop4547-6"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-5"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-4">
+ <stop
+ id="stop7723-0"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-50"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-6">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-2"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-5" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-5">
+ <stop
+ id="stop4136-4-1-2"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-6" />
+ <stop
+ id="stop4138-2-9-7"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-8">
+ <stop
+ id="stop4208-5-7-0"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-0"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-4">
+ <stop
+ id="stop7212-2-3"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-7"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-1">
+ <stop
+ id="stop2318-7-1-8"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-5"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-5">
+ <stop
+ id="stop2328-8-2-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-3"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3-9">
+ <stop
+ id="stop6490-82-08"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-0"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4-5">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-1" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09-9">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-5" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5-6">
+ <stop
+ id="stop7723-5-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-6">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-8" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-9"
+ xlink:href="#linearGradient6817-4-6"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-02">
+ <stop
+ id="stop4136-4-5"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-5" />
+ <stop
+ id="stop4138-2-7"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-4">
+ <stop
+ id="stop4208-5-1"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-7"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-13">
+ <stop
+ id="stop3454-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-5" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-1" />
+ <stop
+ id="stop3460-5"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-5">
+ <stop
+ id="stop3465-1"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-2"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-5">
+ <stop
+ id="stop7212-5"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-38"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-8">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-4" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-2" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-5">
+ <stop
+ id="stop4553-8"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-4"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-9">
+ <stop
+ id="stop4547-4"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-4"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-58">
+ <stop
+ id="stop7723-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-5">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-6"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-9">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-8" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-3" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-7">
+ <stop
+ id="stop4136-4-1-9"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-04" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-8" />
+ <stop
+ id="stop4138-2-9-74"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-2">
+ <stop
+ id="stop4208-5-7-3"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-5"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-5">
+ <stop
+ id="stop7212-2-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-9"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-8">
+ <stop
+ id="stop2318-7-1-7"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-8"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-0">
+ <stop
+ id="stop2328-8-2-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-32"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7"
+ id="linearGradient9924-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ id="linearGradient6488-3-7">
+ <stop
+ id="stop6490-82-6"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-17"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6359-4-0"
+ id="linearGradient9926-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-78.034668"
+ y1="19.883467"
+ x2="-56.572613"
+ y2="25.997072" />
+ <linearGradient
+ id="linearGradient6359-4-0">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-6" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-02" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6367-09-6"
+ id="linearGradient9928-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-66.404778"
+ y1="21.769932"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient6367-09-6">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-0" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-5-0"
+ id="linearGradient9930-2"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2623645,0.01939786,-0.01991094,1.2957544,342.35808,-20.945388)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-5-0">
+ <stop
+ id="stop7723-5-9"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-54"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-4-56"
+ id="linearGradient9932-32"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.672406,0.05643127,-0.00707387,0.46034998,484.35486,0.66073804)"
+ x1="-60.176182"
+ y1="48.328663"
+ x2="-60.225922"
+ y2="23.254047" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-56">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-88" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-4-56"
+ id="linearGradient9934-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.2159587,-2.5583937,0.50170579,-0.23845183,183.14808,-136.98861)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-5"
+ xlink:href="#linearGradient6817-4-56"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-5">
+ <stop
+ id="stop4136-4-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2" />
+ <stop
+ id="stop4138-2-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-7">
+ <stop
+ id="stop4208-5-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4176-3"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6924-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-3">
+ <stop
+ id="stop3454-8"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-50" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-9" />
+ <stop
+ id="stop3460-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-33">
+ <stop
+ id="stop3465-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-29"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-7">
+ <stop
+ id="stop7212-33"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-3">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-2" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-8">
+ <stop
+ id="stop4553-1"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-8"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-2">
+ <stop
+ id="stop4547-8"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-9"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-3">
+ <stop
+ id="stop7723-02"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-8">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-27"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-9" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-50" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-4">
+ <stop
+ id="stop4136-4-1-0"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-5" />
+ <stop
+ id="stop4138-2-9-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-23">
+ <stop
+ id="stop4208-5-7-2"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-9"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-44">
+ <stop
+ id="stop7212-2-9"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-2">
+ <stop
+ id="stop2318-7-1-9"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-3"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-02">
+ <stop
+ id="stop2328-8-2-0"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3612-21"
+ xlink:href="#linearGradient6817-4-56"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient5410"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient5412"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient5414"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient5418"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.724623,-0.46920261)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6220"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6236"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7"
+ id="linearGradient6258"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0296406,0.01582176,-0.01582176,1.0296406,53.400982,-41.023689)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7-9"
+ id="linearGradient6258-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0296406,0.01582176,-0.01582176,1.0296406,53.400982,-41.023689)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ id="linearGradient6488-3-7-9">
+ <stop
+ id="stop6490-82-6-6"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-17-3"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6300"
+ gradientUnits="userSpaceOnUse"
+ x1="24.595747"
+ y1="14.996862"
+ x2="24.595747"
+ y2="4.670352"
+ gradientTransform="translate(79.25,0)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6302"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-127.25,0)"
+ x1="22.807631"
+ y1="14.75276"
+ x2="22.82798"
+ y2="17.890547" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6323"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6325"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6337"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6339"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6364"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6366"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6368"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6370"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6372"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6374"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6391"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6393"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6566">
+ <path
+ sodipodi:nodetypes="sssssss"
+ inkscape:connector-curvature="0"
+ id="path6568"
+ d="m 437.13691,15.625187 c 0,3.922069 -8.57373,7.101535 -19.14997,7.101535 -10.57623,0 -19.14997,-3.179466 -19.14997,-7.101535 0,-2.453312 -2.97639,-9.339638 2.1246,-10.615427 3.05388,-0.763794 13.06472,-4.48610801 17.02537,-4.48610801 4.65593,0 15.23964,3.20196201 18.55878,4.22641201 4.22049,1.302653 0.59119,8.679649 0.59119,10.875123 z"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ clip-path="none" />
+ </clipPath>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient6639"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient6641"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient6643"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient6645"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient6647"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6649"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6651"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6653"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6655"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6657"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6659"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-4"
+ id="linearGradient7322-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-4">
+ <stop
+ id="stop4136-4-75"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-3" />
+ <stop
+ id="stop4138-2-20"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-88"
+ id="linearGradient7324-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-88">
+ <stop
+ id="stop4208-5-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-9"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-0"
+ id="linearGradient7326-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-0"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-9"
+ id="linearGradient7328-7"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-9">
+ <stop
+ id="stop7212-59"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-06"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-7"
+ id="linearGradient7330-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.724623,-0.46920261)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-7"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-69"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4539-1"
+ id="linearGradient7332-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-79.963799"
+ y1="31.954889"
+ x2="-52.985451"
+ y2="21.220755" />
+ <linearGradient
+ id="linearGradient4539-1">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-7" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-9" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4551-59"
+ id="linearGradient7334-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ id="linearGradient4551-59">
+ <stop
+ id="stop4553-0"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-40"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4545-25"
+ id="linearGradient7336-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient4545-25">
+ <stop
+ id="stop4547-80"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-7"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9"
+ id="linearGradient7338-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0222085,0.01570755,-0.01612302,1.0492462,138.00792,5.5809119)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-9">
+ <stop
+ id="stop7723-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-4"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7340-01"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9737564,0.04569561,-0.00572812,0.37277161,252.99081,23.076623)"
+ x1="-60.273727"
+ y1="52.962711"
+ x2="-60.231167"
+ y2="20.531628" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-1">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7342-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.98463104,-2.0716772,0.40625977,-0.19308803,9.0865162,-88.385897)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7344-0"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.16708703,-2.2876683,-0.44861606,-0.03276611,97.273845,-105.01052)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-64">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-3"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5455-2-0"
+ id="linearGradient7346-8"
+ gradientUnits="userSpaceOnUse"
+ x1="54.71489"
+ y1="5.4645443"
+ x2="72.233635"
+ y2="5.4645443" />
+ <linearGradient
+ id="linearGradient5455-2-0">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-1" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient6925"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient6927"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient6929"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient6931"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient6933"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-0"
+ id="linearGradient6925-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-0">
+ <stop
+ id="stop4136-4-7-3"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-0" />
+ <stop
+ id="stop4138-2-3-9"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-2"
+ id="linearGradient6927-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-2">
+ <stop
+ id="stop4208-5-9-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-6"
+ id="linearGradient6929-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-6"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1"
+ id="linearGradient6931-7"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1">
+ <stop
+ id="stop7212-33-7"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-3"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient31475"
+ xlink:href="#linearGradient6924-6-7"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-7"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient5597"
+ xlink:href="#linearGradient6924-6-7"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-5-6">
+ <stop
+ id="stop4136-4-7-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02" />
+ <stop
+ id="stop4138-2-3-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-7-8">
+ <stop
+ id="stop4208-5-9-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4176-3-2"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-7-1-8">
+ <stop
+ id="stop7212-33-6"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient9478"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6-1"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9647">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop9649" />
+ <stop
+ style="stop-color:#dbdbdb;stop-opacity:1;"
+ offset="1"
+ id="stop9651" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2256">
+ <stop
+ style="stop-color:#ff0202;stop-opacity:1;"
+ offset="0"
+ id="stop2258" />
+ <stop
+ style="stop-color:#ff9b9b;stop-opacity:1;"
+ offset="1"
+ id="stop2260" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2248">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2250" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2252" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11780">
+ <stop
+ style="stop-color:#ff8b8b;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop11782" />
+ <stop
+ style="stop-color:#ec1b1b;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop11784" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4981">
+ <stop
+ style="stop-color:#cc0000;stop-opacity:1;"
+ offset="0"
+ id="stop4983" />
+ <stop
+ style="stop-color:#b30000;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop4985" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient21644"
+ id="radialGradient21650"
+ cx="25.125"
+ cy="36.75"
+ fx="25.125"
+ fy="36.75"
+ r="15.75"
+ gradientTransform="matrix(1,0,0,0.595238,0,14.875)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient21644">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop21646" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop21648" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3957">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11691"
+ id="linearGradient11663"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91724819,0,0,0.91907213,302.29549,5.732139)"
+ x1="15.737001"
+ y1="12.5036"
+ x2="53.570126"
+ y2="47.374317" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2248"
+ id="radialGradient11665"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.838984,0,0,2.961346,253.30758,-14.714265)"
+ cx="16.75"
+ cy="10.666344"
+ fx="16.75"
+ fy="10.666344"
+ r="21.25" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11720"
+ id="linearGradient11718"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.87782436,0.99037957,-0.87782433,0.99037953,319.93281,-20.25021)"
+ x1="21.75"
+ y1="15.80225"
+ x2="24.30225"
+ y2="35.05225" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11691"
+ id="linearGradient22637"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91724819,0,0,0.91907213,302.29549,5.732139)"
+ x1="15.737001"
+ y1="12.5036"
+ x2="53.570126"
+ y2="47.374317" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2248"
+ id="radialGradient22639"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.838984,0,0,2.961346,253.30758,-14.714265)"
+ cx="16.75"
+ cy="10.666344"
+ fx="16.75"
+ fy="10.666344"
+ r="21.25" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11720"
+ id="linearGradient22641"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.87782436,0.99037957,-0.87782433,0.99037953,319.93281,-20.25021)"
+ x1="21.75"
+ y1="15.80225"
+ x2="24.30225"
+ y2="35.05225" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2684-1"
+ id="linearGradient8265"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.128181,0,0,1.128181,-108.08145,-78.763896)"
+ x1="70.913956"
+ y1="101.74152"
+ x2="70.951942"
+ y2="88.923729" />
+ <linearGradient
+ id="linearGradient2684-1">
+ <stop
+ id="stop2686-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2688-4"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9056"
+ id="radialGradient8267"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.05324342,-0.836238,2.019473,0.128568,-206.0078,112.67299)"
+ cx="107.5884"
+ cy="83.990814"
+ fx="107.5884"
+ fy="83.990814"
+ r="12.551644" />
+ <linearGradient
+ id="linearGradient9056">
+ <stop
+ style="stop-color:#6acd11;stop-opacity:1"
+ offset="0"
+ id="stop9058" />
+ <stop
+ style="stop-color:#4cbe01;stop-opacity:1"
+ offset="1"
+ id="stop9060" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9050"
+ id="linearGradient8269"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-99.088729,-66.498056)"
+ x1="71.288956"
+ y1="124.11652"
+ x2="70.826942"
+ y2="95" />
+ <linearGradient
+ id="linearGradient9050">
+ <stop
+ id="stop9052"
+ offset="0"
+ style="stop-color:#428405;stop-opacity:1" />
+ <stop
+ id="stop9054"
+ offset="1"
+ style="stop-color:#264a03;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient17969"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient17971"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient17973"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient17975"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient17977"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient4134-9-6-2">
+ <stop
+ id="stop4136-4-9-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-9-7" />
+ <stop
+ id="stop4138-2-8-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-8-2">
+ <stop
+ id="stop4208-5-3-8"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-8-2"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-8-1">
+ <stop
+ id="stop7212-7-8"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-5-6"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9325">
+ <stop
+ id="stop9327"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop9329" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop9331" />
+ <stop
+ id="stop9333"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9336">
+ <stop
+ id="stop9338"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop9340"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9350">
+ <stop
+ id="stop9352"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop9354"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-7"
+ id="linearGradient9470-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-7">
+ <stop
+ id="stop4136-4-7-1-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02-9" />
+ <stop
+ id="stop4138-2-3-6-4"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8-8"
+ id="linearGradient9472-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-8-8">
+ <stop
+ id="stop4208-5-9-9-2"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6-4"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2-5"
+ id="linearGradient9474-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-2-5"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8-1"
+ id="linearGradient9476-1"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-8-1">
+ <stop
+ id="stop7212-33-6-5"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6-2"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517-7"
+ xlink:href="#linearGradient6924-6-1-6"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-1-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7-4"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9529"
+ xlink:href="#linearGradient6924-6-1-6"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-1">
+ <stop
+ id="stop4136-4-7-1-2"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-4" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02-7" />
+ <stop
+ id="stop4138-2-3-6-9"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-7-8-2">
+ <stop
+ id="stop4208-5-9-9-2-6"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6-4-8"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-7-1-8-1-5">
+ <stop
+ id="stop7212-33-6-7"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6-8"
+ offset="1"
+ style="stop-color:#fffeff;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6924-6-1-1">
+ <stop
+ id="stop6926-8-6-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient15101-4">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop15103-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1"
+ id="stop15105-7" />
+ </linearGradient>
+ <radialGradient
+ r="11.629837"
+ fy="22.232161"
+ fx="23.424841"
+ cy="22.232161"
+ cx="23.424841"
+ gradientTransform="matrix(1.0146001,1.6866793,-1.6214284,0.97923212,427.66453,-26.601732)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient12631"
+ xlink:href="#linearGradient2616-2"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2616-2">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2618-9" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop2620-2" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15101-4"
+ id="linearGradient14479"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2496217,0,0,1.2471417,-418.88067,-11.857271)"
+ x1="474.67822"
+ y1="34.551914"
+ x2="478.07663"
+ y2="47.935841" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2616-2"
+ id="radialGradient14481"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2678663,2.1035281,-2.0261721,1.2212412,190.51551,-45.0334)"
+ cx="23.424841"
+ cy="22.232161"
+ fx="23.424841"
+ fy="22.232161"
+ r="11.629837" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-1"
+ id="linearGradient9626-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.38087698,0,0,0.35432336,78.684959,0.87746894)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ id="linearGradient3957-1">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-25" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11503-8"
+ id="linearGradient24436"
+ gradientUnits="userSpaceOnUse"
+ x1="31.542158"
+ y1="27.633146"
+ x2="39.232777"
+ y2="40.738911" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient11503-8">
+ <stop
+ style="stop-color:#ef2929"
+ offset="0"
+ id="stop11505-6" />
+ <stop
+ style="stop-color:#cc0000"
+ offset="1"
+ id="stop11507-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-4"
+ id="linearGradient24438"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.509273,0,0,0.473768,23.78749,24.00915)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ id="linearGradient3957-4">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-2" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10197"
+ id="linearGradient9256"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77350046,0.01188584,-0.01188584,0.77350046,152.95373,-4.4897616)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.581718"
+ y2="19.79685" />
+ <linearGradient
+ id="linearGradient10197">
+ <stop
+ style="stop-color:#ca1c0a;stop-opacity:1"
+ offset="0"
+ id="stop10199" />
+ <stop
+ style="stop-color:#f05034;stop-opacity:1"
+ offset="1"
+ id="stop10201" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10203"
+ id="linearGradient9258"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77350046,0.01188584,-0.01188584,0.77350046,152.95373,-4.4897616)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ id="linearGradient10203">
+ <stop
+ id="stop10205"
+ offset="0"
+ style="stop-color:#e13c24;stop-opacity:1" />
+ <stop
+ id="stop10207"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10209"
+ id="linearGradient9260"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77350046,0.01188584,-0.01188584,0.77350046,152.95373,-4.4897616)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient10209">
+ <stop
+ id="stop10211"
+ offset="0"
+ style="stop-color:#e64229;stop-opacity:1" />
+ <stop
+ id="stop10213"
+ offset="1"
+ style="stop-color:#cc1f0d;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9-2"
+ id="linearGradient9262"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77549368,0.01191646,-0.01223166,0.79600571,153.09235,-4.9316635)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-9-2">
+ <stop
+ id="stop7723-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient9264"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.2560264,0.03466676,-0.00434561,0.28280144,240.32358,8.3413767)"
+ x1="-60.134838"
+ y1="70.540863"
+ x2="-60.225922"
+ y2="23.254047" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-38" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-2" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient9266"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.74698574,-1.5716682,0.30820707,-0.14648533,55.286725,-76.219144)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient9268"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.12675979,-1.7355289,-0.34034048,-0.02485786,122.18963,-88.831339)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-2"
+ id="linearGradient9470-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-2">
+ <stop
+ id="stop4136-4-7-1-8"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-6" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02-0" />
+ <stop
+ id="stop4138-2-3-6-1"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8-6"
+ id="linearGradient9472-2"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-8-6">
+ <stop
+ id="stop4208-5-9-9-0"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2-6"
+ id="linearGradient9474-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-2-6"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8-9"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8-4"
+ id="linearGradient9476-3"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-8-4">
+ <stop
+ id="stop7212-33-6-7-7"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6-8-9"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient12928"
+ xlink:href="#linearGradient6924-6-1-1-5"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-1-1-5"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6-6"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7-3"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7821"
+ id="linearGradient9228"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77350046,0.01188584,-0.01188584,0.77350046,152.95373,-4.4897616)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.581718"
+ y2="19.79685" />
+ <linearGradient
+ id="linearGradient7821">
+ <stop
+ id="stop7823"
+ offset="0"
+ style="stop-color:#4ebb15;stop-opacity:1" />
+ <stop
+ id="stop7825"
+ offset="1"
+ style="stop-color:#8ee44f;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7833"
+ id="linearGradient9230"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77350046,0.01188584,-0.01188584,0.77350046,152.95373,-4.4897616)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ id="linearGradient7833">
+ <stop
+ style="stop-color:#5aa315;stop-opacity:1"
+ offset="0"
+ id="stop7835" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop7837" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7827"
+ id="linearGradient9232"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77350046,0.01188584,-0.01188584,0.77350046,152.95373,-4.4897616)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient7827">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop7829" />
+ <stop
+ style="stop-color:#59a113;stop-opacity:1"
+ offset="1"
+ id="stop7831" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9-2"
+ id="linearGradient9234"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77549368,0.01191646,-0.01223166,0.79600571,153.09235,-4.9316635)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient15994">
+ <stop
+ id="stop15996"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop15998"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient9236"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.2560264,0.03466676,-0.00434561,0.28280144,240.32358,8.3413767)"
+ x1="-60.134838"
+ y1="70.540863"
+ x2="-60.225922"
+ y2="23.254047" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient9238"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.74698574,-1.5716682,0.30820707,-0.14648533,55.286725,-76.219144)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient9240"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.12675979,-1.7355289,-0.34034048,-0.02485786,122.18963,-88.831339)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.12675979,-1.7355289,-0.34034048,-0.02485786,122.18963,-88.831339)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient16056"
+ xlink:href="#linearGradient6817-7"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7821"
+ id="linearGradient16333"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77350046,0.01188584,-0.01188584,0.77350046,152.95373,-4.4897616)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.581718"
+ y2="19.79685" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7833"
+ id="linearGradient16335"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77350046,0.01188584,-0.01188584,0.77350046,152.95373,-4.4897616)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7827"
+ id="linearGradient16337"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77350046,0.01188584,-0.01188584,0.77350046,152.95373,-4.4897616)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9-2"
+ id="linearGradient16339"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77549368,0.01191646,-0.01223166,0.79600571,153.09235,-4.9316635)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient16341"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.2560264,0.03466676,-0.00434561,0.28280144,240.32358,8.3413767)"
+ x1="-60.134838"
+ y1="70.540863"
+ x2="-60.225922"
+ y2="23.254047" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient16343"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.74698574,-1.5716682,0.30820707,-0.14648533,55.286725,-76.219144)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient16345"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.12675979,-1.7355289,-0.34034048,-0.02485786,122.18963,-88.831339)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10197"
+ id="linearGradient16365"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77350046,0.01188584,-0.01188584,0.77350046,152.95373,-4.4897616)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.581718"
+ y2="19.79685" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10203"
+ id="linearGradient16367"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77350046,0.01188584,-0.01188584,0.77350046,152.95373,-4.4897616)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10209"
+ id="linearGradient16369"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77350046,0.01188584,-0.01188584,0.77350046,152.95373,-4.4897616)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9-2"
+ id="linearGradient16371"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77549368,0.01191646,-0.01223166,0.79600571,153.09235,-4.9316635)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient16373"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.2560264,0.03466676,-0.00434561,0.28280144,240.32358,8.3413767)"
+ x1="-60.134838"
+ y1="70.540863"
+ x2="-60.225922"
+ y2="23.254047" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient16375"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.74698574,-1.5716682,0.30820707,-0.14648533,55.286725,-76.219144)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient16377"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.12675979,-1.7355289,-0.34034048,-0.02485786,122.18963,-88.831339)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7821"
+ id="linearGradient16397"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77350046,0.01188584,-0.01188584,0.77350046,152.95373,-4.4897616)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.581718"
+ y2="19.79685" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7833"
+ id="linearGradient16399"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77350046,0.01188584,-0.01188584,0.77350046,152.95373,-4.4897616)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7827"
+ id="linearGradient16401"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77350046,0.01188584,-0.01188584,0.77350046,152.95373,-4.4897616)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9-2"
+ id="linearGradient16403"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77549368,0.01191646,-0.01223166,0.79600571,153.09235,-4.9316635)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient16405"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.2560264,0.03466676,-0.00434561,0.28280144,240.32358,8.3413767)"
+ x1="-60.134838"
+ y1="70.540863"
+ x2="-60.225922"
+ y2="23.254047" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient16407"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.74698574,-1.5716682,0.30820707,-0.14648533,55.286725,-76.219144)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient16409"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.12675979,-1.7355289,-0.34034048,-0.02485786,122.18963,-88.831339)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11503-8"
+ id="linearGradient16423"
+ gradientUnits="userSpaceOnUse"
+ x1="31.542158"
+ y1="27.633146"
+ x2="39.232777"
+ y2="40.738911" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-4"
+ id="linearGradient16425"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.509273,0,0,0.473768,23.78749,24.00915)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-1"
+ id="linearGradient16439"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.38087698,0,0,0.35432336,78.684959,0.87746894)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10197"
+ id="linearGradient3531"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77350046,0.01188584,-0.01188584,0.77350046,152.95373,-4.4897616)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.581718"
+ y2="19.79685" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10203"
+ id="linearGradient3533"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77350046,0.01188584,-0.01188584,0.77350046,152.95373,-4.4897616)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10209"
+ id="linearGradient3535"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77350046,0.01188584,-0.01188584,0.77350046,152.95373,-4.4897616)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9-2"
+ id="linearGradient3537"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.77549368,0.01191646,-0.01223166,0.79600571,153.09235,-4.9316635)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient3539"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.2560264,0.03466676,-0.00434561,0.28280144,240.32358,8.3413767)"
+ x1="-60.134838"
+ y1="70.540863"
+ x2="-60.225922"
+ y2="23.254047" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient3541"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.74698574,-1.5716682,0.30820707,-0.14648533,55.286725,-76.219144)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient3543"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.12675979,-1.7355289,-0.34034048,-0.02485786,122.18963,-88.831339)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6568542"
+ inkscape:cx="46.840697"
+ inkscape:cy="22.238251"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1280"
+ inkscape:window-height="726"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata3378">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g7697"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-0"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-1"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-3"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g6615"
+ transform="translate(-95.5,0)">
+ <g
+ id="g9464-2"
+ transform="matrix(1.2573708,0,0,1.2573709,61.81861,-12.320192)">
+ <path
+ style="color:#000000;fill:url(#linearGradient9470-1);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient9472-8);stroke-width:1.07960427;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 46.071102,14.389965 c -8.507118,0 -15.424338,3.017755 -15.424338,6.730038 0,0.266382 0,19.239684 0,19.51711 0,3.712296 6.91722,6.730038 15.424338,6.730038 8.507125,0 15.69978,-3.017742 15.69978,-6.730038 0,-0.219733 0,-19.297376 0,-19.51711 0,-3.712295 -7.192655,-6.730038 -15.69978,-6.730038 z"
+ id="path21753-3"
+ sodipodi:nodetypes="zsszssz"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="zsszssz"
+ id="path21755-2"
+ d="m 46.080432,15.126006 c -7.931631,0 -14.380916,2.822639 -14.380916,6.294907 0,0.249165 0,18.241368 0,18.500853 0,3.472269 6.449285,6.294908 14.380916,6.294908 7.931638,0 14.637742,-2.822639 14.637727,-6.294908 0,-0.205521 0,-18.295331 0,-18.500853 0,-3.472268 -6.706089,-6.294907 -14.637727,-6.294907 z"
+ style="opacity:0.70796461;color:#000000;fill:none;stroke:url(#linearGradient9474-5);stroke-width:1.08133531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient9476-1);stroke-width:1.00492704;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ id="path21757-2"
+ sodipodi:cx="24"
+ sodipodi:cy="14.071428"
+ sodipodi:rx="12.857142"
+ sodipodi:ry="5.5"
+ d="m 36.857142,14.071428 c 0,3.037566 -5.756338,5.5 -12.857142,5.5 -7.100804,0 -12.857142,-2.462434 -12.857142,-5.5 0,-3.037566 5.756338,-5.4999997 12.857142,-5.4999997 7.100804,0 12.857142,2.4624337 12.857142,5.4999997 z"
+ transform="matrix(1.1227741,0,0,1.0919883,19.192176,5.7605912)" />
+ <path
+ style="opacity:0.49367083;color:#000000;fill:url(#linearGradient9529);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 34.928081,25.959639 0.38657,12.731652 4.948172,1.388917 -0.154644,-12.654504 c 0,0 2.242138,0 5.875949,-0.231482 -5.645572,-0.251781 -12.104991,-2.673295 -14.303272,-4.243888 1.533656,2.260099 3.247225,3.009305 3.247225,3.009305 z"
+ id="path21759-1"
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ <g
+ transform="matrix(-1.3932063,0,0,1.3932063,172.47511,-12.845332)"
+ id="g16379">
+ <path
+ style="fill:url(#linearGradient16397);fill-opacity:1;stroke:none"
+ d="m 89.371356,12.317168 0.03158,6.222533 17.422444,3.058459 0.1038,-6.702603 z"
+ id="path16381"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:url(#linearGradient16399);fill-opacity:1;stroke:none"
+ d="m 89.366411,12.318914 6.940132,-2.8583683 17.113627,2.8475583 -6.49203,2.589768 z"
+ id="path16383"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:url(#linearGradient16401);fill-opacity:1;stroke:none"
+ d="m 106.9173,14.900713 -0.0724,6.729281 6.19559,-4.168829 0.33939,-5.174826 z"
+ id="path16385"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.41150441;color:#000000;fill:url(#linearGradient16403);fill-opacity:1;stroke:none;stroke-width:1.53600001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+ d="m 96.385984,10.082574 -6.183896,2.300146 0.0061,5.980124 16.665072,3.332025 5.77131,-4.011912 0.0335,-5.192293 c -5.54123,-0.801721 -16.292076,-2.40809 -16.292076,-2.40809 z m 0.02819,0.422684 15.557876,2.324655 0.0337,4.65108 -5.11908,3.218083 -15.971368,-2.95663 0.06009,-5.206953 z"
+ id="path16387"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccccccccc" />
+ <path
+ style="opacity:0.8053097;fill:#cedcc2;fill-opacity:1;stroke:url(#linearGradient16405);stroke-width:0.79884803px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 106.8823,14.897158 -0.11219,7.08099"
+ id="path16389"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#428504;fill-opacity:1;stroke:#428504;stroke-width:0.29152519;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+ d="m 96.288071,9.4274507 c 0,0 -4.527693,1.6656723 -6.716054,2.5970793 l -0.211172,0.07679 0,0.23037 0.0384,6.296763 17.572035,3.43716 6.38529,-4.15468 0.0744,-6.029722 -17.142869,-2.4537603 z m 0.043,0.526122 16.447209,2.4265143 -0.0744,5.342106 -5.88615,3.671509 -16.745173,-3.072409 -0.0081,-5.979705 z"
+ id="path16391"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccccccccccc" />
+ <path
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.78761058;color:#000000;fill:url(#linearGradient16407);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25439572px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+ d="m 106.4853,14.881576 0.77999,0.0078 -0.002,0.197678 5.35009,-2.149237 c 0,0 0.071,-0.314124 0.0236,-0.405562 -0.0502,-0.09683 -0.36149,-0.109226 -0.36149,-0.109226 z"
+ id="path16393"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccscc" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0"
+ id="path16395"
+ d="m 91.668618,12.160062 15.169262,2.57172 -0.34611,0.154195 -0.008,0.329118 -15.448308,-2.414723 0.03796,-0.390707 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.78761058;color:#000000;fill:url(#linearGradient16409);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25439572px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ </g>
+ <g
+ id="g16427"
+ transform="matrix(0.92874096,0,0,0.93075772,-48.444335,-0.37292547)">
+ <path
+ sodipodi:type="arc"
+ style="fill:#4aab17;fill-opacity:1;stroke:#2a5503;stroke-width:0.77183652;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path16429"
+ sodipodi:cx="36.769554"
+ sodipodi:cy="36.818874"
+ sodipodi:rx="8.087534"
+ sodipodi:ry="8.087534"
+ d="m 44.857088,36.818874 c 0,4.466622 -3.620912,8.087534 -8.087534,8.087534 -4.466622,0 -8.087534,-3.620912 -8.087534,-8.087534 0,-4.466621 3.620912,-8.087534 8.087534,-8.087534 4.466622,0 8.087534,3.620913 8.087534,8.087534 z"
+ transform="matrix(0.96698595,0,0,0.97095123,52.201604,-26.650791)" />
+ <rect
+ style="fill:#eeeeec;fill-opacity:1;stroke:none"
+ id="rect16431"
+ width="8.9746046"
+ height="2.9915347"
+ x="83.237709"
+ y="7.6027775"
+ rx="0"
+ ry="0" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.3;fill:none;stroke:#ffffff;stroke-width:0.85211307;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path16433"
+ sodipodi:cx="36.769554"
+ sodipodi:cy="36.818874"
+ sodipodi:rx="8.087534"
+ sodipodi:ry="8.087534"
+ d="m 44.857088,36.818874 c 0,4.466622 -3.620912,8.087534 -8.087534,8.087534 -4.466622,0 -8.087534,-3.620912 -8.087534,-8.087534 0,-4.466621 3.620912,-8.087534 8.087534,-8.087534 4.466622,0 8.087534,3.620913 8.087534,8.087534 z"
+ transform="matrix(0.87708584,0,0,0.87827797,55.485208,-23.238068)" />
+ <path
+ sodipodi:nodetypes="czssc"
+ id="path16435"
+ d="m 95.203848,8.5717727 c 0,3.8375393 -3.943723,-2.2202999 -7.112772,0.1369054 -3.095126,2.3022199 -7.844902,4.3193959 -7.844902,0.4818562 0,-3.9273385 3.311873,-7.5708267 7.437003,-7.5708267 4.125129,0 7.520671,3.114525 7.520671,6.9520651 z"
+ style="fill:url(#linearGradient16439);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ inkscape:connector-curvature="0" />
+ <rect
+ transform="matrix(0,1,-1,0,0,0)"
+ ry="0"
+ rx="0"
+ y="-89.220779"
+ x="4.6112428"
+ height="2.9915347"
+ width="8.9746046"
+ id="rect16437"
+ style="fill:#eeeeec;fill-opacity:1;stroke:none" />
+ </g>
+ <g
+ id="g16347"
+ transform="matrix(-1.4060739,0,0,1.4060739,159.76417,16.986016)">
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path16349"
+ d="m 89.371356,12.317168 0.03158,6.222533 17.422444,3.058459 0.1038,-6.702603 z"
+ style="fill:url(#linearGradient3531);fill-opacity:1;stroke:none" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path16351"
+ d="m 89.366411,12.318914 6.940132,-2.8583683 17.113627,2.4886733 -6.49203,2.948653 z"
+ style="fill:url(#linearGradient3533);fill-opacity:1;stroke:none" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path16353"
+ d="m 106.9173,14.900713 -0.0724,6.729281 6.19559,-4.168829 0.33939,-5.547514 z"
+ style="fill:url(#linearGradient3535);fill-opacity:1;stroke:none" />
+ <path
+ sodipodi:nodetypes="ccccccccccccccc"
+ inkscape:connector-curvature="0"
+ id="path16355"
+ d="M 96.303164,9.9583447 C 94.030967,10.873739 90.064055,12.34131 90.064055,12.34131 l 0.0061,5.980124 16.803105,3.373435 5.77131,-4.011912 0.13011,-5.316522 c 0,0 -11.43051,-2.327324 -16.471297,-2.4080893 z m 0.0834,0.4640933 15.682106,2.076196 -0.0629,4.982359 -5.11908,3.218083 -15.971371,-2.95663 0.07389,-5.386396 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.41150441;color:#000000;fill:url(#linearGradient3537);fill-opacity:1;stroke:none;stroke-width:1.53600001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <path
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0"
+ id="path16357"
+ d="m 106.8823,14.897158 -0.11219,7.08099"
+ style="opacity:0.37168142;fill:#cedcc2;fill-opacity:1;stroke:url(#linearGradient3539);stroke-width:0.79884803px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="ccccccccccccccccc"
+ inkscape:connector-curvature="0"
+ id="path16359"
+ d="m 96.288071,9.4274507 c 0,0 -4.527693,1.6656723 -6.716054,2.5970793 l -0.211172,0.07679 0,0.23037 0.0384,6.296763 17.572035,3.43716 6.38529,-4.15468 0.0744,-6.029722 -17.142869,-2.4537603 z m 0.043,0.526122 16.447209,2.4265143 -0.0744,5.342106 -5.88615,3.671509 -16.745173,-3.072409 -0.0081,-5.979705 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#840100;fill-opacity:1;stroke:#840100;stroke-width:0.11527348;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0"
+ id="path16361"
+ d="m 111.79239,12.4644 -5.30709,2.417176 0.77999,0.0078 -0.002,0.197678 4.79796,-2.301073 -0.004,-0.295136 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.5;color:#000000;fill:url(#linearGradient3541);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25439572px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <path
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.5;color:#000000;fill:url(#linearGradient3543);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25439572px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+ d="m 91.668618,12.160062 15.169262,2.57172 -0.34611,0.154195 -0.008,0.329118 -15.448308,-2.414723 0.03796,-0.390707 z"
+ id="path16363"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" />
+ </g>
+ <g
+ transform="matrix(0.8374786,0,0,0.83299228,-3.8962013,3.8434442)"
+ id="g16411">
+ <g
+ transform="matrix(0.84658759,0,0,0.84658759,-3.1691781,11.057179)"
+ id="g16413">
+ <path
+ transform="matrix(1.292963,0,0,1.298265,-11.62357,-12.79906)"
+ d="m 44.857088,36.818874 c 0,4.466622 -3.620912,8.087534 -8.087534,8.087534 -4.466622,0 -8.087534,-3.620912 -8.087534,-8.087534 0,-4.466621 3.620912,-8.087534 8.087534,-8.087534 4.466622,0 8.087534,3.620913 8.087534,8.087534 z"
+ sodipodi:ry="8.087534"
+ sodipodi:rx="8.087534"
+ sodipodi:cy="36.818874"
+ sodipodi:cx="36.769554"
+ id="path16415"
+ style="fill:url(#linearGradient16423);fill-opacity:1;stroke:#a40000;stroke-width:0.77183652;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <rect
+ ry="0"
+ rx="0"
+ y="33.001602"
+ x="29.875"
+ height="4"
+ width="12"
+ id="rect16417"
+ style="fill:#eeeeec;fill-opacity:1;stroke:none" />
+ <path
+ transform="matrix(1.172757,0,0,1.174351,-7.233043,-8.235886)"
+ d="m 44.857088,36.818874 c 0,4.466622 -3.620912,8.087534 -8.087534,8.087534 -4.466622,0 -8.087534,-3.620912 -8.087534,-8.087534 0,-4.466621 3.620912,-8.087534 8.087534,-8.087534 4.466622,0 8.087534,3.620913 8.087534,8.087534 z"
+ sodipodi:ry="8.087534"
+ sodipodi:rx="8.087534"
+ sodipodi:cy="36.818874"
+ sodipodi:cx="36.769554"
+ id="path16419"
+ style="opacity:0.3;fill:none;stroke:#ffffff;stroke-width:0.85211307;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="fill:url(#linearGradient16425);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 45.875,34.297252 c 0,5.131198 -5.273176,-2.968777 -9.510532,0.183057 C 32.225956,37.558622 25.875,40.2558 25.875,35.124602 c 0,-5.251269 4.428326,-10.123 9.944064,-10.123 5.515736,0 10.055936,4.164451 10.055936,9.29565 z"
+ id="path16421"
+ sodipodi:nodetypes="czssc" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/bricks.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/bricks.svg
new file mode 100644
index 00000000..39af40f2
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/bricks.svg
@@ -0,0 +1,684 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ sodipodi:docname="add_bricks.svg"
+ inkscape:version="0.48.1 "
+ sodipodi:version="0.32"
+ id="svg11300"
+ height="48px"
+ width="48px"
+ inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs3">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6807">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6809" />
+ <stop
+ style="stop-color:#356a04;stop-opacity:1"
+ offset="1"
+ id="stop6811" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488">
+ <stop
+ id="stop6490"
+ offset="0"
+ style="stop-color:#3a7304;stop-opacity:1" />
+ <stop
+ id="stop6492"
+ offset="1"
+ style="stop-color:#6dcc11;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367">
+ <stop
+ style="stop-color:#66bd11;stop-opacity:1"
+ offset="0"
+ id="stop6369" />
+ <stop
+ style="stop-color:#3b7504;stop-opacity:1"
+ offset="1"
+ id="stop6371" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359">
+ <stop
+ style="stop-color:#3c7604;stop-opacity:1"
+ offset="0"
+ id="stop6361" />
+ <stop
+ style="stop-color:#67bf11;stop-opacity:1"
+ offset="1"
+ id="stop6363" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6351">
+ <stop
+ style="stop-color:#3a7304;stop-opacity:1"
+ offset="0"
+ id="stop6353" />
+ <stop
+ style="stop-color:#67bf11;stop-opacity:1"
+ offset="1"
+ id="stop6355" />
+ </linearGradient>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective24" />
+ <linearGradient
+ id="linearGradient1442">
+ <stop
+ id="stop1444"
+ offset="0"
+ style="stop-color:#73d216" />
+ <stop
+ id="stop1446"
+ offset="1.0000000"
+ style="stop-color:#4e9a06" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5048-8">
+ <stop
+ id="stop5050-4"
+ offset="0"
+ style="stop-color:black;stop-opacity:0;" />
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0.5"
+ id="stop5056-6" />
+ <stop
+ id="stop5052-2"
+ offset="1"
+ style="stop-color:black;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1789-2">
+ <stop
+ id="stop1790-0"
+ offset="0.0000000"
+ style="stop-color:#202020;stop-opacity:1.0000000;" />
+ <stop
+ id="stop1791-9"
+ offset="1.0000000"
+ style="stop-color:#b9b9b9;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3096-0">
+ <stop
+ style="stop-color:#424242;stop-opacity:1;"
+ offset="0"
+ id="stop3098-7" />
+ <stop
+ style="stop-color:#777777;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop3100-2" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3983-4">
+ <stop
+ id="stop3984-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.87628865;" />
+ <stop
+ id="stop3985-0"
+ offset="1.0000000"
+ style="stop-color:#fffffe;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9766-1">
+ <stop
+ id="stop9768-3"
+ offset="0"
+ style="stop-color:#6194cb;stop-opacity:1;" />
+ <stop
+ id="stop9770-9"
+ offset="1"
+ style="stop-color:#729fcf;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.5,0,20)"
+ r="17.142857"
+ fy="40"
+ fx="23.857143"
+ cy="40"
+ cx="23.857143"
+ id="radialGradient4132"
+ xlink:href="#linearGradient4126"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4126"
+ inkscape:collect="always">
+ <stop
+ id="stop4128"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop4130"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134">
+ <stop
+ id="stop4136"
+ offset="0.0000000"
+ style="stop-color:#7e807a;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#babbb8;stop-opacity:1.0000000;"
+ offset="0.25000000"
+ id="stop4148" />
+ <stop
+ style="stop-color:#a5a6a3;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop4142" />
+ <stop
+ id="stop4138"
+ offset="1.0000000"
+ style="stop-color:#333432;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206">
+ <stop
+ id="stop4208"
+ offset="0.0000000"
+ style="stop-color:#7d4b01;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4210"
+ offset="1.0000000"
+ style="stop-color:#535353;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4162">
+ <stop
+ id="stop4164"
+ offset="0.0000000"
+ style="stop-color:#f79403;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#fdb343;stop-opacity:1.0000000;"
+ offset="0.18691589"
+ id="stop4170" />
+ <stop
+ id="stop4172"
+ offset="0.43008122"
+ style="stop-color:#fdb74f;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4166"
+ offset="1.0000000"
+ style="stop-color:#8f5601;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6932">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop6934" />
+ <stop
+ style="stop-color:#e7e6ae;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop6936" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient18457">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop18459" />
+ <stop
+ style="stop-color:#e7e6ae;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop18461" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6351"
+ id="linearGradient18757"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.3298657,149.05613,-2.4166289)"
+ x1="-65.904015"
+ y1="33.321117"
+ x2="-81.716515"
+ y2="22.445917" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6359"
+ id="linearGradient18759"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.2592685,149.05613,-0.7938753)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6367"
+ id="linearGradient18761"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.2592685,149.05613,-0.7938753)"
+ x1="-61.079266"
+ y1="23.91073"
+ x2="-45.920662"
+ y2="27.888205" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6351"
+ id="linearGradient18763"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.3722732,149.05613,-13.755092)"
+ x1="-64.509407"
+ y1="37.451321"
+ x2="-81.591515"
+ y2="22.883417" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6359"
+ id="linearGradient18765"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.2592685,149.05613,-11.157554)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6367"
+ id="linearGradient18767"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.340854,149.05613,-12.700526)"
+ x1="-61.079266"
+ y1="23.91073"
+ x2="-45.920662"
+ y2="27.888205" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488"
+ id="linearGradient18769"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.2592685,149.05613,-21.508887)"
+ x1="-60.01569"
+ y1="39.306713"
+ x2="-80.529015"
+ y2="22.945917" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6359"
+ id="linearGradient18771"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.2592685,149.05613,-21.508887)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6367"
+ id="linearGradient18773"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.2592685,149.05613,-21.508887)"
+ x1="-61.079266"
+ y1="23.91073"
+ x2="-45.920662"
+ y2="27.888205" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6807"
+ id="linearGradient18775"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2625135,0,0,1.2959074,149.2707,-22.231606)"
+ x1="-85.607483"
+ y1="17.738201"
+ x2="-36.531059"
+ y2="44.132229" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817"
+ id="linearGradient18777"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3076164,0,0,1.3076164,151.78565,-22.64912)"
+ x1="-60.1875"
+ y1="58.0625"
+ x2="-61.1875"
+ y2="18.5625" />
+ <linearGradient
+ id="linearGradient6351-0">
+ <stop
+ style="stop-color:#3a7304;stop-opacity:1"
+ offset="0"
+ id="stop6353-2" />
+ <stop
+ style="stop-color:#67bf11;stop-opacity:1"
+ offset="1"
+ id="stop6355-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-9">
+ <stop
+ style="stop-color:#3c7604;stop-opacity:1"
+ offset="0"
+ id="stop6361-0" />
+ <stop
+ style="stop-color:#67bf11;stop-opacity:1"
+ offset="1"
+ id="stop6363-1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-0">
+ <stop
+ style="stop-color:#66bd11;stop-opacity:1"
+ offset="0"
+ id="stop6369-2" />
+ <stop
+ style="stop-color:#3b7504;stop-opacity:1"
+ offset="1"
+ id="stop6371-9" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient18810">
+ <stop
+ style="stop-color:#3a7304;stop-opacity:1"
+ offset="0"
+ id="stop18812" />
+ <stop
+ style="stop-color:#67bf11;stop-opacity:1"
+ offset="1"
+ id="stop18814" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient18817">
+ <stop
+ style="stop-color:#3c7604;stop-opacity:1"
+ offset="0"
+ id="stop18819" />
+ <stop
+ style="stop-color:#67bf11;stop-opacity:1"
+ offset="1"
+ id="stop18821" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient18824">
+ <stop
+ style="stop-color:#66bd11;stop-opacity:1"
+ offset="0"
+ id="stop18826" />
+ <stop
+ style="stop-color:#3b7504;stop-opacity:1"
+ offset="1"
+ id="stop18828" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-0">
+ <stop
+ id="stop6490-8"
+ offset="0"
+ style="stop-color:#3a7304;stop-opacity:1" />
+ <stop
+ id="stop6492-9"
+ offset="1"
+ style="stop-color:#6dcc11;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient18835">
+ <stop
+ style="stop-color:#3c7604;stop-opacity:1"
+ offset="0"
+ id="stop18837" />
+ <stop
+ style="stop-color:#67bf11;stop-opacity:1"
+ offset="1"
+ id="stop18839" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient18842">
+ <stop
+ style="stop-color:#66bd11;stop-opacity:1"
+ offset="0"
+ id="stop18844" />
+ <stop
+ style="stop-color:#3b7504;stop-opacity:1"
+ offset="1"
+ id="stop18846" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817"
+ id="linearGradient19572"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.2551236,-2.5394091,0.49798288,-0.24613213,-11.703445,-135.81495)"
+ x1="-60.693653"
+ y1="43.615685"
+ x2="-60.739853"
+ y2="22.826736" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817"
+ id="linearGradient19576"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.16291119,-2.8279664,-0.55456952,-0.03194723,96.874184,-158.0162)"
+ x1="-60.888218"
+ y1="67.751678"
+ x2="-60.739853"
+ y2="22.826736" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-y="-8"
+ inkscape:window-x="-8"
+ inkscape:window-height="838"
+ inkscape:window-width="1600"
+ inkscape:showpageshadow="false"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ showgrid="false"
+ inkscape:current-layer="g19006"
+ inkscape:cy="2.877708"
+ inkscape:cx="38.86421"
+ inkscape:zoom="1"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="0.25490196"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ fill="#4e9a06"
+ stroke="#4e9a06"
+ inkscape:window-maximized="1"
+ showguides="false"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ orientation="0,1"
+ position="53.75,63.5"
+ id="guide18739" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:title></dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>go</rdf:li>
+ <rdf:li>lower</rdf:li>
+ <rdf:li>down</rdf:li>
+ <rdf:li>arrow</rdf:li>
+ <rdf:li>pointer</rdf:li>
+ <rdf:li>&gt;</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Andreas Nilsson</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1"
+ id="layer1">
+ <g
+ id="g6867">
+ <g
+ transform="matrix(0.97573585,0,0,0.97573585,97.72645,0.08879789)"
+ id="g6825">
+ <g
+ id="g18741"
+ transform="matrix(1.1601271,0,0,1.1601271,14.0986,-0.3151082)">
+ <g
+ id="g19006"
+ transform="translate(-143.11238,-0.55213107)">
+ <path
+ style="fill:url(#linearGradient18757);fill-opacity:1;stroke:none"
+ d="m 45.988016,28.151794 0,12.334474 28.641068,0.903458 0.128108,-11.70761 z"
+ id="path6472"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:url(#linearGradient18759);fill-opacity:1;stroke:none"
+ d="m 45.980011,28.154759 17.895456,-5.044007 22.023547,0.170072 -11.334165,6.639385 z"
+ id="path6474"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:url(#linearGradient18761);fill-opacity:1;stroke:none"
+ d="m 74.593389,29.737674 0.03603,11.605727 10.908762,-6.267793 0.113233,-11.555538 z"
+ id="path6476"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path6456"
+ d="m 45.988021,17.788114 0,11.039444 28.641068,1.029205 0,-11.123857 z"
+ style="fill:url(#linearGradient18763);fill-opacity:1;stroke:none" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path6458"
+ d="m 45.975097,17.805837 17.895456,-4.72919 21.729141,-0.07904 -10.96161,5.656956 z"
+ style="fill:url(#linearGradient18765);fill-opacity:1;stroke:none" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path6460"
+ d="m 74.625422,19.049291 0,10.849957 11.00335,-6.380757 0,-10.860325 z"
+ style="fill:url(#linearGradient18767);fill-opacity:1;stroke:none" />
+ <path
+ style="fill:url(#linearGradient18769);fill-opacity:1;stroke:none"
+ d="m 45.988016,7.4367821 0,10.1303619 28.58555,0.944451 0.0075,-10.5417368 z"
+ id="path5569"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:url(#linearGradient18771);fill-opacity:1;stroke:none"
+ d="M 45.980011,7.4397477 57.021665,2.3957402 86.148126,2.8602143 74.578943,7.9736527 z"
+ id="path5571"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:url(#linearGradient18773);fill-opacity:1;stroke:none"
+ d="M 74.561362,7.9785472 74.606194,18.562921 85.764648,12.27816 86.081697,2.8033309 z"
+ id="path5573"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.7522124;color:#000000;fill:url(#linearGradient18775);fill-opacity:1;stroke:none;stroke-width:1.53600001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+ d="m 57.211426,3.4241263 c -3.675387,1.5467494 -7.253333,2.7632007 -10.428502,4.1398292 0.04504,10.8620475 0.0717,22.4950915 0.07019,32.0775595 l 0,0.739662 0.720602,0.03216 c 9.003583,0.30778 18.075547,0.615823 27.079889,0.891844 3.562748,-2.129314 10.151752,-5.825183 10.151752,-5.825183 0,0 -0.03225,-22.445967 -0.02564,-32.1473075 -9.552771,-0.018101 -19.361737,0.096819 -27.568294,0.091436 z m 0.147359,0.7532839 25.812582,-0.027418 c 0.07788,9.2188098 0.0076,20.0412118 0.09997,30.4295458 L 74.650915,39.68406 48.388312,38.869693 c 0.0023,-9.62921 0.277793,-21.846882 0.236326,-31.2582723 z"
+ id="path6805"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccccccccc" />
+ <path
+ style="opacity:0.70796461;fill:#cedcc2;fill-opacity:1;stroke:url(#linearGradient18777);stroke-width:1.30761635px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 74.500696,7.9772536 -0.0041,31.6898614"
+ id="path6815"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0"
+ id="path6799"
+ d="m 85.081122,12.590668 -10.476016,6 -28.086484,-0.875 -0.03125,1.25 c 9.380385,0.265938 18.758439,0.626049 28.139189,0.875 3.695267,-2.048268 7.38675,-4.103512 11.079561,-6.15625 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#2b5603;fill-opacity:1;stroke:none;stroke-width:1.25926852px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0"
+ id="path6803"
+ d="m 85.081122,23.861549 -10.456295,5.96875 -28.106205,-0.875 -0.03125,1.28125 c 9.387155,0.433658 18.729639,0.345185 28.109417,0.875 3.654444,-2.084967 7.429758,-4.11087 11.109333,-6.15625 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#2b5603;fill-opacity:1;stroke:none;stroke-width:1.25926852px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <path
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#2b5603;fill-opacity:1;stroke:none;stroke-width:1.70742929;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+ d="m 85.581122,1.9878966 -28.46603,-0.020034 c -0.106851,0.00106 -0.213471,0.022989 -0.3125,0.064268 l -11.12772,4.3036458 c -0.318722,0.1335889 -0.540061,0.4816852 -0.53125,0.8354899 8.69e-4,3.4502006 0,7.3182916 0,10.5432786 -1.91e-4,0.01071 -1.91e-4,0.02142 0,0.03214 0.06644,1.362787 0.07971,3.92099 0.0625,6.169771 -0.01721,2.248782 -0.0625,4.125162 -0.0625,4.434524 l 0,12.85369 c 0.0046,0.442424 0.382728,0.846247 0.8125,0.867624 l 28.78125,1.028295 c 0.150685,0.0083 0.303385,-0.02526 0.4375,-0.0964 l 10.875,-6.201906 c 0.274456,-0.157247 0.45053,-0.480562 0.4375,-0.803356 -0.139056,-11.398711 -0.03125,-33.1112652 -0.03125,-33.1112652 0.0116,-0.4742679 -0.413782,-0.9116882 -0.875,-0.8997584 z m -0.84375,1.3947844 c -0.0048,1.0756006 -0.09556,20.862091 0.03125,32.134226 l -10.136233,5.803945 -27.801267,-0.951676 0,-12.018201 c 0,-0.112423 0.04521,-2.143164 0.0625,-4.40239 0.01712,-2.236174 0.0069,-4.75904 -0.0625,-6.234039 0,-0.01949 0,-0.04473 0,-0.06427 10e-6,-3.038207 6.46e-4,-6.766178 0,-10.0577842 l 10.40625,-4.1134081 z"
+ id="path6498"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccssccccccccccccsscsccc" />
+ <path
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.83628319;color:#000000;fill:url(#linearGradient19572);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25439572000000000px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+ d="m 82.423759,4.1375255 -8.566013,3.8206794 1.269725,-0.00687 0.0019,0.3217913 8.003261,-3.6389035 -4.21e-4,-0.4884243 z"
+ id="path19564"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0"
+ id="path19574"
+ d="M 49.723171,7.1236156 74.427879,7.7055763 73.868381,7.9652057 73.864885,8.501076 48.709942,8.1816253 48.761929,7.5447517 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.79646018;color:#000000;fill:url(#linearGradient19576);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25439572000000000px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/cloud.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/cloud.svg
new file mode 100644
index 00000000..d51128ac
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/cloud.svg
@@ -0,0 +1,425 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48px"
+ height="48px"
+ id="svg4749"
+ version="1.1"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="cloud.svg">
+ <defs
+ id="defs4751">
+ <linearGradient
+ id="linearGradient5393">
+ <stop
+ style="stop-color:#165b2f;stop-opacity:1;"
+ offset="0"
+ id="stop5395" />
+ <stop
+ id="stop5403"
+ offset="0.5"
+ style="stop-color:#3cad48;stop-opacity:1" />
+ <stop
+ style="stop-color:#165b2f;stop-opacity:1"
+ offset="1"
+ id="stop5397" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4396"
+ id="radialGradient4494"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0398938,1.4081904,-1.1947081,1.0567479,12.356755,-45.907619)"
+ cx="31.914917"
+ cy="11.458591"
+ fx="31.914917"
+ fy="11.458591"
+ r="2.3125" />
+ <linearGradient
+ id="linearGradient4396">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop4398" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1"
+ id="stop4400" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4396"
+ id="radialGradient4496"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.85675199,1.0877299,-0.87875536,0.82905624,14.581338,-33.071126)"
+ cx="31.914917"
+ cy="11.458591"
+ fx="31.914917"
+ fy="11.458591"
+ r="2.3125" />
+ <linearGradient
+ id="linearGradient4685">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop4687" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1"
+ id="stop4689" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4396"
+ id="radialGradient4498"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0398938,1.4081904,-1.1947081,1.0567479,12.356755,-45.907619)"
+ cx="31.914917"
+ cy="11.458591"
+ fx="31.914917"
+ fy="11.458591"
+ r="2.3125" />
+ <linearGradient
+ id="linearGradient4692">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop4694" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1"
+ id="stop4696" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4396"
+ id="radialGradient4500"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.85675199,1.0877299,-0.87875536,0.82905624,14.581338,-33.071126)"
+ cx="31.914917"
+ cy="11.458591"
+ fx="31.914917"
+ fy="11.458591"
+ r="2.3125" />
+ <linearGradient
+ id="linearGradient4699">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop4701" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1"
+ id="stop4703" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4396"
+ id="radialGradient4502"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0398938,1.4081904,-1.1947081,1.0567479,12.356755,-45.907619)"
+ cx="31.914917"
+ cy="11.458591"
+ fx="31.914917"
+ fy="11.458591"
+ r="2.3125" />
+ <linearGradient
+ id="linearGradient4706">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop4708" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1"
+ id="stop4710" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4396"
+ id="radialGradient4504"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.85675199,1.0877299,-0.87875536,0.82905624,14.581338,-33.071126)"
+ cx="31.914917"
+ cy="11.458591"
+ fx="31.914917"
+ fy="11.458591"
+ r="2.3125" />
+ <linearGradient
+ id="linearGradient4713">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop4715" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="1"
+ id="stop4717" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3797"
+ id="linearGradient4506"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.986666,0,0,2.6939438,0.02276708,-18.107392)"
+ x1="11.187261"
+ y1="15.185593"
+ x2="17.044073"
+ y2="15.185593" />
+ <linearGradient
+ id="linearGradient3797">
+ <stop
+ id="stop3799"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1" />
+ <stop
+ id="stop3801"
+ offset="1"
+ style="stop-color:#1a3712;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3797"
+ id="linearGradient4508"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.986666,0,0,2.6939438,-31.869073,-18.107392)"
+ x1="11.187261"
+ y1="15.185593"
+ x2="17.044073"
+ y2="15.185593" />
+ <linearGradient
+ id="linearGradient4724">
+ <stop
+ id="stop4726"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1" />
+ <stop
+ id="stop4728"
+ offset="1"
+ style="stop-color:#1a3712;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4461"
+ id="linearGradient4510"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.89634128,0,0,0.89634128,1.6520608,-2.3549965)"
+ x1="14.959652"
+ y1="-29.40625"
+ x2="15.102848"
+ y2="-16.09375" />
+ <linearGradient
+ id="linearGradient4461">
+ <stop
+ style="stop-color:#000000;stop-opacity:1"
+ offset="0"
+ id="stop4463" />
+ <stop
+ id="stop4473"
+ offset="0.5"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1"
+ offset="1"
+ id="stop4465" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4461"
+ id="linearGradient4866"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4573383,0,0,1.4573383,0.76102194,-5.0823518)"
+ x1="15.088311"
+ y1="-30.092434"
+ x2="15.274394"
+ y2="-13.69211" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3797"
+ id="linearGradient4870"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9844628,0,0,4.0469687,-47.920507,-23.139689)"
+ x1="11.187261"
+ y1="15.185593"
+ x2="17.044073"
+ y2="15.185593" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3797"
+ id="linearGradient4873"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9844628,0,0,4.0469687,0.07949296,-23.139689)"
+ x1="11.187261"
+ y1="15.185593"
+ x2="17.044073"
+ y2="15.185593" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5393"
+ id="linearGradient5399"
+ x1="25.275309"
+ y1="42.722507"
+ x2="25.230642"
+ y2="33.816257"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="-1.6536729"
+ inkscape:cy="-9.453482"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1600"
+ inkscape:window-height="838"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata4754">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <path
+ style="fill:#c1c1d2;fill-opacity:1;stroke:#5c688d;stroke-width:1.64646256;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 0.9808971,24.955253 c 0,0 -1.0334402,-8.617693 11.2423229,-8.619415 -0.104406,-3.886534 2.515938,-10.0267607 11.241032,-10.210604 8.422804,2.09e-5 10.560616,6.870135 10.678982,7.587697 0,0 10.446171,0.20066 12.287533,7.16088 0.678036,1.622808 1.845828,9.325967 -4.465649,9.325967 -5.058465,0.3747 -36.111816,0.187351 -36.111816,0.187351 0,0 -4.6829027,0.376422 -4.8724049,-5.431876 z"
+ id="path3884"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.72566373;fill:url(#radialGradient4494);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path4394"
+ sodipodi:cx="32.482719"
+ sodipodi:cy="12.466175"
+ sodipodi:rx="2.3125"
+ sodipodi:ry="2.1875"
+ d="m 34.795219,12.466175 a 2.3125,2.1875 0 1 1 -4.625,0 2.3125,2.1875 0 1 1 4.625,0 z"
+ transform="matrix(4.0305684,0,0,3.6827762,-107.65188,-29.86304)" />
+ <path
+ transform="matrix(4.0305684,0,0,3.6827762,-107.65188,-29.86304)"
+ d="m 34.795219,12.466175 a 2.3125,2.1875 0 1 1 -4.625,0 2.3125,2.1875 0 1 1 4.625,0 z"
+ sodipodi:ry="2.1875"
+ sodipodi:rx="2.3125"
+ sodipodi:cy="12.466175"
+ sodipodi:cx="32.482719"
+ id="path4408"
+ style="opacity:0.72566373;fill:url(#radialGradient4496);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(2.4085024,-0.91578245,0.76318439,1.8672813,-79.03292,29.383422)"
+ d="m 34.795219,12.466175 a 2.3125,2.1875 0 1 1 -4.625,0 2.3125,2.1875 0 1 1 4.625,0 z"
+ sodipodi:ry="2.1875"
+ sodipodi:rx="2.3125"
+ sodipodi:cy="12.466175"
+ sodipodi:cx="32.482719"
+ id="path4412"
+ style="opacity:0.72566373;fill:url(#radialGradient4498);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:type="arc"
+ inkscape:transform-center-x="-0.54603758"
+ inkscape:transform-center-y="1.1839818" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.72566373;fill:url(#radialGradient4500);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path4414"
+ sodipodi:cx="32.482719"
+ sodipodi:cy="12.466175"
+ sodipodi:rx="2.3125"
+ sodipodi:ry="2.1875"
+ d="m 34.795219,12.466175 a 2.3125,2.1875 0 1 1 -4.625,0 2.3125,2.1875 0 1 1 4.625,0 z"
+ transform="matrix(2.4085024,-0.91578245,0.76318439,1.8672813,-79.03292,29.383422)"
+ inkscape:transform-center-x="-0.54603758"
+ inkscape:transform-center-y="1.1839818" />
+ <path
+ inkscape:transform-center-y="1.2265159"
+ inkscape:transform-center-x="0.53256723"
+ sodipodi:type="arc"
+ style="opacity:0.72566373;fill:url(#radialGradient4502);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path4420"
+ sodipodi:cx="32.482719"
+ sodipodi:cy="12.466175"
+ sodipodi:rx="2.3125"
+ sodipodi:ry="2.1875"
+ d="m 34.795219,12.466175 a 2.3125,2.1875 0 1 1 -4.625,0 2.3125,2.1875 0 1 1 4.625,0 z"
+ transform="matrix(-2.4965075,-0.83180461,-0.73926127,1.930317,128.51353,23.87864)" />
+ <path
+ inkscape:transform-center-y="1.2265159"
+ inkscape:transform-center-x="0.53256723"
+ transform="matrix(-2.4965075,-0.83180461,-0.73926127,1.930317,128.51353,23.87864)"
+ d="m 34.795219,12.466175 a 2.3125,2.1875 0 1 1 -4.625,0 2.3125,2.1875 0 1 1 4.625,0 z"
+ sodipodi:ry="2.1875"
+ sodipodi:rx="2.3125"
+ sodipodi:cy="12.466175"
+ sodipodi:cx="32.482719"
+ id="path4422"
+ style="opacity:0.72566373;fill:url(#radialGradient4504);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:type="arc" />
+ <rect
+ style="fill:#394e69;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect4428"
+ width="5.84237"
+ height="7.9249763"
+ x="21.064981"
+ y="30.889006" />
+ <rect
+ style="opacity:0.72566373;fill:url(#linearGradient4873);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect3015"
+ width="17.96558"
+ height="4.04599"
+ x="29.962841"
+ y="36.114079"
+ rx="0"
+ ry="0" />
+ <rect
+ ry="0"
+ rx="0"
+ y="36.114079"
+ x="-18.037159"
+ height="4.04599"
+ width="17.96558"
+ id="rect3803"
+ style="opacity:0.72566373;fill:url(#linearGradient4870);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ transform="scale(-1,1)" />
+ <rect
+ style="fill:url(#linearGradient5399);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect4430"
+ width="11.924085"
+ height="9.0134811"
+ x="18.025309"
+ y="33.684517" />
+ <rect
+ transform="scale(1,-1)"
+ y="-40.800156"
+ x="20.535997"
+ height="5.2177963"
+ width="6.9027104"
+ id="rect4432"
+ style="fill:#51ea62;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/create-volume-disabled.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/create-volume-disabled.svg
new file mode 100644
index 00000000..2cc8da4e
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/create-volume-disabled.svg
@@ -0,0 +1,3044 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48px"
+ height="48px"
+ id="svg3373"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="create-volume-disabled">
+ <defs
+ id="defs3375">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective590" />
+ <linearGradient
+ id="linearGradient11720">
+ <stop
+ style="stop-color:#397303;stop-opacity:1"
+ offset="0"
+ id="stop11722" />
+ <stop
+ style="stop-color:#3a7304;stop-opacity:1"
+ offset="1"
+ id="stop11724" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11703">
+ <stop
+ id="stop11705"
+ offset="0"
+ style="stop-color:#428504;stop-opacity:1" />
+ <stop
+ id="stop11707"
+ offset="1"
+ style="stop-color:#428504;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11691">
+ <stop
+ id="stop11693"
+ offset="0.0000000"
+ style="stop-color:#adff5e;stop-opacity:1" />
+ <stop
+ id="stop11695"
+ offset="1.0000000"
+ style="stop-color:#428504;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6230">
+ <stop
+ style="stop-color:#b4fb71;stop-opacity:1"
+ offset="0"
+ id="stop6232" />
+ <stop
+ style="stop-color:#3fa617;stop-opacity:1"
+ offset="1"
+ id="stop6234" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6214">
+ <stop
+ style="stop-color:#38a111;stop-opacity:1"
+ offset="0"
+ id="stop6216" />
+ <stop
+ style="stop-color:#baff76;stop-opacity:1"
+ offset="1"
+ id="stop6218" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3">
+ <stop
+ id="stop6490-82"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5">
+ <stop
+ id="stop7723-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455"
+ xlink:href="#linearGradient6817-4"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9">
+ <stop
+ id="stop4136-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8" />
+ <stop
+ id="stop4138-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4">
+ <stop
+ id="stop4208-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452">
+ <stop
+ id="stop3454"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458" />
+ <stop
+ id="stop3460"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463">
+ <stop
+ id="stop3465"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210">
+ <stop
+ id="stop7212"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551">
+ <stop
+ id="stop4553"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545">
+ <stop
+ id="stop4547"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721">
+ <stop
+ id="stop7723"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0">
+ <stop
+ id="stop4136-4-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8" />
+ <stop
+ id="stop4138-2-9"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5">
+ <stop
+ id="stop4208-5-7"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3">
+ <stop
+ id="stop7212-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5">
+ <stop
+ id="stop2318-7-1"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9">
+ <stop
+ id="stop2328-8-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3-8">
+ <stop
+ id="stop6490-82-0"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-1"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4-7">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-4" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-6" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09-0">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-7" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5-2">
+ <stop
+ id="stop7723-5-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-7" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-1" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-7"
+ xlink:href="#linearGradient6817-4-5"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-8">
+ <stop
+ id="stop4136-4-2"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-3" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-0" />
+ <stop
+ id="stop4138-2-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-8">
+ <stop
+ id="stop4208-5-8"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-1">
+ <stop
+ id="stop3454-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-2" />
+ <stop
+ id="stop3460-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-3">
+ <stop
+ id="stop3465-3"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-0"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-1">
+ <stop
+ id="stop7212-3"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-9">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-8" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-3">
+ <stop
+ id="stop4553-9"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-3"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-3">
+ <stop
+ id="stop4547-6"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-5"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-4">
+ <stop
+ id="stop7723-0"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-50"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-6">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-2"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-5" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-5">
+ <stop
+ id="stop4136-4-1-2"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-6" />
+ <stop
+ id="stop4138-2-9-7"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-8">
+ <stop
+ id="stop4208-5-7-0"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-0"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-4">
+ <stop
+ id="stop7212-2-3"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-7"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-1">
+ <stop
+ id="stop2318-7-1-8"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-5"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-5">
+ <stop
+ id="stop2328-8-2-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-3"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3-9">
+ <stop
+ id="stop6490-82-08"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-0"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4-5">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-1" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09-9">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-5" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5-6">
+ <stop
+ id="stop7723-5-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-6">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-8" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-9"
+ xlink:href="#linearGradient6817-4-6"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-02">
+ <stop
+ id="stop4136-4-5"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-5" />
+ <stop
+ id="stop4138-2-7"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-4">
+ <stop
+ id="stop4208-5-1"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-7"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-13">
+ <stop
+ id="stop3454-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-5" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-1" />
+ <stop
+ id="stop3460-5"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-5">
+ <stop
+ id="stop3465-1"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-2"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-5">
+ <stop
+ id="stop7212-5"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-38"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-8">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-4" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-2" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-5">
+ <stop
+ id="stop4553-8"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-4"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-9">
+ <stop
+ id="stop4547-4"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-4"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-58">
+ <stop
+ id="stop7723-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-5">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-6"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-9">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-8" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-3" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-7">
+ <stop
+ id="stop4136-4-1-9"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-04" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-8" />
+ <stop
+ id="stop4138-2-9-74"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-2">
+ <stop
+ id="stop4208-5-7-3"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-5"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-5">
+ <stop
+ id="stop7212-2-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-9"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-8">
+ <stop
+ id="stop2318-7-1-7"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-8"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-0">
+ <stop
+ id="stop2328-8-2-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-32"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7"
+ id="linearGradient9924-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ id="linearGradient6488-3-7">
+ <stop
+ id="stop6490-82-6"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-17"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6359-4-0"
+ id="linearGradient9926-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-78.034668"
+ y1="19.883467"
+ x2="-56.572613"
+ y2="25.997072" />
+ <linearGradient
+ id="linearGradient6359-4-0">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-6" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-02" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6367-09-6"
+ id="linearGradient9928-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-66.404778"
+ y1="21.769932"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient6367-09-6">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-0" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-5-0"
+ id="linearGradient9930-2"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2623645,0.01939786,-0.01991094,1.2957544,342.35808,-20.945388)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-5-0">
+ <stop
+ id="stop7723-5-9"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-54"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-4-56"
+ id="linearGradient9932-32"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.672406,0.05643127,-0.00707387,0.46034998,484.35486,0.66073804)"
+ x1="-60.176182"
+ y1="48.328663"
+ x2="-60.225922"
+ y2="23.254047" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-56">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-88" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-4-56"
+ id="linearGradient9934-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.2159587,-2.5583937,0.50170579,-0.23845183,183.14808,-136.98861)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-5"
+ xlink:href="#linearGradient6817-4-56"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-5">
+ <stop
+ id="stop4136-4-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2" />
+ <stop
+ id="stop4138-2-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-7">
+ <stop
+ id="stop4208-5-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4176-3"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6924-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-3">
+ <stop
+ id="stop3454-8"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-50" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-9" />
+ <stop
+ id="stop3460-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-33">
+ <stop
+ id="stop3465-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-29"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-7">
+ <stop
+ id="stop7212-33"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-3">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-2" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-8">
+ <stop
+ id="stop4553-1"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-8"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-2">
+ <stop
+ id="stop4547-8"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-9"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-3">
+ <stop
+ id="stop7723-02"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-8">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-27"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-9" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-50" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-4">
+ <stop
+ id="stop4136-4-1-0"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-5" />
+ <stop
+ id="stop4138-2-9-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-23">
+ <stop
+ id="stop4208-5-7-2"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-9"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-44">
+ <stop
+ id="stop7212-2-9"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-2">
+ <stop
+ id="stop2318-7-1-9"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-3"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-02">
+ <stop
+ id="stop2328-8-2-0"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3612-21"
+ xlink:href="#linearGradient6817-4-56"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient5410"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient5412"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient5414"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient5418"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.724623,-0.46920261)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6220"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6236"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7"
+ id="linearGradient6258"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0296406,0.01582176,-0.01582176,1.0296406,53.400982,-41.023689)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7-9"
+ id="linearGradient6258-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0296406,0.01582176,-0.01582176,1.0296406,53.400982,-41.023689)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ id="linearGradient6488-3-7-9">
+ <stop
+ id="stop6490-82-6-6"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-17-3"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6300"
+ gradientUnits="userSpaceOnUse"
+ x1="24.595747"
+ y1="14.996862"
+ x2="24.595747"
+ y2="4.670352"
+ gradientTransform="translate(79.25,0)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6302"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-127.25,0)"
+ x1="22.807631"
+ y1="14.75276"
+ x2="22.82798"
+ y2="17.890547" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6323"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6325"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6337"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6339"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6364"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6366"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6368"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6370"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6372"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6374"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6391"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6393"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6566">
+ <path
+ sodipodi:nodetypes="sssssss"
+ inkscape:connector-curvature="0"
+ id="path6568"
+ d="m 437.13691,15.625187 c 0,3.922069 -8.57373,7.101535 -19.14997,7.101535 -10.57623,0 -19.14997,-3.179466 -19.14997,-7.101535 0,-2.453312 -2.97639,-9.339638 2.1246,-10.615427 3.05388,-0.763794 13.06472,-4.48610801 17.02537,-4.48610801 4.65593,0 15.23964,3.20196201 18.55878,4.22641201 4.22049,1.302653 0.59119,8.679649 0.59119,10.875123 z"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ clip-path="none" />
+ </clipPath>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient6639"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient6641"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient6643"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient6645"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient6647"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6649"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6651"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6653"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6655"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6657"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6659"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-4"
+ id="linearGradient7322-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-4">
+ <stop
+ id="stop4136-4-75"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-3" />
+ <stop
+ id="stop4138-2-20"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-88"
+ id="linearGradient7324-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-88">
+ <stop
+ id="stop4208-5-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-9"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-0"
+ id="linearGradient7326-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-0"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-9"
+ id="linearGradient7328-7"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-9">
+ <stop
+ id="stop7212-59"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-06"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-7"
+ id="linearGradient7330-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.724623,-0.46920261)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-7"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-69"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4539-1"
+ id="linearGradient7332-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-79.963799"
+ y1="31.954889"
+ x2="-52.985451"
+ y2="21.220755" />
+ <linearGradient
+ id="linearGradient4539-1">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-7" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-9" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4551-59"
+ id="linearGradient7334-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ id="linearGradient4551-59">
+ <stop
+ id="stop4553-0"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-40"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4545-25"
+ id="linearGradient7336-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient4545-25">
+ <stop
+ id="stop4547-80"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-7"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9"
+ id="linearGradient7338-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0222085,0.01570755,-0.01612302,1.0492462,138.00792,5.5809119)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-9">
+ <stop
+ id="stop7723-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-4"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7340-01"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9737564,0.04569561,-0.00572812,0.37277161,252.99081,23.076623)"
+ x1="-60.273727"
+ y1="52.962711"
+ x2="-60.231167"
+ y2="20.531628" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-1">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7342-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.98463104,-2.0716772,0.40625977,-0.19308803,9.0865162,-88.385897)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7344-0"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.16708703,-2.2876683,-0.44861606,-0.03276611,97.273845,-105.01052)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-64">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-3"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5455-2-0"
+ id="linearGradient7346-8"
+ gradientUnits="userSpaceOnUse"
+ x1="54.71489"
+ y1="5.4645443"
+ x2="72.233635"
+ y2="5.4645443" />
+ <linearGradient
+ id="linearGradient5455-2-0">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-1" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient6925"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient6927"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient6929"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient6931"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient6933"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-0"
+ id="linearGradient6925-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-0">
+ <stop
+ id="stop4136-4-7-3"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-0" />
+ <stop
+ id="stop4138-2-3-9"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-2"
+ id="linearGradient6927-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-2">
+ <stop
+ id="stop4208-5-9-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-6"
+ id="linearGradient6929-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-6"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1"
+ id="linearGradient6931-7"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1">
+ <stop
+ id="stop7212-33-7"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-3"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient31475"
+ xlink:href="#linearGradient6924-6-7"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-7"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient5597"
+ xlink:href="#linearGradient6924-6-7"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient9470"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6">
+ <stop
+ id="stop4136-4-7-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02" />
+ <stop
+ id="stop4138-2-3-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient9472"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-8">
+ <stop
+ id="stop4208-5-9-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient9474"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-2"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient9476"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-8">
+ <stop
+ id="stop7212-33-6"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient9478"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6-1"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517"
+ xlink:href="#linearGradient6924-6-1"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient9647">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop9649" />
+ <stop
+ style="stop-color:#dbdbdb;stop-opacity:1;"
+ offset="1"
+ id="stop9651" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2256">
+ <stop
+ style="stop-color:#ff0202;stop-opacity:1;"
+ offset="0"
+ id="stop2258" />
+ <stop
+ style="stop-color:#ff9b9b;stop-opacity:1;"
+ offset="1"
+ id="stop2260" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2248">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2250" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2252" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11780">
+ <stop
+ style="stop-color:#ff8b8b;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop11782" />
+ <stop
+ style="stop-color:#ec1b1b;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop11784" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4981">
+ <stop
+ style="stop-color:#cc0000;stop-opacity:1;"
+ offset="0"
+ id="stop4983" />
+ <stop
+ style="stop-color:#b30000;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop4985" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient21644"
+ id="radialGradient21650"
+ cx="25.125"
+ cy="36.75"
+ fx="25.125"
+ fy="36.75"
+ r="15.75"
+ gradientTransform="matrix(1,0,0,0.595238,0,14.875)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient21644">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop21646" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop21648" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3957">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11691"
+ id="linearGradient11663"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91724819,0,0,0.91907213,302.29549,5.732139)"
+ x1="15.737001"
+ y1="12.5036"
+ x2="53.570126"
+ y2="47.374317" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2248"
+ id="radialGradient11665"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.838984,0,0,2.961346,253.30758,-14.714265)"
+ cx="16.75"
+ cy="10.666344"
+ fx="16.75"
+ fy="10.666344"
+ r="21.25" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11720"
+ id="linearGradient11718"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.87782436,0.99037957,-0.87782433,0.99037953,319.93281,-20.25021)"
+ x1="21.75"
+ y1="15.80225"
+ x2="24.30225"
+ y2="35.05225" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11691"
+ id="linearGradient22637"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91724819,0,0,0.91907213,302.29549,5.732139)"
+ x1="15.737001"
+ y1="12.5036"
+ x2="53.570126"
+ y2="47.374317" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2248"
+ id="radialGradient22639"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.838984,0,0,2.961346,253.30758,-14.714265)"
+ cx="16.75"
+ cy="10.666344"
+ fx="16.75"
+ fy="10.666344"
+ r="21.25" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11720"
+ id="linearGradient22641"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.87782436,0.99037957,-0.87782433,0.99037953,319.93281,-20.25021)"
+ x1="21.75"
+ y1="15.80225"
+ x2="24.30225"
+ y2="35.05225" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2684-1"
+ id="linearGradient8265"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.128181,0,0,1.128181,-108.08145,-78.763896)"
+ x1="70.913956"
+ y1="101.74152"
+ x2="70.951942"
+ y2="88.923729" />
+ <linearGradient
+ id="linearGradient2684-1">
+ <stop
+ id="stop2686-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2688-4"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9056"
+ id="radialGradient8267"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.05324342,-0.836238,2.019473,0.128568,-206.0078,112.67299)"
+ cx="107.5884"
+ cy="83.990814"
+ fx="107.5884"
+ fy="83.990814"
+ r="12.551644" />
+ <linearGradient
+ id="linearGradient9056">
+ <stop
+ style="stop-color:#6acd11;stop-opacity:1"
+ offset="0"
+ id="stop9058" />
+ <stop
+ style="stop-color:#4cbe01;stop-opacity:1"
+ offset="1"
+ id="stop9060" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9050"
+ id="linearGradient8269"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-99.088729,-66.498056)"
+ x1="71.288956"
+ y1="124.11652"
+ x2="70.826942"
+ y2="95" />
+ <linearGradient
+ id="linearGradient9050">
+ <stop
+ id="stop9052"
+ offset="0"
+ style="stop-color:#428405;stop-opacity:1" />
+ <stop
+ id="stop9054"
+ offset="1"
+ style="stop-color:#264a03;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient17969"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient17971"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient17973"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient17975"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient17977"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient17986"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient17988"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient17990"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient17992"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient17994"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-6-2"
+ id="linearGradient10212"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.329484,6.9416806)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-6-2">
+ <stop
+ id="stop4136-4-9-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-9-7" />
+ <stop
+ id="stop4138-2-8-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-8-2"
+ id="linearGradient10214"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.329484,6.9416806)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-8-2">
+ <stop
+ id="stop4208-5-3-8"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-8-2"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-9-0"
+ id="linearGradient10216"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.45408812,0,0,0.45408812,32.774075,7.2711045)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-9-0"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-6-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-7-9"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-8-1"
+ id="linearGradient10218"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="-5.456851" />
+ <linearGradient
+ id="linearGradient7210-8-1">
+ <stop
+ id="stop7212-7-8"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-5-6"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-1-0"
+ id="linearGradient10220"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.448286,7.8656215)"
+ x1="15.972866"
+ y1="16.641634"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-1-0"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-3-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-9-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-6-2"
+ id="linearGradient13412"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.884513,6.8263032)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient9325">
+ <stop
+ id="stop9327"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop9329" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop9331" />
+ <stop
+ id="stop9333"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-8-2"
+ id="linearGradient13414"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.884513,6.8263032)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient9336">
+ <stop
+ id="stop9338"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop9340"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-9-0"
+ id="linearGradient13416"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.45408812,0,0,0.45408812,-19.439922,7.2711048)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-8-1"
+ id="linearGradient13418"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient9350">
+ <stop
+ id="stop9352"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop9354"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-1-0"
+ id="linearGradient13421"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.765711,7.8656218)"
+ x1="15.972866"
+ y1="16.641634"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-7"
+ id="linearGradient9470-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-7">
+ <stop
+ id="stop4136-4-7-1-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02-9" />
+ <stop
+ id="stop4138-2-3-6-4"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8-8"
+ id="linearGradient9472-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-8-8">
+ <stop
+ id="stop4208-5-9-9-2"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6-4"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2-5"
+ id="linearGradient9474-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-2-5"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8-1"
+ id="linearGradient9476-1"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-8-1">
+ <stop
+ id="stop7212-33-6-5"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6-2"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517-7"
+ xlink:href="#linearGradient6924-6-1-6"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-1-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7-4"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9529"
+ xlink:href="#linearGradient6924-6-1-6"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-7"
+ id="linearGradient9602"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8-8"
+ id="linearGradient9604"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2-5"
+ id="linearGradient9606"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8-1"
+ id="linearGradient9608"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1-6"
+ id="linearGradient9610"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512"
+ id="radialGradient22609"
+ gradientUnits="userSpaceOnUse"
+ cx="55"
+ cy="125"
+ fx="55"
+ fy="125"
+ r="14.375" />
+ <linearGradient
+ id="linearGradient12512">
+ <stop
+ id="stop12513"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <radialGradient
+ r="14.375"
+ fy="125"
+ fx="55"
+ cy="125"
+ cx="55"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient6674"
+ xlink:href="#linearGradient12512"
+ inkscape:collect="always" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512-7"
+ id="radialGradient22609-1"
+ gradientUnits="userSpaceOnUse"
+ cx="55"
+ cy="125"
+ fx="55"
+ fy="125"
+ r="14.375" />
+ <linearGradient
+ id="linearGradient12512-7">
+ <stop
+ id="stop12513-4"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517-0"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514-9"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <radialGradient
+ r="14.375"
+ fy="125"
+ fx="55"
+ cy="125"
+ cx="55"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient6674-4"
+ xlink:href="#linearGradient12512-7"
+ inkscape:collect="always" />
+ <filter
+ id="filter3396"
+ inkscape:label="Desaturate"
+ x="0"
+ y="0"
+ width="1"
+ height="1"
+ inkscape:menu="Color"
+ inkscape:menu-tooltip="Render in shades of gray by reducing saturation to zero"
+ color-interpolation-filters="sRGB">
+ <feColorMatrix
+ id="feColorMatrix3398"
+ type="saturate"
+ values="0" />
+ </filter>
+ <filter
+ id="filter3400"
+ inkscape:label="Desaturate"
+ x="0"
+ y="0"
+ width="1"
+ height="1"
+ inkscape:menu="Color"
+ inkscape:menu-tooltip="Render in shades of gray by reducing saturation to zero"
+ color-interpolation-filters="sRGB">
+ <feColorMatrix
+ id="feColorMatrix3402"
+ type="saturate"
+ values="0" />
+ </filter>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="16.842329"
+ inkscape:cy="17.752166"
+ inkscape:current-layer="g6615"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1920"
+ inkscape:window-height="1005"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata3378">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g7697"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-0"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-1"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-3"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g6615"
+ transform="translate(-95.5,0)">
+ <g
+ id="g9464-2"
+ transform="matrix(1.2573708,0,0,1.2573709,57.94361,-12.320192)"
+ style="filter:url(#filter3400)">
+ <path
+ style="color:#000000;fill:url(#linearGradient9470-1);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient9472-8);stroke-width:1.07960427;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 46.071102,14.389965 c -8.507118,0 -15.424338,3.017755 -15.424338,6.730038 0,0.266382 0,19.239684 0,19.51711 0,3.712296 6.91722,6.730038 15.424338,6.730038 8.507125,0 15.69978,-3.017742 15.69978,-6.730038 0,-0.219733 0,-19.297376 0,-19.51711 0,-3.712295 -7.192655,-6.730038 -15.69978,-6.730038 z"
+ id="path21753-3"
+ sodipodi:nodetypes="zsszssz"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="zsszssz"
+ id="path21755-2"
+ d="m 46.080432,15.126006 c -7.931631,0 -14.380916,2.822639 -14.380916,6.294907 0,0.249165 0,18.241368 0,18.500853 0,3.472269 6.449285,6.294908 14.380916,6.294908 7.931638,0 14.637742,-2.822639 14.637727,-6.294908 0,-0.205521 0,-18.295331 0,-18.500853 0,-3.472268 -6.706089,-6.294907 -14.637727,-6.294907 z"
+ style="opacity:0.70796461;color:#000000;fill:none;stroke:url(#linearGradient9474-5);stroke-width:1.08133531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient9476-1);stroke-width:1.00492704;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ id="path21757-2"
+ sodipodi:cx="24"
+ sodipodi:cy="14.071428"
+ sodipodi:rx="12.857142"
+ sodipodi:ry="5.5"
+ d="m 36.857142,14.071428 c 0,3.037566 -5.756338,5.5 -12.857142,5.5 -7.100804,0 -12.857142,-2.462434 -12.857142,-5.5 0,-3.037566 5.756338,-5.4999997 12.857142,-5.4999997 7.100804,0 12.857142,2.4624337 12.857142,5.4999997 z"
+ transform="matrix(1.1227741,0,0,1.0919883,19.192176,5.7605912)" />
+ <path
+ style="opacity:0.49367083;color:#000000;fill:url(#linearGradient9529);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 34.928081,25.959639 0.38657,12.731652 4.948172,1.388917 -0.154644,-12.654504 c 0,0 2.242138,0 5.875949,-0.231482 -5.645572,-0.251781 -12.104991,-2.673295 -14.303272,-4.243888 1.533656,2.260099 3.247225,3.009305 3.247225,3.009305 z"
+ id="path21759-1"
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ transform="translate(95.347395,-0.00209151)"
+ style="display:inline;filter:url(#filter3396)"
+ inkscape:label="new"
+ id="layer4">
+ <path
+ inkscape:export-ydpi="33.852203"
+ inkscape:export-xdpi="33.852203"
+ inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/stock_new-16.png"
+ transform="matrix(0.783292,0,0,0.783292,-6.340883,-86.65168)"
+ d="m 69.375,125 c 0,7.93909 -6.435907,14.375 -14.375,14.375 -7.939093,0 -14.375,-6.43591 -14.375,-14.375 0,-7.93909 6.435907,-14.375 14.375,-14.375 7.939093,0 14.375,6.43591 14.375,14.375 z"
+ sodipodi:ry="14.375"
+ sodipodi:rx="14.375"
+ sodipodi:cy="125"
+ sodipodi:cx="55"
+ id="path12511"
+ style="color:#000000;fill:url(#radialGradient6674-4);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25000024;marker:none;visibility:visible;display:block"
+ sodipodi:type="arc" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/create-volume.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/create-volume.svg
new file mode 100644
index 00000000..14a5823f
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/create-volume.svg
@@ -0,0 +1,3006 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48px"
+ height="48px"
+ id="svg3373"
+ version="1.1"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="volume.svg">
+ <defs
+ id="defs3375">
+ <linearGradient
+ id="linearGradient11720">
+ <stop
+ style="stop-color:#397303;stop-opacity:1"
+ offset="0"
+ id="stop11722" />
+ <stop
+ style="stop-color:#3a7304;stop-opacity:1"
+ offset="1"
+ id="stop11724" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11703">
+ <stop
+ id="stop11705"
+ offset="0"
+ style="stop-color:#428504;stop-opacity:1" />
+ <stop
+ id="stop11707"
+ offset="1"
+ style="stop-color:#428504;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11691">
+ <stop
+ id="stop11693"
+ offset="0.0000000"
+ style="stop-color:#adff5e;stop-opacity:1" />
+ <stop
+ id="stop11695"
+ offset="1.0000000"
+ style="stop-color:#428504;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6230">
+ <stop
+ style="stop-color:#b4fb71;stop-opacity:1"
+ offset="0"
+ id="stop6232" />
+ <stop
+ style="stop-color:#3fa617;stop-opacity:1"
+ offset="1"
+ id="stop6234" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6214">
+ <stop
+ style="stop-color:#38a111;stop-opacity:1"
+ offset="0"
+ id="stop6216" />
+ <stop
+ style="stop-color:#baff76;stop-opacity:1"
+ offset="1"
+ id="stop6218" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3">
+ <stop
+ id="stop6490-82"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5">
+ <stop
+ id="stop7723-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455"
+ xlink:href="#linearGradient6817-4"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9">
+ <stop
+ id="stop4136-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8" />
+ <stop
+ id="stop4138-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4">
+ <stop
+ id="stop4208-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452">
+ <stop
+ id="stop3454"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458" />
+ <stop
+ id="stop3460"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463">
+ <stop
+ id="stop3465"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210">
+ <stop
+ id="stop7212"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551">
+ <stop
+ id="stop4553"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545">
+ <stop
+ id="stop4547"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721">
+ <stop
+ id="stop7723"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0">
+ <stop
+ id="stop4136-4-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8" />
+ <stop
+ id="stop4138-2-9"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5">
+ <stop
+ id="stop4208-5-7"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3">
+ <stop
+ id="stop7212-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5">
+ <stop
+ id="stop2318-7-1"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9">
+ <stop
+ id="stop2328-8-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3-8">
+ <stop
+ id="stop6490-82-0"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-1"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4-7">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-4" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-6" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09-0">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-7" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5-2">
+ <stop
+ id="stop7723-5-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-7" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-1" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-7"
+ xlink:href="#linearGradient6817-4-5"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-8">
+ <stop
+ id="stop4136-4-2"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-3" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-0" />
+ <stop
+ id="stop4138-2-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-8">
+ <stop
+ id="stop4208-5-8"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-1">
+ <stop
+ id="stop3454-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-2" />
+ <stop
+ id="stop3460-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-3">
+ <stop
+ id="stop3465-3"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-0"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-1">
+ <stop
+ id="stop7212-3"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-9">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-8" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-3">
+ <stop
+ id="stop4553-9"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-3"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-3">
+ <stop
+ id="stop4547-6"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-5"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-4">
+ <stop
+ id="stop7723-0"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-50"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-6">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-2"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-5" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-5">
+ <stop
+ id="stop4136-4-1-2"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-6" />
+ <stop
+ id="stop4138-2-9-7"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-8">
+ <stop
+ id="stop4208-5-7-0"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-0"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-4">
+ <stop
+ id="stop7212-2-3"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-7"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-1">
+ <stop
+ id="stop2318-7-1-8"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-5"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-5">
+ <stop
+ id="stop2328-8-2-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-3"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3-9">
+ <stop
+ id="stop6490-82-08"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-0"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4-5">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-1" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09-9">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-5" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5-6">
+ <stop
+ id="stop7723-5-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-6">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-8" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-9"
+ xlink:href="#linearGradient6817-4-6"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-02">
+ <stop
+ id="stop4136-4-5"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-5" />
+ <stop
+ id="stop4138-2-7"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-4">
+ <stop
+ id="stop4208-5-1"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-7"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-13">
+ <stop
+ id="stop3454-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-5" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-1" />
+ <stop
+ id="stop3460-5"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-5">
+ <stop
+ id="stop3465-1"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-2"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-5">
+ <stop
+ id="stop7212-5"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-38"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-8">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-4" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-2" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-5">
+ <stop
+ id="stop4553-8"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-4"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-9">
+ <stop
+ id="stop4547-4"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-4"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-58">
+ <stop
+ id="stop7723-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-5">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-6"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-9">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-8" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-3" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-7">
+ <stop
+ id="stop4136-4-1-9"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-04" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-8" />
+ <stop
+ id="stop4138-2-9-74"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-2">
+ <stop
+ id="stop4208-5-7-3"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-5"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-5">
+ <stop
+ id="stop7212-2-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-9"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-8">
+ <stop
+ id="stop2318-7-1-7"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-8"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-0">
+ <stop
+ id="stop2328-8-2-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-32"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7"
+ id="linearGradient9924-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ id="linearGradient6488-3-7">
+ <stop
+ id="stop6490-82-6"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-17"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6359-4-0"
+ id="linearGradient9926-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-78.034668"
+ y1="19.883467"
+ x2="-56.572613"
+ y2="25.997072" />
+ <linearGradient
+ id="linearGradient6359-4-0">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-6" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-02" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6367-09-6"
+ id="linearGradient9928-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-66.404778"
+ y1="21.769932"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient6367-09-6">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-0" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-5-0"
+ id="linearGradient9930-2"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2623645,0.01939786,-0.01991094,1.2957544,342.35808,-20.945388)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-5-0">
+ <stop
+ id="stop7723-5-9"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-54"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-4-56"
+ id="linearGradient9932-32"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.672406,0.05643127,-0.00707387,0.46034998,484.35486,0.66073804)"
+ x1="-60.176182"
+ y1="48.328663"
+ x2="-60.225922"
+ y2="23.254047" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-56">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-88" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-4-56"
+ id="linearGradient9934-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.2159587,-2.5583937,0.50170579,-0.23845183,183.14808,-136.98861)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-5"
+ xlink:href="#linearGradient6817-4-56"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-5">
+ <stop
+ id="stop4136-4-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2" />
+ <stop
+ id="stop4138-2-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-7">
+ <stop
+ id="stop4208-5-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4176-3"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6924-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-3">
+ <stop
+ id="stop3454-8"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-50" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-9" />
+ <stop
+ id="stop3460-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-33">
+ <stop
+ id="stop3465-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-29"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-7">
+ <stop
+ id="stop7212-33"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-3">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-2" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-8">
+ <stop
+ id="stop4553-1"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-8"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-2">
+ <stop
+ id="stop4547-8"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-9"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-3">
+ <stop
+ id="stop7723-02"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-8">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-27"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-9" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-50" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-4">
+ <stop
+ id="stop4136-4-1-0"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-5" />
+ <stop
+ id="stop4138-2-9-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-23">
+ <stop
+ id="stop4208-5-7-2"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-9"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-44">
+ <stop
+ id="stop7212-2-9"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-2">
+ <stop
+ id="stop2318-7-1-9"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-3"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-02">
+ <stop
+ id="stop2328-8-2-0"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3612-21"
+ xlink:href="#linearGradient6817-4-56"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient5410"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient5412"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient5414"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient5418"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.724623,-0.46920261)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6220"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6236"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7"
+ id="linearGradient6258"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0296406,0.01582176,-0.01582176,1.0296406,53.400982,-41.023689)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7-9"
+ id="linearGradient6258-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0296406,0.01582176,-0.01582176,1.0296406,53.400982,-41.023689)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ id="linearGradient6488-3-7-9">
+ <stop
+ id="stop6490-82-6-6"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-17-3"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6300"
+ gradientUnits="userSpaceOnUse"
+ x1="24.595747"
+ y1="14.996862"
+ x2="24.595747"
+ y2="4.670352"
+ gradientTransform="translate(79.25,0)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6302"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-127.25,0)"
+ x1="22.807631"
+ y1="14.75276"
+ x2="22.82798"
+ y2="17.890547" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6323"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6325"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6337"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6339"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6364"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6366"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6368"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6370"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6372"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6374"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6391"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6393"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6566">
+ <path
+ sodipodi:nodetypes="sssssss"
+ inkscape:connector-curvature="0"
+ id="path6568"
+ d="m 437.13691,15.625187 c 0,3.922069 -8.57373,7.101535 -19.14997,7.101535 -10.57623,0 -19.14997,-3.179466 -19.14997,-7.101535 0,-2.453312 -2.97639,-9.339638 2.1246,-10.615427 3.05388,-0.763794 13.06472,-4.48610801 17.02537,-4.48610801 4.65593,0 15.23964,3.20196201 18.55878,4.22641201 4.22049,1.302653 0.59119,8.679649 0.59119,10.875123 z"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ clip-path="none" />
+ </clipPath>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient6639"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient6641"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient6643"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient6645"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient6647"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6649"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6651"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6653"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6655"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6657"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6659"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-4"
+ id="linearGradient7322-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-4">
+ <stop
+ id="stop4136-4-75"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-3" />
+ <stop
+ id="stop4138-2-20"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-88"
+ id="linearGradient7324-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-88">
+ <stop
+ id="stop4208-5-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-9"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-0"
+ id="linearGradient7326-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-0"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-9"
+ id="linearGradient7328-7"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-9">
+ <stop
+ id="stop7212-59"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-06"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-7"
+ id="linearGradient7330-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.724623,-0.46920261)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-7"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-69"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4539-1"
+ id="linearGradient7332-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-79.963799"
+ y1="31.954889"
+ x2="-52.985451"
+ y2="21.220755" />
+ <linearGradient
+ id="linearGradient4539-1">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-7" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-9" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4551-59"
+ id="linearGradient7334-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ id="linearGradient4551-59">
+ <stop
+ id="stop4553-0"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-40"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4545-25"
+ id="linearGradient7336-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient4545-25">
+ <stop
+ id="stop4547-80"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-7"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9"
+ id="linearGradient7338-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0222085,0.01570755,-0.01612302,1.0492462,138.00792,5.5809119)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-9">
+ <stop
+ id="stop7723-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-4"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7340-01"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9737564,0.04569561,-0.00572812,0.37277161,252.99081,23.076623)"
+ x1="-60.273727"
+ y1="52.962711"
+ x2="-60.231167"
+ y2="20.531628" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-1">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7342-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.98463104,-2.0716772,0.40625977,-0.19308803,9.0865162,-88.385897)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7344-0"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.16708703,-2.2876683,-0.44861606,-0.03276611,97.273845,-105.01052)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-64">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-3"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5455-2-0"
+ id="linearGradient7346-8"
+ gradientUnits="userSpaceOnUse"
+ x1="54.71489"
+ y1="5.4645443"
+ x2="72.233635"
+ y2="5.4645443" />
+ <linearGradient
+ id="linearGradient5455-2-0">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-1" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient6925"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient6927"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient6929"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient6931"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient6933"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-0"
+ id="linearGradient6925-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-0">
+ <stop
+ id="stop4136-4-7-3"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-0" />
+ <stop
+ id="stop4138-2-3-9"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-2"
+ id="linearGradient6927-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-2">
+ <stop
+ id="stop4208-5-9-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-6"
+ id="linearGradient6929-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-6"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1"
+ id="linearGradient6931-7"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1">
+ <stop
+ id="stop7212-33-7"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-3"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient31475"
+ xlink:href="#linearGradient6924-6-7"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-7"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient5597"
+ xlink:href="#linearGradient6924-6-7"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient9470"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6">
+ <stop
+ id="stop4136-4-7-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02" />
+ <stop
+ id="stop4138-2-3-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient9472"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-8">
+ <stop
+ id="stop4208-5-9-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient9474"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-2"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient9476"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-8">
+ <stop
+ id="stop7212-33-6"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient9478"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6-1"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517"
+ xlink:href="#linearGradient6924-6-1"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient9647">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop9649" />
+ <stop
+ style="stop-color:#dbdbdb;stop-opacity:1;"
+ offset="1"
+ id="stop9651" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2256">
+ <stop
+ style="stop-color:#ff0202;stop-opacity:1;"
+ offset="0"
+ id="stop2258" />
+ <stop
+ style="stop-color:#ff9b9b;stop-opacity:1;"
+ offset="1"
+ id="stop2260" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2248">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2250" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2252" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11780">
+ <stop
+ style="stop-color:#ff8b8b;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop11782" />
+ <stop
+ style="stop-color:#ec1b1b;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop11784" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4981">
+ <stop
+ style="stop-color:#cc0000;stop-opacity:1;"
+ offset="0"
+ id="stop4983" />
+ <stop
+ style="stop-color:#b30000;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop4985" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient21644"
+ id="radialGradient21650"
+ cx="25.125"
+ cy="36.75"
+ fx="25.125"
+ fy="36.75"
+ r="15.75"
+ gradientTransform="matrix(1,0,0,0.595238,0,14.875)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient21644">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop21646" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop21648" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3957">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11691"
+ id="linearGradient11663"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91724819,0,0,0.91907213,302.29549,5.732139)"
+ x1="15.737001"
+ y1="12.5036"
+ x2="53.570126"
+ y2="47.374317" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2248"
+ id="radialGradient11665"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.838984,0,0,2.961346,253.30758,-14.714265)"
+ cx="16.75"
+ cy="10.666344"
+ fx="16.75"
+ fy="10.666344"
+ r="21.25" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11720"
+ id="linearGradient11718"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.87782436,0.99037957,-0.87782433,0.99037953,319.93281,-20.25021)"
+ x1="21.75"
+ y1="15.80225"
+ x2="24.30225"
+ y2="35.05225" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11691"
+ id="linearGradient22637"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91724819,0,0,0.91907213,302.29549,5.732139)"
+ x1="15.737001"
+ y1="12.5036"
+ x2="53.570126"
+ y2="47.374317" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2248"
+ id="radialGradient22639"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.838984,0,0,2.961346,253.30758,-14.714265)"
+ cx="16.75"
+ cy="10.666344"
+ fx="16.75"
+ fy="10.666344"
+ r="21.25" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11720"
+ id="linearGradient22641"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.87782436,0.99037957,-0.87782433,0.99037953,319.93281,-20.25021)"
+ x1="21.75"
+ y1="15.80225"
+ x2="24.30225"
+ y2="35.05225" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2684-1"
+ id="linearGradient8265"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.128181,0,0,1.128181,-108.08145,-78.763896)"
+ x1="70.913956"
+ y1="101.74152"
+ x2="70.951942"
+ y2="88.923729" />
+ <linearGradient
+ id="linearGradient2684-1">
+ <stop
+ id="stop2686-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2688-4"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9056"
+ id="radialGradient8267"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.05324342,-0.836238,2.019473,0.128568,-206.0078,112.67299)"
+ cx="107.5884"
+ cy="83.990814"
+ fx="107.5884"
+ fy="83.990814"
+ r="12.551644" />
+ <linearGradient
+ id="linearGradient9056">
+ <stop
+ style="stop-color:#6acd11;stop-opacity:1"
+ offset="0"
+ id="stop9058" />
+ <stop
+ style="stop-color:#4cbe01;stop-opacity:1"
+ offset="1"
+ id="stop9060" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9050"
+ id="linearGradient8269"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-99.088729,-66.498056)"
+ x1="71.288956"
+ y1="124.11652"
+ x2="70.826942"
+ y2="95" />
+ <linearGradient
+ id="linearGradient9050">
+ <stop
+ id="stop9052"
+ offset="0"
+ style="stop-color:#428405;stop-opacity:1" />
+ <stop
+ id="stop9054"
+ offset="1"
+ style="stop-color:#264a03;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient17969"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient17971"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient17973"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient17975"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient17977"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient17986"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient17988"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient17990"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient17992"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient17994"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-6-2"
+ id="linearGradient10212"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.329484,6.9416806)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-6-2">
+ <stop
+ id="stop4136-4-9-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-9-7" />
+ <stop
+ id="stop4138-2-8-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-8-2"
+ id="linearGradient10214"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.329484,6.9416806)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-8-2">
+ <stop
+ id="stop4208-5-3-8"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-8-2"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-9-0"
+ id="linearGradient10216"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.45408812,0,0,0.45408812,32.774075,7.2711045)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-9-0"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-6-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-7-9"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-8-1"
+ id="linearGradient10218"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="-5.456851" />
+ <linearGradient
+ id="linearGradient7210-8-1">
+ <stop
+ id="stop7212-7-8"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-5-6"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-1-0"
+ id="linearGradient10220"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.448286,7.8656215)"
+ x1="15.972866"
+ y1="16.641634"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-1-0"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-3-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-9-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-6-2"
+ id="linearGradient13412"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.884513,6.8263032)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient9325">
+ <stop
+ id="stop9327"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop9329" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop9331" />
+ <stop
+ id="stop9333"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-8-2"
+ id="linearGradient13414"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.884513,6.8263032)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient9336">
+ <stop
+ id="stop9338"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop9340"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-9-0"
+ id="linearGradient13416"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.45408812,0,0,0.45408812,-19.439922,7.2711048)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-8-1"
+ id="linearGradient13418"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient9350">
+ <stop
+ id="stop9352"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop9354"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-1-0"
+ id="linearGradient13421"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.765711,7.8656218)"
+ x1="15.972866"
+ y1="16.641634"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-7"
+ id="linearGradient9470-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-7">
+ <stop
+ id="stop4136-4-7-1-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02-9" />
+ <stop
+ id="stop4138-2-3-6-4"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8-8"
+ id="linearGradient9472-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-8-8">
+ <stop
+ id="stop4208-5-9-9-2"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6-4"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2-5"
+ id="linearGradient9474-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-2-5"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8-1"
+ id="linearGradient9476-1"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-8-1">
+ <stop
+ id="stop7212-33-6-5"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6-2"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517-7"
+ xlink:href="#linearGradient6924-6-1-6"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-1-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7-4"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9529"
+ xlink:href="#linearGradient6924-6-1-6"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-7"
+ id="linearGradient9602"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8-8"
+ id="linearGradient9604"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2-5"
+ id="linearGradient9606"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8-1"
+ id="linearGradient9608"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1-6"
+ id="linearGradient9610"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512"
+ id="radialGradient22609"
+ gradientUnits="userSpaceOnUse"
+ cx="55"
+ cy="125"
+ fx="55"
+ fy="125"
+ r="14.375" />
+ <linearGradient
+ id="linearGradient12512">
+ <stop
+ id="stop12513"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <radialGradient
+ r="14.375"
+ fy="125"
+ fx="55"
+ cy="125"
+ cx="55"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient6674"
+ xlink:href="#linearGradient12512"
+ inkscape:collect="always" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512-7"
+ id="radialGradient22609-1"
+ gradientUnits="userSpaceOnUse"
+ cx="55"
+ cy="125"
+ fx="55"
+ fy="125"
+ r="14.375" />
+ <linearGradient
+ id="linearGradient12512-7">
+ <stop
+ id="stop12513-4"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517-0"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514-9"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <radialGradient
+ r="14.375"
+ fy="125"
+ fx="55"
+ cy="125"
+ cx="55"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient6674-4"
+ xlink:href="#linearGradient12512-7"
+ inkscape:collect="always" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="16.842329"
+ inkscape:cy="19.752166"
+ inkscape:current-layer="g6615"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1600"
+ inkscape:window-height="838"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata3378">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g7697"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-0"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-1"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-3"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g6615"
+ transform="translate(-95.5,0)">
+ <g
+ id="g9464-2"
+ transform="matrix(1.2573708,0,0,1.2573709,57.94361,-12.320192)">
+ <path
+ style="color:#000000;fill:url(#linearGradient9470-1);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient9472-8);stroke-width:1.07960427;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 46.071102,14.389965 c -8.507118,0 -15.424338,3.017755 -15.424338,6.730038 0,0.266382 0,19.239684 0,19.51711 0,3.712296 6.91722,6.730038 15.424338,6.730038 8.507125,0 15.69978,-3.017742 15.69978,-6.730038 0,-0.219733 0,-19.297376 0,-19.51711 0,-3.712295 -7.192655,-6.730038 -15.69978,-6.730038 z"
+ id="path21753-3"
+ sodipodi:nodetypes="zsszssz"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="zsszssz"
+ id="path21755-2"
+ d="m 46.080432,15.126006 c -7.931631,0 -14.380916,2.822639 -14.380916,6.294907 0,0.249165 0,18.241368 0,18.500853 0,3.472269 6.449285,6.294908 14.380916,6.294908 7.931638,0 14.637742,-2.822639 14.637727,-6.294908 0,-0.205521 0,-18.295331 0,-18.500853 0,-3.472268 -6.706089,-6.294907 -14.637727,-6.294907 z"
+ style="opacity:0.70796461;color:#000000;fill:none;stroke:url(#linearGradient9474-5);stroke-width:1.08133531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient9476-1);stroke-width:1.00492704;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ id="path21757-2"
+ sodipodi:cx="24"
+ sodipodi:cy="14.071428"
+ sodipodi:rx="12.857142"
+ sodipodi:ry="5.5"
+ d="m 36.857142,14.071428 c 0,3.037566 -5.756338,5.5 -12.857142,5.5 -7.100804,0 -12.857142,-2.462434 -12.857142,-5.5 0,-3.037566 5.756338,-5.4999997 12.857142,-5.4999997 7.100804,0 12.857142,2.4624337 12.857142,5.4999997 z"
+ transform="matrix(1.1227741,0,0,1.0919883,19.192176,5.7605912)" />
+ <path
+ style="opacity:0.49367083;color:#000000;fill:url(#linearGradient9529);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 34.928081,25.959639 0.38657,12.731652 4.948172,1.388917 -0.154644,-12.654504 c 0,0 2.242138,0 5.875949,-0.231482 -5.645572,-0.251781 -12.104991,-2.673295 -14.303272,-4.243888 1.533656,2.260099 3.247225,3.009305 3.247225,3.009305 z"
+ id="path21759-1"
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ transform="translate(95.347395,-0.00209151)"
+ style="display:inline"
+ inkscape:label="new"
+ id="layer4">
+ <path
+ inkscape:export-ydpi="33.852203"
+ inkscape:export-xdpi="33.852203"
+ inkscape:export-filename="/home/jimmac/ximian_art/icons/nautilus/suse93/stock_new-16.png"
+ transform="matrix(0.783292,0,0,0.783292,-6.340883,-86.65168)"
+ d="m 69.375,125 c 0,7.93909 -6.435907,14.375 -14.375,14.375 -7.939093,0 -14.375,-6.43591 -14.375,-14.375 0,-7.93909 6.435907,-14.375 14.375,-14.375 7.939093,0 14.375,6.43591 14.375,14.375 z"
+ sodipodi:ry="14.375"
+ sodipodi:rx="14.375"
+ sodipodi:cy="125"
+ sodipodi:cx="55"
+ id="path12511"
+ style="color:#000000;fill:url(#radialGradient6674-4);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25000024;marker:none;visibility:visible;display:block"
+ sodipodi:type="arc" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/disk (32-32).svg b/src/org.gluster.storage.management.console/icons/tango/scalable/disk (32-32).svg
new file mode 100644
index 00000000..bfe35cce
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/disk (32-32).svg
@@ -0,0 +1,1088 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32px"
+ height="32px"
+ id="svg4048"
+ version="1.1"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="disk (32-32).svg">
+ <defs
+ id="defs4050">
+ <linearGradient
+ id="linearGradient5427">
+ <stop
+ id="stop5429"
+ offset="0"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop5431"
+ offset="1"
+ style="stop-color:#8fbded;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3435"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.391201"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#ffffc8;stop-opacity:1.0000000;"
+ id="stop3437" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a91ef;stop-opacity:0.0000000;"
+ id="stop3439" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3966"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.391201"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#ffffc8;stop-opacity:1.0000000;"
+ id="stop3968" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a91ef;stop-opacity:0.0000000;"
+ id="stop3970" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3973"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.391201"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#ffffc8;stop-opacity:1.0000000;"
+ id="stop3975" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a91ef;stop-opacity:0.0000000;"
+ id="stop3977" />
+ </linearGradient>
+ <linearGradient
+ y2="14.2033"
+ x2="35.391201"
+ y1="32.4165"
+ x1="12.2744"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3421">
+ <stop
+ id="stop3423"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000" />
+ <stop
+ id="stop3427"
+ style="stop-color:#b8c04c;stop-opacity:0.0000000;"
+ offset="1.0000000" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3406"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.391201"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#b307ff;stop-opacity:0.82178217;"
+ id="stop3408" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#f0ff8b;stop-opacity:0.64356434;"
+ id="stop3410" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ id="stop3412" />
+ </linearGradient>
+ <linearGradient
+ y2="14.2033"
+ x2="35.391201"
+ y1="32.4165"
+ x1="12.2744"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3394">
+ <stop
+ id="stop3396"
+ style="stop-color:#fff307;stop-opacity:1.0000000;"
+ offset="0.0000000" />
+ <stop
+ id="stop3398"
+ style="stop-color:#166eff;stop-opacity:1.0000000;"
+ offset="0.50000000" />
+ <stop
+ id="stop3400"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="1.0000000" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4236">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.32673267;"
+ offset="0.0000000"
+ id="stop4238" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.60396039;"
+ offset="1.0000000"
+ id="stop4240" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4006">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.32673267;"
+ offset="0.0000000"
+ id="stop4008" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.60396039;"
+ offset="1.0000000"
+ id="stop4010" />
+ </linearGradient>
+ <linearGradient
+ id="aigrd2"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.391201"
+ y2="14.2033">
+ <stop
+ offset="0"
+ style="stop-color:#FBFBFB"
+ id="stop3043" />
+ <stop
+ offset="0.5"
+ style="stop-color:#B6B6B6"
+ id="stop3045" />
+ <stop
+ offset="1"
+ style="stop-color:#E4E4E4"
+ id="stop3047" />
+ </linearGradient>
+ <linearGradient
+ id="aigrd1"
+ gradientUnits="userSpaceOnUse"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511002"
+ y2="34.307499">
+ <stop
+ offset="0"
+ style="stop-color:#EBEBEB"
+ id="stop3034" />
+ <stop
+ offset="0.5"
+ style="stop-color:#FFFFFF"
+ id="stop3036" />
+ <stop
+ offset="1"
+ style="stop-color:#EBEBEB"
+ id="stop3038" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient23419"
+ id="radialGradient23425"
+ cx="23.334524"
+ cy="41.63604"
+ fx="23.334524"
+ fy="41.63604"
+ r="22.627417"
+ gradientTransform="matrix(1,0,0,0.25,0,31.22703)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient23419">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop23421" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop23423" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4255">
+ <stop
+ style="stop-color:#3465a4;stop-opacity:1"
+ offset="0"
+ id="stop4257" />
+ <stop
+ id="stop6281"
+ offset="0.5"
+ style="stop-color:#5986bb;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="1"
+ id="stop4259" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient35212-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop35214-5" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop35216-7" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435-0"
+ id="radialGradient23368-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.03487623,0.00958811,-0.08873431,-0.32276795,23.695886,25.496739)"
+ cx="133.84108"
+ cy="23.914305"
+ fx="133.84108"
+ fy="23.914305"
+ r="21.333334" />
+ <linearGradient
+ id="linearGradient3435-0"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.391201"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#ffffc8;stop-opacity:1.0000000;"
+ id="stop3437-3" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a91ef;stop-opacity:0.0000000;"
+ id="stop3439-7" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435-0"
+ id="radialGradient23371-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.07317334,-0.01322476,0.07239473,0.40056661,11.06994,3.1635478)"
+ cx="35.511295"
+ cy="21.618015"
+ fx="35.511295"
+ fy="21.618015"
+ r="21.333334" />
+ <linearGradient
+ id="linearGradient4627"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.391201"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#ffffc8;stop-opacity:1.0000000;"
+ id="stop4629" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a91ef;stop-opacity:0.0000000;"
+ id="stop4631" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435-0"
+ id="radialGradient23374-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.00358161,-0.0848793,0.37620752,0.0158748,-0.1079963,16.422848)"
+ cx="16.885271"
+ cy="33.377594"
+ fx="16.885271"
+ fy="33.377594"
+ r="21.333334" />
+ <linearGradient
+ id="linearGradient4634"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.391201"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#ffffc8;stop-opacity:1.0000000;"
+ id="stop4636" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a91ef;stop-opacity:0.0000000;"
+ id="stop4638" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3421-4"
+ id="radialGradient23377-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.10946708,-0.10983876,0.29907899,0.29806618,-2.650975,8.611624)"
+ cx="53.556889"
+ cy="48.23827"
+ fx="53.556889"
+ fy="48.23827"
+ r="21.333334" />
+ <linearGradient
+ y2="14.2033"
+ x2="35.391201"
+ y1="32.4165"
+ x1="12.2744"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3421-4">
+ <stop
+ id="stop3423-9"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000" />
+ <stop
+ id="stop3427-6"
+ style="stop-color:#b8c04c;stop-opacity:0.0000000;"
+ offset="1.0000000" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3406-2"
+ id="radialGradient23380-0"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.53161898,-0.85839601,0.46308479,0.28680513,-15.815299,26.825896)"
+ cx="26.137741"
+ cy="38.807304"
+ fx="26.137741"
+ fy="38.807304"
+ r="21.333334" />
+ <linearGradient
+ id="linearGradient3406-2"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.391201"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#b307ff;stop-opacity:0.82178217;"
+ id="stop3408-1" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#f0ff8b;stop-opacity:0.64356434;"
+ id="stop3410-9" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ id="stop3412-8" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3394-8"
+ id="radialGradient23383-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.58632351,0.66185959,-0.54033628,0.47865267,12.143914,-15.932526)"
+ cx="37.751469"
+ cy="27.569166"
+ fx="37.751469"
+ fy="27.569166"
+ r="21.333334" />
+ <linearGradient
+ y2="14.2033"
+ x2="35.391201"
+ y1="32.4165"
+ x1="12.2744"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3394-8">
+ <stop
+ id="stop3396-7"
+ style="stop-color:#fff307;stop-opacity:1.0000000;"
+ offset="0.0000000" />
+ <stop
+ id="stop3398-5"
+ style="stop-color:#166eff;stop-opacity:1.0000000;"
+ offset="0.50000000" />
+ <stop
+ id="stop3400-0"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="1.0000000" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6028-0"
+ id="linearGradient23353-9"
+ gradientUnits="userSpaceOnUse"
+ x1="28.702885"
+ y1="31.494707"
+ x2="17.742729"
+ y2="18.366575" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6028-0">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop6030-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop6032-7" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="matrix(0.690862,0,0,0.690862,-0.76931217,-1.7520444)"
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036-5"
+ id="linearGradient23387-2"
+ gradientUnits="userSpaceOnUse"
+ x1="10.50172"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6036-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop6038-2" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop6040-3" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236-7"
+ id="linearGradient23390-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.86357747,0,0,0.86357747,-4.6747516,-3.5511627)"
+ x1="21.125"
+ y1="14.625"
+ x2="29"
+ y2="28" />
+ <linearGradient
+ id="linearGradient4236-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.32673267;"
+ offset="0.0000000"
+ id="stop4238-7" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.60396039;"
+ offset="1.0000000"
+ id="stop4240-9" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236-7"
+ id="linearGradient23393-0"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.86357747,0,0,0.86357747,-4.6747516,-3.5511627)"
+ x1="21.125"
+ y1="14.625"
+ x2="29"
+ y2="28" />
+ <linearGradient
+ id="linearGradient4667">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.32673267;"
+ offset="0.0000000"
+ id="stop4669" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.60396039;"
+ offset="1.0000000"
+ id="stop4671" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2-1"
+ id="linearGradient23397-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.82245464,0,0,0.82245464,-3.6878062,-3.4791999)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.391201"
+ y2="14.2033" />
+ <linearGradient
+ id="aigrd2-1"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.391201"
+ y2="14.2033">
+ <stop
+ offset="0"
+ style="stop-color:#FBFBFB"
+ id="stop3043-4" />
+ <stop
+ offset="0.5"
+ style="stop-color:#B6B6B6"
+ id="stop3045-4" />
+ <stop
+ offset="1"
+ style="stop-color:#E4E4E4"
+ id="stop3047-5" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1-5"
+ id="linearGradient23400-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.82245461,0,0,0.82245461,-3.6878062,-3.4791991)"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511002"
+ y2="34.307499" />
+ <linearGradient
+ id="aigrd1-5"
+ gradientUnits="userSpaceOnUse"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511002"
+ y2="34.307499">
+ <stop
+ offset="0"
+ style="stop-color:#EBEBEB"
+ id="stop3034-6" />
+ <stop
+ offset="0.5"
+ style="stop-color:#FFFFFF"
+ id="stop3036-4" />
+ <stop
+ offset="1"
+ style="stop-color:#EBEBEB"
+ id="stop3038-7" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient23419-8"
+ id="radialGradient23425-6"
+ cx="23.334524"
+ cy="41.63604"
+ fx="23.334524"
+ fy="41.63604"
+ r="22.627417"
+ gradientTransform="matrix(1,0,0,0.25,0,31.22703)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient23419-8">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop23421-0" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop23423-0" />
+ </linearGradient>
+ <radialGradient
+ r="22.627417"
+ fy="41.63604"
+ fx="23.334524"
+ cy="41.63604"
+ cx="23.334524"
+ gradientTransform="matrix(1,0,0,0.25,0,31.22703)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient4709"
+ xlink:href="#linearGradient23419-8"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-5"
+ id="linearGradient4914"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889"
+ gradientTransform="matrix(0.52750498,0,0,0.52750498,47.534221,2.570702)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5427"
+ id="linearGradient4917"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.23454195,-0.23454195,0,71.763237,9.9211511)"
+ x1="56.619678"
+ y1="38.098812"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5427"
+ id="linearGradient5437"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.24415435,0.24415435,0,45.434334,19.991698)"
+ x1="56.619678"
+ y1="38.098812"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-5"
+ id="linearGradient5439"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.54912408,0,0,-0.54912408,70.656345,27.643396)"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3805-7"
+ id="radialGradient4452-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-5.4639021,0.0659146,-0.13183442,-10.928213,172.2856,87.181205)"
+ cx="11.021463"
+ cy="7.5991845"
+ fx="11.021463"
+ fy="7.5991845"
+ r="3.4126534" />
+ <linearGradient
+ id="linearGradient3805-7">
+ <stop
+ id="stop3807-4"
+ offset="0"
+ style="stop-color:#ffff00;stop-opacity:1" />
+ <stop
+ id="stop3809-0"
+ offset="1"
+ style="stop-color:#ff0000;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5968"
+ id="linearGradient7852"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.97424531,0,0,1,-61.847544,4.6595592)"
+ x1="29.308222"
+ y1="45.924133"
+ x2="29.308222"
+ y2="0.78541183" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5968">
+ <stop
+ style="stop-color:#b4b4b4;stop-opacity:1"
+ offset="0"
+ id="stop5970" />
+ <stop
+ id="stop6111"
+ offset="0.57293677"
+ style="stop-color:#e9e9e9;stop-opacity:1" />
+ <stop
+ style="stop-color:#e7e7e7;stop-opacity:1"
+ offset="1"
+ id="stop5972" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6077"
+ id="linearGradient7858"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-61.969987,6.4720582)"
+ x1="28.311356"
+ y1="6.6647797"
+ x2="27.936356"
+ y2="42.119865" />
+ <linearGradient
+ id="linearGradient6077">
+ <stop
+ id="stop6079"
+ offset="0"
+ style="stop-color:#4d4d4d;stop-opacity:1" />
+ <stop
+ id="stop6081"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6057"
+ id="linearGradient7860"
+ gradientUnits="userSpaceOnUse"
+ x1="22.717751"
+ y1="23.575481"
+ x2="22.806652"
+ y2="34.106575" />
+ <linearGradient
+ id="linearGradient6057">
+ <stop
+ style="stop-color:#4d4d4d;stop-opacity:1"
+ offset="0"
+ id="stop6059" />
+ <stop
+ id="stop6107"
+ offset="0.5"
+ style="stop-color:#b9b9b9;stop-opacity:1;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6061" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6008"
+ id="linearGradient7862"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.92020109,0,0,0.92020109,-60.104768,8.7993922)"
+ x1="19.211605"
+ y1="41.081333"
+ x2="18.27038"
+ y2="6.1793666" />
+ <linearGradient
+ id="linearGradient6008">
+ <stop
+ style="stop-color:#4b4b4b;stop-opacity:1"
+ offset="0"
+ id="stop6010" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6012" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6049"
+ id="linearGradient7864"
+ gradientUnits="userSpaceOnUse"
+ x1="23.114971"
+ y1="34.086388"
+ x2="23.354908"
+ y2="23.578178" />
+ <linearGradient
+ id="linearGradient6049">
+ <stop
+ style="stop-color:#4d4d4d;stop-opacity:1"
+ offset="0"
+ id="stop6051" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6053" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6083"
+ id="linearGradient7866"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60,0)"
+ x1="14.967111"
+ y1="5.6551399"
+ x2="14.967111"
+ y2="16.640585" />
+ <linearGradient
+ id="linearGradient6083">
+ <stop
+ id="stop6085"
+ offset="0"
+ style="stop-color:#4d4d4d;stop-opacity:1" />
+ <stop
+ id="stop6087"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6065"
+ id="linearGradient7868"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.85691123,0,0,0.85691123,-57.553937,1.9004806)"
+ x1="18.040327"
+ y1="23.663727"
+ x2="18.040327"
+ y2="6.9715528" />
+ <linearGradient
+ id="linearGradient6065">
+ <stop
+ style="stop-color:#4d4d4d;stop-opacity:1"
+ offset="0"
+ id="stop6067" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6069" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6091"
+ id="linearGradient7874"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98990282,0,0,0.98990282,-61.730511,4.7162442)"
+ x1="40.854774"
+ y1="46.025497"
+ x2="6.7298694"
+ y2="3.0208516" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6091">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6093" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6095" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5427"
+ id="linearGradient11054"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.23454195,-0.23454195,0,71.763237,9.9211511)"
+ x1="56.619678"
+ y1="38.098812"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-5"
+ id="linearGradient11056"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.52750498,0,0,0.52750498,47.534221,2.570702)"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5427"
+ id="linearGradient11058"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.24415435,0.24415435,0,45.434334,19.991698)"
+ x1="56.619678"
+ y1="38.098812"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-5"
+ id="linearGradient11060"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.54912408,0,0,-0.54912408,70.656345,27.643396)"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="23.994467"
+ inkscape:cy="11.160329"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1600"
+ inkscape:window-height="838"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata4053">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g7829"
+ transform="matrix(0.66853204,0,0,0.66853204,-18.397003,-3.031027)">
+ <g
+ id="g9442"
+ transform="translate(89.507918,0)">
+ <rect
+ style="fill:url(#linearGradient7852);fill-opacity:1;stroke:#646464;stroke-width:1.08234084;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="rect5198"
+ width="37.925812"
+ height="45.672237"
+ x="-57.215778"
+ y="5.8272643"
+ rx="2.023422"
+ ry="2.0769122" />
+ <path
+ style="fill:none;stroke:url(#linearGradient7858);stroke-width:1.53470576;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m -33.579701,11.829069 c -1.053346,0 -1.897283,0.336185 -1.897283,1.724802 -0.349391,3.90193 -7.520699,7.432837 -12.620959,12.555943 -2.224635,2.339362 -3.592185,5.498558 -3.592185,8.981807 0,7.224449 5.884051,13.079754 13.108499,13.079754 7.224449,0 13.079754,-5.855305 13.079754,-13.079754 0,-2.864507 -0.939302,-5.492021 -2.500964,-7.646625 l 0,-13.661151 c 0,-1.332659 -0.82745,-1.954776 -2.069763,-1.954776 z"
+ id="path5995"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="sccssscsss" />
+ <path
+ sodipodi:type="arc"
+ style="fill:none;stroke:url(#linearGradient7860);stroke-width:1.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6006"
+ sodipodi:cx="23"
+ sodipodi:cy="28.875"
+ sodipodi:rx="4.75"
+ sodipodi:ry="4.75"
+ d="m 27.75,28.875 c 0,2.623353 -2.126647,4.75 -4.75,4.75 -2.623353,0 -4.75,-2.126647 -4.75,-4.75 0,-2.623353 2.126647,-4.75 4.75,-4.75 2.623353,0 4.75,2.126647 4.75,4.75 z"
+ transform="matrix(0.91989475,0,0,0.91989475,-59.472608,8.5396742)" />
+ <path
+ sodipodi:nodetypes="sccssscsss"
+ inkscape:connector-curvature="0"
+ id="path6020"
+ d="m -32.948746,12.860546 c -1.411541,0 -1.464632,-0.06564 -1.464632,1.087165 -0.79026,4.49681 -8.233056,8.208077 -12.926319,12.922365 -2.047112,2.152683 -3.305534,5.059779 -3.305534,8.265068 0,6.647946 5.414511,12.036004 12.062455,12.036004 6.647946,0 12.036004,-5.388058 12.036004,-12.036004 0,-2.979671 -1.176847,-5.616263 -2.52014,-7.317683 l 0,-13.626878 c 0,-1.226315 -0.261421,-1.330037 -1.404599,-1.330037 z"
+ style="fill:none;stroke:url(#linearGradient7862);stroke-width:0.99863923;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ transform="matrix(0.73157083,0,0,0.73157083,-55.141158,13.977527)"
+ d="m 27.75,28.875 c 0,2.623353 -2.126647,4.75 -4.75,4.75 -2.623353,0 -4.75,-2.126647 -4.75,-4.75 0,-2.623353 2.126647,-4.75 4.75,-4.75 2.623353,0 4.75,2.126647 4.75,4.75 z"
+ sodipodi:ry="4.75"
+ sodipodi:rx="4.75"
+ sodipodi:cy="28.875"
+ sodipodi:cx="23"
+ id="path6047"
+ style="fill:none;stroke:url(#linearGradient7864);stroke-width:1.3928932;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ <g
+ transform="translate(-1.9699873,4.4720592)"
+ id="g6227">
+ <path
+ sodipodi:nodetypes="cccscsc"
+ inkscape:connector-curvature="0"
+ id="path6004"
+ d="m -49.723391,15.766028 0,-5.489237 c 0,-1.9747548 1.701713,-3.0790477 3.008251,-3.0790477 2.490645,-0.083222 5.718806,-0.024317 8.132481,-0.024317 2.952952,0 3.468191,1.6055538 0.554883,3.9038907 -2.14002,1.745447 -3.738746,3.427527 -6.742857,5.858465 -2.149829,1.739649 -4.952758,2.0649 -4.952758,-1.169754 z"
+ style="fill:none;stroke:url(#linearGradient7866);stroke-width:1.17271864;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ style="fill:none;stroke:url(#linearGradient7868);stroke-width:0.7269659;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m -48.747795,15.29064 -0.01563,-4.203168 c 0,-1.6921899 0.632674,-2.9566645 2.674136,-2.9566645 2.134261,-0.071314 4.996578,-0.061241 7.064884,-0.061241 2.530418,0 2.684669,0.4256423 0.188223,2.3951135 -1.833807,1.495693 -4.574945,4.040079 -7.149203,6.123178 -1.269396,1.027199 -2.762415,0.883643 -2.76241,-1.297218 z"
+ id="path6073"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscsc" />
+ </g>
+ <g
+ transform="matrix(0.75730905,0,0,0.75730905,-6.8017413,-21.321719)"
+ id="g6207">
+ <g
+ id="g9418">
+ <path
+ transform="translate(0.328125,-0.453125)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6209"
+ style="opacity:0.78761058;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:none;stroke:#000000;stroke-width:0.6876899;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6211"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)" />
+ </g>
+ <g
+ transform="translate(-38.058892,0)"
+ id="g9422">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path9424"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="translate(0.328125,-0.453125)" />
+ <path
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path9426"
+ style="opacity:0.78761058;fill:none;stroke:#000000;stroke-width:0.6876899;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ </g>
+ </g>
+ <rect
+ y="7.0934958"
+ x="-55.982082"
+ height="43.124149"
+ width="35.458416"
+ id="rect6089"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7874);stroke-width:1.30568182;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ ry="0.98889953"
+ rx="0.97983909" />
+ <g
+ id="g9428"
+ transform="matrix(0.75730905,0,0,0.75730905,-6.8017413,15.23506)">
+ <g
+ id="g9430">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path9432"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="translate(0.328125,-0.453125)" />
+ <path
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path9434"
+ style="opacity:0.78761058;fill:none;stroke:#000000;stroke-width:0.6876899;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ </g>
+ <g
+ id="g9436"
+ transform="translate(-38.058892,0)">
+ <path
+ transform="translate(0.328125,-0.453125)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path9438"
+ style="opacity:0.78761058;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:none;stroke:#000000;stroke-width:0.6876899;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path9440"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)" />
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/disk (48-48).svg b/src/org.gluster.storage.management.console/icons/tango/scalable/disk (48-48).svg
new file mode 100644
index 00000000..79f172df
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/disk (48-48).svg
@@ -0,0 +1,2263 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48.000000px"
+ height="48.000000px"
+ id="svg3077"
+ sodipodi:version="0.32"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="disk (48-48).svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs3">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6151">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop6153" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6155" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6131">
+ <stop
+ style="stop-color:#545454;stop-opacity:0"
+ offset="0"
+ id="stop6133" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6135" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6123">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6125" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop6127" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6091">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6093" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6095" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6083">
+ <stop
+ id="stop6085"
+ offset="0"
+ style="stop-color:#737373;stop-opacity:1" />
+ <stop
+ id="stop6087"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6077">
+ <stop
+ id="stop6079"
+ offset="0"
+ style="stop-color:#8c8c8c;stop-opacity:1" />
+ <stop
+ id="stop6081"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6065">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6067" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6069" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6057">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6059" />
+ <stop
+ id="stop6107"
+ offset="0.5"
+ style="stop-color:#b9b9b9;stop-opacity:1;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6061" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6049">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6051" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6053" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6008">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6010" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6012" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5968">
+ <stop
+ style="stop-color:#b4b4b4;stop-opacity:1"
+ offset="0"
+ id="stop5970" />
+ <stop
+ id="stop6111"
+ offset="0.57293677"
+ style="stop-color:#e9e9e9;stop-opacity:1" />
+ <stop
+ style="stop-color:#e7e7e7;stop-opacity:1"
+ offset="1"
+ id="stop5972" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4255">
+ <stop
+ style="stop-color:#2a5285;stop-opacity:1;"
+ offset="0"
+ id="stop4257" />
+ <stop
+ style="stop-color:#9acbff;stop-opacity:1;"
+ offset="1"
+ id="stop4259" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4247"
+ inkscape:collect="always">
+ <stop
+ id="stop4249"
+ offset="0"
+ style="stop-color:#0045bd;stop-opacity:1" />
+ <stop
+ id="stop4251"
+ offset="1"
+ style="stop-color:#fcb500;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient35212">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop35214" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop35216" />
+ </linearGradient>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective91" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient23419">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop23421" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop23423" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3435"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#ffffc8;stop-opacity:1.0000000;"
+ id="stop3437" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a91ef;stop-opacity:0.0000000;"
+ id="stop3439" />
+ </linearGradient>
+ <linearGradient
+ y2="14.2033"
+ x2="35.3912"
+ y1="32.4165"
+ x1="12.2744"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3421">
+ <stop
+ id="stop3423"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000" />
+ <stop
+ id="stop3427"
+ style="stop-color:#b8c04c;stop-opacity:0.0000000;"
+ offset="1.0000000" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3406"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#b307ff;stop-opacity:0.82178217;"
+ id="stop3408" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#f0ff8b;stop-opacity:0.64356434;"
+ id="stop3410" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ id="stop3412" />
+ </linearGradient>
+ <linearGradient
+ y2="14.2033"
+ x2="35.3912"
+ y1="32.4165"
+ x1="12.2744"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3394">
+ <stop
+ id="stop3396"
+ style="stop-color:#fff307;stop-opacity:1.0000000;"
+ offset="0.0000000" />
+ <stop
+ id="stop3398"
+ style="stop-color:#166eff;stop-opacity:1.0000000;"
+ offset="0.50000000" />
+ <stop
+ id="stop3400"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="1.0000000" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6036">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop6038" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop6040" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6028">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop6030" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop6032" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4236">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.32673267;"
+ offset="0.0000000"
+ id="stop4238" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.60396039;"
+ offset="1.0000000"
+ id="stop4240" />
+ </linearGradient>
+ <linearGradient
+ id="aigrd2"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033">
+ <stop
+ offset="0"
+ style="stop-color:#FBFBFB"
+ id="stop3043" />
+ <stop
+ offset="0.5"
+ style="stop-color:#B6B6B6"
+ id="stop3045" />
+ <stop
+ offset="1"
+ style="stop-color:#E4E4E4"
+ id="stop3047" />
+ </linearGradient>
+ <linearGradient
+ id="aigrd1"
+ gradientUnits="userSpaceOnUse"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075">
+ <stop
+ offset="0"
+ style="stop-color:#EBEBEB"
+ id="stop3034" />
+ <stop
+ offset="0.5"
+ style="stop-color:#FFFFFF"
+ id="stop3036" />
+ <stop
+ offset="1"
+ style="stop-color:#EBEBEB"
+ id="stop3038" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient3912"
+ gradientUnits="userSpaceOnUse"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075"
+ gradientTransform="matrix(1.190476,0.000000,0.000000,1.190476,-4.224424,-2.500000)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient4222"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.250000,0.000000,0.000000,1.250000,-5.652995,-2.604165)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient4224"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.250000,0.000000,0.000000,1.250000,-5.652995,-2.604165)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="linearGradient4242"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0.000000,0.000000,1.190476,-4.224424,-2.500001)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6028"
+ id="linearGradient6034"
+ x1="28.702885"
+ y1="31.494707"
+ x2="17.742729"
+ y2="18.366575"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036"
+ id="linearGradient6042"
+ x1="10.501720"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ gradientTransform="matrix(0.848684,0.958020,-0.782119,0.692834,18.69147,-20.52578)"
+ gradientUnits="userSpaceOnUse"
+ r="21.333334"
+ fy="27.569166"
+ fx="37.751469"
+ cy="27.569166"
+ cx="37.751469"
+ id="radialGradient3392"
+ xlink:href="#linearGradient3394"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="48.238270"
+ fx="53.556889"
+ cy="48.238270"
+ cx="53.556889"
+ gradientTransform="matrix(0.158450,-0.158988,0.432907,0.431441,-2.723645,15.00107)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3429"
+ xlink:href="#linearGradient3421"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="33.377594"
+ fx="16.885271"
+ cy="33.377594"
+ cx="16.885271"
+ gradientTransform="matrix(5.184267e-3,-0.122860,0.544548,2.297824e-2,0.957234,26.30756)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3433"
+ xlink:href="#linearGradient3435"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="21.618015"
+ fx="35.511295"
+ cy="21.618015"
+ cx="35.511295"
+ gradientTransform="matrix(0.105916,-1.914240e-2,0.104789,0.579807,17.13693,7.115158)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3443"
+ xlink:href="#linearGradient3435"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientTransform="matrix(-5.048220e-2,1.387847e-2,-0.128440,-0.467196,35.41257,39.44172)"
+ r="21.333334"
+ fy="23.914305"
+ fx="133.84108"
+ cy="23.914305"
+ cx="133.84108"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3447"
+ xlink:href="#linearGradient3435"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="38.807304"
+ fx="26.137741"
+ cy="38.807304"
+ cx="26.137741"
+ gradientTransform="matrix(0.769501,-1.242500,0.670300,0.415141,-21.77857,41.36563)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3449"
+ xlink:href="#linearGradient3406"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient23343"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.5)"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="linearGradient23345"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.500001)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23347"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23349"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036"
+ id="linearGradient23351"
+ gradientUnits="userSpaceOnUse"
+ x1="10.501720"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3394"
+ id="radialGradient23355"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.848684,0.95802,-0.782119,0.692834,18.69147,-20.52578)"
+ cx="37.751469"
+ cy="27.569166"
+ fx="37.751469"
+ fy="27.569166"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3406"
+ id="radialGradient23357"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.769501,-1.2425,0.6703,0.415141,-21.77857,41.36563)"
+ cx="26.137741"
+ cy="38.807304"
+ fx="26.137741"
+ fy="38.807304"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3421"
+ id="radialGradient23359"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.15845,-0.158988,0.432907,0.431441,-2.723645,15.00107)"
+ cx="53.556889"
+ cy="48.238270"
+ fx="53.556889"
+ fy="48.238270"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23361"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(5.184267e-3,-0.12286,0.544548,2.297824e-2,0.957234,26.30756)"
+ cx="16.885271"
+ cy="33.377594"
+ fx="16.885271"
+ fy="33.377594"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23363"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.105916,-1.91424e-2,0.104789,0.579807,17.13693,7.115158)"
+ cx="35.511295"
+ cy="21.618015"
+ fx="35.511295"
+ fy="21.618015"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23365"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-5.04822e-2,1.387847e-2,-0.12844,-0.467196,35.41257,39.44172)"
+ cx="133.84108"
+ cy="23.914305"
+ fx="133.84108"
+ fy="23.914305"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8662"
+ id="radialGradient8668"
+ cx="24.837126"
+ cy="36.421127"
+ fx="24.837126"
+ fy="36.421127"
+ r="15.644737"
+ gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient8662">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop8664" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop8666" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ inkscape:collect="always"
+ xlink:href="#linearGradient4247"
+ id="linearGradient2314"
+ x1="90.61982"
+ y1="52.190975"
+ x2="-57.421551"
+ y2="-5.4606466"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2308">
+ <stop
+ style="stop-color:#aa4400;stop-opacity:1"
+ offset="0"
+ id="stop2310" />
+ <stop
+ style="stop-color:#fcb500;stop-opacity:1"
+ offset="1"
+ id="stop2312" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316">
+ <stop
+ style="stop-color:#aa4400;stop-opacity:1"
+ offset="0"
+ id="stop2318" />
+ <stop
+ style="stop-color:#d89b00;stop-opacity:1"
+ offset="1"
+ id="stop2320" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2187"
+ id="linearGradient1764"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-1.171926,-1.171926,0,112.4458,23.78835)"
+ x1="17.060806"
+ y1="11.39502"
+ x2="12.624337"
+ y2="12.583769" />
+ <linearGradient
+ id="linearGradient2187"
+ inkscape:collect="always">
+ <stop
+ id="stop2189"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2191"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2326"
+ id="radialGradient2332"
+ cx="15.09403"
+ cy="13.282721"
+ fx="15.09403"
+ fy="13.282721"
+ r="10.16466"
+ gradientTransform="matrix(2.496031,0,0,2.300689,41.14738,-48.13912)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2326">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2328" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2330" />
+ </linearGradient>
+ <radialGradient
+ r="15.644737"
+ fy="36.421127"
+ fx="24.837126"
+ cy="36.421127"
+ cx="24.837126"
+ gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient31709"
+ xlink:href="#linearGradient8662"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2308-0"
+ id="linearGradient3485"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.47369448,-0.47369448,0,99.704257,8.7500421)"
+ x1="27.027767"
+ y1="13.535172"
+ x2="19.751877"
+ y2="395.62497" />
+ <linearGradient
+ id="linearGradient2308-0"
+ inkscape:collect="always">
+ <stop
+ id="stop2310-5"
+ offset="0"
+ style="stop-color:#edd400;stop-opacity:1;" />
+ <stop
+ id="stop2312-2"
+ offset="1"
+ style="stop-color:#edd400;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2316-0"
+ id="linearGradient3487"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.47369448,-0.47369448,0,99.704257,8.7500421)"
+ x1="27.027767"
+ y1="13.535172"
+ x2="19.751877"
+ y2="395.62497" />
+ <linearGradient
+ id="linearGradient2316-0">
+ <stop
+ id="stop2318-7"
+ offset="0"
+ style="stop-color:#c4a000;stop-opacity:1;" />
+ <stop
+ id="stop2320-5"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2187-6"
+ id="linearGradient3489"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.55513488,0,0,-0.55513488,74.07686,30.6226)"
+ x1="17.060806"
+ y1="11.39502"
+ x2="-0.99847859"
+ y2="8.6995773" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2187-6">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2189-1" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2191-8" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2326-1"
+ id="radialGradient3491"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,1.1823561,-1.0898237,0,108.1485,-3.1510675)"
+ cx="15.09403"
+ cy="13.282721"
+ fx="15.09403"
+ fy="13.282721"
+ r="10.16466" />
+ <linearGradient
+ id="linearGradient2326-1"
+ inkscape:collect="always">
+ <stop
+ id="stop2328-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ r="10.16466"
+ fy="13.282721"
+ fx="15.09403"
+ cy="13.282721"
+ cx="15.09403"
+ gradientTransform="matrix(0,0.78187591,-0.61655067,0,79.03229,4.8548625)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient34355"
+ xlink:href="#linearGradient2326-1"
+ inkscape:collect="always" />
+ <radialGradient
+ r="10.16466"
+ fy="13.282721"
+ fx="15.09403"
+ cy="13.282721"
+ cx="15.09403"
+ gradientTransform="matrix(0,0.78187591,-0.61655067,0,79.03229,4.8548625)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient34355-3"
+ xlink:href="#linearGradient2326-1-7"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2326-1-7"
+ inkscape:collect="always">
+ <stop
+ id="stop2328-8-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212"
+ id="linearGradient35218"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2308"
+ id="linearGradient3908"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="90.61982"
+ y1="52.190975"
+ x2="-57.421551"
+ y2="-5.4606466" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212"
+ id="linearGradient3910"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient4253"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="51.064072"
+ y1="36.929211"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient16236"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5">
+ <stop
+ id="stop4136-4-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2" />
+ <stop
+ id="stop4138-2-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient16238"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7">
+ <stop
+ id="stop4208-5-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient16240"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient16242"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7">
+ <stop
+ id="stop7212-33"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient16244"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient4586"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="56.619678"
+ y1="38.098812"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212"
+ id="linearGradient4588"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient6715"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6717"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6719"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ gradientTransform="translate(-116.76931,0.30161647)"
+ gradientUnits="userSpaceOnUse"
+ y2="40.943935"
+ x2="36.183067"
+ y1="28.481176"
+ x1="7.6046205"
+ id="linearGradient4234"
+ xlink:href="#linearGradient4228"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4228">
+ <stop
+ id="stop4230"
+ offset="0.0000000"
+ style="stop-color:#bbbbbb;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4232"
+ offset="1.0000000"
+ style="stop-color:#9f9f9f;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.286242,0.781698,-0.710782,1.169552,-119.12366,-4.5752457)"
+ r="20.935818"
+ fy="2.958519"
+ fx="15.571491"
+ cy="2.958519"
+ cx="15.571491"
+ id="radialGradient4250"
+ xlink:href="#linearGradient4244"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4244">
+ <stop
+ id="stop4246"
+ offset="0.0000000"
+ style="stop-color:#e4e4e4;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4248"
+ offset="1.0000000"
+ style="stop-color:#d3d3d3;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(-115.97382,-1.0242045)"
+ y2="35.28125"
+ x2="24.6875"
+ y1="35.28125"
+ x1="7.0625"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4209"
+ xlink:href="#linearGradient4184"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4184">
+ <stop
+ id="stop4186"
+ offset="0.0000000"
+ style="stop-color:#838383;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4188"
+ offset="1.0000000"
+ style="stop-color:#bbbbbb;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(-116.76931,0.30161647)"
+ gradientUnits="userSpaceOnUse"
+ y2="33.758667"
+ x2="12.221823"
+ y1="37.205811"
+ x1="12.277412"
+ id="linearGradient4242-1"
+ xlink:href="#linearGradient4236-7"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4236-7"
+ inkscape:collect="always">
+ <stop
+ id="stop4238-4"
+ offset="0"
+ style="stop-color:#eeeeee;stop-opacity:1;" />
+ <stop
+ id="stop4240-0"
+ offset="1"
+ style="stop-color:#eeeeee;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(-116.76931,0.30161647)"
+ gradientUnits="userSpaceOnUse"
+ y2="26.357183"
+ x2="23.688078"
+ y1="11.318835"
+ x1="23.688078"
+ id="linearGradient4272"
+ xlink:href="#linearGradient4274"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4274">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.25490198;"
+ offset="0.0000000"
+ id="stop4276" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop4278" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(-116.76931,0.30161647)"
+ gradientUnits="userSpaceOnUse"
+ y2="47.620636"
+ x2="44.0961"
+ y1="4.433136"
+ x1="12.378357"
+ id="linearGradient4260"
+ xlink:href="#linearGradient4254"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4254"
+ inkscape:collect="always">
+ <stop
+ id="stop4256"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4258"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2555"
+ id="linearGradient2553"
+ x1="33.431175"
+ y1="31.964777"
+ x2="21.747974"
+ y2="11.780679"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient2555">
+ <stop
+ id="stop2557"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ style="stop-color:#e6e6e6;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop2561" />
+ <stop
+ id="stop2563"
+ offset="0.75000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1.0000000;"
+ offset="0.84166664"
+ id="stop2565" />
+ <stop
+ id="stop2559"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <radialGradient
+ r="117.14286"
+ fy="486.64789"
+ fx="605.71429"
+ cy="486.64789"
+ cx="605.71429"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient4994"
+ xlink:href="#linearGradient5060"
+ inkscape:collect="always" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient23419"
+ id="radialGradient5172"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.25,0,31.22703)"
+ cx="23.334524"
+ cy="41.63604"
+ fx="23.334524"
+ fy="41.63604"
+ r="22.627417" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient5174"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,95.775576,-2.5)"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="linearGradient5176"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,95.775576,-2.500001)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient5178"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,94.347005,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient5180"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,94.347005,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036"
+ id="linearGradient5182"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(100,0)"
+ x1="10.501720"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6028"
+ id="linearGradient5184"
+ gradientUnits="userSpaceOnUse"
+ x1="28.702885"
+ y1="31.494707"
+ x2="17.742729"
+ y2="18.366575" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3394"
+ id="radialGradient5186"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.848684,0.95802,-0.782119,0.692834,118.69147,-20.52578)"
+ cx="37.751469"
+ cy="27.569166"
+ fx="37.751469"
+ fy="27.569166"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3406"
+ id="radialGradient5188"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.769501,-1.2425,0.6703,0.415141,78.22143,41.36563)"
+ cx="26.137741"
+ cy="38.807304"
+ fx="26.137741"
+ fy="38.807304"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3421"
+ id="radialGradient5190"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.15845,-0.158988,0.432907,0.431441,97.276355,15.00107)"
+ cx="53.556889"
+ cy="48.238270"
+ fx="53.556889"
+ fy="48.238270"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient5192"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.00518427,-0.12286,0.544548,0.02297824,100.95723,26.30756)"
+ cx="16.885271"
+ cy="33.377594"
+ fx="16.885271"
+ fy="33.377594"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient5194"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.105916,-0.0191424,0.104789,0.579807,117.13693,7.115158)"
+ cx="35.511295"
+ cy="21.618015"
+ fx="35.511295"
+ fy="21.618015"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient5196"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.0504822,0.01387847,-0.12844,-0.467196,135.41257,39.44172)"
+ cx="133.84108"
+ cy="23.914305"
+ fx="133.84108"
+ fy="23.914305"
+ r="21.333334" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5968"
+ id="linearGradient5974"
+ x1="29.308222"
+ y1="45.924133"
+ x2="29.308222"
+ y2="0.78541183"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.97424531,0,0,1,-0.87755697,0.1875)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6008"
+ id="linearGradient6035"
+ gradientUnits="userSpaceOnUse"
+ x1="19.211605"
+ y1="41.081333"
+ x2="18.27038"
+ y2="6.1793666"
+ gradientTransform="matrix(0.92020109,0,0,0.92020109,0.86521903,4.327334)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6077"
+ id="linearGradient6045"
+ gradientUnits="userSpaceOnUse"
+ x1="28.311356"
+ y1="6.6647797"
+ x2="27.936356"
+ y2="42.119865"
+ gradientTransform="translate(-0.99999997,2)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6049"
+ id="linearGradient6055"
+ x1="23.114971"
+ y1="34.086388"
+ x2="23.354908"
+ y2="23.578178"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6057"
+ id="linearGradient6063"
+ x1="22.717751"
+ y1="23.575481"
+ x2="22.806652"
+ y2="34.106575"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6083"
+ id="linearGradient6071"
+ x1="14.967111"
+ y1="2.3855319"
+ x2="14.967111"
+ y2="16.640585"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60,0)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6065"
+ id="linearGradient6075"
+ gradientUnits="userSpaceOnUse"
+ x1="18.104832"
+ y1="18.316957"
+ x2="18.040327"
+ y2="6.9715528"
+ gradientTransform="matrix(0.85691123,0,0,0.85691123,-57.553937,1.9004806)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6091"
+ id="linearGradient6097"
+ x1="40.854774"
+ y1="46.025497"
+ x2="6.7298694"
+ y2="3.0208516"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98990282,0,0,0.98990282,-0.76052397,0.24418515)" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6193"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6195"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6203"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6205"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6219"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6221"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6223"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6225"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5968"
+ id="linearGradient7987"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.97424531,0,0,1,-0.87755697,0.1875)"
+ x1="29.308222"
+ y1="45.924133"
+ x2="29.308222"
+ y2="0.78541183" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient7989"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient7991"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6077"
+ id="linearGradient7993"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-0.99999997,2)"
+ x1="28.311356"
+ y1="6.6647797"
+ x2="27.936356"
+ y2="42.119865" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6057"
+ id="linearGradient7995"
+ gradientUnits="userSpaceOnUse"
+ x1="22.717751"
+ y1="23.575481"
+ x2="22.806652"
+ y2="34.106575" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6008"
+ id="linearGradient7997"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.92020109,0,0,0.92020109,0.86521903,4.327334)"
+ x1="19.211605"
+ y1="41.081333"
+ x2="18.27038"
+ y2="6.1793666" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6049"
+ id="linearGradient7999"
+ gradientUnits="userSpaceOnUse"
+ x1="23.114971"
+ y1="34.086388"
+ x2="23.354908"
+ y2="23.578178" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6083"
+ id="linearGradient8001"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60,0)"
+ x1="14.967111"
+ y1="2.3855319"
+ x2="14.967111"
+ y2="16.640585" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6065"
+ id="linearGradient8003"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.85691123,0,0,0.85691123,-57.553937,1.9004806)"
+ x1="18.104832"
+ y1="18.316957"
+ x2="18.040327"
+ y2="6.9715528" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient8005"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient8007"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6091"
+ id="linearGradient8009"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98990282,0,0,0.98990282,-0.76052397,0.24418515)"
+ x1="40.854774"
+ y1="46.025497"
+ x2="6.7298694"
+ y2="3.0208516" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient8011"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient8013"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient8015"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient8017"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient8019"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="51.064072"
+ y1="36.929211"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212"
+ id="linearGradient8021"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient8023"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="56.619678"
+ y1="38.098812"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212"
+ id="linearGradient8025"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.25490196"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="32.74485"
+ inkscape:cy="14.799612"
+ inkscape:current-layer="g7955"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1600"
+ inkscape:window-height="838"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:showpageshadow="false"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>cdrom</rdf:li>
+ <rdf:li>media</rdf:li>
+ <rdf:li>removable</rdf:li>
+ <rdf:li>cd</rdf:li>
+ <rdf:li>audio</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g7884"
+ style="display:none">
+ <image
+ width="74.751503"
+ height="65.702629"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAFOAXwDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKY8ixjLH FVJLx2O2Jefpk1hVxFOn8T1KjBy2LrMFGSQB71Wkv7eP+IsfRRVf7JPOcyvge5zUyadAvLZc+5rl lWxdT+FBRXd/5GijTj8TuVZNYI4jh/FjULX+pS/6uIgf7MZP862Ehjj+5Gq/QVJWE8Bi6v8AExDX +FW/EpVaa2j95gk6y/8AfH4KKTyda9X/AO+1/wAa36Kz/sNP4q9R/wDb3/AH9Z7RX3HP7dbT+/8A mppPtusQ/fiZh7xf4V0NFP8Asecf4eImvV3H9ZT3gjn08QyocTWyk+xK/wA6tw69ZyYD74j/ALQy P0rSkijlXEiK49GGaozaLZTZxGYye6HH/wBaj6vmlH+HVU12krfl/mPnw8vii16FyKeKdd0UiuP9 k5qWucl0C4gbzLSfJHTna3501NW1CwcJdxFx/tjB/A96Fm06LtjKTh5rVf194fVVPWlK/lszpaKo WerWt5hUfZIf4H4P/wBer9etRrU60eenJNeRzThKDtJWCiiitSQooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKDxQAhOBzULyk8J+dPILn2pyoF6VjL mnotEUrIrrbFzmQn6VOkaoMKoFPopwowhstQcmwooorUkKKKKACiiigAooooAKKKKACmSRpKhSRA ynqGGRT6KTSaswMK98PRyAvaN5bf3GPB/wAKpware6XL5F4jOg7N1H0PeuprP1WxfULZYkZFIbdl hXi4rLPZXr4O8Z9ls/lt+h20sTzWhW1X5DNM1ZNRkmULsKYKgnkj/wDX/OtOucstEvrG9jnSSFlB wwDHkd+1dHXXltTETpWxMbST+/8ArYyxMacZ/u3oFFFFegc4UUUUAFFJkZxnn0paACiiigAooooA KKKKACiiigAooooAKKKKACiiigAqhc6nDAdq/vGHXBwBU1/KYbGZwcELgH68Vyxcmvnc8zieCcaV L4mr3OvDUFUvKWxpy6vOzko2xewwD/SmDWblTyyt9V/wrNLUhavkpZxjZS5lUf3/AKbHcsPTtaxv 2uspNIscqbGY4DA8ZrWrktPt2ubxFH3QdzH0Arra+xyDGYnFUJSr62ej7nBiqcISSiFFFFe8coUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFQSXltC22W4hRvRnANNJvYT aW4+WVIInlkYKiDLE9hXFal4gubyRlidooM8KpwT9TWt4qvVGkosUisssgBKnOQBn+eK4hpfevSw WHTjzyR4mZYxxl7OL0LRmOc559a1NN8SXFlIqTM01v3Vjkj6H+lc8ZajMtehKjGatJHkRxc6cuaD seuwypPCksbBkcBlI7ipK5vwXctPozxsc+VKVX6EA/zJrpK8CrT9nNx7H1uHq+2pRqdwooorM2Ci iigAooooAKKKKACiiigAooooAp6mhfTZwOwz+RzXKZrtWUMpUjIIwa42/h+w3TxMc45X3HavjeKM LJzhXS0tZ/mv1PSwErpwI801nVepAqu0rN04HtTMV8tGj3PUVPudH4cfzJ5yuSoUAn8a6Kue8LRk R3Mh+6Sqj8M/410NfomRw5MDBev5s8PG29u0v60CiiivXOUKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKQnAyaWsbxPdtaaBcuhw7gRg/U4P6ZqoRc5KK6mdWoqcHN9Fc5zXfE8tz M9vZyGO3U4LKcF/x9K5xpST1quXpjzBASxwK+jp0YU48sUfGVsRUrz5pssGSq813FAMyOB7d6oTX kj5WIbR696q+SWJJySepNbJEKH8xZl1dzkQxfi5/pVR7q7l+9Myj0XipVt6kWAUy04rZHpPgj7Lo vhuNr+9gilunM2Jpgp2kADqfQZ/GuuguYLmPfbzRyp/ejYMP0rwwQj0q7YXV1ptytxaStFIPQ8H2 I7ivMrZfztz5tWerQzZU0oOOiPa6KzdE1RNY0yO6Vdr52yL/AHWHX/H8a0q8iUXFuL3R9BCcZxUo 7MKKKKkoKKKKACiiigAooooAKKKKACsPxFZrJbLddHj+U+4JrYlljhXdI6oPVjiud1jVBdD7PAQY urNjqa8fOq9CGFlCo9Xsut+h1YSM3VUomJtp8cLSyLHGpZm4AHel21JA7wTJKnDIcivgISjzLm26 nuSk7aHW6ZafYrFIj9/7z/U1cqvaXAurVJgMbhyM9DViv1DDKmqMVS+Gyt6HzlRyc25bhRRRW5AU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVjeJ7R7zw/dJGMugEgA74OT+ma2aK qEnCSkuhFWmqkHB9dDw9pMVAytIct+ArtvEXg+WKd7vTYzJCx3NCo+ZD7DuK5YwlGKspVh1BHIr6 SlWhVjzRZ8ZXoTw8uWaKYh9qeIqtCOnBK1uYcxWEVPEVThaULSFciEdOCVJirmn6Xd6nOI7aJmGc M5GFX6mlKSirtjjGU3yxV2dX4EVlsbsn7hkGPrjn+ldbVLS9Oi0uwjtYudvLMf4m7mrtfOYioqlV yR9pg6To0IwlugooorE6QooooAKKKKACiiigCOWVYYnkc4VQSawLrXZpMrbr5a/3jyf/AK1bl3F5 1pNGOrIQPrXIba+U4jx2Jw8oU6UrRkt1v9534OnCSbkrsSR3lbdI7Mx7sc03FP20oWvinNyd3uel exHtroIppL3QpRt3SKNpAHXpz+VYmz2rd0HIhmX0YGvbyGUpYl0L2U4tP7jlxTXIpdUzCillgOYp GQ/7JxW7puqm4YQz4En8Lf3v/r1V1ayEVz5qDCScn2NUURkYMpwwOQaVGtjMrxTp6tJ6ro1/wwTV OvC519FRwyebCkn95Qakr9EjJSipLZnkNWdgoorzT4k+NL/R7hNN0ubyH2B5ZQAW56KM9OOfxqgP S6K+OtW+Ivi9dUnWLxJqaICAFW4YDpXWWh8aT+GH1SXx7fw3gUulo0rEEDsW3cE/SrhTlP4UZzqw p/E7H0zRXx2/xA8YXsTSweJNUS4QZlhFy2CB1ZefzHbqOOlH/hY3jP8A6GfVf/Alv8ag0PtKivi3 /hY3jP8A6GfVf/Alv8aP+FjeM/8AoZ9V/wDAlv8AGgD7Sor4t/4WN4z/AOhn1X/wJb/Gj/hY3jP/ AKGfVf8AwJb/ABoA+0qK+Lf+FjeM/wDoZ9V/8CW/xo/4WN4z/wChn1X/AMCW/wAaAPtKivi3/hY3 jP8A6GfVf/Alv8aP+FjeM/8AoZ9V/wDAlv8AGgD7Sor4ztvHnja6kKr4o1NUUbnka5bCD1NOuviV 4tYrHb+JNVWJOjtcNuc+p5/Tt+tAH2VRXxfF8R/GQmQt4m1QqGGQbluR+der+BPiVrS65aWmqXr3 dncSCJvNALIScBg3Xr+lAHvNFFFABUbwxSH95GjH/aUGpKKBNJ7kP2S2/wCfeL/vgUfZLb/n3i/7 4FTUU+Z9xckexD9ktv8An3i/74FH2S3/AOfeL/vgVNRRzPuHJHsQ/ZLf/n3i/wC+BUiqFUBQAB2F Ooou3uNRS2CiiikMKKKKACiiigAooooAKKKKACucvrLybpsD5GO5a6Oo5Io5Rh1DAetedmWXxxtJ Re62NaNV05XOZEPtThD7V0P2O3/55ij7Hb/88xXix4dkuq/r5HT9bXY58Q1atJXtXJAyrfeFa32S D/nmKX7JD/zzFdFHJqtGanCSTX9diZYmMlZopX8yTxoic/xZ9KoiL2rb+yw/88xR9mh/55iuivll WvU9pNq5EK0YKyG2QxaIPTP86sUgAUAAYApa9elDkpxh2SRzyd22FfPXxDnl1DxnqKQo8riQRqqK SflAXoPpX0LXG6N4atLcT6leAGa6kaWQnqSxzj6c1oI+W7rwf4knuppRol7hnJH7o9M1p/ZPH/2P 7KbG+MWMcwDdj/exmvqtLXTXUFLVGHrgU77Hp/8Az6J+QpqUlsyXGMt0fHieD/FMcqypo98sinIY RnINW5/BXiC8iNxHod3HOP8AWxCLAb/aX+o/Ljp9cfY9P/59E/IUosrEEEWagjuFFIo+Of8AhCvE 3/QEvf8Av0aP+EK8Tf8AQEvf+/Rr7HNjYHn7Guf90Un2Gw/58l/75FAWPjn/AIQrxN/0BL3/AL9G j/hCvE3/AEBL3/v0a+xTZWA62a/98ij7Hp//AD6J+QoCx8df8IV4m/6Al7/36NH/AAhXib/oCXv/ AH6NfYostPPSzT/vkUv2Gw/58l/75FAWPjn/AIQrxN/0BL3/AL9GpIPAviaeUJ/Y92i/xO0Zwo9a +wvsNh/z5L/3yP8ACl+x2O3b9jXH+6KAPkK58KeIzGLa20O+W3U5JMXMh/vN/QdvzNVf+EK8Tf8A QEvf+/Rr7FNlp462afkKPsen/wDPon5CgD45/wCEK8Tf9AS9/wC/Rrdtob/S5oTd201tMMMBKhU5 H1r6p+x6cP8Al0T8hWXq3hrSdd0+aARqQRyvofUen1FAHS2063VpDcJ92VFcfQjNS1meHoZLbw9Y W0p3PBCsJY99ny5/StOgAooooAKKKKAI2fa4FSVTuH23Kj2H86uVTVkiU7thRRRUlBRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUmRnGRnriloAKKKY8iRjLHFAD6OlQeZK/wDq48D+8/FL5Bbm Vy3sOBQASToAVGWbHReayr21nvbIQ5EKleOTn9K2QqopCgKPasye9hjCAEuxHAUZoAo6ZbCwtVtd zFo+OT26VcaRUUszBVAyST0qtJLLJNEXi8vJ4PcisTxE15PIIIJo44kj8xw5xuOaBlmTV5bq9SGz ViN2FA6t/wDWrsAeBnGcc1zej2I0uxWXdH9pkUbpX7ew9v51PLPJF80pVwwJDKetAG9keooyPUVh h3WQxyABsbuD2p28ZxnmgRV1/ULuwv4nRf3BHU8h/UVPBqNtcWjXSyBI1/1gY8p7f4etSsIZ4Htr lN8D9R3B9RWC/hW4USLFKsisco+cDHbNAyeDVrm/1aGO1RvKDA7B6Z5Zq6/I9RXN2NpHpNtFHC5d 5h+9kPc+3oKtbxzzQBtZHqKMj1rF3j1FMYmSdItzKCCSR1oEU9W1G5sdWbzEPlH7oPRhV+3uorqE SxNlT+h9KTy4dWsfsd2ct/BJ3B9a5jT4bzTtfa2MymMOUcD+L0PtQM6uQCSNkJwGBGRVfR9PGnSF VlZ9zE/MSepJPUn1qUOD0NJHM4mJVQVjwWyaANa1AEC46ZP86mqC0YG1Q+uf50+SUIoP3iTgAd6B ElFRxSiQkYKsOxqSgAooooAy7l86kie6itSsNX87XiB0D/yH/wBatytaiskvIxou7k/MKKKKyNgo oooAKKKKACiiigAooooAKKKKACiiigAooooA5DWtSmh18PbvgwKE9j3IP5/pXR6bqEeo2wlT5WHD qf4TWR4g0qBLY3cMeJN+ZDknOe/51o6FIsmkQhQAVyrAeuaYGlUKgNdSE87QMe3WpqhT/j5m+i/1 pAJM2xh++K5/hxk/hR5kr/cTaP7z/wCFCAG6k9gMVPQBA0G5SZXLnHTt+VY7sYJInSPcPLK4Hrmt qaXZ8igs5HAFYc4uI4kdwhVV5CnkUADNJLIrybQFzhRWPq8Uc923mLu225K57HJrWDZAPas28jeW 8kCKWJtyOPrQM15dksFtGZBHIsYIDDg1VlQ27AyQqV5ztPDcVYuY5TDbsYN6eUoBU55qtc5i08RS ffJyFz90UCLN2d93HGgxIQPnz254qNjboxXySyKcNJu5zRcSCPUo3bhQgyfTORTXgmy8SplXYkPn gA0ASeW/2g25c7AN27vtpvmRlG2QPsPRg5z9aXzka9KZ+Qp5efeo9k8cZQxE7Ry2RjFAyby2ltrc hgoVcsx7VEBE9xEqKfLzgsT9+neesVnbq67o3XDCmhGjuIMHfEW+Rvw6UCHObZHYeQWRThn3Hj6U +NTFfom7cu0lT7VFJDNvkjVMh2JDZ4GaeJFOoxopyETbn3oGPtjbtdRqISFL4Em7nNYvkl/E135r ny4XJYjqeOK1LMFp4MDOJsn86pujHxFfxMCombMbHofloAvoIpWCCIwswyjBs0+zkURyh48sv3+f vdajiWQSpJKnlpECSSfbFNtn3LdNjG7nH1zQI0rIA2SM4LBmYIm73NTMg2MyqUZDllzkfWorDLWE JUZaNjlfUZNWHLbJWYYMgCqp6/55oAlhi2ZYtuJHpU1IowoHoKWgAprMEUs3AAyadWbrt19l0mZs 4ZxsX8f/AK2aqEeaSj3IqTUIuT6GdoRNzqE057An8Sf/ANddHWJ4ZhKaaZiOZXJH0HH+NbdaYh3q NLoY4RNUk311CiiisTpCiiigAooooAKKKKACiiigAooooAKKKKACiiigCG6gFzaywt0dSPpWH4el MM81o/BPIB9Rwf8APtXRVz2pRtY6sl1GOHO78e4/z60AdDUCkLdODxuUY98ZqWN1kjV1OVYZBpJI xIuD17EdqAGJ/wAfUv0FTVDFG6uzOQScDipqAIIBuV5D1Yn8AKyb+UJa4/iddqj61qtFIgcxOADz giuecE7HkYu+3qe1ACr8qgegqWExFsSEqDxvB6f/AFqr5ozTGa6wqMoSwRuu1uD7is+e0SMF0fzY nJAfOfwPvWdrOoz2mhzmKQqRtwe4ywB/nS+HJjN4UZ2bcxujz+ApAWggGclmJGPmOeKQR4G0SSBf 7oY4ozRmmAuxNmzA20hTIwZJCv8AdLHFGaM0AKsaqQcsQOgJ4FNXbDPESxCBuQTwKXNBOeCOKAEB 8x5SJXCFzgK3BqWG281gsZ2bRncDjaO5zUYOOlOlfbo+qMDgi1fn8DSA01jgjtlhgO4HB3qeWNVb hYUUxkb5SeWJzt/H1rl/COp3EsV7EZiyps25/hzuzj8hW7mgAKbsb3dwOgZsipI41adTlgD1APBq PNSQt+9X60wNqyhR7ONuQwzypwepqykKo27lm9WOah005sI/x/matUhBRRRQAVxviy9afUbfTYeW UgkDuzdB+X866u6uY7S1luZTiOJSzH2FcR4Xik1nxDPqc4ysZL+249B+A/kK7MJFR5qsto/mebmE 3Llw8d5P8EdvaW4tbSGBekaBc+vvU9FFcjbbuz0UklZBRRRSGFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABVTULX7VaMoHzr8y/WrdFAGVo9x+7Nu55Xlc+npWrWRewNbXa3MXAJz9D/APXrThlW aJXXoe3pQBJRRRQA1/uN9K5aRvlj/wB2upf/AFbfQ1yUh+WP/doGhd1G6o81V1G+FhYy3BALKMIp 7sen+P0FAzm/G+t7bc6Ta4MzFWmfsg6hfr0+n48dP4YsbrTvCEFvfAJcTSmYoeqqQMZ9On61z/hD QxeX8ms343xQvuG//lpJ1z+HX64rrbi5aeRmJ4JoEIzDPyjj+dJuqPNGaBkm6jdUeaM0ASbqN1R5 ozQBJuqR4jeabfWkLKs09u8abumSCBVfNKHKkEHBHQ0COB8KX8+ia3dafqieU0zKhJ48t1zjPsd3 X6dq9BzisTxbo6avZDUoUH2u3GJgB99PX8P5Zo8Pai15p4jlbM8OFYnqw7H+n4e9AG3up8LfvV+t QZp8R/er9aBnSaZzp8f1b+Zq3VPSudOi+rfzNXKCQoorM1zWIdD0uW8mwWHyxpn77dh/ntTjFyai tyZyUIuUtkc1461gkxaPbktI5DShev8Asr/X8q6Pw/pY0jSIbYgeafnlPqx6/l0/CuO8FaZNq+qy 65fZdVclCf45PX6D+ePSvRq7MS1TiqEem/qcGDi6s5YmfXRegUUUVxHohRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFADJY1ljKMODWfAXs5yjfcPX/GtOop4RMuP4h0NAEgORkdKWqs DtH+7fp29qtUANf/AFbfQ1x8jhEViu7C8LnGfxrsJP8AVt9DXGOflT6UDQ2OUyxRyNH5bsoLIGyA e4zWDrpe7u4bSPog3N7E/wD1v51vKCx9h1PpWPZkXniWMAfullL/AF29CfyFAzoGiSwsbfTofuRL lj/ebuf8+tQ5onk8yd2z1NR5oAkzRmo81W1DUDp1m0seDO3yxZGcH1/CgB2qazpmhxg6hM5mIytt CN0hHv2H41zr/Eq0D4Tw9Kyf3musH8gtM0vw6upzPeX8jsjMSTn5pD359K6NdE0VI9i6dAR6sMn8 zzQIq6X4s0fWHESGWyuT0juMbWPoGH9a2GBViDwRXK6t4VtdjTWKFCOTFnII9quaBqEssP2S4cu8 Y+Rz1K+h+lAG7mjNR5ozQMs28uyUZ+63BFc2kI07xC6RjaN21l9VPII+nGfpW5msfxEh+021ypwx TGR6j/8AXQBtgjIz070tvP5xVjCImDkbQ+4EZ4P5VHFJ9ot0lH3mUMy/hToj+8X60AdTpP8AyDYv +Bf+hGrtUdH/AOQXD/wL/wBCNXqCTN1+4+yeH9QnBwUt32n3wQP1rxiTU7vVri1i1G9mkiVgmWO7 YpIyfc17XqunR6vpk1hNJIkc2AzR43YBB4z9MVX0vw3pOjgGzs0WQf8ALVvmf8z0/Cu3DYmFGDur yPPxeFqV5qztH+uhdsraCzsobe1ULBGoCAenrVmiiuNu7uzvSSVkFFFFIYUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAMeMPz3oTI4NPooAbJ/q2+hriiCwT028n0rtZP9W30 NcPNINiKv3QPzoGhxcHCr93P51k6CMaoXPXY1X91UtOHk6l9dy0MZo5yaTNNY4Yj3pN1AD81nanC Z5Ix2UGr26ljjEsm09SOKAEhxFBHGvAVQKcZKbcRPAQSDtPQ1X8ygRYMlZkNt5OoeYgwNxx9DV2J XnkCoMnv7VYmgWHaP4jQAuaM0zdRupjH5qhrPz28PqGNXN1UtQO8Rr6ZNJgWrFitnDzghaupiRwy 8MOo/rVCAbbeMf7IqxExEqkHnNAHW6N/yCof+Bf+hGr9UNGbdpUJwBnd0/3jV+gkKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBsn+rf6GuCc/Kn 0rvZP9U/+6a8+c/Kn0oGhc1XYbLgSD1zUmaQjdigZO5BbPY03NMyVUA0maAJM0BsEEEgjkGo80Zp gbNtf28qeXdqFPTdjIP+FTf2fpL/ADiWHHtLx/OsDNGaQjclurCzjKW4WRuwTp+JrJklaWQu5+Y+ naoc0ZoGSZozUeaM0wHlsAmqsg8xx+VPZi7iNfxp23awpASg4AFPjP7xfrUOafGf3i/WmB2Wh/8A IHg+rf8AoRrRrO0L/kDQfVv/AEI1o0iQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKAGyf6p/901525+VPpXokv8Aqn/3TXmryfKn0oGiTIoyKg30 b6Bl5AsyEd+9VmzE+x+D2PrTEmKMGU8itFPI1CEqRhh1Hce4oAp5FGRUdxBPZHLgvF2cdvrUazK4 ypBouBYyKMioN9G+gCfIoyKg30hlCjJIA96ALGRUUkuCEQbpG6AVFG812+y1Qt6uegrThtIdOiMs r7pD1Y9T7Ci4EUUItoSznLnr7n0qPdkknqaZNcmZ9x4A6D0qPfQBPkU6M/vF+tVt9Pjk/eL9aAO6 0D/kCwf8C/8AQjWlWX4eOdDtz7t/6Ea1KCQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKAGS/6l/9015Yhed444xuYjgV6JrN79jsmbvivKI9ShS4 dFeMlSV2OeCD2NAGjKWhYK+ORkEHII9RTPOHrVSWd5duEVURQqqp4AqPdJ6D86VwL/nD1pVuCjBl Yqw6EGs/dJ6D86N0noPzouFzprXXUICXS/8AA1H8xVltL07UAZLdwrdzE3T6iuQ3Seg/OlWSVWDL ww6ENzRcdzpJPDt2v+pukYejrj/GojoeqA9YD77j/hWZFrOqQgBLp8f7RDfzzVgeI9Vx/rE/74Wg Ll5PD1+x/eXESD/ZBP8AhVlNAs7ZfNu5mkx1MjbVrDk13VZRg3LAf7IVf5VRkmnlbdK7O3qz5P60 XC51E+s2lsnlWiB8dCBhB/jWPNePPIXlfc3b0H0rN3Seg/OjdJ6D86LiuX/OHrR5w9aobpPQfnRu k9B+dFwuaCyFmCryxOABUzpLbunmAAEnBBB5HUcVlpLLG6uv3lORzTptRRVVP3UeCSET+8epouM9 P8MNu8PWp93/APQzWvWB4UuFbSooVPCL/wDXNb9MQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAGdq2mLqUBjaRk47V5tq/wpS6maWLU5439VFet U0xq3UUAeEyfCbUVJ2a/c4/3RVd/hXq4+7rlwf8AgIr3o26HtTTap6UAeAN8MNcHTWZ/++R/hUTf DPXx01ef/vkf4V9Bm0T0/SkNmnoKAPnk/DbxCP8AmLTf98j/AAph+HPiIf8AMVm/75H+FfRBsk9B SfYk9BQB87H4deI/+gpN/wB8j/Cg/DvxJ/0FJv8Avkf4V9EfYU9BR9hT0FAHzuPh14j/AOgpN/3y P8KcPhz4jP8AzFZv++R/hX0N9hT0FL9iT0FAHz2Phv4hP/MWm/75H+FPX4aeID11ef8A75H+FfQP 2JPQUv2NPSgDwJfhhrp66zP/AN8j/Cp0+FesN11y4H/ARXu4tE9Kd9lT0/SgDw+L4T6kWG/X7jH+ 6K3NM+FQhlWSbVJ5WHqK9VFsg7VIsar0FAGZo2jJpUQRZWfjvWtR0ooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/Z "
+ id="image5153"
+ x="79.33432"
+ y="-13.676315" />
+ <g
+ transform="translate(160,0)"
+ id="g5156">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.55;color:#000000;fill:url(#radialGradient5172);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path23417"
+ sodipodi:cx="23.334524"
+ sodipodi:cy="41.63604"
+ sodipodi:rx="22.627417"
+ sodipodi:ry="5.6568542"
+ d="m 45.961941,41.63604 c 0,3.124194 -10.13064,5.656854 -22.627417,5.656854 -12.496777,0 -22.62741646,-2.53266 -22.62741646,-5.656854 0,-3.124195 10.13063946,-5.656854 22.62741646,-5.656854 12.496777,0 22.627417,2.532659 22.627417,5.656854 z"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ transform="matrix(1,0,0,1.066291,101,-2.885106)" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path3040"
+ d="m 124.34701,4.1666669 c -11.54762,0 -20.83334,9.2857141 -20.83334,20.8333331 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333331 -20.83333,-20.8333331 l 0,0 z m 0,25.8333341 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ style="fill:url(#linearGradient5174);fill-rule:nonzero;stroke:none"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path3049"
+ d="m 124.34701,4.1666665 c -11.54762,0 -20.83334,9.2857145 -20.83334,20.8333335 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333335 -20.83333,-20.8333335 l 0,0 z m 0,25.8333345 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ style="fill:url(#linearGradient5176);fill-rule:nonzero;stroke:#808080;stroke-miterlimit:4;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path3051"
+ d="m 124.34701,14.895835 c -5.64259,0 -10.10417,4.592803 -10.10417,10.104165 0,5.642588 4.5928,10.104166 10.10417,10.104166 5.64258,0 10.10416,-4.592802 10.10416,-10.104166 0,-5.642586 -4.5928,-10.104165 -10.10416,-10.104165 l 0,0 z m 0,15.615529 c -3.01813,0 -5.51137,-2.493235 -5.51137,-5.511364 0,-3.018127 2.49324,-5.511362 5.51137,-5.511362 3.01812,0 5.51136,2.493235 5.51136,5.511362 0,3.018129 -2.49324,5.511364 -5.51136,5.511364 z"
+ style="opacity:0.10999995;fill-rule:nonzero;stroke:none"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="fill:url(#linearGradient5178);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 129.92211,5.6692337 -3.59659,13.9946623 c 1.1247,0.299517 2.02414,0.99547 2.63513,1.958542 l 12.39222,-7.549285 C 138.81762,9.9434382 134.74866,6.9050853 129.92211,5.6692337 z"
+ id="path3916"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path4214"
+ d="m 117.30782,43.766057 4.73526,-13.651499 c -1.09627,-0.390992 -1.93543,-1.158553 -2.46514,-2.168607 l -12.97106,6.504648 c 2.18705,4.324212 5.99238,7.686883 10.70094,9.315458 z"
+ style="fill:url(#linearGradient5180);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="opacity:0.54644811;fill:none;stroke:url(#linearGradient5182);stroke-miterlimit:4;stroke-opacity:1"
+ d="m 124.347,5.2023655 c -10.97354,0 -19.79763,8.8240885 -19.79763,19.7976315 0,10.973544 8.82409,19.797631 19.79763,19.797631 10.97355,0 19.79763,-8.824087 19.79763,-19.797631 0,-10.973543 -8.82408,-19.7976315 -19.79763,-19.7976315 l 0,0 z"
+ id="path5264"
+ sodipodi:nodetypes="cccccc"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ sodipodi:type="arc"
+ style="opacity:0.67213111;color:#000000;fill:none;stroke:url(#linearGradient5184);stroke-width:0.93053865;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path6026"
+ sodipodi:cx="24.306795"
+ sodipodi:cy="24.930641"
+ sodipodi:rx="6.0987959"
+ sodipodi:ry="6.0987959"
+ d="m 30.405591,24.930641 c 0,3.368272 -2.730524,6.098796 -6.098796,6.098796 -3.368272,0 -6.098796,-2.730524 -6.098796,-6.098796 0,-3.368272 2.730524,-6.098796 6.098796,-6.098796 3.368272,0 6.098796,2.730524 6.098796,6.098796 z"
+ transform="translate(100.08839,0.08838865)" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="opacity:0.1142857;fill:url(#radialGradient5186);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 124.34701,4.1666665 c -11.54762,0 -20.83334,9.2857145 -20.83334,20.8333335 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333335 -20.83333,-20.8333335 l 0,0 z m 0,25.8333345 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ id="path3390"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path3404"
+ d="m 124.34701,4.1666665 c -11.54762,0 -20.83334,9.2857145 -20.83334,20.8333335 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333335 -20.83333,-20.8333335 l 0,0 z m 0,25.8333345 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ style="opacity:0.09714284;fill:url(#radialGradient5188);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="opacity:0.71428576;fill:url(#radialGradient5190);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 124.34701,4.1666665 c -11.54762,0 -20.83334,9.2857145 -20.83334,20.8333335 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333335 -20.83333,-20.8333335 l 0,0 z m 0,25.8333345 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ id="path3419"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path3431"
+ d="m 124.34701,4.1666665 c -11.54762,0 -20.83334,9.2857145 -20.83334,20.8333335 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333335 -20.83333,-20.8333335 l 0,0 z m 0,25.8333345 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ style="opacity:0.62285713;fill:url(#radialGradient5192);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="opacity:0.37142861;fill:url(#radialGradient5194);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 124.34701,4.1666665 c -11.54762,0 -20.83334,9.2857145 -20.83334,20.8333335 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333335 -20.83333,-20.8333335 l 0,0 z m 0,25.8333345 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ id="path3441"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path3445"
+ d="m 124.34701,4.1666665 c -11.54762,0 -20.83334,9.2857145 -20.83334,20.8333335 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333335 -20.83333,-20.8333335 l 0,0 z m 0,25.8333345 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ style="opacity:0.23428572;fill:url(#radialGradient5196);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ id="g6707"
+ transform="matrix(0.0245274,0,0,0.02086758,-71.078767,36.455216)">
+ <rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect6709"
+ style="opacity:0.40206185;color:#000000;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path6711"
+ d="m -219.61876,-150.68038 c 0,0 0,478.33079 0,478.33079 142.874166,0.90045 345.40022,-107.16966 345.40014,-239.196175 0,-132.026537 -159.436816,-239.134595 -345.40014,-239.134615 z"
+ style="opacity:0.40206185;color:#000000;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.40206185;color:#000000;fill:url(#radialGradient4994);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="m -1559.2523,-150.68038 c 0,0 0,478.33079 0,478.33079 -142.8742,0.90045 -345.4002,-107.16966 -345.4002,-239.196175 0,-132.026537 159.4368,-239.134595 345.4002,-239.134615 z"
+ id="path6713"
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0" />
+ </g>
+ <path
+ style="fill:none;stroke:#535353;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m -105.48362,8.2642443 c -0.625,0 -1.03125,0.2901802 -1.28125,0.843753 0,0 -6.46875,17.1035567 -6.46875,17.1035567 0,0 -0.25,0.671559 -0.25,1.78125 0,0 0,9.649968 0,9.649968 0,1.082613 0.65779,1.625002 1.65625,1.625 l 38.562503,0 c 0.984853,0 1.59375,-0.71818 1.59375,-1.84375 l 0,-9.649968 c 0,0 0.105963,-0.770423 -0.09375,-1.3125 l -6.71875,-17.1973061 c -0.184525,-0.5119068 -0.636905,-0.9880983 -1.125,-1.0000036 l -25.875003,0 z"
+ id="path4196"
+ sodipodi:nodetypes="cccsccccccccc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:url(#linearGradient4234);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -113.49572,27.298428 0.76461,-0.692215 37.609686,0.0625 3.462407,0.317298 0,10.438532 c 0,1.125569 -0.607018,1.843331 -1.591871,1.843331 l -38.582992,0 c -0.99846,0 -1.66184,-0.542051 -1.66184,-1.624664 l 0,-10.344782 z"
+ id="path4170"
+ sodipodi:nodetypes="ccccccccc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:url(#radialGradient4250);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -113.22022,26.21602 c -0.71429,1.464286 -6.2e-4,2.392857 1.03571,2.392857 0,0 39,0 39,0 1.119047,-0.02381 1.845238,-1.011905 1.428571,-2.142858 L -78.470225,9.2553209 c -0.184524,-0.5119068 -0.654762,-0.9880986 -1.142857,-1.0000036 l -25.857138,0 c -0.625,0 -1.03572,0.3035732 -1.28572,0.857146 0,0 -6.46428,17.1035567 -6.46428,17.1035567 z"
+ id="path3093"
+ sodipodi:nodetypes="csccccccs"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="color:#000000;fill:url(#linearGradient4209);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.40899992;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect4174"
+ width="17.625"
+ height="5.5625"
+ x="-108.91132"
+ y="31.4758" />
+ <path
+ style="opacity:0.81142853;fill:url(#linearGradient4242-1);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -108.91131,37.038296 c 0,0 0,-4.011485 0,-4.011485 1.83552,3.179226 8.29649,4.011485 12.937495,4.011485 0,0 -12.937495,0 -12.937495,0 z"
+ id="path4194"
+ sodipodi:nodetypes="cscc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -71.973145,25.930304 c 0.06352,1.249974 -0.414003,2.31584 -1.322116,2.34375 0,0 -38.118719,-1e-6 -38.118719,0 -1.28923,0 -1.86773,-0.324947 -2.08405,-0.868056 0.0918,0.944332 0.82582,1.649306 2.08405,1.649306 0,-1e-6 38.118719,0 38.118719,0 1.076007,-0.03307 1.752805,-1.424024 1.352164,-2.994791 l -0.03005,-0.130209 z"
+ id="path4201"
+ sodipodi:nodetypes="cccccccc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.69142857;color:#000000;fill:url(#linearGradient4272);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="m -105.80056,10.457866 c -0.0461,0.200321 -0.1875,0.386797 -0.1875,0.59375 0,0.948605 0.59098,1.789474 1.34375,2.59375 0.24027,-0.154075 0.36512,-0.354408 0.625,-0.5 -0.94031,-0.816004 -1.55339,-1.716582 -1.78125,-2.6875 z m 26.656253,0 c -0.228727,0.969616 -0.842012,1.872426 -1.78125,2.6875 0.274144,0.153582 0.403988,0.36824 0.65625,0.53125 0.757262,-0.806656 1.3125,-1.673044 1.3125,-2.625 0,-0.206953 -0.141594,-0.393429 -0.1875,-0.59375 z m 2.1875,8.4375 c -0.613791,4.040111 -7.298613,7.25 -15.53125,7.25 -8.212253,1e-6 -14.860153,-3.192786 -15.500003,-7.21875 -0.0324,0.197132 -0.125,0.391882 -0.125,0.59375 0,4.317947 6.98911,7.843751 15.625003,7.84375 8.635896,0 15.656249,-3.525802 15.65625,-7.84375 0,-0.212924 -0.08905,-0.417356 -0.125,-0.625 z"
+ id="path4211"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:#ffffff;fill-opacity:0.45762706;fill-rule:evenodd;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path4224"
+ sodipodi:cx="7.2036505"
+ sodipodi:cy="25.593554"
+ sodipodi:rx="1.3700194"
+ sodipodi:ry="1.016466"
+ d="m 8.5736699,25.593554 a 1.3700194,1.016466 0 1 1 -2.7400389,0 1.3700194,1.016466 0 1 1 2.7400389,0 z"
+ transform="translate(-116.68092,0.47839247)" />
+ <path
+ transform="translate(-82.802257,0.39000447)"
+ d="m 8.5736699,25.593554 a 1.3700194,1.016466 0 1 1 -2.7400389,0 1.3700194,1.016466 0 1 1 2.7400389,0 z"
+ sodipodi:ry="1.016466"
+ sodipodi:rx="1.3700194"
+ sodipodi:cy="25.593554"
+ sodipodi:cx="7.2036505"
+ id="path4226"
+ style="color:#000000;fill:#ffffff;fill-opacity:0.45762706;fill-rule:evenodd;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:nodetypes="cccsccccccccc"
+ id="path4252"
+ d="m -105.12679,8.7173392 c -0.60169,0 -0.99279,0.2793586 -1.23347,0.8122873 0,0 -6.41501,16.5907215 -6.41501,16.5907215 0,0 -0.24068,0.646515 -0.24068,1.714823 0,0 0,9.290096 0,9.290096 0,1.35474 0.44406,1.626899 1.59448,1.626899 l 37.686909,0 c 1.323126,0 1.534316,-0.316397 1.534316,-1.837492 l 0,-9.290096 c 0,0 0.10201,-0.741691 -0.09025,-1.263553 L -78.883691,9.5550501 c -0.177643,-0.4928165 -0.550652,-0.8262496 -1.020545,-0.8377109 l -25.222554,0 z"
+ style="fill:none;stroke:url(#linearGradient4260);stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path4282"
+ d="m -76.269307,31.730782 0,5.020935"
+ style="fill:none;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ d="m -78.269307,31.790559 0,5.020935"
+ id="path4284"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path4286"
+ d="m -80.269307,31.790559 0,5.020935"
+ style="fill:none;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ d="m -82.269307,31.790559 0,5.020935"
+ id="path4288"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path4290"
+ d="m -84.269307,31.790559 0,5.020935"
+ style="fill:none;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ d="m -86.269307,31.790559 0,5.020935"
+ id="path4292"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.09714284;fill:none;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
+ d="m -77.269307,31.780681 0,5.020935"
+ id="path4294"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path4296"
+ d="m -79.269307,31.840458 0,5.020935"
+ style="opacity:0.09714284;fill:none;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.09714284;fill:none;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
+ d="m -81.269307,31.840458 0,5.020935"
+ id="path4298"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path4300"
+ d="m -83.269307,31.840458 0,5.020935"
+ style="opacity:0.09714284;fill:none;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.09714284;fill:none;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
+ d="m -85.269307,31.840458 0,5.020935"
+ id="path4302"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.43999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -108.89431,31.489116 0,5.53125 12.562503,0 -12.218753,-0.34375 -0.34375,-5.1875 z"
+ id="path4572"
+ inkscape:connector-curvature="0" />
+ <path
+ transform="matrix(1.037815,0,0,1.060747,-118.40219,-1.7930095)"
+ d="m 39.875,19.5625 a 14.875,6.6875 0 1 1 -29.75,0 14.875,6.6875 0 1 1 29.75,0 z"
+ sodipodi:ry="6.6875"
+ sodipodi:rx="14.875"
+ sodipodi:cy="19.5625"
+ sodipodi:cx="25"
+ id="path2545"
+ style="opacity:0.20571427;color:#000000;fill:url(#linearGradient2553);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.93365198;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <image
+ width="22.5"
+ height="22.5"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABHNCSVQICAgIfAhkiAAAIABJREFU eJztfUmPJMex5hd77ntlVdZK9vKKLVJNkRJEkCAFHgaUoHfhQIc5j6B3EQRB+gPvF0jHp4sOA0hH AiJ5ld5A0ICChjq0KHLEVpPdrK69MiuzsnKp3CIifQ6Z7u0R6bFlZXWTM21AICJ8Cw83czNzc3N3 iRCCp/D/L8hPugJP4cmCusjCJEmSFlneUxADWSDbli5TlgvhT5H/eIEh7jIEMRcH4BAvCS7gKTFc FRDuzi6KjnkIITIH4JAvA5Bef/31lzVN+y+SJKUkSaLxkiRJkGUZ07BJBlmmZTjuNJ0ozi8fVyev ukb6NxF4tY87nL7T+3g89owjhLB4r3yEEJaOPk+CCZmm6bbb7f+8c+fOHUwIYUwTRPm/SBzAhXzl O9/5zrXXX3/9f7366quGYRiQJAmEEDSbTfT7fVQqFaiqSvPy5QiRI0JsELLd5V418O3rRQT8e1Aa UTr+2bIsHB0dIR6Po1AosPDhcIg//vGP/27b9jf+/ve/fzENHkuSJEUhgnlEgAxAAaBls9mXbt68 aTzzzDOwbRsnJye4d+8eqtUqTNNEo9FAuVzG888/D1mW2Y9ZloVcLod8Pu/qAQSPqk6f3WHOdI/+ dbaxJ/Hud1HbOMMOD4+RSqXCtwj8CSMonAdKxOPxGP/4xz9Qq9VwfHwMXdexvLyM7e1tVCoVSJKE 7e1t4+OPP34JwD5XxFhYsAeEJgDK2jEhAA1AzDCMDdM0UavVMB6PcXx8jPfeew+JRAK3bt3CnTt3 8I1vfAOFQgG6rjvKW19f9yEAMu0Vj55pGlE6Z5wTwvZAHkajXTSbzRmOMk/5bhbvFeaG0WiEarWK 3/3udygUCtje3sZHH32ETCYDRVEgyzLG4zEMw9gAEKNFY6oThOUCUTmAhGnvBxCPx+PrsVgMhBAo ioJyuYybN29CVVX84Ac/wM7ODiqVCmzbZj9LG5WKhi8r8HoJMEGWSMS4EcspZADAxCIfzod5cQ7D MPDNb34Td+/ehaZp+O53v4vRaARFUaAoCgghiMfjiMVi6wDiAOzpNYabpflAKCxwvd9BAIlEomIY BoAJyyoUCvjpT38KXdchyzJSqRTOz89h27ZDnhNCoGma8Fs7OzswDB2macI0LWiairOzJkqlIgaD ARRFgaZp0HUd47EN2x4jHo/h5KSKlZVl1GqnKJVKSKWS+OST/4NSqYRer4dOp4NyuYyLiwtYloW1 tVU0m+fY2FgX/S+oEkvr6yYGPq1fGj/ki9Lx76qq4mc/+xni8TgIIRgOh+h2u+h2uwAmRBKPxyuY EMAQgAnAoigLwwWidkMZnAhIpVJlXddZpWnleHlPG5PX4G3b9uQAzz77LNwiYH19nTWKlwi4fj0J QgieeWaLlfX1r7/gy6L95Ly7zhcXF0y59WtXP/mvqipT5mgvdnMD/j4cDlGtVkEIYSyfB8MwkEql ypiIAA2P8BNaD5hXBKgA9Hg8XnL3ZP4HvIZ2iqLgr3/964xYEH4wQLO/Cs1flmUHgX722Wc4PDzE 1tYWlpeXZ3ovhSDlbzQa4fDwELu7u7h58yZyuVwgEfjpC6qqIp1OlwDomOBEQUQbTBQCcIsBNR6P 5zVNEyLaC/mSJMGyLEc6r6GcqBzgkV1AlMedL/CnAtLu7+/j8PAQ6XQa169fZ+F+yPd7jsVi+Nvf /oZ79+7hpZdeAhWhlLt5EYGIIHRdRzqdzsOJfHpdiRIIPBoGqrFYLMeP8/2Q/s9//hP9fh/j8Zil VRSFyVqqdNFnWZZn4vlLlI8nKC+jEW08ercsC6ZpYnl5eWakQghBtVoFACSTyRnRxqcLK//pN2zb xtnZGdbW1oTI9eME9FlVVSQSiRweEUDkyb15RIAEQM5ms4lUKhXne6O74SVJgmmaeP/991EqlfD8 88+jWCwyBVCEJL8wv2dhZUNwAUIIGo0GTk9Pma7BQ6fTAQAkEgkht4iq+fNE1u/3WZlBCOfD+HTx eDyeTqcTnU5HhtMcHwrmEQEyAHltba1EG4VWit7559///vcAgFdffRVe6UV3rzBHhRZAAJIkIZvN QtM0DIdDxGIxFjcYDFhDp1KpSN/z4gKUUxFCYNs24yp+ROCFfEII0uk0lpeXS51OZx9T8zwiEMHc HKBcLhd1XfdkuZIkYXd3Fw8fPsRrr72GZDIpJBJ3Hv7ujg8KixLPQywWg2EYGA6Hjnz9fp+Vlcvl POvhNyoQcQFVVWGapoMAosp/+qxpGorFYvH+/ftXygEk1yUXi8USHe/TH3Uj+N69ewCAjY0N3wmf IIRHJYAoyAfAkNvv9zEYDFh4q9UCACwtLSGRSEQq069ulAAsy3KIAMBb/ntxBU3TkMvlSnD2/tCK 4DwcQAYgFwqFIh0BiJAPANVqFbIsI5/P+87oPUkCqFQqKJVK6Pf7aDabGA6HACaIODg4AABsbW1F Jio/0DQN/X4flmV5ioCgMF6pzOfzRTyyASyWA0iP/tyhA+Tz+bymaZ49W5ImhgxN0xCPxz3Zvvs5 zLtXWJg4CoqioFKpIJfLAQB0XWdKGQDU63UMBgOk02ksLS35svmoQDsO5QB8vcP0ej5e0zRks9k8 nAQgTdMHzgzOrQPk8/miqqoODiDq3bFYzHNKWPQ8z3vYOAqpVApra2usXuPxGHt7exgMBqxxHzx4 AEVR8OKLL86wadE3oxAIHQW5CUBUpp/8lySJEgDlAI9FB5ABKOl0WsgB6DO1/1M/ARrP/2DQs+jd KyxMnCzLWFlZYb0emDTo3t6eo/c/ePAA7XYb29vbjrRRwE0U/DslAGraDfofL05AFcpcLpfHIzvA 49EBeCugmwMAQK/XgyzLjP27f/QqCMCvIZPJJFZXVx0mXhHyz87OsLOzg+XlZVy7dm2m/EWIAt58 blmW58SYG3jE03cPERAa5jUFy4Zh5Oi8tAjBvV6PWqqeKAHIsoxyuTzTk/v9Pvb395llEpgg/6OP PsLy8jJu3769UMWPB54IbduesUAGgZsDZDKZHGZ7f7i6RPkuOA4Qi8Xyqqo6DB18g/X7fYcC6I5/ HASQzWZRKpUcDT4ej3FycsIsfDTP6ekpPvnkE6yuruLWrVtXhnxgonBSJPrpAUEgSRMTeCwWEyqB YSCKDkDv8urqaiYej2t+iKUjgFgstlACCIP8dDqNYrE407M6nQ6Oj48d6S3LwhdffIGTkxPcuHED W1tb8AMvMRBFPFACoN8PSwDuOQcKsVhMK5fLmVqtdgonrgIhKgeQAchbW1tF0SQQfQcA0zShaZrD hHqVBABM5HypVGIzbBSoYyVv5AGAWq2GL774AplMBq+88spMPi+4LHfgLahUWZ4X6PxCpVIp1mq1 HUTUA+YSAaurqyU6BATECDRNE6qqLpwDzFRKkpBOp5HP52cQSMjEQ7lerzvC+/0+Hjx4gNFohOee e25uTV9UlzBAR090PuCyBKUoCpaWltzWwFAQhgAk1yWXy2UHAQCYQbJpmtRl6VIE4FnxyfAH2WwW iqI44sbjMdrtNk5PTx1ljsdjHBwcoFarYXV1lXnXRoEoowCvsnkO4CUCvNi9KE5VVZRKpbnMwb4E IDlrwERAoVAouI077rtt29A0LfIoIAji8Tjy+bxjcokCnWM/Pz93hA8GA9TrdTSbTaTTady+fTuy 5h1U1zCEQfMuigNQQph2hgIEQ0FJ8rcGRjUEyQDkUqlUcK/6cd+pbBJ5DLmffT8sTYxJ6XQa6XRa 6Es4Go1Qr9dxcXHBwgghaLVaaDQaME0ThUIBt27dgptz8ekvA1HKXLQImM63uAngSpRACYCSTCYL vBkYmCUAAPBKE/ghSaLuTkin056Gkn6/j1qthtFoxL4zGo1wdnaGVquFeDyOlZWVUIs8oiAhLLHw ZfJ5VFWFpmmwbXthOkA2my3A6RYWCqLqANQKWKDuWl4EEI/Hp67dZihFTpIkxONxxONxpFIpTxZN CMHFxQVbjELD2u022u02TNNENpvF9evXr2ztwTxiwJ1H13WMRqMZT995iMFDBFxeB3ABIwDDMHJB HCCVSjE38fF4POPIOTVgIB6PI5FIOEYLIhiNRmi32w753uv10G630ev12BAwHo+LK38FPTzoG37l GIbhWDDjVZafMkhhygGoNfBKhoEOLhCLxfJBOkC5XMZwOIQsy6jX6ygWi0yWJ5NJx+jAC0RIH41G 6HQ66Ha70HUdqVQKy8vLMwR2GQhDLFGUPlEengPwyJ6nLqqqIplMUmsgj6vgvGEScQXKsiyrhmFk /czAwGTtX7vdhqZpbC1bJpPBZLQiBkIIQzr1xgEm2j3lJoQQJJNJrK2thZ5EuQqYR5Hk8xiGwXwO RfFRiEGWZei6npVlWR2PxwtXAiXuLt+4cSOn67rih3wK165dQ61Wg6qq0HVdaKgZjUbo9XpotVps vQAF0zTRarVwcXGBRCKBYrHoyeI9K+/TuxaZh89HIUgE8COkKHWgZmd6nxKAsr6+ntvb26sigjk4 CgdgZmC3AuhV+Xg8jo2NDZimCWDSk9vtNkajEbrd7gzCad7hcIhWq4Vut4tkMon19XVPhY42ghfM I8/DsvcoPd5dLh0i86MAv17vjnOXraoqVldXi3t7e5H0gMgiYHV1tUQJwKuyPMiyzBQet0nWnY8O 4S4uLhji+dGAqNEX6aoVBeaZEHKLAGoPsG0bfJvOQwjzmoODCGBmCLi0tFQMWpoVNW48HuP8/BzN ZhPxeBzr6+vCiZmoyF4EcVzV6IGucLZtG+Px2GHOnocQZFlGoVBwO4cGDgU9CUBgBpYwtQKKKiuq pEe5jvfBYICTkxMoioK1tTW2FDosXDUHiDK29wMv7qBp2ozLl6h8URwfpigKbwtwcAA/c3AUQxD1 BSy6RUC73cbu7i4ajQY2NzextbU1I7NFjdXtdnF8fIxkMskmZhYtz68Somjqbm1fVVWHWzifV1Su bdvY3d3F3t4eisUitra2kMlkWPopARQx6xvoC5GVwEQiwTgAIQTn5+c4ODjAp59+ilarxWT+0tKS wyHUDc1mE7VaDZlMBpVKxfPDT4Lte0FU+4AfMaTTaZRKJdRqNZyfn2NlZWUmHy1rOBzi9PQU+/v7 +PTTT7G8vAxgMtSmi1pcHCC0EhhkPZFcl2wYRp4SgG3bOD09xS9/+Ut8+OGHGI1G+POf/4z33nvP 08YtSRKq1SpOTk5QKBRmkE993XjnRxG40wWlXwRE/WZQulKphHK5jEajwVYh80BHWrZt45133sGv f/1rHB4eotls4t1338Xp6Sls2wbARIDIGORLCJE5gGEYzArIs7H19XW89dZb6HQ6iMVijkWW9Gds 28bR0RHa7TZWVlYc254FIW8RyJ3HejdPuUFigI+nhrHj42MQQlCpVGbKi8ViePPNN3H37l1sb2/j rbfewt27d2FZFhO10y15InsHR9UBZF3XHXsCvPTSS/jtb3+Lu3fvolKpMAcNOvancp0QgqOjI5yf n2NpaQmFQmGhSF9U718EkQSJAXd8qVQCIcRBBLw+pCgKXnnlFdy+fRt7e3vIZDL43ve+B2AydKZp YrGYez5gIToAYyWGYWixWCzDDwNHoxFkWcYLL7wAAI4ZQJ71nZ2dsWGe31KrMAh40srgZZQ/r/il pSV0u13UajXIsszkPG1H6mP53HPPAZi0u3uKWdf1jK7r2mg0Cj0fEEYHoHd5e3u7oKoqP7xgFRyN Rowa3T/e6/VweHgIQgg2NjaEFrIo8jQKeMntMNe835knDSGTzbAkScLR0RFzbuHFhrud3cNETdOk jY0NfigIBBBBmCk0xv6feeaZUpAZ2P1zlmXh4cOHME0TGxsbDsueX4NFQcaikLiocsOkFcWpqoqN jQ3Yto2HDx8K9xt2A4+LqTmYWgND6QFhCUACIK+srJTcDph+QAjB7u4u+v0+CoUC876N2jCi+Mel +S+iHlH+N5fLoVAooNfrYX9/X5hHBHQoWCwWI5mD/QhgxgxcLpcLYQiA/lSz2cT5+TkIIVhdXfVl f2G5QRi4DNu/DCe5zH/w4Zubm2y4TNsvDEzNwV6eQeI8okAPM7CSzWaLfgTg/rnj42NYloV8Pi+c zVsE0h8XR7iMGPCLF4XLsoxischEgV96HqauYdQaOGMOFubxLdHFAZLJ5MxEEF9xHtrtNrrdLmzb dli5RGmDwqOmEYFhGFBVdWZbOVom3Zd/PB7Dsiy2U0iUuswzEuCVPB5WVlZwcHCAXq+HZrOJfD7P 0vs5hkwJIPRQMOwwkC0Jd3MALyo+PDyEZVnIZrPMiWMexEdFuLuxE4kE6Ha2pmliNBqxGTi+8em+ hNPxNOLxOHNW8UJSUF39hn1BhGAYBrLZLM7Pz3F0dMQIwK8Mbq+A0EqgHwHMmIF1Xc+719eLfpDu q2tZltCy5Zc/TFxQGlmWkUgkoCgKRqMRWq0WTNN0aNUU6QAcxEDza5oGwzCQyWRg2zZ6vd6MBy8t J6h+8xJCpVJBvV5Ho9FgPhLutHx+WZbpzqGhVwhFEgGxWCxPNzn2+iEAODo6gmVZ1D7tmzZMeFAa N/KSySTzLaQWSVVVZ5aQ8Xnc5fX7fccS92QyyTycAfHM3SJFACEEhUKB7Sh2eHiImzdvzqTl8yuK gkwmE2mpeBQ7gKLr+owIcP8gMLH6WZYlpNggDdgrjk/jFQZMXK3a7TbOzs4YAnnfuzCaviRJLF+/ 38fZ2Rna7bbQhhFUr7D/6hWeTqfZaSx8WlH+qTXQvV2ML4SeDcxkMoau60k39bkrMxwO0ev1YNs2 W5FzGcTzz35hdHKKIh+YTKLMq7nTi05qUSKgIjAsUV6WEFKpFFNK6caVXvmnhJtMJpMGQs4GhrED yADkW7duFXk3bPfHaYXa7TZs24ZlWUilUpEQ79eAQUQATEYejUaDHqXi29ujXIZhYDweo9FooN1u R6qbqJ5R2iKdTsOyLFiWhVarJWx3HnRdx+bmZuiRQGgRsLW1VeIdQbwqQd276QhA9FNu8GussA19 cXHBFCa6q+cikE8hkUig0WiwRajzIj8qIWQyGQcBBLW/oihYWVnhrYG+EFoJrFQqJd59SfRxAEz7 p06PojSivGGevcoaj8eo1+s4Pz9Hr9djw76gb7rBT1vXdR2dToct51pbWxPm9yqfj3M/i75Hw+l6 CuoxzacTKYOyLIv2CvAELwKYMQPn83mHGdiLiqkI4M/bEaWb91kUZlkW2wlkPB47vh8F/IhjPB6j 0+mw3r+8vDyzASaf3w/hYQmBhlHXcSp+3PXl83q4hnkOBWcIQGAGlgEoqVSqyCtAoorQZ+rnHpRu 3md3mKIoTPZnMhn0+/2Fbe5MYTAYIJPJMD2DIs/Lmzcq8kXI5MWGqqoYDoee6fj1AQLnUJpnxjs4 rCGIOYMGsWRCCFvkwK8K5n9GlFcUH+XdMAwoioJ0Oo3RaIREIuHbo8MCbdjhcIh0Og1CiGPJu7vX 82FeIiGIEHjk0jZ0e2KLRIDAOTRwJBBGB3AYgXgQIUPTNKiqyvwFRSOHIMRHJQIAWF1dRa/XQyqV mpl4mocQeGTSISYd1YhM225kB727w0QcRZIkZlAjhMz4WYqIYLpxZGhzcGgdIBaLFXi56oUUuhqY J4BFID6ICFZXV1Gr1ZBMJpFKpdj4udfrzfycV68UpUkkEo6xvyzLMy5tfsgOwxX8wvgj9uiiGT9O IEnS5XQAvg7cpei6ngszDKQcQFEUWJY1g+goRBCVExSLRWYKTiQSzBJJRwh+4C4rl8sxj12q+Nm2 zXqhF0KjjgT8wtwcgB/eehEBd5CU+xQxIYQWAdQMHISEXC6Hi4sLKIqCTqfjMAeHIQa/56B3Kit1 XUc8HodhGIjFYshms+j1ejg7O8NwOGQX71NvGAa7CoUCa+zBYIDxeAzTNOHuAFHYvtezO607rtvt gu7FwIsAPx1A07RLiwCAEwErKysJTdMcAshLKy8Wizg5OYGqqmzFyzwK4LxEQIeEyWTSYbtPJBIz IwM6UeS30YSu6+h2u8y+QeGyyHfrGF4E0Wq1GAdwb3YlEjNTc3Asn88nms1moC0gSAegZuCSnxmY D6O7elER0O/3mU3enXeRnIAPM00TOzs7qNfrbK2CCIJ2GGm1Wjg+PmYbSwPBY373e9iezz/TO+VS lPPQ09b9bAZUEdzc3Cw1m83Ak8RCiYDNzc1AMzAfns1m0e/3mRjgT8d0p100EfDhdOcwXdeRyWSQ yWQYgboNRZTNdzodlo93cxchnoZHRX4Y+Q9M2D/t/e6DK/k60XrxesDy8nIoc3AoEbC0tFT0k//u eyaTYUeduw9bvqwe4NfzvcLo4kq6dSwAx/nAlmUJnT0oePVc93eiGn3c+dzp6GnphBDfc4b5f6Z6 ALdXQGQRMDMEzGazM76AXogkhCCfz6PZbDLWNRgMZriAKO88z35hfuF0k0Y/CNvr3WHzcgG+LHqG oVv+hyECFwH4DgUdBOBhBpYTiYTDG9gP+QBoBRgLu7i4mHGm8Cprnme/sDBxbvBCPI27CuTzYePx mIlQQiaGJ35XtiAikCSJP0jK1xwcyhDk3hMg6E4IQTabxWAwYLJ2MBgIlcHLID4qEYQFrzIWiXxR GfRORyd0WBv2mHleB5huHRtoDg41CnD7AnohnQ9TFAWpVArD4RCKojhm6aISgZfuIYqbNxyYtQa6 w8MiP0yaIGTS9qZzHEFEw9+nO4eG8g300gHonRmBvCZ1RMin90QiwZDOc5CwIsAP0fMQRVCcXx43 i+XLCmMNDCP/JUlyyH1CCJvUCms5pMTDeQe7F4p66wB8fblLoe7gUZBPCGHHxvFEIMsyTNP0RXhY lh+GQ4QJ5+O9uIBXurDDQHe8KB3vxkbd2tzfDEMEU8smdQ6dSwQATg6Qc1N9EPLpnXrkyrLMhl6y LDu2SY3S+6OKCNG7H/ANGxXm1fgJmYzzqfHMPf3rJypE5U93Dg21ebSX2wzTAa5fv57WNE3jPxim 9/J32vPpj8ViMcewht6DOEyYiy7yWPQVpdyw/0PvmUwG8Xjcc97f7y4KkyQJmqZpKysracypA7De v729veSlAIZBPv9MZRwVDaqqotlsOvb9D/q5KNzCL+xxQJAIACZ7BOm6znq+bdsOERmkLIrSABMl fH19fenk5OQhfIggUARUKpUZV7B5kA9MtjUxDINxAzphU61WmVEmTLn83e9Z9B4WeCRdNp0IeZI0 WfplGIZjv0A6+xhlxOBOA7CtY3lroBACRUChUCiKhm7uRnDfRWGWZaHb7U4+PCWCRCLBNoOOyu6/ Shf/X9PJGnamIl2p3Gq12PxDmM7mhQP6jTDmYDcHmDEDZzKZmYmgoMr59drRaIRms4lyucx+PplM Ynt7G9VqFbVaLRKn8WsYv97Px3n1YHfvDssVeHCLgeXlZbZglo6OLMtCo9Fg5t8wvdyPOwCgB0m5 t4uZMQczApAe/ZmDABKJRMHLeBMV+fQ+Go1QrVaxurrKqF9RFGxsbKBUKmFnZ4d54cxLAGGRT9/D EsG8kEwmce3aNcTjcWYUo2bf4+NjdvCVCPlRiQBwHCQ1YwzizcGBlkB6QBRtDP4eNsyLCPb29rC6 uop8Ps/kYiqVwosvvoijoyPHRkmLIgC/8EUg2g2yLGNra4stJKGIlyQJ3W4XBwcHLMwP+V5DQq+w 6Qktws2jeQgcBdDzgSgEISAM8umzbdvY29tDr9dj28dRsbC+vo5SqYTd3V1Uq9VIhOB+9gtzx4cl gqC0iqKgXC5ja2vL4cpF8xwcHMycnzCPsudFEGGXiot0AHp3LAkPi3B3fFB6QghqtRq63S6uXbvG dsAGJqt7t7e3cf36dRwfH+Pw8HBm/7ywBBCEfD7dZThBIpHA2toaKpWKcF+kbreLBw8eoN/vC62J UTiAOz0fP+UAoqXiYh2AA4ci6J4HuIwY8AojZLK48+OPP8bS0hKuXbvmMIPS/fM2NjZwdnbGzv/l y/T6vtf7IkGSJCwtLWFjY8OxlQsPw+EQOzs7M+cZR1HsohDE1Dk28CQxPx1AVhRF0TQtG4UDhAkT EQB9r1arqNfrDOHuxSiFQgGFQgHD4RDVapWdFcwvm+K/7X4OA2G4gGEYyOfzyOfzWF5e9jx63rZt 7O/vY39/33FEnAjmUfa8CGK6NiMry7LCnSQ2A746wPPPP5/TNI1hIKiBoyhmIuTTy7IsfPHFF9jd 3cXa2hrW19dnVsUYhoHNzU1sbm4CANtNq9ls4uzsjNkb3N+dBwgh7Ih6egWtPRwMBjg4OMDR0REz colYPh8+j7Ln96xpmrKxsZHb3d2tIYIOwBTA69evL3n1fq9nLw7Ap/NDPv9umiYePnyIhw8folwu Y2Njgx2Q4Abq9k21bdM00W63MRwO2f66dJcw/h14dH4PvegGUfxGUWHOKCRkcoDG/v4+Tk9PGULo 5Ua6mzC9EB3U272eFUXB6urq0u7u7n14KIK+IqBcLhdF8/hBugD/LEJyGOS7309OTnB8fAxVVVEq lVAsFlEqlWY4AwVN01AsFj1+b3EwGAzYxhGNRoOtHQiDdBER8OFhEO4mDvoMTEYipVLJ1xzsywFy udyMNzAhhO1g2Wg0mPLDx7ufwyA/iADos2maODo6wuHhIYDJHjpLS0uMKBZ5hKwI6FYx9Xodp6en 6Ha7DNlA9GnkMEQAzCIcAHZ3d3F6eopSqeQ4p4mmURQF+Xzed7sYngBmLIGpVMrBAcbjMVtwUa/X YZombNvGxcUFbty4IfT6cSOUwjzIFz1TH/779+8zZ9RisYhYLOZY7qXremjiGI/HGI1GjmVktKef nZ3NbBXnBq+eKXp3l+OVlicIy7Lw+eefo9PpoFarMXyUSiU8++yzDA9Tc7BoPoANBdVp4b5mYAqx WAyZTAbvv/8+crkcYrEYPv/8c3zrW99CNptlZ/vyP+Mn/73i/N75RnL3FlbFAAAGL0lEQVSHWZaF Wq3Gzt9xNzSV6fwFwIFo97kHop7tfhb1YB78lD5RWj5OxP4zmQwkScJf/vIXdhh3q9VipmZ6mMTU GORrDvYaBdCtYR3zAMlkEu+++y475u2FF17AJ598ggcPHuC1115jmndQb59XDAQRg/vb7npQJPuB V6/mERAmPGzP9yIeN1fgCSEej+Ojjz6Cruus15umiQ8++AA//OEPHWsKBATgAL/ZQMUwDMc8wHQH KtRqNayvr+ONN97A6ekpvva1r7Gl4H5yP6oYiCIKggggqJeKGjsM+LF7v7R8WFAd3d+wLAtvv/02 fvOb30DTNNy4cYM54PJ2E1mW6YSQp2+glw4w4w0MTOTtj370I3z44YcYDAb4+OOP8cYbb8AwjJmd LL1+ZlHcQPQsugc1bhBEJQgeLtPr+e/zcYRMhpqbm5v4+c9/zhTBXC6Ht99+G81mk6VTFAWJRMLX O9h3FEA3haCVGAwGqNVquH37Ntu0iO4KFqaHh9UB5uUG/N3vOQqEkfFR8/vpAKL8FCgxEkLYEnxq Nqf6D6+gTs3BvieJ+VoCCSE6PdiYVta2bQeVBSHSjxuI0vuFi975cD4s7DP76QUP30Rl+7F/HoI4 BCUEfus40VB0uuhVR0SfQEYAiUQiTo9zFzVgmN4XJS4MSw9Tnjvc610EbqR4vYtGBWHuQWnmjROl mW6VE0dIApDc1y9+8Qv86le/Qrlcdud7Cl8BqNVq+PGPfwwIcEvT+HoEDQYD/OQnP8Hrr7/ONkyK ArZtszE13VrtKTweqNfr+OCDDzAYDACP3g8E+APQZVwffPDBXJU4OTnBvXv3QAjBm2++OVcZ80Kn 00E6nUa73UYikUCv14t8X19fn9me9asEpmlS66dwCAgEbBFDz9AJMxMWBIso40nAV7XeAHx3PaHw lAAC4KtabwCOXc28wJcA6IaPXt4uUWARZTwJ+LLUex6DFL+nsRcEcgBVVZ8SwBME27ZxdnaGI/0I hWEBS5klTx8IN0wVQF/wJYCXX34ZDx48WEgj2La98C3cHwc8aQKo1+u48607aL7chJJS8O3/+Db+ JfsvofImk0lcv34df/jDHzzT+BLA3t4eSqWS50aLUeBPf/oTvv/97zs2i/oqgPvU08cN1UEVzWeb +M9/BSrat/Hf/ncH2VY21LC61Wphb2/PN40vAQyHQ9Tr9YX0gkajgXfeeQfXrl3DzZs3sba2duXe O4uAMGz0KmEttYZSt4T/2ajjudiH2D7/ryAgoepFT1DxAz8CIADYViWLQJZpmrh//z52dnag6zqK xSJz887n88jlckin03PPvl0FPGkDVjabxb+d/xvu/+Y++tYavl7MhUL+eDzmke9pAxcRAKEZqK99 s9kUHpJ0GbBtG41Gg7EpfshJXa+z2Sxz7eK9dnVdF666uQoIq3BdFciyjFKuhOeyz7FDLMPA4eEh BoMB35kYXnlwtyJNNAZgy7Jcbbfby5999hkODg6QTqcjVZ4erEQImTm1m7+Lwqj4oe/A7IQHJRq6 7xC/vUqhUGCEomkaYrFY5Luqqvj0008j/fOXATqdDjsoI5PJVAHYmOB0hgik6fiS+gBoABIAcgCW ksnk1ssvv/zfDcPYJoQohJBQZ9E9hScKRJKksSRJ9nA4vHfnzp3/cXFxsQvgFMA5gB4AE8CYEELc BKACiAHIAigCWAZQBlAAkAZgTNM8JYQvH1DObQEYAugAOANQA1AF0ADQAjCYphkT4nQKZawfwAhA H0AXE4JQpnFPCeDLCyICaGOCwz4mOOVFAYCpDkAIIVPZSfCIAHrTAuRpWB9iAnhKCE8WCHfnCeAC kx7fxgSXlAAIJigX+gTyHKCHCXLH0wLjAHSI15s/hScHbgLgOfgFJpyAJwCHYYARAMcFbEyUBFqo NS1Mn6bnXYyBpwTwpIEnAMrBLUwQPpheQ0xwaoPr/YC3HcCCk6UM8Ij1hzqU+Ck8duCH8BRvFiaI t/CI/TvAQQAuXYDebYi3GnsKXz4gmCUE/gJxecZKHq7N7rWCbnb/lAC+nEAEd2b8cSMf8CAAFjlr lH+K+K8GOJAqQjwFXwIQZvgyzdQ8hRnwQ7YIIhPAU/h/C/4vD6SaFDtyyOQAAAAASUVORK5CYII= "
+ id="image5984"
+ x="59"
+ y="18" />
+ <path
+ transform="matrix(1.0533428,0,0,1.0533428,-233.99431,2.4030939)"
+ d="m 31.875,25.25 a 13.5,13.5 0 1 1 -27,0 13.5,13.5 0 1 1 27,0 z"
+ sodipodi:ry="13.5"
+ sodipodi:rx="13.5"
+ sodipodi:cy="25.25"
+ sodipodi:cx="18.375"
+ id="path5987"
+ style="fill:#b6b2b3;fill-opacity:1;fill-rule:evenodd;stroke:#535353;stroke-width:1.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:nodetypes="ccccscc"
+ id="path5989"
+ inkscape:connector-curvature="0"
+ d="m -203.13913,21.75 0,-13.8750001 c 0,-1.4487088 -0.89951,-2.125 -2.25,-2.125 l -3.79688,0 c -1.14507,0 -2.06706,0.3720031 -2.06706,1.881543 0,3.9967611 -0.56146,5.6121431 -6.88606,7.4934571 -7.21859,1.934215 15,6.625 15,6.625 z"
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </g>
+ <g
+ id="g7955"
+ transform="translate(1.2374369,0)">
+ <g
+ id="g7932">
+ <rect
+ style="fill:url(#linearGradient7987);fill-opacity:1;stroke:#808080;stroke-width:1.08234084;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="rect5198"
+ width="37.925812"
+ height="45.672237"
+ x="3.7542076"
+ y="1.3552052"
+ rx="2.023422"
+ ry="2.0769122" />
+ <g
+ id="g6159"
+ transform="matrix(0.75730905,0,0,0.75730905,54.168246,10.831223)">
+ <path
+ transform="translate(0.328125,-0.453125)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6113"
+ style="opacity:0.78761058;fill:url(#radialGradient7989);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7991);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6147"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)" />
+ </g>
+ <path
+ style="fill:none;stroke:url(#linearGradient7993);stroke-width:1.08524024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 27.390286,7.3570104 c -1.053346,0 -1.897283,0.3361848 -1.897283,1.7248026 -0.349391,3.90193 -7.520699,7.432837 -12.620959,12.555943 -2.224635,2.339362 -3.592185,5.498558 -3.592185,8.981807 0,7.224449 5.884051,13.079754 13.108499,13.079754 7.224449,0 13.079754,-5.855305 13.079754,-13.079754 0,-2.864507 -0.939302,-5.492021 -2.500964,-7.646625 l 0,-13.661151 c 0,-1.3326599 -0.82745,-1.9547766 -2.069763,-1.9547766 z"
+ id="path5995"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="sccssscsss" />
+ <path
+ sodipodi:type="arc"
+ style="fill:none;stroke:url(#linearGradient7995);stroke-width:1.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6006"
+ sodipodi:cx="23"
+ sodipodi:cy="28.875"
+ sodipodi:rx="4.75"
+ sodipodi:ry="4.75"
+ d="m 27.75,28.875 c 0,2.623353 -2.126647,4.75 -4.75,4.75 -2.623353,0 -4.75,-2.126647 -4.75,-4.75 0,-2.623353 2.126647,-4.75 4.75,-4.75 2.623353,0 4.75,2.126647 4.75,4.75 z"
+ transform="matrix(0.91989475,0,0,0.91989475,1.497379,4.0676156)" />
+ <path
+ sodipodi:nodetypes="sccssscsss"
+ inkscape:connector-curvature="0"
+ id="path6020"
+ d="m 28.021241,8.388488 c -1.411541,0 -1.464632,-0.06564 -1.464632,1.087165 -0.79026,4.49681 -8.233056,8.208077 -12.926319,12.922365 -2.047112,2.152683 -3.305534,5.059779 -3.305534,8.265068 0,6.647946 5.414511,12.036004 12.062455,12.036004 6.647946,0 12.036004,-5.388058 12.036004,-12.036004 0,-2.979671 -1.176847,-5.616263 -2.52014,-7.317683 l 0,-13.626878 c 0,-1.226315 -0.261421,-1.330037 -1.404599,-1.330037 z"
+ style="fill:none;stroke:url(#linearGradient7997);stroke-width:0.99863923;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ transform="matrix(0.73157083,0,0,0.73157083,5.828829,9.5054687)"
+ d="m 27.75,28.875 c 0,2.623353 -2.126647,4.75 -4.75,4.75 -2.623353,0 -4.75,-2.126647 -4.75,-4.75 0,-2.623353 2.126647,-4.75 4.75,-4.75 2.623353,0 4.75,2.126647 4.75,4.75 z"
+ sodipodi:ry="4.75"
+ sodipodi:rx="4.75"
+ sodipodi:cy="28.875"
+ sodipodi:cx="23"
+ id="path6047"
+ style="fill:none;stroke:url(#linearGradient7999);stroke-width:1.3928932;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ <g
+ id="g6227"
+ transform="translate(59,0)">
+ <path
+ sodipodi:nodetypes="cccscsc"
+ inkscape:connector-curvature="0"
+ id="path6004"
+ d="m -49.723391,15.766028 0,-5.956679 c 0,-1.9747549 0.720085,-2.6116057 2.026623,-2.6116057 2.490645,-0.083222 6.700434,-0.024317 9.114109,-0.024317 2.952952,0 3.468191,1.6055538 0.554883,3.9038907 -2.14002,1.745447 -3.738746,3.427527 -6.742857,5.858465 -2.149829,1.739649 -4.952758,2.0649 -4.952758,-1.169754 z"
+ style="fill:none;stroke:url(#linearGradient8001);stroke-width:1.02364969px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="fill:none;stroke:url(#linearGradient8003);stroke-width:0.87717688px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m -48.747795,15.29064 -0.01563,-4.203168 c 0,-1.6921899 0.632674,-2.9566645 2.674136,-2.9566645 2.134261,-0.071314 4.996578,-0.061241 7.064884,-0.061241 2.530418,0 2.684669,0.4256423 0.188223,2.3951135 -1.833807,1.495693 -4.574945,4.040079 -7.149203,6.123178 -1.269396,1.027199 -2.762415,0.883643 -2.76241,-1.297218 z"
+ id="path6073"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscsc" />
+ </g>
+ <g
+ transform="matrix(0.75730905,0,0,0.75730905,54.168246,-25.793777)"
+ id="g6207">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:url(#radialGradient8005);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6209"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="translate(0.328125,-0.453125)" />
+ <path
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6211"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient8007);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ </g>
+ <rect
+ y="2.6214366"
+ x="4.9879036"
+ height="43.124149"
+ width="35.458416"
+ id="rect6089"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient8009);stroke-width:1.30568182;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ ry="0.98889953"
+ rx="0.97983909" />
+ <g
+ transform="matrix(0.75730905,0,0,0.75730905,25.355746,10.831223)"
+ id="g6197">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:url(#radialGradient8011);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6199"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="translate(0.328125,-0.453125)" />
+ <path
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6201"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient8013);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ </g>
+ <g
+ id="g6213"
+ transform="matrix(0.75730905,0,0,0.75730905,25.355746,-25.793777)">
+ <path
+ transform="translate(0.328125,-0.453125)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6215"
+ style="opacity:0.78761058;fill:url(#radialGradient8015);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient8017);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6217"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)" />
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/disk.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/disk.svg
new file mode 100644
index 00000000..730e9b27
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/disk.svg
@@ -0,0 +1,850 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="16px"
+ height="16px"
+ id="svg5441"
+ version="1.1"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="disk.svg">
+ <defs
+ id="defs5443">
+ <linearGradient
+ id="linearGradient5427">
+ <stop
+ id="stop5429"
+ offset="0"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop5431"
+ offset="1"
+ style="stop-color:#e8f6ff;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5475">
+ <stop
+ id="stop5477"
+ offset="0"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop5479"
+ offset="1"
+ style="stop-color:#8fbded;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3435-0"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.391201"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#ffffc8;stop-opacity:1.0000000;"
+ id="stop3437-3" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a91ef;stop-opacity:0.0000000;"
+ id="stop3439-7" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5486"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.391201"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#ffffc8;stop-opacity:1.0000000;"
+ id="stop5488" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a91ef;stop-opacity:0.0000000;"
+ id="stop5490" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5493"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.391201"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#ffffc8;stop-opacity:1.0000000;"
+ id="stop5495" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a91ef;stop-opacity:0.0000000;"
+ id="stop5497" />
+ </linearGradient>
+ <linearGradient
+ y2="14.2033"
+ x2="35.391201"
+ y1="32.4165"
+ x1="12.2744"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3421-4">
+ <stop
+ id="stop3423-9"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000" />
+ <stop
+ id="stop3427-6"
+ style="stop-color:#b8c04c;stop-opacity:0.0000000;"
+ offset="1.0000000" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3406-2"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.391201"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#b307ff;stop-opacity:0.82178217;"
+ id="stop3408-1" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#f0ff8b;stop-opacity:0.64356434;"
+ id="stop3410-9" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ id="stop3412-8" />
+ </linearGradient>
+ <linearGradient
+ y2="14.2033"
+ x2="35.391201"
+ y1="32.4165"
+ x1="12.2744"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3394-8">
+ <stop
+ id="stop3396-7"
+ style="stop-color:#fff307;stop-opacity:1.0000000;"
+ offset="0.0000000" />
+ <stop
+ id="stop3398-5"
+ style="stop-color:#166eff;stop-opacity:1.0000000;"
+ offset="0.50000000" />
+ <stop
+ id="stop3400-0"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="1.0000000" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4236-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.32673267;"
+ offset="0.0000000"
+ id="stop4238-7" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.60396039;"
+ offset="1.0000000"
+ id="stop4240-9" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5526">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.32673267;"
+ offset="0.0000000"
+ id="stop5528" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.60396039;"
+ offset="1.0000000"
+ id="stop5530" />
+ </linearGradient>
+ <linearGradient
+ id="aigrd2-1"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.391201"
+ y2="14.2033">
+ <stop
+ offset="0"
+ style="stop-color:#FBFBFB"
+ id="stop3043-4" />
+ <stop
+ offset="0.5"
+ style="stop-color:#B6B6B6"
+ id="stop3045-4" />
+ <stop
+ offset="1"
+ style="stop-color:#E4E4E4"
+ id="stop3047-5" />
+ </linearGradient>
+ <linearGradient
+ id="aigrd1-5"
+ gradientUnits="userSpaceOnUse"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511002"
+ y2="34.307499">
+ <stop
+ offset="0"
+ style="stop-color:#EBEBEB"
+ id="stop3034-6" />
+ <stop
+ offset="0.5"
+ style="stop-color:#FFFFFF"
+ id="stop3036-4" />
+ <stop
+ offset="1"
+ style="stop-color:#EBEBEB"
+ id="stop3038-7" />
+ </linearGradient>
+ <radialGradient
+ r="22.627417"
+ fy="41.63604"
+ fx="23.334524"
+ cy="41.63604"
+ cx="23.334524"
+ gradientTransform="matrix(1,0,0,0.25,0,31.22703)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient4709"
+ xlink:href="#linearGradient23419-8"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient23419-8">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop23421-0" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop23423-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5427"
+ id="linearGradient11281"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.15814101,-0.15814101,0,15.217027,4.1193311)"
+ x1="69.309219"
+ y1="15.565757"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5427"
+ id="linearGradient11283"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.15814101,-0.15814101,0,15.217027,4.1193311)"
+ x1="69.309219"
+ y1="15.565757"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5968"
+ id="linearGradient11424"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.99339517,0,0,1.0196561,-62.311324,4.187738)"
+ x1="29.308222"
+ y1="45.582909"
+ x2="29.308222"
+ y2="-23.527691" />
+ <linearGradient
+ id="linearGradient5968">
+ <stop
+ style="stop-color:#b4b4b4;stop-opacity:1"
+ offset="0"
+ id="stop5970" />
+ <stop
+ id="stop6111"
+ offset="0.57293677"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="1"
+ id="stop5972" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6077"
+ id="linearGradient11426"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88303407,0,0,0.88303407,-59.236027,9.2227173)"
+ x1="28.311356"
+ y1="6.6647797"
+ x2="27.936356"
+ y2="42.119865" />
+ <linearGradient
+ id="linearGradient6077">
+ <stop
+ id="stop6079"
+ offset="0"
+ style="stop-color:#4d4d4d;stop-opacity:1" />
+ <stop
+ id="stop6081"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6057"
+ id="linearGradient11428"
+ gradientUnits="userSpaceOnUse"
+ x1="22.717751"
+ y1="23.575481"
+ x2="22.806652"
+ y2="34.106575" />
+ <linearGradient
+ id="linearGradient6057">
+ <stop
+ style="stop-color:#4d4d4d;stop-opacity:1"
+ offset="0"
+ id="stop6059" />
+ <stop
+ id="stop6107"
+ offset="0.5"
+ style="stop-color:#b9b9b9;stop-opacity:1;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6061" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6008"
+ id="linearGradient11430"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.81256891,0,0,0.81256891,-57.588975,11.277833)"
+ x1="33.96669"
+ y1="-47.795002"
+ x2="31.065805"
+ y2="37.072826" />
+ <linearGradient
+ id="linearGradient6008">
+ <stop
+ style="stop-color:#4b4b4b;stop-opacity:1"
+ offset="0"
+ id="stop6010" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6012" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10373"
+ id="linearGradient11432"
+ gradientUnits="userSpaceOnUse"
+ x1="23.599091"
+ y1="25.633358"
+ x2="23.354334"
+ y2="35.548969" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient10373">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop10375" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop10377" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6083"
+ id="linearGradient11434"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60,0)"
+ x1="14.967111"
+ y1="5.6551399"
+ x2="14.967111"
+ y2="16.640585" />
+ <linearGradient
+ id="linearGradient6083">
+ <stop
+ id="stop6085"
+ offset="0"
+ style="stop-color:#4d4d4d;stop-opacity:1" />
+ <stop
+ id="stop6087"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6091"
+ id="linearGradient11436"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98990282,0,0,0.98990282,-61.730511,4.7162442)"
+ x1="20.226833"
+ y1="47.728722"
+ x2="20.355665"
+ y2="0.56063837" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6091">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6093" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6095" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6083"
+ id="linearGradient11438"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60,0)"
+ x1="13.933115"
+ y1="21.595098"
+ x2="14.238177"
+ y2="6.8143053" />
+ <linearGradient
+ id="linearGradient11483">
+ <stop
+ id="stop11485"
+ offset="0"
+ style="stop-color:#4d4d4d;stop-opacity:1" />
+ <stop
+ id="stop11487"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3805-4">
+ <stop
+ id="stop3807-5"
+ offset="0"
+ style="stop-color:#ffff00;stop-opacity:1" />
+ <stop
+ id="stop3809-5"
+ offset="1"
+ style="stop-color:#ff0000;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5968"
+ id="linearGradient12224"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.99339517,0,0,1.0196561,-62.311324,4.187738)"
+ x1="29.308222"
+ y1="45.582909"
+ x2="29.308222"
+ y2="-23.527691" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6077"
+ id="linearGradient12226"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88303407,0,0,0.88303407,-59.236027,9.2227173)"
+ x1="28.311356"
+ y1="6.6647797"
+ x2="27.936356"
+ y2="42.119865" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6057"
+ id="linearGradient12228"
+ gradientUnits="userSpaceOnUse"
+ x1="22.717751"
+ y1="23.575481"
+ x2="22.806652"
+ y2="34.106575" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6008"
+ id="linearGradient12230"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.81256891,0,0,0.81256891,-57.588975,11.277833)"
+ x1="33.96669"
+ y1="-47.795002"
+ x2="31.065805"
+ y2="37.072826" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10373"
+ id="linearGradient12232"
+ gradientUnits="userSpaceOnUse"
+ x1="23.599091"
+ y1="25.633358"
+ x2="23.354334"
+ y2="35.548969" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6083"
+ id="linearGradient12234"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60,0)"
+ x1="14.967111"
+ y1="5.6551399"
+ x2="14.967111"
+ y2="16.640585" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6091"
+ id="linearGradient12236"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98990282,0,0,0.98990282,-61.730511,4.7162442)"
+ x1="20.226833"
+ y1="47.728722"
+ x2="20.355665"
+ y2="0.56063837" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6083"
+ id="linearGradient12238"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60,0)"
+ x1="13.933115"
+ y1="21.595098"
+ x2="14.238177"
+ y2="6.8143053" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5427"
+ id="linearGradient12240"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.15814101,-0.15814101,0,15.217027,4.1193311)"
+ x1="69.309219"
+ y1="15.565757"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5427"
+ id="linearGradient12242"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.15814101,-0.15814101,0,15.217027,4.1193311)"
+ x1="69.309219"
+ y1="15.565757"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5968"
+ id="linearGradient34603"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.99339517,0,0,1.0196561,-62.311324,4.187738)"
+ x1="29.308222"
+ y1="45.582909"
+ x2="29.308222"
+ y2="-23.527691" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6077"
+ id="linearGradient34605"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88303407,0,0,0.88303407,-59.236027,9.2227173)"
+ x1="28.311356"
+ y1="6.6647797"
+ x2="27.936356"
+ y2="42.119865" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6057"
+ id="linearGradient34607"
+ gradientUnits="userSpaceOnUse"
+ x1="22.717751"
+ y1="23.575481"
+ x2="22.806652"
+ y2="34.106575" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6008"
+ id="linearGradient34609"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.81256891,0,0,0.81256891,-57.588975,11.277833)"
+ x1="33.96669"
+ y1="-47.795002"
+ x2="31.065805"
+ y2="37.072826" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10373"
+ id="linearGradient34611"
+ gradientUnits="userSpaceOnUse"
+ x1="23.599091"
+ y1="25.633358"
+ x2="23.354334"
+ y2="35.548969" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6083"
+ id="linearGradient34613"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60,0)"
+ x1="14.967111"
+ y1="5.6551399"
+ x2="14.967111"
+ y2="16.640585" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6091"
+ id="linearGradient34615"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98990282,0,0,0.98990282,-61.730511,4.7162442)"
+ x1="20.226833"
+ y1="47.728722"
+ x2="20.355665"
+ y2="0.56063837" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6083"
+ id="linearGradient34617"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60,0)"
+ x1="13.933115"
+ y1="21.595098"
+ x2="14.238177"
+ y2="6.8143053" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5427"
+ id="linearGradient34619"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.15814101,-0.15814101,0,15.217027,4.1193311)"
+ x1="69.309219"
+ y1="15.565757"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5427"
+ id="linearGradient34621"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.15814101,-0.15814101,0,15.217027,4.1193311)"
+ x1="69.309219"
+ y1="15.565757"
+ x2="2.973438"
+ y2="15.565757" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="20.938853"
+ inkscape:cy="-1.395678"
+ inkscape:current-layer="g6951"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1600"
+ inkscape:window-height="838"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata5446">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ transform="matrix(-1,0,0,-1,16.97566,15.520769)"
+ id="g6951">
+ <g
+ id="g10511"
+ transform="matrix(-1,0,0,-1,57.045585,15.415679)">
+ <g
+ transform="matrix(0.32333445,0,0,0.32333445,60.479409,-1.2547225)"
+ id="g10440">
+ <rect
+ style="fill:url(#linearGradient34603);fill-opacity:1;stroke:#646464;stroke-width:2.02021289;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="rect5198"
+ width="38.671284"
+ height="46.569977"
+ x="-57.588516"
+ y="5.3783956"
+ rx="2.0631945"
+ ry="2.1177361" />
+ <path
+ style="fill:none;stroke:url(#linearGradient34605);stroke-width:1.65455425;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m -34.166437,13.95314 c -0.930141,0 -1.675366,0.296863 -1.675366,1.523059 -0.308524,3.445537 -6.641033,6.563449 -11.144737,11.087326 -1.964428,2.065736 -3.172021,4.855414 -3.172021,7.931241 0,6.379435 5.195817,11.549869 11.575251,11.549869 6.379434,0 11.549868,-5.170434 11.549868,-11.549869 0,-2.529457 -0.829435,-4.849641 -2.208436,-6.75223 l 0,-12.063262 c 0,-1.176783 -0.730667,-1.726134 -1.827671,-1.726134 z"
+ id="path5995"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="sccssscsss" />
+ <path
+ sodipodi:type="arc"
+ style="fill:none;stroke:url(#linearGradient34607);stroke-width:1.85975993;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6006"
+ sodipodi:cx="23"
+ sodipodi:cy="28.875"
+ sodipodi:rx="4.75"
+ sodipodi:ry="4.75"
+ d="m 27.75,28.875 c 0,2.623353 -2.126647,4.75 -4.75,4.75 -2.623353,0 -4.75,-2.126647 -4.75,-4.75 0,-2.623353 2.126647,-4.75 4.75,-4.75 2.623353,0 4.75,2.126647 4.75,4.75 z"
+ transform="matrix(0.8122984,0,0,0.8122984,-57.030756,11.048493)" />
+ <path
+ sodipodi:nodetypes="sccssscsss"
+ inkscape:connector-curvature="0"
+ id="path6020"
+ d="m -33.609283,14.86397 c -1.246438,0 -1.293319,-0.05796 -1.293319,0.960003 -0.697827,3.970837 -7.270069,7.248012 -11.414381,11.410889 -1.807669,1.900892 -2.918899,4.467957 -2.918899,7.298337 0,5.870362 4.781198,10.628201 10.651559,10.628201 5.870363,0 10.628202,-4.757839 10.628202,-10.628201 0,-2.631151 -1.039196,-4.959352 -2.22537,-6.461764 l 0,-12.032997 c 0,-1.082878 -0.230843,-1.174468 -1.240309,-1.174468 z"
+ style="fill:none;stroke:url(#linearGradient34609);stroke-width:1.48070621;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ transform="matrix(0.4912197,0,0,0.4912197,-49.645945,20.319641)"
+ d="m 27.75,28.875 c 0,2.623353 -2.126647,4.75 -4.75,4.75 -2.623353,0 -4.75,-2.126647 -4.75,-4.75 0,-2.623353 2.126647,-4.75 4.75,-4.75 2.623353,0 4.75,2.126647 4.75,4.75 z"
+ sodipodi:ry="4.75"
+ sodipodi:rx="4.75"
+ sodipodi:cy="28.875"
+ sodipodi:cx="23"
+ id="path6047"
+ style="fill:none;stroke:url(#linearGradient34611);stroke-width:3.22181129;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ <g
+ transform="matrix(0.94628512,0,0,0.94628512,-5.226206,6.4665606)"
+ id="g6227">
+ <path
+ sodipodi:nodetypes="cccscsc"
+ inkscape:connector-curvature="0"
+ id="path6004"
+ d="m -49.723391,15.766028 0,-5.489237 c 0,-1.9747548 1.701713,-3.0790477 3.008251,-3.0790477 2.490645,-0.083222 5.718806,-0.024317 8.132481,-0.024317 2.952952,0 3.468191,1.6055538 0.554883,3.9038907 -2.14002,1.745447 -3.738746,3.427527 -6.742857,5.858465 -2.149829,1.739649 -4.952758,2.0649 -4.952758,-1.169754 z"
+ style="fill:none;stroke:url(#linearGradient34613);stroke-width:1.48873639;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ </g>
+ <g
+ id="g9418"
+ transform="matrix(1.0638731,0,0,1.0638731,-0.7518527,-33.245293)">
+ <path
+ sodipodi:type="arc"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6209"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="translate(0.328125,-0.453125)" />
+ <path
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6211"
+ style="opacity:0.78761058;fill:none;stroke:#000000;stroke-width:0.6876899;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ </g>
+ <rect
+ y="7.0934958"
+ x="-55.982082"
+ height="43.124149"
+ width="35.458416"
+ id="rect6089"
+ style="fill:none;stroke:url(#linearGradient34615);stroke-width:1.60659623;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ ry="0.98889953"
+ rx="0.97983909" />
+ <g
+ id="g10383"
+ transform="matrix(0.66294942,0,0,0.63932589,-17.739036,9.9436774)">
+ <path
+ style="fill:none;stroke:url(#linearGradient34617);stroke-width:2.40792131;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m -50.076616,16.718348 0.211935,-6.514812 c 0,-1.9747552 1.277843,-2.7127711 2.584381,-2.7127711 2.490645,-0.083222 7.626221,-0.097572 10.039896,-0.097572 2.952952,0 2.620451,0.1404457 -0.292857,2.4387826 -2.14002,1.7454465 -6.140677,5.6984445 -9.144788,8.1293825 -2.149829,1.739649 -3.398567,1.991644 -3.398567,-1.24301 z"
+ id="path10385"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscsc" />
+ </g>
+ <g
+ transform="matrix(1.0638731,0,0,1.0638731,-27.915618,-33.245293)"
+ id="g10405">
+ <path
+ transform="translate(0.328125,-0.453125)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path10407"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:none;stroke:#000000;stroke-width:0.6876899;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path10409"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)" />
+ </g>
+ <g
+ transform="matrix(1.0638731,0,0,1.0638731,-0.7518527,1.7865972)"
+ id="g10411">
+ <g
+ id="g10423"
+ transform="matrix(0.90573269,0,0,0.90573269,-2.1840981,3.8637847)">
+ <path
+ sodipodi:type="arc"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path10413"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="matrix(1.2487102,0,0,1.2487102,5.3170018,-11.770472)" />
+ <path
+ transform="matrix(1.5162871,0,0,1.5162871,11.421101,-23.075596)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path10415"
+ style="opacity:0.64159324;fill:none;stroke:#000000;stroke-width:0.68679017;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ </g>
+ </g>
+ <path
+ transform="matrix(1.1779375,0,0,1.1779375,-24.194317,-4.3757249)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path10431"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.64159324;fill:none;stroke:#000000;stroke-width:0.68679017;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path10433"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="matrix(1.430349,0,0,1.430349,-18.436178,-15.040112)" />
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/disk_available.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/disk_available.svg
new file mode 100644
index 00000000..667535c1
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/disk_available.svg
@@ -0,0 +1,1983 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48.000000px"
+ height="48.000000px"
+ id="svg3077"
+ sodipodi:version="0.32"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="disk_available.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient5118">
+ <stop
+ style="stop-color:#249b2e;stop-opacity:1"
+ offset="0"
+ id="stop5120" />
+ <stop
+ style="stop-color:#64eb75;stop-opacity:1"
+ offset="1"
+ id="stop5122" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4247"
+ inkscape:collect="always">
+ <stop
+ id="stop4249"
+ offset="0"
+ style="stop-color:#0045bd;stop-opacity:1" />
+ <stop
+ id="stop4251"
+ offset="1"
+ style="stop-color:#fcb500;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient35212">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop35214" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop35216" />
+ </linearGradient>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective91" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient23419">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop23421" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop23423" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3435"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#ffffc8;stop-opacity:1.0000000;"
+ id="stop3437" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a91ef;stop-opacity:0.0000000;"
+ id="stop3439" />
+ </linearGradient>
+ <linearGradient
+ y2="14.2033"
+ x2="35.3912"
+ y1="32.4165"
+ x1="12.2744"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3421">
+ <stop
+ id="stop3423"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000" />
+ <stop
+ id="stop3427"
+ style="stop-color:#b8c04c;stop-opacity:0.0000000;"
+ offset="1.0000000" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3406"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#b307ff;stop-opacity:0.82178217;"
+ id="stop3408" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#f0ff8b;stop-opacity:0.64356434;"
+ id="stop3410" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ id="stop3412" />
+ </linearGradient>
+ <linearGradient
+ y2="14.2033"
+ x2="35.3912"
+ y1="32.4165"
+ x1="12.2744"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3394">
+ <stop
+ id="stop3396"
+ style="stop-color:#fff307;stop-opacity:1.0000000;"
+ offset="0.0000000" />
+ <stop
+ id="stop3398"
+ style="stop-color:#166eff;stop-opacity:1.0000000;"
+ offset="0.50000000" />
+ <stop
+ id="stop3400"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="1.0000000" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6036">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop6038" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop6040" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6028">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop6030" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop6032" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4236">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.32673267;"
+ offset="0.0000000"
+ id="stop4238" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.60396039;"
+ offset="1.0000000"
+ id="stop4240" />
+ </linearGradient>
+ <linearGradient
+ id="aigrd2"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033">
+ <stop
+ offset="0"
+ style="stop-color:#FBFBFB"
+ id="stop3043" />
+ <stop
+ offset="0.5"
+ style="stop-color:#B6B6B6"
+ id="stop3045" />
+ <stop
+ offset="1"
+ style="stop-color:#E4E4E4"
+ id="stop3047" />
+ </linearGradient>
+ <linearGradient
+ id="aigrd1"
+ gradientUnits="userSpaceOnUse"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075">
+ <stop
+ offset="0"
+ style="stop-color:#EBEBEB"
+ id="stop3034" />
+ <stop
+ offset="0.5"
+ style="stop-color:#FFFFFF"
+ id="stop3036" />
+ <stop
+ offset="1"
+ style="stop-color:#EBEBEB"
+ id="stop3038" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient3912"
+ gradientUnits="userSpaceOnUse"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075"
+ gradientTransform="matrix(1.190476,0.000000,0.000000,1.190476,-4.224424,-2.500000)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient4222"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.250000,0.000000,0.000000,1.250000,-5.652995,-2.604165)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient4224"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.250000,0.000000,0.000000,1.250000,-5.652995,-2.604165)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="linearGradient4242"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0.000000,0.000000,1.190476,-4.224424,-2.500001)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6028"
+ id="linearGradient6034"
+ x1="28.702885"
+ y1="31.494707"
+ x2="17.742729"
+ y2="18.366575"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036"
+ id="linearGradient6042"
+ x1="10.501720"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ gradientTransform="matrix(0.848684,0.958020,-0.782119,0.692834,18.69147,-20.52578)"
+ gradientUnits="userSpaceOnUse"
+ r="21.333334"
+ fy="27.569166"
+ fx="37.751469"
+ cy="27.569166"
+ cx="37.751469"
+ id="radialGradient3392"
+ xlink:href="#linearGradient3394"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="48.238270"
+ fx="53.556889"
+ cy="48.238270"
+ cx="53.556889"
+ gradientTransform="matrix(0.158450,-0.158988,0.432907,0.431441,-2.723645,15.00107)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3429"
+ xlink:href="#linearGradient3421"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="33.377594"
+ fx="16.885271"
+ cy="33.377594"
+ cx="16.885271"
+ gradientTransform="matrix(5.184267e-3,-0.122860,0.544548,2.297824e-2,0.957234,26.30756)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3433"
+ xlink:href="#linearGradient3435"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="21.618015"
+ fx="35.511295"
+ cy="21.618015"
+ cx="35.511295"
+ gradientTransform="matrix(0.105916,-1.914240e-2,0.104789,0.579807,17.13693,7.115158)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3443"
+ xlink:href="#linearGradient3435"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientTransform="matrix(-5.048220e-2,1.387847e-2,-0.128440,-0.467196,35.41257,39.44172)"
+ r="21.333334"
+ fy="23.914305"
+ fx="133.84108"
+ cy="23.914305"
+ cx="133.84108"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3447"
+ xlink:href="#linearGradient3435"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="38.807304"
+ fx="26.137741"
+ cy="38.807304"
+ cx="26.137741"
+ gradientTransform="matrix(0.769501,-1.242500,0.670300,0.415141,-21.77857,41.36563)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3449"
+ xlink:href="#linearGradient3406"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient23343"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.5)"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="linearGradient23345"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.500001)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23347"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23349"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036"
+ id="linearGradient23351"
+ gradientUnits="userSpaceOnUse"
+ x1="10.501720"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6028"
+ id="linearGradient23353"
+ gradientUnits="userSpaceOnUse"
+ x1="28.702885"
+ y1="31.494707"
+ x2="17.742729"
+ y2="18.366575" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3394"
+ id="radialGradient23355"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.848684,0.95802,-0.782119,0.692834,18.69147,-20.52578)"
+ cx="37.751469"
+ cy="27.569166"
+ fx="37.751469"
+ fy="27.569166"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3406"
+ id="radialGradient23357"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.769501,-1.2425,0.6703,0.415141,-21.77857,41.36563)"
+ cx="26.137741"
+ cy="38.807304"
+ fx="26.137741"
+ fy="38.807304"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3421"
+ id="radialGradient23359"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.15845,-0.158988,0.432907,0.431441,-2.723645,15.00107)"
+ cx="53.556889"
+ cy="48.238270"
+ fx="53.556889"
+ fy="48.238270"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23361"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(5.184267e-3,-0.12286,0.544548,2.297824e-2,0.957234,26.30756)"
+ cx="16.885271"
+ cy="33.377594"
+ fx="16.885271"
+ fy="33.377594"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23363"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.105916,-1.91424e-2,0.104789,0.579807,17.13693,7.115158)"
+ cx="35.511295"
+ cy="21.618015"
+ fx="35.511295"
+ fy="21.618015"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23365"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-5.04822e-2,1.387847e-2,-0.12844,-0.467196,35.41257,39.44172)"
+ cx="133.84108"
+ cy="23.914305"
+ fx="133.84108"
+ fy="23.914305"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23368"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-5.04822e-2,1.387847e-2,-0.12844,-0.467196,35.41257,39.44172)"
+ cx="133.84108"
+ cy="23.914305"
+ fx="133.84108"
+ fy="23.914305"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23371"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.105916,-1.91424e-2,0.104789,0.579807,17.13693,7.115158)"
+ cx="35.511295"
+ cy="21.618015"
+ fx="35.511295"
+ fy="21.618015"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23374"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(5.184267e-3,-0.12286,0.544548,2.297824e-2,0.957234,26.30756)"
+ cx="16.885271"
+ cy="33.377594"
+ fx="16.885271"
+ fy="33.377594"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3421"
+ id="radialGradient23377"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.15845,-0.158988,0.432907,0.431441,-2.723645,15.00107)"
+ cx="53.556889"
+ cy="48.238270"
+ fx="53.556889"
+ fy="48.238270"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3406"
+ id="radialGradient23380"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.769501,-1.2425,0.6703,0.415141,-21.77857,41.36563)"
+ cx="26.137741"
+ cy="38.807304"
+ fx="26.137741"
+ fy="38.807304"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3394"
+ id="radialGradient23383"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.848684,0.95802,-0.782119,0.692834,18.69147,-20.52578)"
+ cx="37.751469"
+ cy="27.569166"
+ fx="37.751469"
+ fy="27.569166"
+ r="21.333334" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036"
+ id="linearGradient23387"
+ gradientUnits="userSpaceOnUse"
+ x1="10.501720"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23390"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23393"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="linearGradient23397"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.500001)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient23400"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.5)"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient23419"
+ id="radialGradient23425"
+ cx="23.334524"
+ cy="41.63604"
+ fx="23.334524"
+ fy="41.63604"
+ r="22.627417"
+ gradientTransform="matrix(1,0,0,0.25,0,31.22703)"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8662"
+ id="radialGradient8668"
+ cx="24.837126"
+ cy="36.421127"
+ fx="24.837126"
+ fy="36.421127"
+ r="15.644737"
+ gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient8662">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop8664" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop8666" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ inkscape:collect="always"
+ xlink:href="#linearGradient4247"
+ id="linearGradient2314"
+ x1="90.61982"
+ y1="52.190975"
+ x2="-57.421551"
+ y2="-5.4606466"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2308">
+ <stop
+ style="stop-color:#aa4400;stop-opacity:1"
+ offset="0"
+ id="stop2310" />
+ <stop
+ style="stop-color:#fcb500;stop-opacity:1"
+ offset="1"
+ id="stop2312" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316">
+ <stop
+ style="stop-color:#aa4400;stop-opacity:1"
+ offset="0"
+ id="stop2318" />
+ <stop
+ style="stop-color:#d89b00;stop-opacity:1"
+ offset="1"
+ id="stop2320" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2187"
+ id="linearGradient1764"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-1.171926,-1.171926,0,112.4458,23.78835)"
+ x1="17.060806"
+ y1="11.39502"
+ x2="12.624337"
+ y2="12.583769" />
+ <linearGradient
+ id="linearGradient2187"
+ inkscape:collect="always">
+ <stop
+ id="stop2189"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2191"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2326"
+ id="radialGradient2332"
+ cx="15.09403"
+ cy="13.282721"
+ fx="15.09403"
+ fy="13.282721"
+ r="10.16466"
+ gradientTransform="matrix(2.496031,0,0,2.300689,41.14738,-48.13912)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2326">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2328" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2330" />
+ </linearGradient>
+ <radialGradient
+ r="15.644737"
+ fy="36.421127"
+ fx="24.837126"
+ cy="36.421127"
+ cx="24.837126"
+ gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient31709"
+ xlink:href="#linearGradient8662"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2308-0"
+ id="linearGradient3485"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.47369448,-0.47369448,0,99.704257,8.7500421)"
+ x1="27.027767"
+ y1="13.535172"
+ x2="19.751877"
+ y2="395.62497" />
+ <linearGradient
+ id="linearGradient2308-0"
+ inkscape:collect="always">
+ <stop
+ id="stop2310-5"
+ offset="0"
+ style="stop-color:#edd400;stop-opacity:1;" />
+ <stop
+ id="stop2312-2"
+ offset="1"
+ style="stop-color:#edd400;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2316-0"
+ id="linearGradient3487"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.47369448,-0.47369448,0,99.704257,8.7500421)"
+ x1="27.027767"
+ y1="13.535172"
+ x2="19.751877"
+ y2="395.62497" />
+ <linearGradient
+ id="linearGradient2316-0">
+ <stop
+ id="stop2318-7"
+ offset="0"
+ style="stop-color:#c4a000;stop-opacity:1;" />
+ <stop
+ id="stop2320-5"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2187-6"
+ id="linearGradient3489"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.55513488,0,0,-0.55513488,74.07686,30.6226)"
+ x1="17.060806"
+ y1="11.39502"
+ x2="-0.99847859"
+ y2="8.6995773" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2187-6">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2189-1" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2191-8" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2326-1"
+ id="radialGradient3491"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,1.1823561,-1.0898237,0,108.1485,-3.1510675)"
+ cx="15.09403"
+ cy="13.282721"
+ fx="15.09403"
+ fy="13.282721"
+ r="10.16466" />
+ <linearGradient
+ id="linearGradient2326-1"
+ inkscape:collect="always">
+ <stop
+ id="stop2328-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ r="10.16466"
+ fy="13.282721"
+ fx="15.09403"
+ cy="13.282721"
+ cx="15.09403"
+ gradientTransform="matrix(0,0.78187591,-0.61655067,0,79.03229,4.8548625)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient34355"
+ xlink:href="#linearGradient2326-1"
+ inkscape:collect="always" />
+ <radialGradient
+ r="10.16466"
+ fy="13.282721"
+ fx="15.09403"
+ cy="13.282721"
+ cx="15.09403"
+ gradientTransform="matrix(0,0.78187591,-0.61655067,0,79.03229,4.8548625)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient34355-3"
+ xlink:href="#linearGradient2326-1-7"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2326-1-7"
+ inkscape:collect="always">
+ <stop
+ id="stop2328-8-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2308"
+ id="linearGradient3908"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="90.61982"
+ y1="52.190975"
+ x2="-57.421551"
+ y2="-5.4606466" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212"
+ id="linearGradient3910"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient16236"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5">
+ <stop
+ id="stop4136-4-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2" />
+ <stop
+ id="stop4138-2-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient16238"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7">
+ <stop
+ id="stop4208-5-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient16240"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient16242"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7">
+ <stop
+ id="stop7212-33"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient16244"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3805">
+ <stop
+ id="stop3807"
+ offset="0"
+ style="stop-color:#ffff00;stop-opacity:1" />
+ <stop
+ id="stop3809"
+ offset="1"
+ style="stop-color:#ff0000;stop-opacity:1" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3805"
+ id="radialGradient3633"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-5.4639021,0.0659146,-0.13183442,-10.928213,172.2856,87.181205)"
+ cx="11.021463"
+ cy="7.5991845"
+ fx="11.021463"
+ fy="7.5991845"
+ r="3.4126534" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient4586"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="56.619678"
+ y1="38.098812"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ id="linearGradient4255">
+ <stop
+ style="stop-color:#2a5285;stop-opacity:1;"
+ offset="0"
+ id="stop4257" />
+ <stop
+ style="stop-color:#9acbff;stop-opacity:1;"
+ offset="1"
+ id="stop4259" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-1"
+ id="linearGradient4588"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient35212-1">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop35214-2" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop35216-6" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient4253"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="51.064072"
+ y1="36.929211"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ id="linearGradient6262">
+ <stop
+ style="stop-color:#2a5285;stop-opacity:1;"
+ offset="0"
+ id="stop6264" />
+ <stop
+ style="stop-color:#9acbff;stop-opacity:1;"
+ offset="1"
+ id="stop6266" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-1"
+ id="linearGradient35218"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6223"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ id="linearGradient6123">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6125" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop6127" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6225"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6151">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop6153" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6155" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6203"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ id="linearGradient6284">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6286" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop6288" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6205"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6091"
+ id="linearGradient6097"
+ x1="40.854774"
+ y1="46.025497"
+ x2="6.7298694"
+ y2="3.0208516"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98990282,0,0,0.98990282,-61.730511,4.7162442)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6091">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6093" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6095" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6219"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ id="linearGradient6302">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6304" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop6306" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6221"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6083"
+ id="linearGradient6071"
+ x1="14.967111"
+ y1="2.3855319"
+ x2="14.967111"
+ y2="16.640585"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60,0)" />
+ <linearGradient
+ id="linearGradient6083">
+ <stop
+ id="stop6085"
+ offset="0"
+ style="stop-color:#737373;stop-opacity:1" />
+ <stop
+ id="stop6087"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6065"
+ id="linearGradient6075"
+ gradientUnits="userSpaceOnUse"
+ x1="18.104832"
+ y1="18.316957"
+ x2="18.040327"
+ y2="6.9715528"
+ gradientTransform="matrix(0.85691123,0,0,0.85691123,-57.553937,1.9004806)" />
+ <linearGradient
+ id="linearGradient6065">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6067" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6069" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6049"
+ id="linearGradient6055"
+ x1="23.114971"
+ y1="34.086388"
+ x2="23.354908"
+ y2="23.578178"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6049">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6051" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6053" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6008"
+ id="linearGradient6035"
+ gradientUnits="userSpaceOnUse"
+ x1="19.211605"
+ y1="41.081333"
+ x2="18.27038"
+ y2="6.1793666"
+ gradientTransform="matrix(0.92020109,0,0,0.92020109,-60.104768,8.7993922)" />
+ <linearGradient
+ id="linearGradient6008">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6010" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6012" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6057"
+ id="linearGradient6063"
+ x1="22.717751"
+ y1="23.575481"
+ x2="22.806652"
+ y2="34.106575"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient6057">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6059" />
+ <stop
+ id="stop6107"
+ offset="0.5"
+ style="stop-color:#b9b9b9;stop-opacity:1;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6061" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6077"
+ id="linearGradient6045"
+ gradientUnits="userSpaceOnUse"
+ x1="28.311356"
+ y1="6.6647797"
+ x2="27.936356"
+ y2="42.119865"
+ gradientTransform="translate(-61.969987,6.4720582)" />
+ <linearGradient
+ id="linearGradient6077">
+ <stop
+ id="stop6079"
+ offset="0"
+ style="stop-color:#8c8c8c;stop-opacity:1" />
+ <stop
+ id="stop6081"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6193"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ id="linearGradient6341">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6343" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop6345" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6195"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5968"
+ id="linearGradient5974"
+ x1="29.308222"
+ y1="45.924133"
+ x2="29.308222"
+ y2="0.78541183"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.97424531,0,0,1,-59.877557,0.1875)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5968">
+ <stop
+ style="stop-color:#b4b4b4;stop-opacity:1"
+ offset="0"
+ id="stop5970" />
+ <stop
+ id="stop6111"
+ offset="0.57293677"
+ style="stop-color:#e9e9e9;stop-opacity:1" />
+ <stop
+ style="stop-color:#e7e7e7;stop-opacity:1"
+ offset="1"
+ id="stop5972" />
+ </linearGradient>
+ <linearGradient
+ y2="0.78541183"
+ x2="29.308222"
+ y1="45.924133"
+ x1="29.308222"
+ gradientTransform="matrix(0.97424531,0,0,1,-61.847544,4.6595592)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient6388"
+ xlink:href="#linearGradient5968"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5968"
+ id="linearGradient7852"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.97424531,0,0,1,-61.847544,4.6595592)"
+ x1="29.308222"
+ y1="45.924133"
+ x2="29.308222"
+ y2="0.78541183" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient7854"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient7856"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6077"
+ id="linearGradient7858"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-61.969987,6.4720582)"
+ x1="28.311356"
+ y1="6.6647797"
+ x2="27.936356"
+ y2="42.119865" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6057"
+ id="linearGradient7860"
+ gradientUnits="userSpaceOnUse"
+ x1="22.717751"
+ y1="23.575481"
+ x2="22.806652"
+ y2="34.106575" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6008"
+ id="linearGradient7862"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.92020109,0,0,0.92020109,-60.104768,8.7993922)"
+ x1="19.211605"
+ y1="41.081333"
+ x2="18.27038"
+ y2="6.1793666" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6049"
+ id="linearGradient7864"
+ gradientUnits="userSpaceOnUse"
+ x1="23.114971"
+ y1="34.086388"
+ x2="23.354908"
+ y2="23.578178" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6083"
+ id="linearGradient7866"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60,0)"
+ x1="14.967111"
+ y1="2.3855319"
+ x2="14.967111"
+ y2="16.640585" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6065"
+ id="linearGradient7868"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.85691123,0,0,0.85691123,-57.553937,1.9004806)"
+ x1="18.104832"
+ y1="18.316957"
+ x2="18.040327"
+ y2="6.9715528" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient7870"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient7872"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6091"
+ id="linearGradient7874"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98990282,0,0,0.98990282,-61.730511,4.7162442)"
+ x1="40.854774"
+ y1="46.025497"
+ x2="6.7298694"
+ y2="3.0208516" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient7876"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient7878"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient7880"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient7882"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3892"
+ id="linearGradient3898"
+ x1="429.15128"
+ y1="599.56494"
+ x2="433.13641"
+ y2="610.92285"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2173731,0,0,1.2173731,-494.41383,-697.15354)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3892">
+ <stop
+ style="stop-color:#fffff8;stop-opacity:1;"
+ offset="0"
+ id="stop3894" />
+ <stop
+ style="stop-color:#fffff8;stop-opacity:0;"
+ offset="1"
+ id="stop3896" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3872"
+ id="linearGradient3908-2"
+ gradientUnits="userSpaceOnUse"
+ x1="434.15228"
+ y1="610.42682"
+ x2="432.16248"
+ y2="601.80182"
+ gradientTransform="matrix(1.2173731,0,0,1.2173731,-494.41383,-697.15354)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3872">
+ <stop
+ style="stop-color:#1a8f23;stop-opacity:1"
+ offset="0"
+ id="stop3874" />
+ <stop
+ style="stop-color:#66ee77;stop-opacity:1"
+ offset="1"
+ id="stop3876" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3872"
+ id="linearGradient4838"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2173731,0,0,1.2173731,-494.41383,-697.15354)"
+ x1="434.15228"
+ y1="610.42682"
+ x2="432.16248"
+ y2="601.80182" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3892"
+ id="linearGradient4840"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2173731,0,0,1.2173731,-494.41383,-697.15354)"
+ x1="429.15128"
+ y1="599.56494"
+ x2="433.13641"
+ y2="610.92285" />
+ <linearGradient
+ id="linearGradient3957-4">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-2" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11503-8-7"
+ id="linearGradient17098-1"
+ gradientUnits="userSpaceOnUse"
+ x1="31.542158"
+ y1="27.633146"
+ x2="39.232777"
+ y2="40.738911" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient11503-8-7">
+ <stop
+ style="stop-color:#ef2929"
+ offset="0"
+ id="stop11505-6-4" />
+ <stop
+ style="stop-color:#cc0000"
+ offset="1"
+ id="stop11507-7-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-4-4"
+ id="linearGradient17100-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.509273,0,0,0.473768,23.78749,24.00915)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ id="linearGradient3957-4-4">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-2-8" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-0-8" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11503-8-7"
+ id="linearGradient4333"
+ gradientUnits="userSpaceOnUse"
+ x1="31.542158"
+ y1="27.633146"
+ x2="39.232777"
+ y2="40.738911" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-4-4"
+ id="linearGradient4335"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.509273,0,0,0.473768,23.78749,24.00915)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-4-4"
+ id="linearGradient4338"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.3803581,0,0,0.3622212,40.383968,33.384509)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5118"
+ id="linearGradient5124"
+ x1="36.655178"
+ y1="43.743507"
+ x2="36.462975"
+ y2="29.292101"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5118"
+ id="linearGradient5132"
+ gradientUnits="userSpaceOnUse"
+ x1="36.655178"
+ y1="43.743507"
+ x2="36.462975"
+ y2="29.292101" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-4-4"
+ id="linearGradient5134"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.3803581,0,0,0.3622212,40.383968,33.384509)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.25490196"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="35.402915"
+ inkscape:cy="10.363869"
+ inkscape:current-layer="g21687"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1600"
+ inkscape:window-height="838"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:showpageshadow="false"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>cdrom</rdf:li>
+ <rdf:li>media</rdf:li>
+ <rdf:li>removable</rdf:li>
+ <rdf:li>cd</rdf:li>
+ <rdf:li>audio</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g5409">
+ <g
+ transform="translate(62.495332,-4.2036125)"
+ id="g7829">
+ <rect
+ style="fill:url(#linearGradient7852);fill-opacity:1;stroke:#808080;stroke-width:1.08234084;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="rect5198"
+ width="37.925812"
+ height="45.672237"
+ x="-57.215778"
+ y="5.8272643"
+ rx="2.023422"
+ ry="2.0769122" />
+ <g
+ id="g6159"
+ transform="matrix(0.75730905,0,0,0.75730905,-6.8017413,15.303281)">
+ <path
+ transform="translate(0.328125,-0.453125)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6113"
+ style="opacity:0.78761058;fill:url(#radialGradient7854);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7856);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6147"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)" />
+ </g>
+ <path
+ style="fill:none;stroke:url(#linearGradient7858);stroke-width:1.08524024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m -33.579701,11.829069 c -1.053346,0 -1.897283,0.336185 -1.897283,1.724802 -0.349391,3.90193 -7.520699,7.432837 -12.620959,12.555943 -2.224635,2.339362 -3.592185,5.498558 -3.592185,8.981807 0,7.224449 5.884051,13.079754 13.108499,13.079754 7.224449,0 13.079754,-5.855305 13.079754,-13.079754 0,-2.864507 -0.939302,-5.492021 -2.500964,-7.646625 l 0,-13.661151 c 0,-1.332659 -0.82745,-1.954776 -2.069763,-1.954776 z"
+ id="path5995"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="sccssscsss" />
+ <path
+ sodipodi:type="arc"
+ style="fill:none;stroke:url(#linearGradient7860);stroke-width:1.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6006"
+ sodipodi:cx="23"
+ sodipodi:cy="28.875"
+ sodipodi:rx="4.75"
+ sodipodi:ry="4.75"
+ d="m 27.75,28.875 c 0,2.623353 -2.126647,4.75 -4.75,4.75 -2.623353,0 -4.75,-2.126647 -4.75,-4.75 0,-2.623353 2.126647,-4.75 4.75,-4.75 2.623353,0 4.75,2.126647 4.75,4.75 z"
+ transform="matrix(0.91989475,0,0,0.91989475,-59.472608,8.5396742)" />
+ <path
+ sodipodi:nodetypes="sccssscsss"
+ inkscape:connector-curvature="0"
+ id="path6020"
+ d="m -32.948746,12.860546 c -1.411541,0 -1.464632,-0.06564 -1.464632,1.087165 -0.79026,4.49681 -8.233056,8.208077 -12.926319,12.922365 -2.047112,2.152683 -3.305534,5.059779 -3.305534,8.265068 0,6.647946 5.414511,12.036004 12.062455,12.036004 6.647946,0 12.036004,-5.388058 12.036004,-12.036004 0,-2.979671 -1.176847,-5.616263 -2.52014,-7.317683 l 0,-13.626878 c 0,-1.226315 -0.261421,-1.330037 -1.404599,-1.330037 z"
+ style="fill:none;stroke:url(#linearGradient7862);stroke-width:0.99863923;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ transform="matrix(0.73157083,0,0,0.73157083,-55.141158,13.977527)"
+ d="m 27.75,28.875 c 0,2.623353 -2.126647,4.75 -4.75,4.75 -2.623353,0 -4.75,-2.126647 -4.75,-4.75 0,-2.623353 2.126647,-4.75 4.75,-4.75 2.623353,0 4.75,2.126647 4.75,4.75 z"
+ sodipodi:ry="4.75"
+ sodipodi:rx="4.75"
+ sodipodi:cy="28.875"
+ sodipodi:cx="23"
+ id="path6047"
+ style="fill:none;stroke:url(#linearGradient7864);stroke-width:1.3928932;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ <g
+ transform="translate(-1.9699873,4.4720592)"
+ id="g6227">
+ <path
+ sodipodi:nodetypes="cccscsc"
+ inkscape:connector-curvature="0"
+ id="path6004"
+ d="m -49.723391,15.766028 0,-5.956679 c 0,-1.9747549 0.720085,-2.6116057 2.026623,-2.6116057 2.490645,-0.083222 6.700434,-0.024317 9.114109,-0.024317 2.952952,0 3.468191,1.6055538 0.554883,3.9038907 -2.14002,1.745447 -3.738746,3.427527 -6.742857,5.858465 -2.149829,1.739649 -4.952758,2.0649 -4.952758,-1.169754 z"
+ style="fill:none;stroke:url(#linearGradient7866);stroke-width:1.02364969px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="fill:none;stroke:url(#linearGradient7868);stroke-width:0.87717688px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m -48.747795,15.29064 -0.01563,-4.203168 c 0,-1.6921899 0.632674,-2.9566645 2.674136,-2.9566645 2.134261,-0.071314 4.996578,-0.061241 7.064884,-0.061241 2.530418,0 2.684669,0.4256423 0.188223,2.3951135 -1.833807,1.495693 -4.574945,4.040079 -7.149203,6.123178 -1.269396,1.027199 -2.762415,0.883643 -2.76241,-1.297218 z"
+ id="path6073"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscsc" />
+ </g>
+ <g
+ transform="matrix(0.75730905,0,0,0.75730905,-6.8017413,-21.321719)"
+ id="g6207">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:url(#radialGradient7870);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6209"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="translate(0.328125,-0.453125)" />
+ <path
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6211"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7872);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ </g>
+ <rect
+ y="7.0934958"
+ x="-55.982082"
+ height="43.124149"
+ width="35.458416"
+ id="rect6089"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7874);stroke-width:1.30568182;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ ry="0.98889953"
+ rx="0.97983909" />
+ <g
+ transform="matrix(0.75730905,0,0,0.75730905,-35.614241,15.303281)"
+ id="g6197">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:url(#radialGradient7876);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6199"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="translate(0.328125,-0.453125)" />
+ <path
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6201"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7878);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ </g>
+ <g
+ id="g6213"
+ transform="matrix(0.75730905,0,0,0.75730905,-35.614241,-21.321719)">
+ <path
+ transform="translate(0.328125,-0.453125)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6215"
+ style="opacity:0.78761058;fill:url(#radialGradient7880);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7882);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6217"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)" />
+ </g>
+ </g>
+ </g>
+ <g
+ id="g5126"
+ transform="matrix(0.8007217,0,0,0.8007217,7.260228,8.2521119)">
+ <g
+ transform="matrix(0.94946437,0,0,0.94437814,-11.17546,0.38660742)"
+ id="g21687">
+ <path
+ sodipodi:type="arc"
+ style="fill:url(#linearGradient5132);fill-opacity:1;stroke:#15761d;stroke-width:0.86845565000000002;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path21691"
+ sodipodi:cx="36.769554"
+ sodipodi:cy="36.818874"
+ sodipodi:rx="8.087534"
+ sodipodi:ry="8.087534"
+ d="m 44.857088,36.818874 c 0,4.466622 -3.620912,8.087534 -8.087534,8.087534 -4.466622,0 -8.087534,-3.620912 -8.087534,-8.087534 0,-4.466621 3.620912,-8.087534 8.087534,-8.087534 4.466622,0 8.087534,3.620913 8.087534,8.087534 z"
+ transform="matrix(0.98796326,0,0,0.99201456,13.117671,5.2639673)" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.3;fill:none;stroke:#ffffff;stroke-width:1.14962852;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="path21695"
+ sodipodi:cx="36.769554"
+ sodipodi:cy="36.818874"
+ sodipodi:rx="8.087534"
+ sodipodi:ry="8.087534"
+ d="m 44.857088,36.818874 a 8.087534,8.087534 0 1 1 -16.175068,0 8.087534,8.087534 0 1 1 16.175068,0 z"
+ transform="matrix(0.85692245,0,0,0.87841053,17.913287,9.4473525)" />
+ <path
+ sodipodi:nodetypes="czssc"
+ id="path21697"
+ d="m 56.880353,41.250319 c 0,3.923077 -3.93835,-2.269791 -7.103082,0.139956 -3.090909,2.353537 -7.834214,4.415675 -7.834214,0.492597 0,-4.014878 3.30736,-7.73958 7.426871,-7.73958 4.11951,0 7.510425,3.183948 7.510425,7.107027 z"
+ style="fill:url(#linearGradient5134);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/disk_error.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/disk_error.svg
new file mode 100644
index 00000000..1dda3bbf
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/disk_error.svg
@@ -0,0 +1,1991 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48.000000px"
+ height="48.000000px"
+ id="svg3077"
+ sodipodi:version="0.32"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="disk_available.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient4247"
+ inkscape:collect="always">
+ <stop
+ id="stop4249"
+ offset="0"
+ style="stop-color:#0045bd;stop-opacity:1" />
+ <stop
+ id="stop4251"
+ offset="1"
+ style="stop-color:#fcb500;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient35212">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop35214" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop35216" />
+ </linearGradient>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective91" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient23419">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop23421" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop23423" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3435"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#ffffc8;stop-opacity:1.0000000;"
+ id="stop3437" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a91ef;stop-opacity:0.0000000;"
+ id="stop3439" />
+ </linearGradient>
+ <linearGradient
+ y2="14.2033"
+ x2="35.3912"
+ y1="32.4165"
+ x1="12.2744"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3421">
+ <stop
+ id="stop3423"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000" />
+ <stop
+ id="stop3427"
+ style="stop-color:#b8c04c;stop-opacity:0.0000000;"
+ offset="1.0000000" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3406"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#b307ff;stop-opacity:0.82178217;"
+ id="stop3408" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#f0ff8b;stop-opacity:0.64356434;"
+ id="stop3410" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ id="stop3412" />
+ </linearGradient>
+ <linearGradient
+ y2="14.2033"
+ x2="35.3912"
+ y1="32.4165"
+ x1="12.2744"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3394">
+ <stop
+ id="stop3396"
+ style="stop-color:#fff307;stop-opacity:1.0000000;"
+ offset="0.0000000" />
+ <stop
+ id="stop3398"
+ style="stop-color:#166eff;stop-opacity:1.0000000;"
+ offset="0.50000000" />
+ <stop
+ id="stop3400"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="1.0000000" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6036">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop6038" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop6040" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6028">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop6030" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop6032" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4236">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.32673267;"
+ offset="0.0000000"
+ id="stop4238" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.60396039;"
+ offset="1.0000000"
+ id="stop4240" />
+ </linearGradient>
+ <linearGradient
+ id="aigrd2"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033">
+ <stop
+ offset="0"
+ style="stop-color:#FBFBFB"
+ id="stop3043" />
+ <stop
+ offset="0.5"
+ style="stop-color:#B6B6B6"
+ id="stop3045" />
+ <stop
+ offset="1"
+ style="stop-color:#E4E4E4"
+ id="stop3047" />
+ </linearGradient>
+ <linearGradient
+ id="aigrd1"
+ gradientUnits="userSpaceOnUse"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075">
+ <stop
+ offset="0"
+ style="stop-color:#EBEBEB"
+ id="stop3034" />
+ <stop
+ offset="0.5"
+ style="stop-color:#FFFFFF"
+ id="stop3036" />
+ <stop
+ offset="1"
+ style="stop-color:#EBEBEB"
+ id="stop3038" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient3912"
+ gradientUnits="userSpaceOnUse"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075"
+ gradientTransform="matrix(1.190476,0.000000,0.000000,1.190476,-4.224424,-2.500000)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient4222"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.250000,0.000000,0.000000,1.250000,-5.652995,-2.604165)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient4224"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.250000,0.000000,0.000000,1.250000,-5.652995,-2.604165)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="linearGradient4242"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0.000000,0.000000,1.190476,-4.224424,-2.500001)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6028"
+ id="linearGradient6034"
+ x1="28.702885"
+ y1="31.494707"
+ x2="17.742729"
+ y2="18.366575"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036"
+ id="linearGradient6042"
+ x1="10.501720"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ gradientTransform="matrix(0.848684,0.958020,-0.782119,0.692834,18.69147,-20.52578)"
+ gradientUnits="userSpaceOnUse"
+ r="21.333334"
+ fy="27.569166"
+ fx="37.751469"
+ cy="27.569166"
+ cx="37.751469"
+ id="radialGradient3392"
+ xlink:href="#linearGradient3394"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="48.238270"
+ fx="53.556889"
+ cy="48.238270"
+ cx="53.556889"
+ gradientTransform="matrix(0.158450,-0.158988,0.432907,0.431441,-2.723645,15.00107)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3429"
+ xlink:href="#linearGradient3421"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="33.377594"
+ fx="16.885271"
+ cy="33.377594"
+ cx="16.885271"
+ gradientTransform="matrix(5.184267e-3,-0.122860,0.544548,2.297824e-2,0.957234,26.30756)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3433"
+ xlink:href="#linearGradient3435"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="21.618015"
+ fx="35.511295"
+ cy="21.618015"
+ cx="35.511295"
+ gradientTransform="matrix(0.105916,-1.914240e-2,0.104789,0.579807,17.13693,7.115158)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3443"
+ xlink:href="#linearGradient3435"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientTransform="matrix(-5.048220e-2,1.387847e-2,-0.128440,-0.467196,35.41257,39.44172)"
+ r="21.333334"
+ fy="23.914305"
+ fx="133.84108"
+ cy="23.914305"
+ cx="133.84108"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3447"
+ xlink:href="#linearGradient3435"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="38.807304"
+ fx="26.137741"
+ cy="38.807304"
+ cx="26.137741"
+ gradientTransform="matrix(0.769501,-1.242500,0.670300,0.415141,-21.77857,41.36563)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3449"
+ xlink:href="#linearGradient3406"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient23343"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.5)"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="linearGradient23345"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.500001)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23347"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23349"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036"
+ id="linearGradient23351"
+ gradientUnits="userSpaceOnUse"
+ x1="10.501720"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6028"
+ id="linearGradient23353"
+ gradientUnits="userSpaceOnUse"
+ x1="28.702885"
+ y1="31.494707"
+ x2="17.742729"
+ y2="18.366575" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3394"
+ id="radialGradient23355"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.848684,0.95802,-0.782119,0.692834,18.69147,-20.52578)"
+ cx="37.751469"
+ cy="27.569166"
+ fx="37.751469"
+ fy="27.569166"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3406"
+ id="radialGradient23357"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.769501,-1.2425,0.6703,0.415141,-21.77857,41.36563)"
+ cx="26.137741"
+ cy="38.807304"
+ fx="26.137741"
+ fy="38.807304"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3421"
+ id="radialGradient23359"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.15845,-0.158988,0.432907,0.431441,-2.723645,15.00107)"
+ cx="53.556889"
+ cy="48.238270"
+ fx="53.556889"
+ fy="48.238270"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23361"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(5.184267e-3,-0.12286,0.544548,2.297824e-2,0.957234,26.30756)"
+ cx="16.885271"
+ cy="33.377594"
+ fx="16.885271"
+ fy="33.377594"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23363"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.105916,-1.91424e-2,0.104789,0.579807,17.13693,7.115158)"
+ cx="35.511295"
+ cy="21.618015"
+ fx="35.511295"
+ fy="21.618015"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23365"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-5.04822e-2,1.387847e-2,-0.12844,-0.467196,35.41257,39.44172)"
+ cx="133.84108"
+ cy="23.914305"
+ fx="133.84108"
+ fy="23.914305"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23368"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-5.04822e-2,1.387847e-2,-0.12844,-0.467196,35.41257,39.44172)"
+ cx="133.84108"
+ cy="23.914305"
+ fx="133.84108"
+ fy="23.914305"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23371"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.105916,-1.91424e-2,0.104789,0.579807,17.13693,7.115158)"
+ cx="35.511295"
+ cy="21.618015"
+ fx="35.511295"
+ fy="21.618015"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23374"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(5.184267e-3,-0.12286,0.544548,2.297824e-2,0.957234,26.30756)"
+ cx="16.885271"
+ cy="33.377594"
+ fx="16.885271"
+ fy="33.377594"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3421"
+ id="radialGradient23377"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.15845,-0.158988,0.432907,0.431441,-2.723645,15.00107)"
+ cx="53.556889"
+ cy="48.238270"
+ fx="53.556889"
+ fy="48.238270"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3406"
+ id="radialGradient23380"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.769501,-1.2425,0.6703,0.415141,-21.77857,41.36563)"
+ cx="26.137741"
+ cy="38.807304"
+ fx="26.137741"
+ fy="38.807304"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3394"
+ id="radialGradient23383"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.848684,0.95802,-0.782119,0.692834,18.69147,-20.52578)"
+ cx="37.751469"
+ cy="27.569166"
+ fx="37.751469"
+ fy="27.569166"
+ r="21.333334" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036"
+ id="linearGradient23387"
+ gradientUnits="userSpaceOnUse"
+ x1="10.501720"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23390"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23393"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="linearGradient23397"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.500001)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient23400"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.5)"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient23419"
+ id="radialGradient23425"
+ cx="23.334524"
+ cy="41.63604"
+ fx="23.334524"
+ fy="41.63604"
+ r="22.627417"
+ gradientTransform="matrix(1,0,0,0.25,0,31.22703)"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8662"
+ id="radialGradient8668"
+ cx="24.837126"
+ cy="36.421127"
+ fx="24.837126"
+ fy="36.421127"
+ r="15.644737"
+ gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient8662">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop8664" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop8666" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ inkscape:collect="always"
+ xlink:href="#linearGradient4247"
+ id="linearGradient2314"
+ x1="90.61982"
+ y1="52.190975"
+ x2="-57.421551"
+ y2="-5.4606466"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2308">
+ <stop
+ style="stop-color:#aa4400;stop-opacity:1"
+ offset="0"
+ id="stop2310" />
+ <stop
+ style="stop-color:#fcb500;stop-opacity:1"
+ offset="1"
+ id="stop2312" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316">
+ <stop
+ style="stop-color:#aa4400;stop-opacity:1"
+ offset="0"
+ id="stop2318" />
+ <stop
+ style="stop-color:#d89b00;stop-opacity:1"
+ offset="1"
+ id="stop2320" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2187"
+ id="linearGradient1764"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-1.171926,-1.171926,0,112.4458,23.78835)"
+ x1="17.060806"
+ y1="11.39502"
+ x2="12.624337"
+ y2="12.583769" />
+ <linearGradient
+ id="linearGradient2187"
+ inkscape:collect="always">
+ <stop
+ id="stop2189"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2191"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2326"
+ id="radialGradient2332"
+ cx="15.09403"
+ cy="13.282721"
+ fx="15.09403"
+ fy="13.282721"
+ r="10.16466"
+ gradientTransform="matrix(2.496031,0,0,2.300689,41.14738,-48.13912)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2326">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2328" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2330" />
+ </linearGradient>
+ <radialGradient
+ r="15.644737"
+ fy="36.421127"
+ fx="24.837126"
+ cy="36.421127"
+ cx="24.837126"
+ gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient31709"
+ xlink:href="#linearGradient8662"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2308-0"
+ id="linearGradient3485"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.47369448,-0.47369448,0,99.704257,8.7500421)"
+ x1="27.027767"
+ y1="13.535172"
+ x2="19.751877"
+ y2="395.62497" />
+ <linearGradient
+ id="linearGradient2308-0"
+ inkscape:collect="always">
+ <stop
+ id="stop2310-5"
+ offset="0"
+ style="stop-color:#edd400;stop-opacity:1;" />
+ <stop
+ id="stop2312-2"
+ offset="1"
+ style="stop-color:#edd400;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2316-0"
+ id="linearGradient3487"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.47369448,-0.47369448,0,99.704257,8.7500421)"
+ x1="27.027767"
+ y1="13.535172"
+ x2="19.751877"
+ y2="395.62497" />
+ <linearGradient
+ id="linearGradient2316-0">
+ <stop
+ id="stop2318-7"
+ offset="0"
+ style="stop-color:#c4a000;stop-opacity:1;" />
+ <stop
+ id="stop2320-5"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2187-6"
+ id="linearGradient3489"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.55513488,0,0,-0.55513488,74.07686,30.6226)"
+ x1="17.060806"
+ y1="11.39502"
+ x2="-0.99847859"
+ y2="8.6995773" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2187-6">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2189-1" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2191-8" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2326-1"
+ id="radialGradient3491"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,1.1823561,-1.0898237,0,108.1485,-3.1510675)"
+ cx="15.09403"
+ cy="13.282721"
+ fx="15.09403"
+ fy="13.282721"
+ r="10.16466" />
+ <linearGradient
+ id="linearGradient2326-1"
+ inkscape:collect="always">
+ <stop
+ id="stop2328-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ r="10.16466"
+ fy="13.282721"
+ fx="15.09403"
+ cy="13.282721"
+ cx="15.09403"
+ gradientTransform="matrix(0,0.78187591,-0.61655067,0,79.03229,4.8548625)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient34355"
+ xlink:href="#linearGradient2326-1"
+ inkscape:collect="always" />
+ <radialGradient
+ r="10.16466"
+ fy="13.282721"
+ fx="15.09403"
+ cy="13.282721"
+ cx="15.09403"
+ gradientTransform="matrix(0,0.78187591,-0.61655067,0,79.03229,4.8548625)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient34355-3"
+ xlink:href="#linearGradient2326-1-7"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2326-1-7"
+ inkscape:collect="always">
+ <stop
+ id="stop2328-8-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2308"
+ id="linearGradient3908"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="90.61982"
+ y1="52.190975"
+ x2="-57.421551"
+ y2="-5.4606466" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212"
+ id="linearGradient3910"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient16236"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5">
+ <stop
+ id="stop4136-4-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2" />
+ <stop
+ id="stop4138-2-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient16238"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7">
+ <stop
+ id="stop4208-5-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient16240"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient16242"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7">
+ <stop
+ id="stop7212-33"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient16244"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3805">
+ <stop
+ id="stop3807"
+ offset="0"
+ style="stop-color:#ffff00;stop-opacity:1" />
+ <stop
+ id="stop3809"
+ offset="1"
+ style="stop-color:#ff0000;stop-opacity:1" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3805"
+ id="radialGradient3633"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-5.4639021,0.0659146,-0.13183442,-10.928213,172.2856,87.181205)"
+ cx="11.021463"
+ cy="7.5991845"
+ fx="11.021463"
+ fy="7.5991845"
+ r="3.4126534" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient4586"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="56.619678"
+ y1="38.098812"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ id="linearGradient4255">
+ <stop
+ style="stop-color:#2a5285;stop-opacity:1;"
+ offset="0"
+ id="stop4257" />
+ <stop
+ style="stop-color:#9acbff;stop-opacity:1;"
+ offset="1"
+ id="stop4259" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-1"
+ id="linearGradient4588"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient35212-1">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop35214-2" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop35216-6" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient4253"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="51.064072"
+ y1="36.929211"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ id="linearGradient6262">
+ <stop
+ style="stop-color:#2a5285;stop-opacity:1;"
+ offset="0"
+ id="stop6264" />
+ <stop
+ style="stop-color:#9acbff;stop-opacity:1;"
+ offset="1"
+ id="stop6266" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-1"
+ id="linearGradient35218"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6223"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ id="linearGradient6123">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6125" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop6127" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6225"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6151">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop6153" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6155" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6203"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ id="linearGradient6284">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6286" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop6288" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6205"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6091"
+ id="linearGradient6097"
+ x1="40.854774"
+ y1="46.025497"
+ x2="6.7298694"
+ y2="3.0208516"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98990282,0,0,0.98990282,-61.730511,4.7162442)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6091">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6093" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6095" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6219"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ id="linearGradient6302">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6304" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop6306" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6221"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6083"
+ id="linearGradient6071"
+ x1="14.967111"
+ y1="2.3855319"
+ x2="14.967111"
+ y2="16.640585"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60,0)" />
+ <linearGradient
+ id="linearGradient6083">
+ <stop
+ id="stop6085"
+ offset="0"
+ style="stop-color:#737373;stop-opacity:1" />
+ <stop
+ id="stop6087"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6065"
+ id="linearGradient6075"
+ gradientUnits="userSpaceOnUse"
+ x1="18.104832"
+ y1="18.316957"
+ x2="18.040327"
+ y2="6.9715528"
+ gradientTransform="matrix(0.85691123,0,0,0.85691123,-57.553937,1.9004806)" />
+ <linearGradient
+ id="linearGradient6065">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6067" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6069" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6049"
+ id="linearGradient6055"
+ x1="23.114971"
+ y1="34.086388"
+ x2="23.354908"
+ y2="23.578178"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6049">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6051" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6053" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6008"
+ id="linearGradient6035"
+ gradientUnits="userSpaceOnUse"
+ x1="19.211605"
+ y1="41.081333"
+ x2="18.27038"
+ y2="6.1793666"
+ gradientTransform="matrix(0.92020109,0,0,0.92020109,-60.104768,8.7993922)" />
+ <linearGradient
+ id="linearGradient6008">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6010" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6012" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6057"
+ id="linearGradient6063"
+ x1="22.717751"
+ y1="23.575481"
+ x2="22.806652"
+ y2="34.106575"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient6057">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6059" />
+ <stop
+ id="stop6107"
+ offset="0.5"
+ style="stop-color:#b9b9b9;stop-opacity:1;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6061" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6077"
+ id="linearGradient6045"
+ gradientUnits="userSpaceOnUse"
+ x1="28.311356"
+ y1="6.6647797"
+ x2="27.936356"
+ y2="42.119865"
+ gradientTransform="translate(-61.969987,6.4720582)" />
+ <linearGradient
+ id="linearGradient6077">
+ <stop
+ id="stop6079"
+ offset="0"
+ style="stop-color:#8c8c8c;stop-opacity:1" />
+ <stop
+ id="stop6081"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6193"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ id="linearGradient6341">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6343" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop6345" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6195"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5968"
+ id="linearGradient5974"
+ x1="29.308222"
+ y1="45.924133"
+ x2="29.308222"
+ y2="0.78541183"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.97424531,0,0,1,-59.877557,0.1875)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5968">
+ <stop
+ style="stop-color:#b4b4b4;stop-opacity:1"
+ offset="0"
+ id="stop5970" />
+ <stop
+ id="stop6111"
+ offset="0.57293677"
+ style="stop-color:#e9e9e9;stop-opacity:1" />
+ <stop
+ style="stop-color:#e7e7e7;stop-opacity:1"
+ offset="1"
+ id="stop5972" />
+ </linearGradient>
+ <linearGradient
+ y2="0.78541183"
+ x2="29.308222"
+ y1="45.924133"
+ x1="29.308222"
+ gradientTransform="matrix(0.97424531,0,0,1,-61.847544,4.6595592)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient6388"
+ xlink:href="#linearGradient5968"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5968"
+ id="linearGradient7852"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.97424531,0,0,1,-61.847544,4.6595592)"
+ x1="29.308222"
+ y1="45.924133"
+ x2="29.308222"
+ y2="0.78541183" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient7854"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient7856"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6077"
+ id="linearGradient7858"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-61.969987,6.4720582)"
+ x1="28.311356"
+ y1="6.6647797"
+ x2="27.936356"
+ y2="42.119865" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6057"
+ id="linearGradient7860"
+ gradientUnits="userSpaceOnUse"
+ x1="22.717751"
+ y1="23.575481"
+ x2="22.806652"
+ y2="34.106575" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6008"
+ id="linearGradient7862"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.92020109,0,0,0.92020109,-60.104768,8.7993922)"
+ x1="19.211605"
+ y1="41.081333"
+ x2="18.27038"
+ y2="6.1793666" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6049"
+ id="linearGradient7864"
+ gradientUnits="userSpaceOnUse"
+ x1="23.114971"
+ y1="34.086388"
+ x2="23.354908"
+ y2="23.578178" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6083"
+ id="linearGradient7866"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60,0)"
+ x1="14.967111"
+ y1="2.3855319"
+ x2="14.967111"
+ y2="16.640585" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6065"
+ id="linearGradient7868"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.85691123,0,0,0.85691123,-57.553937,1.9004806)"
+ x1="18.104832"
+ y1="18.316957"
+ x2="18.040327"
+ y2="6.9715528" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient7870"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient7872"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6091"
+ id="linearGradient7874"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98990282,0,0,0.98990282,-61.730511,4.7162442)"
+ x1="40.854774"
+ y1="46.025497"
+ x2="6.7298694"
+ y2="3.0208516" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient7876"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient7878"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient7880"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient7882"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3892"
+ id="linearGradient3898"
+ x1="429.15128"
+ y1="599.56494"
+ x2="433.13641"
+ y2="610.92285"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2173731,0,0,1.2173731,-494.41383,-697.15354)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3892">
+ <stop
+ style="stop-color:#fffff8;stop-opacity:1;"
+ offset="0"
+ id="stop3894" />
+ <stop
+ style="stop-color:#fffff8;stop-opacity:0;"
+ offset="1"
+ id="stop3896" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3872"
+ id="linearGradient3908-2"
+ gradientUnits="userSpaceOnUse"
+ x1="434.15228"
+ y1="610.42682"
+ x2="432.16248"
+ y2="601.80182"
+ gradientTransform="matrix(1.2173731,0,0,1.2173731,-494.41383,-697.15354)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3872">
+ <stop
+ style="stop-color:#1a8f23;stop-opacity:1"
+ offset="0"
+ id="stop3874" />
+ <stop
+ style="stop-color:#66ee77;stop-opacity:1"
+ offset="1"
+ id="stop3876" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3872"
+ id="linearGradient4838"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2173731,0,0,1.2173731,-494.41383,-697.15354)"
+ x1="434.15228"
+ y1="610.42682"
+ x2="432.16248"
+ y2="601.80182" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3892"
+ id="linearGradient4840"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2173731,0,0,1.2173731,-494.41383,-697.15354)"
+ x1="429.15128"
+ y1="599.56494"
+ x2="433.13641"
+ y2="610.92285" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3805-1"
+ id="radialGradient4452"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-5.4639021,0.0659146,-0.13183442,-10.928213,172.2856,87.181205)"
+ cx="11.021463"
+ cy="7.5991845"
+ fx="11.021463"
+ fy="7.5991845"
+ r="3.4126534" />
+ <linearGradient
+ id="linearGradient3805-1">
+ <stop
+ id="stop3807-7"
+ offset="0"
+ style="stop-color:#ffff00;stop-opacity:1" />
+ <stop
+ id="stop3809-4"
+ offset="1"
+ style="stop-color:#ff0000;stop-opacity:1" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3805-9"
+ id="radialGradient4452-0"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-5.4639021,0.0659146,-0.13183442,-10.928213,172.2856,87.181205)"
+ cx="11.021463"
+ cy="7.5991845"
+ fx="11.021463"
+ fy="7.5991845"
+ r="3.4126534" />
+ <linearGradient
+ id="linearGradient3805-9">
+ <stop
+ id="stop3807-4"
+ offset="0"
+ style="stop-color:#ffff00;stop-opacity:1" />
+ <stop
+ id="stop3809-8"
+ offset="1"
+ style="stop-color:#ff0000;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11503-8"
+ id="linearGradient11098"
+ gradientUnits="userSpaceOnUse"
+ x1="31.542158"
+ y1="27.633146"
+ x2="39.232777"
+ y2="40.738911" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient11503-8">
+ <stop
+ style="stop-color:#ef2929"
+ offset="0"
+ id="stop11505-6" />
+ <stop
+ style="stop-color:#cc0000"
+ offset="1"
+ id="stop11507-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-4"
+ id="linearGradient11100"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.509273,0,0,0.473768,23.78749,24.00915)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ id="linearGradient3957-4">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-2" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11503-8"
+ id="linearGradient17098"
+ gradientUnits="userSpaceOnUse"
+ x1="31.542158"
+ y1="27.633146"
+ x2="39.232777"
+ y2="40.738911" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-4"
+ id="linearGradient17100"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.509273,0,0,0.473768,23.78749,24.00915)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.25490196"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="51.178002"
+ inkscape:cy="10.723675"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1600"
+ inkscape:window-height="838"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:showpageshadow="false"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>cdrom</rdf:li>
+ <rdf:li>media</rdf:li>
+ <rdf:li>removable</rdf:li>
+ <rdf:li>cd</rdf:li>
+ <rdf:li>audio</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g5409">
+ <g
+ transform="translate(62.495332,-4.2036125)"
+ id="g7829">
+ <rect
+ style="fill:url(#linearGradient7852);fill-opacity:1;stroke:#808080;stroke-width:1.08234084;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="rect5198"
+ width="37.925812"
+ height="45.672237"
+ x="-57.215778"
+ y="5.8272643"
+ rx="2.023422"
+ ry="2.0769122" />
+ <g
+ id="g6159"
+ transform="matrix(0.75730905,0,0,0.75730905,-6.8017413,15.303281)">
+ <path
+ transform="translate(0.328125,-0.453125)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6113"
+ style="opacity:0.78761058;fill:url(#radialGradient7854);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7856);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6147"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)" />
+ </g>
+ <path
+ style="fill:none;stroke:url(#linearGradient7858);stroke-width:1.08524024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m -33.579701,11.829069 c -1.053346,0 -1.897283,0.336185 -1.897283,1.724802 -0.349391,3.90193 -7.520699,7.432837 -12.620959,12.555943 -2.224635,2.339362 -3.592185,5.498558 -3.592185,8.981807 0,7.224449 5.884051,13.079754 13.108499,13.079754 7.224449,0 13.079754,-5.855305 13.079754,-13.079754 0,-2.864507 -0.939302,-5.492021 -2.500964,-7.646625 l 0,-13.661151 c 0,-1.332659 -0.82745,-1.954776 -2.069763,-1.954776 z"
+ id="path5995"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="sccssscsss" />
+ <path
+ sodipodi:type="arc"
+ style="fill:none;stroke:url(#linearGradient7860);stroke-width:1.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6006"
+ sodipodi:cx="23"
+ sodipodi:cy="28.875"
+ sodipodi:rx="4.75"
+ sodipodi:ry="4.75"
+ d="m 27.75,28.875 c 0,2.623353 -2.126647,4.75 -4.75,4.75 -2.623353,0 -4.75,-2.126647 -4.75,-4.75 0,-2.623353 2.126647,-4.75 4.75,-4.75 2.623353,0 4.75,2.126647 4.75,4.75 z"
+ transform="matrix(0.91989475,0,0,0.91989475,-59.472608,8.5396742)" />
+ <path
+ sodipodi:nodetypes="sccssscsss"
+ inkscape:connector-curvature="0"
+ id="path6020"
+ d="m -32.948746,12.860546 c -1.411541,0 -1.464632,-0.06564 -1.464632,1.087165 -0.79026,4.49681 -8.233056,8.208077 -12.926319,12.922365 -2.047112,2.152683 -3.305534,5.059779 -3.305534,8.265068 0,6.647946 5.414511,12.036004 12.062455,12.036004 6.647946,0 12.036004,-5.388058 12.036004,-12.036004 0,-2.979671 -1.176847,-5.616263 -2.52014,-7.317683 l 0,-13.626878 c 0,-1.226315 -0.261421,-1.330037 -1.404599,-1.330037 z"
+ style="fill:none;stroke:url(#linearGradient7862);stroke-width:0.99863923;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ transform="matrix(0.73157083,0,0,0.73157083,-55.141158,13.977527)"
+ d="m 27.75,28.875 c 0,2.623353 -2.126647,4.75 -4.75,4.75 -2.623353,0 -4.75,-2.126647 -4.75,-4.75 0,-2.623353 2.126647,-4.75 4.75,-4.75 2.623353,0 4.75,2.126647 4.75,4.75 z"
+ sodipodi:ry="4.75"
+ sodipodi:rx="4.75"
+ sodipodi:cy="28.875"
+ sodipodi:cx="23"
+ id="path6047"
+ style="fill:none;stroke:url(#linearGradient7864);stroke-width:1.3928932;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ <g
+ transform="translate(-1.9699873,4.4720592)"
+ id="g6227">
+ <path
+ sodipodi:nodetypes="cccscsc"
+ inkscape:connector-curvature="0"
+ id="path6004"
+ d="m -49.723391,15.766028 0,-5.956679 c 0,-1.9747549 0.720085,-2.6116057 2.026623,-2.6116057 2.490645,-0.083222 6.700434,-0.024317 9.114109,-0.024317 2.952952,0 3.468191,1.6055538 0.554883,3.9038907 -2.14002,1.745447 -3.738746,3.427527 -6.742857,5.858465 -2.149829,1.739649 -4.952758,2.0649 -4.952758,-1.169754 z"
+ style="fill:none;stroke:url(#linearGradient7866);stroke-width:1.02364969px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="fill:none;stroke:url(#linearGradient7868);stroke-width:0.87717688px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m -48.747795,15.29064 -0.01563,-4.203168 c 0,-1.6921899 0.632674,-2.9566645 2.674136,-2.9566645 2.134261,-0.071314 4.996578,-0.061241 7.064884,-0.061241 2.530418,0 2.684669,0.4256423 0.188223,2.3951135 -1.833807,1.495693 -4.574945,4.040079 -7.149203,6.123178 -1.269396,1.027199 -2.762415,0.883643 -2.76241,-1.297218 z"
+ id="path6073"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscsc" />
+ </g>
+ <g
+ transform="matrix(0.75730905,0,0,0.75730905,-6.8017413,-21.321719)"
+ id="g6207">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:url(#radialGradient7870);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6209"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="translate(0.328125,-0.453125)" />
+ <path
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6211"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7872);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ </g>
+ <rect
+ y="7.0934958"
+ x="-55.982082"
+ height="43.124149"
+ width="35.458416"
+ id="rect6089"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7874);stroke-width:1.30568182;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ ry="0.98889953"
+ rx="0.97983909" />
+ <g
+ transform="matrix(0.75730905,0,0,0.75730905,-35.614241,15.303281)"
+ id="g6197">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:url(#radialGradient7876);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6199"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="translate(0.328125,-0.453125)" />
+ <path
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6201"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7878);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ </g>
+ <g
+ id="g6213"
+ transform="matrix(0.75730905,0,0,0.75730905,-35.614241,-21.321719)">
+ <path
+ transform="translate(0.328125,-0.453125)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6215"
+ style="opacity:0.78761058;fill:url(#radialGradient7880);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7882);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6217"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)" />
+ </g>
+ </g>
+ </g>
+ <g
+ id="g17088"
+ transform="matrix(0.92750087,0,0,0.92750087,-34.064342,5.886219)">
+ <g
+ transform="matrix(1.0236803,0,0,1.0181965,46.241339,-5.9294949)"
+ id="g21687">
+ <g
+ transform="matrix(0.84658759,0,0,0.84658759,-3.1691781,11.057179)"
+ id="g21689">
+ <path
+ transform="matrix(1.292963,0,0,1.298265,-11.62357,-12.79906)"
+ d="m 44.857088,36.818874 c 0,4.466622 -3.620912,8.087534 -8.087534,8.087534 -4.466622,0 -8.087534,-3.620912 -8.087534,-8.087534 0,-4.466621 3.620912,-8.087534 8.087534,-8.087534 4.466622,0 8.087534,3.620913 8.087534,8.087534 z"
+ sodipodi:ry="8.087534"
+ sodipodi:rx="8.087534"
+ sodipodi:cy="36.818874"
+ sodipodi:cx="36.769554"
+ id="path21691"
+ style="fill:url(#linearGradient17098);fill-opacity:1;stroke:#a40000;stroke-width:0.77183652;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(1.172757,0,0,1.174351,-7.233043,-8.235886)"
+ d="m 44.857088,36.818874 c 0,4.466622 -3.620912,8.087534 -8.087534,8.087534 -4.466622,0 -8.087534,-3.620912 -8.087534,-8.087534 0,-4.466621 3.620912,-8.087534 8.087534,-8.087534 4.466622,0 8.087534,3.620913 8.087534,8.087534 z"
+ sodipodi:ry="8.087534"
+ sodipodi:rx="8.087534"
+ sodipodi:cy="36.818874"
+ sodipodi:cx="36.769554"
+ id="path21695"
+ style="opacity:0.3;fill:none;stroke:#ffffff;stroke-width:0.85211307;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="fill:url(#linearGradient17100);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 45.875,34.297252 c 0,5.131198 -5.273176,-2.968777 -9.510532,0.183057 C 32.225956,37.558622 25.875,40.2558 25.875,35.124602 c 0,-5.251269 4.428326,-10.123 9.944064,-10.123 5.515736,0 10.055936,4.164451 10.055936,9.29565 z"
+ id="path21697"
+ sodipodi:nodetypes="czssc" />
+ </g>
+ </g>
+ <g
+ transform="translate(0.25,0)"
+ id="g17084">
+ <path
+ sodipodi:nodetypes="ccccc"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 75.109514,36.866162 0.219457,-6.45565 -2.784021,-0.03735 0.22281,6.474539 z"
+ id="path3572-8"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path3574-2"
+ d="m 73.740827,40.925366 c 0,0 1.192445,-0.0027 1.368687,0.0062 l 7.07e-4,-2.211565 c -0.522822,0.0072 -1.792426,-0.0021 -2.315271,0.0013 0.0021,0.695713 -0.0089,1.489617 -0.02719,2.203986 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:nodetypes="cccccc" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/disk_initialisation.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/disk_initialisation.svg
new file mode 100644
index 00000000..5bffaa8f
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/disk_initialisation.svg
@@ -0,0 +1,2302 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48.000000px"
+ height="48.000000px"
+ id="svg3077"
+ sodipodi:version="0.32"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="disk_initialisation.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs3">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6151">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop6153" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6155" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6131">
+ <stop
+ style="stop-color:#545454;stop-opacity:0"
+ offset="0"
+ id="stop6133" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6135" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6123">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6125" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop6127" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6091">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6093" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6095" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6083">
+ <stop
+ id="stop6085"
+ offset="0"
+ style="stop-color:#737373;stop-opacity:1" />
+ <stop
+ id="stop6087"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6077">
+ <stop
+ id="stop6079"
+ offset="0"
+ style="stop-color:#8c8c8c;stop-opacity:1" />
+ <stop
+ id="stop6081"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6065">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6067" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6069" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6057">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6059" />
+ <stop
+ id="stop6107"
+ offset="0.5"
+ style="stop-color:#b9b9b9;stop-opacity:1;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6061" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6049">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6051" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6053" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6008">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6010" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6012" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5968">
+ <stop
+ style="stop-color:#b4b4b4;stop-opacity:1"
+ offset="0"
+ id="stop5970" />
+ <stop
+ id="stop6111"
+ offset="0.57293677"
+ style="stop-color:#e9e9e9;stop-opacity:1" />
+ <stop
+ style="stop-color:#e7e7e7;stop-opacity:1"
+ offset="1"
+ id="stop5972" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4255">
+ <stop
+ style="stop-color:#2a5285;stop-opacity:1;"
+ offset="0"
+ id="stop4257" />
+ <stop
+ style="stop-color:#9acbff;stop-opacity:1;"
+ offset="1"
+ id="stop4259" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4247"
+ inkscape:collect="always">
+ <stop
+ id="stop4249"
+ offset="0"
+ style="stop-color:#0045bd;stop-opacity:1" />
+ <stop
+ id="stop4251"
+ offset="1"
+ style="stop-color:#fcb500;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient35212">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop35214" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop35216" />
+ </linearGradient>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective91" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient23419">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop23421" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop23423" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3435"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#ffffc8;stop-opacity:1.0000000;"
+ id="stop3437" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a91ef;stop-opacity:0.0000000;"
+ id="stop3439" />
+ </linearGradient>
+ <linearGradient
+ y2="14.2033"
+ x2="35.3912"
+ y1="32.4165"
+ x1="12.2744"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3421">
+ <stop
+ id="stop3423"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000" />
+ <stop
+ id="stop3427"
+ style="stop-color:#b8c04c;stop-opacity:0.0000000;"
+ offset="1.0000000" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3406"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#b307ff;stop-opacity:0.82178217;"
+ id="stop3408" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#f0ff8b;stop-opacity:0.64356434;"
+ id="stop3410" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ id="stop3412" />
+ </linearGradient>
+ <linearGradient
+ y2="14.2033"
+ x2="35.3912"
+ y1="32.4165"
+ x1="12.2744"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3394">
+ <stop
+ id="stop3396"
+ style="stop-color:#fff307;stop-opacity:1.0000000;"
+ offset="0.0000000" />
+ <stop
+ id="stop3398"
+ style="stop-color:#166eff;stop-opacity:1.0000000;"
+ offset="0.50000000" />
+ <stop
+ id="stop3400"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="1.0000000" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6036">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop6038" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop6040" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6028">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop6030" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop6032" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4236">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.32673267;"
+ offset="0.0000000"
+ id="stop4238" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.60396039;"
+ offset="1.0000000"
+ id="stop4240" />
+ </linearGradient>
+ <linearGradient
+ id="aigrd2"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033">
+ <stop
+ offset="0"
+ style="stop-color:#FBFBFB"
+ id="stop3043" />
+ <stop
+ offset="0.5"
+ style="stop-color:#B6B6B6"
+ id="stop3045" />
+ <stop
+ offset="1"
+ style="stop-color:#E4E4E4"
+ id="stop3047" />
+ </linearGradient>
+ <linearGradient
+ id="aigrd1"
+ gradientUnits="userSpaceOnUse"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075">
+ <stop
+ offset="0"
+ style="stop-color:#EBEBEB"
+ id="stop3034" />
+ <stop
+ offset="0.5"
+ style="stop-color:#FFFFFF"
+ id="stop3036" />
+ <stop
+ offset="1"
+ style="stop-color:#EBEBEB"
+ id="stop3038" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient3912"
+ gradientUnits="userSpaceOnUse"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075"
+ gradientTransform="matrix(1.190476,0.000000,0.000000,1.190476,-4.224424,-2.500000)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient4222"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.250000,0.000000,0.000000,1.250000,-5.652995,-2.604165)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient4224"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.250000,0.000000,0.000000,1.250000,-5.652995,-2.604165)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="linearGradient4242"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0.000000,0.000000,1.190476,-4.224424,-2.500001)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6028"
+ id="linearGradient6034"
+ x1="28.702885"
+ y1="31.494707"
+ x2="17.742729"
+ y2="18.366575"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036"
+ id="linearGradient6042"
+ x1="10.501720"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ gradientTransform="matrix(0.848684,0.958020,-0.782119,0.692834,18.69147,-20.52578)"
+ gradientUnits="userSpaceOnUse"
+ r="21.333334"
+ fy="27.569166"
+ fx="37.751469"
+ cy="27.569166"
+ cx="37.751469"
+ id="radialGradient3392"
+ xlink:href="#linearGradient3394"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="48.238270"
+ fx="53.556889"
+ cy="48.238270"
+ cx="53.556889"
+ gradientTransform="matrix(0.158450,-0.158988,0.432907,0.431441,-2.723645,15.00107)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3429"
+ xlink:href="#linearGradient3421"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="33.377594"
+ fx="16.885271"
+ cy="33.377594"
+ cx="16.885271"
+ gradientTransform="matrix(5.184267e-3,-0.122860,0.544548,2.297824e-2,0.957234,26.30756)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3433"
+ xlink:href="#linearGradient3435"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="21.618015"
+ fx="35.511295"
+ cy="21.618015"
+ cx="35.511295"
+ gradientTransform="matrix(0.105916,-1.914240e-2,0.104789,0.579807,17.13693,7.115158)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3443"
+ xlink:href="#linearGradient3435"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientTransform="matrix(-5.048220e-2,1.387847e-2,-0.128440,-0.467196,35.41257,39.44172)"
+ r="21.333334"
+ fy="23.914305"
+ fx="133.84108"
+ cy="23.914305"
+ cx="133.84108"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3447"
+ xlink:href="#linearGradient3435"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="38.807304"
+ fx="26.137741"
+ cy="38.807304"
+ cx="26.137741"
+ gradientTransform="matrix(0.769501,-1.242500,0.670300,0.415141,-21.77857,41.36563)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3449"
+ xlink:href="#linearGradient3406"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient23343"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.5)"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="linearGradient23345"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.500001)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23347"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23349"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036"
+ id="linearGradient23351"
+ gradientUnits="userSpaceOnUse"
+ x1="10.501720"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3394"
+ id="radialGradient23355"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.848684,0.95802,-0.782119,0.692834,18.69147,-20.52578)"
+ cx="37.751469"
+ cy="27.569166"
+ fx="37.751469"
+ fy="27.569166"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3406"
+ id="radialGradient23357"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.769501,-1.2425,0.6703,0.415141,-21.77857,41.36563)"
+ cx="26.137741"
+ cy="38.807304"
+ fx="26.137741"
+ fy="38.807304"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3421"
+ id="radialGradient23359"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.15845,-0.158988,0.432907,0.431441,-2.723645,15.00107)"
+ cx="53.556889"
+ cy="48.238270"
+ fx="53.556889"
+ fy="48.238270"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23361"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(5.184267e-3,-0.12286,0.544548,2.297824e-2,0.957234,26.30756)"
+ cx="16.885271"
+ cy="33.377594"
+ fx="16.885271"
+ fy="33.377594"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23363"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.105916,-1.91424e-2,0.104789,0.579807,17.13693,7.115158)"
+ cx="35.511295"
+ cy="21.618015"
+ fx="35.511295"
+ fy="21.618015"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23365"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-5.04822e-2,1.387847e-2,-0.12844,-0.467196,35.41257,39.44172)"
+ cx="133.84108"
+ cy="23.914305"
+ fx="133.84108"
+ fy="23.914305"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8662"
+ id="radialGradient8668"
+ cx="24.837126"
+ cy="36.421127"
+ fx="24.837126"
+ fy="36.421127"
+ r="15.644737"
+ gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient8662">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop8664" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop8666" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ inkscape:collect="always"
+ xlink:href="#linearGradient4247"
+ id="linearGradient2314"
+ x1="90.61982"
+ y1="52.190975"
+ x2="-57.421551"
+ y2="-5.4606466"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2308">
+ <stop
+ style="stop-color:#aa4400;stop-opacity:1"
+ offset="0"
+ id="stop2310" />
+ <stop
+ style="stop-color:#fcb500;stop-opacity:1"
+ offset="1"
+ id="stop2312" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316">
+ <stop
+ style="stop-color:#aa4400;stop-opacity:1"
+ offset="0"
+ id="stop2318" />
+ <stop
+ style="stop-color:#d89b00;stop-opacity:1"
+ offset="1"
+ id="stop2320" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2187"
+ id="linearGradient1764"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-1.171926,-1.171926,0,112.4458,23.78835)"
+ x1="17.060806"
+ y1="11.39502"
+ x2="12.624337"
+ y2="12.583769" />
+ <linearGradient
+ id="linearGradient2187"
+ inkscape:collect="always">
+ <stop
+ id="stop2189"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2191"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2326"
+ id="radialGradient2332"
+ cx="15.09403"
+ cy="13.282721"
+ fx="15.09403"
+ fy="13.282721"
+ r="10.16466"
+ gradientTransform="matrix(2.496031,0,0,2.300689,41.14738,-48.13912)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2326">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2328" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2330" />
+ </linearGradient>
+ <radialGradient
+ r="15.644737"
+ fy="36.421127"
+ fx="24.837126"
+ cy="36.421127"
+ cx="24.837126"
+ gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient31709"
+ xlink:href="#linearGradient8662"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2308-0"
+ id="linearGradient3485"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.47369448,-0.47369448,0,99.704257,8.7500421)"
+ x1="27.027767"
+ y1="13.535172"
+ x2="19.751877"
+ y2="395.62497" />
+ <linearGradient
+ id="linearGradient2308-0"
+ inkscape:collect="always">
+ <stop
+ id="stop2310-5"
+ offset="0"
+ style="stop-color:#edd400;stop-opacity:1;" />
+ <stop
+ id="stop2312-2"
+ offset="1"
+ style="stop-color:#edd400;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2316-0"
+ id="linearGradient3487"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.47369448,-0.47369448,0,99.704257,8.7500421)"
+ x1="27.027767"
+ y1="13.535172"
+ x2="19.751877"
+ y2="395.62497" />
+ <linearGradient
+ id="linearGradient2316-0">
+ <stop
+ id="stop2318-7"
+ offset="0"
+ style="stop-color:#c4a000;stop-opacity:1;" />
+ <stop
+ id="stop2320-5"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2187-6"
+ id="linearGradient3489"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.55513488,0,0,-0.55513488,74.07686,30.6226)"
+ x1="17.060806"
+ y1="11.39502"
+ x2="-0.99847859"
+ y2="8.6995773" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2187-6">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2189-1" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2191-8" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2326-1"
+ id="radialGradient3491"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,1.1823561,-1.0898237,0,108.1485,-3.1510675)"
+ cx="15.09403"
+ cy="13.282721"
+ fx="15.09403"
+ fy="13.282721"
+ r="10.16466" />
+ <linearGradient
+ id="linearGradient2326-1"
+ inkscape:collect="always">
+ <stop
+ id="stop2328-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ r="10.16466"
+ fy="13.282721"
+ fx="15.09403"
+ cy="13.282721"
+ cx="15.09403"
+ gradientTransform="matrix(0,0.78187591,-0.61655067,0,79.03229,4.8548625)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient34355"
+ xlink:href="#linearGradient2326-1"
+ inkscape:collect="always" />
+ <radialGradient
+ r="10.16466"
+ fy="13.282721"
+ fx="15.09403"
+ cy="13.282721"
+ cx="15.09403"
+ gradientTransform="matrix(0,0.78187591,-0.61655067,0,79.03229,4.8548625)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient34355-3"
+ xlink:href="#linearGradient2326-1-7"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2326-1-7"
+ inkscape:collect="always">
+ <stop
+ id="stop2328-8-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212"
+ id="linearGradient35218"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2308"
+ id="linearGradient3908"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="90.61982"
+ y1="52.190975"
+ x2="-57.421551"
+ y2="-5.4606466" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212"
+ id="linearGradient3910"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient4253"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="51.064072"
+ y1="36.929211"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient16236"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5">
+ <stop
+ id="stop4136-4-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2" />
+ <stop
+ id="stop4138-2-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient16238"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7">
+ <stop
+ id="stop4208-5-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient16240"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient16242"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7">
+ <stop
+ id="stop7212-33"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient16244"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient4586"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="56.619678"
+ y1="38.098812"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212"
+ id="linearGradient4588"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient6715"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6717"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6719"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ gradientTransform="translate(-116.76931,0.30161647)"
+ gradientUnits="userSpaceOnUse"
+ y2="40.943935"
+ x2="36.183067"
+ y1="28.481176"
+ x1="7.6046205"
+ id="linearGradient4234"
+ xlink:href="#linearGradient4228"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4228">
+ <stop
+ id="stop4230"
+ offset="0.0000000"
+ style="stop-color:#bbbbbb;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4232"
+ offset="1.0000000"
+ style="stop-color:#9f9f9f;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.286242,0.781698,-0.710782,1.169552,-119.12366,-4.5752457)"
+ r="20.935818"
+ fy="2.958519"
+ fx="15.571491"
+ cy="2.958519"
+ cx="15.571491"
+ id="radialGradient4250"
+ xlink:href="#linearGradient4244"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4244">
+ <stop
+ id="stop4246"
+ offset="0.0000000"
+ style="stop-color:#e4e4e4;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4248"
+ offset="1.0000000"
+ style="stop-color:#d3d3d3;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(-115.97382,-1.0242045)"
+ y2="35.28125"
+ x2="24.6875"
+ y1="35.28125"
+ x1="7.0625"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4209"
+ xlink:href="#linearGradient4184"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4184">
+ <stop
+ id="stop4186"
+ offset="0.0000000"
+ style="stop-color:#838383;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4188"
+ offset="1.0000000"
+ style="stop-color:#bbbbbb;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(-116.76931,0.30161647)"
+ gradientUnits="userSpaceOnUse"
+ y2="33.758667"
+ x2="12.221823"
+ y1="37.205811"
+ x1="12.277412"
+ id="linearGradient4242-1"
+ xlink:href="#linearGradient4236-7"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4236-7"
+ inkscape:collect="always">
+ <stop
+ id="stop4238-4"
+ offset="0"
+ style="stop-color:#eeeeee;stop-opacity:1;" />
+ <stop
+ id="stop4240-0"
+ offset="1"
+ style="stop-color:#eeeeee;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(-116.76931,0.30161647)"
+ gradientUnits="userSpaceOnUse"
+ y2="26.357183"
+ x2="23.688078"
+ y1="11.318835"
+ x1="23.688078"
+ id="linearGradient4272"
+ xlink:href="#linearGradient4274"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4274">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.25490198;"
+ offset="0.0000000"
+ id="stop4276" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop4278" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(-116.76931,0.30161647)"
+ gradientUnits="userSpaceOnUse"
+ y2="47.620636"
+ x2="44.0961"
+ y1="4.433136"
+ x1="12.378357"
+ id="linearGradient4260"
+ xlink:href="#linearGradient4254"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4254"
+ inkscape:collect="always">
+ <stop
+ id="stop4256"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4258"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2555"
+ id="linearGradient2553"
+ x1="33.431175"
+ y1="31.964777"
+ x2="21.747974"
+ y2="11.780679"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient2555">
+ <stop
+ id="stop2557"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ style="stop-color:#e6e6e6;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop2561" />
+ <stop
+ id="stop2563"
+ offset="0.75000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1.0000000;"
+ offset="0.84166664"
+ id="stop2565" />
+ <stop
+ id="stop2559"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <radialGradient
+ r="117.14286"
+ fy="486.64789"
+ fx="605.71429"
+ cy="486.64789"
+ cx="605.71429"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient4994"
+ xlink:href="#linearGradient5060"
+ inkscape:collect="always" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient23419"
+ id="radialGradient5172"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.25,0,31.22703)"
+ cx="23.334524"
+ cy="41.63604"
+ fx="23.334524"
+ fy="41.63604"
+ r="22.627417" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient5174"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,95.775576,-2.5)"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="linearGradient5176"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,95.775576,-2.500001)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient5178"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,94.347005,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient5180"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,94.347005,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036"
+ id="linearGradient5182"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(100,0)"
+ x1="10.501720"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6028"
+ id="linearGradient5184"
+ gradientUnits="userSpaceOnUse"
+ x1="28.702885"
+ y1="31.494707"
+ x2="17.742729"
+ y2="18.366575" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3394"
+ id="radialGradient5186"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.848684,0.95802,-0.782119,0.692834,118.69147,-20.52578)"
+ cx="37.751469"
+ cy="27.569166"
+ fx="37.751469"
+ fy="27.569166"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3406"
+ id="radialGradient5188"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.769501,-1.2425,0.6703,0.415141,78.22143,41.36563)"
+ cx="26.137741"
+ cy="38.807304"
+ fx="26.137741"
+ fy="38.807304"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3421"
+ id="radialGradient5190"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.15845,-0.158988,0.432907,0.431441,97.276355,15.00107)"
+ cx="53.556889"
+ cy="48.238270"
+ fx="53.556889"
+ fy="48.238270"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient5192"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.00518427,-0.12286,0.544548,0.02297824,100.95723,26.30756)"
+ cx="16.885271"
+ cy="33.377594"
+ fx="16.885271"
+ fy="33.377594"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient5194"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.105916,-0.0191424,0.104789,0.579807,117.13693,7.115158)"
+ cx="35.511295"
+ cy="21.618015"
+ fx="35.511295"
+ fy="21.618015"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient5196"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.0504822,0.01387847,-0.12844,-0.467196,135.41257,39.44172)"
+ cx="133.84108"
+ cy="23.914305"
+ fx="133.84108"
+ fy="23.914305"
+ r="21.333334" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5968"
+ id="linearGradient5974"
+ x1="29.308222"
+ y1="45.924133"
+ x2="29.308222"
+ y2="0.78541183"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.97424531,0,0,1,-0.87755697,0.1875)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6008"
+ id="linearGradient6035"
+ gradientUnits="userSpaceOnUse"
+ x1="19.211605"
+ y1="41.081333"
+ x2="18.27038"
+ y2="6.1793666"
+ gradientTransform="matrix(0.92020109,0,0,0.92020109,0.86521903,4.327334)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6077"
+ id="linearGradient6045"
+ gradientUnits="userSpaceOnUse"
+ x1="28.311356"
+ y1="6.6647797"
+ x2="27.936356"
+ y2="42.119865"
+ gradientTransform="translate(-0.99999997,2)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6049"
+ id="linearGradient6055"
+ x1="23.114971"
+ y1="34.086388"
+ x2="23.354908"
+ y2="23.578178"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6057"
+ id="linearGradient6063"
+ x1="22.717751"
+ y1="23.575481"
+ x2="22.806652"
+ y2="34.106575"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6083"
+ id="linearGradient6071"
+ x1="14.967111"
+ y1="2.3855319"
+ x2="14.967111"
+ y2="16.640585"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60,0)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6065"
+ id="linearGradient6075"
+ gradientUnits="userSpaceOnUse"
+ x1="18.104832"
+ y1="18.316957"
+ x2="18.040327"
+ y2="6.9715528"
+ gradientTransform="matrix(0.85691123,0,0,0.85691123,-57.553937,1.9004806)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6091"
+ id="linearGradient6097"
+ x1="40.854774"
+ y1="46.025497"
+ x2="6.7298694"
+ y2="3.0208516"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98990282,0,0,0.98990282,-0.76052397,0.24418515)" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6193"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6195"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6203"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6205"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6219"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6221"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6223"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6225"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5968"
+ id="linearGradient7987"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.97424531,0,0,1,-0.87755697,0.1875)"
+ x1="29.308222"
+ y1="45.924133"
+ x2="29.308222"
+ y2="0.78541183" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient7989"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient7991"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6077"
+ id="linearGradient7993"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-0.99999997,2)"
+ x1="28.311356"
+ y1="6.6647797"
+ x2="27.936356"
+ y2="42.119865" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6057"
+ id="linearGradient7995"
+ gradientUnits="userSpaceOnUse"
+ x1="22.717751"
+ y1="23.575481"
+ x2="22.806652"
+ y2="34.106575" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6008"
+ id="linearGradient7997"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.92020109,0,0,0.92020109,0.86521903,4.327334)"
+ x1="19.211605"
+ y1="41.081333"
+ x2="18.27038"
+ y2="6.1793666" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6049"
+ id="linearGradient7999"
+ gradientUnits="userSpaceOnUse"
+ x1="23.114971"
+ y1="34.086388"
+ x2="23.354908"
+ y2="23.578178" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6083"
+ id="linearGradient8001"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60,0)"
+ x1="14.967111"
+ y1="2.3855319"
+ x2="14.967111"
+ y2="16.640585" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6065"
+ id="linearGradient8003"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.85691123,0,0,0.85691123,-57.553937,1.9004806)"
+ x1="18.104832"
+ y1="18.316957"
+ x2="18.040327"
+ y2="6.9715528" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient8005"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient8007"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6091"
+ id="linearGradient8009"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98990282,0,0,0.98990282,-0.76052397,0.24418515)"
+ x1="40.854774"
+ y1="46.025497"
+ x2="6.7298694"
+ y2="3.0208516" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient8011"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient8013"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient8015"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient8017"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient8019"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="51.064072"
+ y1="36.929211"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212"
+ id="linearGradient8021"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient8023"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="56.619678"
+ y1="38.098812"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212"
+ id="linearGradient8025"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.25490196"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="36.115964"
+ inkscape:cy="13.717154"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1600"
+ inkscape:window-height="838"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:showpageshadow="false"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>cdrom</rdf:li>
+ <rdf:li>media</rdf:li>
+ <rdf:li>removable</rdf:li>
+ <rdf:li>cd</rdf:li>
+ <rdf:li>audio</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g7884"
+ style="display:none">
+ <image
+ width="74.751503"
+ height="65.702629"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAFOAXwDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKY8ixjLH FVJLx2O2Jefpk1hVxFOn8T1KjBy2LrMFGSQB71Wkv7eP+IsfRRVf7JPOcyvge5zUyadAvLZc+5rl lWxdT+FBRXd/5GijTj8TuVZNYI4jh/FjULX+pS/6uIgf7MZP862Ehjj+5Gq/QVJWE8Bi6v8AExDX +FW/EpVaa2j95gk6y/8AfH4KKTyda9X/AO+1/wAa36Kz/sNP4q9R/wDb3/AH9Z7RX3HP7dbT+/8A mppPtusQ/fiZh7xf4V0NFP8Asecf4eImvV3H9ZT3gjn08QyocTWyk+xK/wA6tw69ZyYD74j/ALQy P0rSkijlXEiK49GGaozaLZTZxGYye6HH/wBaj6vmlH+HVU12krfl/mPnw8vii16FyKeKdd0UiuP9 k5qWucl0C4gbzLSfJHTna3501NW1CwcJdxFx/tjB/A96Fm06LtjKTh5rVf194fVVPWlK/lszpaKo WerWt5hUfZIf4H4P/wBer9etRrU60eenJNeRzThKDtJWCiiitSQooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKDxQAhOBzULyk8J+dPILn2pyoF6VjL mnotEUrIrrbFzmQn6VOkaoMKoFPopwowhstQcmwooorUkKKKKACiiigAooooAKKKKACmSRpKhSRA ynqGGRT6KTSaswMK98PRyAvaN5bf3GPB/wAKpware6XL5F4jOg7N1H0PeuprP1WxfULZYkZFIbdl hXi4rLPZXr4O8Z9ls/lt+h20sTzWhW1X5DNM1ZNRkmULsKYKgnkj/wDX/OtOucstEvrG9jnSSFlB wwDHkd+1dHXXltTETpWxMbST+/8ArYyxMacZ/u3oFFFFegc4UUUUAFFJkZxnn0paACiiigAooooA KKKKACiiigAooooAKKKKACiiigAqhc6nDAdq/vGHXBwBU1/KYbGZwcELgH68Vyxcmvnc8zieCcaV L4mr3OvDUFUvKWxpy6vOzko2xewwD/SmDWblTyyt9V/wrNLUhavkpZxjZS5lUf3/AKbHcsPTtaxv 2uspNIscqbGY4DA8ZrWrktPt2ubxFH3QdzH0Arra+xyDGYnFUJSr62ej7nBiqcISSiFFFFe8coUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFQSXltC22W4hRvRnANNJvYT aW4+WVIInlkYKiDLE9hXFal4gubyRlidooM8KpwT9TWt4qvVGkosUisssgBKnOQBn+eK4hpfevSw WHTjzyR4mZYxxl7OL0LRmOc559a1NN8SXFlIqTM01v3Vjkj6H+lc8ZajMtehKjGatJHkRxc6cuaD seuwypPCksbBkcBlI7ipK5vwXctPozxsc+VKVX6EA/zJrpK8CrT9nNx7H1uHq+2pRqdwooorM2Ci iigAooooAKKKKACiiigAooooAp6mhfTZwOwz+RzXKZrtWUMpUjIIwa42/h+w3TxMc45X3HavjeKM LJzhXS0tZ/mv1PSwErpwI801nVepAqu0rN04HtTMV8tGj3PUVPudH4cfzJ5yuSoUAn8a6Kue8LRk R3Mh+6Sqj8M/410NfomRw5MDBev5s8PG29u0v60CiiivXOUKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKQnAyaWsbxPdtaaBcuhw7gRg/U4P6ZqoRc5KK6mdWoqcHN9Fc5zXfE8tz M9vZyGO3U4LKcF/x9K5xpST1quXpjzBASxwK+jp0YU48sUfGVsRUrz5pssGSq813FAMyOB7d6oTX kj5WIbR696q+SWJJySepNbJEKH8xZl1dzkQxfi5/pVR7q7l+9Myj0XipVt6kWAUy04rZHpPgj7Lo vhuNr+9gilunM2Jpgp2kADqfQZ/GuuguYLmPfbzRyp/ejYMP0rwwQj0q7YXV1ptytxaStFIPQ8H2 I7ivMrZfztz5tWerQzZU0oOOiPa6KzdE1RNY0yO6Vdr52yL/AHWHX/H8a0q8iUXFuL3R9BCcZxUo 7MKKKKkoKKKKACiiigAooooAKKKKACsPxFZrJbLddHj+U+4JrYlljhXdI6oPVjiud1jVBdD7PAQY urNjqa8fOq9CGFlCo9Xsut+h1YSM3VUomJtp8cLSyLHGpZm4AHel21JA7wTJKnDIcivgISjzLm26 nuSk7aHW6ZafYrFIj9/7z/U1cqvaXAurVJgMbhyM9DViv1DDKmqMVS+Gyt6HzlRyc25bhRRRW5AU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVjeJ7R7zw/dJGMugEgA74OT+ma2aK qEnCSkuhFWmqkHB9dDw9pMVAytIct+ArtvEXg+WKd7vTYzJCx3NCo+ZD7DuK5YwlGKspVh1BHIr6 SlWhVjzRZ8ZXoTw8uWaKYh9qeIqtCOnBK1uYcxWEVPEVThaULSFciEdOCVJirmn6Xd6nOI7aJmGc M5GFX6mlKSirtjjGU3yxV2dX4EVlsbsn7hkGPrjn+ldbVLS9Oi0uwjtYudvLMf4m7mrtfOYioqlV yR9pg6To0IwlugooorE6QooooAKKKKACiiigCOWVYYnkc4VQSawLrXZpMrbr5a/3jyf/AK1bl3F5 1pNGOrIQPrXIba+U4jx2Jw8oU6UrRkt1v9534OnCSbkrsSR3lbdI7Mx7sc03FP20oWvinNyd3uel exHtroIppL3QpRt3SKNpAHXpz+VYmz2rd0HIhmX0YGvbyGUpYl0L2U4tP7jlxTXIpdUzCillgOYp GQ/7JxW7puqm4YQz4En8Lf3v/r1V1ayEVz5qDCScn2NUURkYMpwwOQaVGtjMrxTp6tJ6ro1/wwTV OvC519FRwyebCkn95Qakr9EjJSipLZnkNWdgoorzT4k+NL/R7hNN0ubyH2B5ZQAW56KM9OOfxqgP S6K+OtW+Ivi9dUnWLxJqaICAFW4YDpXWWh8aT+GH1SXx7fw3gUulo0rEEDsW3cE/SrhTlP4UZzqw p/E7H0zRXx2/xA8YXsTSweJNUS4QZlhFy2CB1ZefzHbqOOlH/hY3jP8A6GfVf/Alv8ag0PtKivi3 /hY3jP8A6GfVf/Alv8aP+FjeM/8AoZ9V/wDAlv8AGgD7Sor4t/4WN4z/AOhn1X/wJb/Gj/hY3jP/ AKGfVf8AwJb/ABoA+0qK+Lf+FjeM/wDoZ9V/8CW/xo/4WN4z/wChn1X/AMCW/wAaAPtKivi3/hY3 jP8A6GfVf/Alv8aP+FjeM/8AoZ9V/wDAlv8AGgD7Sor4ztvHnja6kKr4o1NUUbnka5bCD1NOuviV 4tYrHb+JNVWJOjtcNuc+p5/Tt+tAH2VRXxfF8R/GQmQt4m1QqGGQbluR+der+BPiVrS65aWmqXr3 dncSCJvNALIScBg3Xr+lAHvNFFFABUbwxSH95GjH/aUGpKKBNJ7kP2S2/wCfeL/vgUfZLb/n3i/7 4FTUU+Z9xckexD9ktv8An3i/74FH2S3/AOfeL/vgVNRRzPuHJHsQ/ZLf/n3i/wC+BUiqFUBQAB2F Ooou3uNRS2CiiikMKKKKACiiigAooooAKKKKACucvrLybpsD5GO5a6Oo5Io5Rh1DAetedmWXxxtJ Re62NaNV05XOZEPtThD7V0P2O3/55ij7Hb/88xXix4dkuq/r5HT9bXY58Q1atJXtXJAyrfeFa32S D/nmKX7JD/zzFdFHJqtGanCSTX9diZYmMlZopX8yTxoic/xZ9KoiL2rb+yw/88xR9mh/55iuivll WvU9pNq5EK0YKyG2QxaIPTP86sUgAUAAYApa9elDkpxh2SRzyd22FfPXxDnl1DxnqKQo8riQRqqK SflAXoPpX0LXG6N4atLcT6leAGa6kaWQnqSxzj6c1oI+W7rwf4knuppRol7hnJH7o9M1p/ZPH/2P 7KbG+MWMcwDdj/exmvqtLXTXUFLVGHrgU77Hp/8Az6J+QpqUlsyXGMt0fHieD/FMcqypo98sinIY RnINW5/BXiC8iNxHod3HOP8AWxCLAb/aX+o/Ljp9cfY9P/59E/IUosrEEEWagjuFFIo+Of8AhCvE 3/QEvf8Av0aP+EK8Tf8AQEvf+/Rr7HNjYHn7Guf90Un2Gw/58l/75FAWPjn/AIQrxN/0BL3/AL9G j/hCvE3/AEBL3/v0a+xTZWA62a/98ij7Hp//AD6J+QoCx8df8IV4m/6Al7/36NH/AAhXib/oCXv/ AH6NfYostPPSzT/vkUv2Gw/58l/75FAWPjn/AIQrxN/0BL3/AL9GpIPAviaeUJ/Y92i/xO0Zwo9a +wvsNh/z5L/3yP8ACl+x2O3b9jXH+6KAPkK58KeIzGLa20O+W3U5JMXMh/vN/QdvzNVf+EK8Tf8A QEvf+/Rr7FNlp462afkKPsen/wDPon5CgD45/wCEK8Tf9AS9/wC/Rrdtob/S5oTd201tMMMBKhU5 H1r6p+x6cP8Al0T8hWXq3hrSdd0+aARqQRyvofUen1FAHS2063VpDcJ92VFcfQjNS1meHoZLbw9Y W0p3PBCsJY99ny5/StOgAooooAKKKKAI2fa4FSVTuH23Kj2H86uVTVkiU7thRRRUlBRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUmRnGRnriloAKKKY8iRjLHFAD6OlQeZK/wDq48D+8/FL5Bbm Vy3sOBQASToAVGWbHReayr21nvbIQ5EKleOTn9K2QqopCgKPasye9hjCAEuxHAUZoAo6ZbCwtVtd zFo+OT26VcaRUUszBVAyST0qtJLLJNEXi8vJ4PcisTxE15PIIIJo44kj8xw5xuOaBlmTV5bq9SGz ViN2FA6t/wDWrsAeBnGcc1zej2I0uxWXdH9pkUbpX7ew9v51PLPJF80pVwwJDKetAG9keooyPUVh h3WQxyABsbuD2p28ZxnmgRV1/ULuwv4nRf3BHU8h/UVPBqNtcWjXSyBI1/1gY8p7f4etSsIZ4Htr lN8D9R3B9RWC/hW4USLFKsisco+cDHbNAyeDVrm/1aGO1RvKDA7B6Z5Zq6/I9RXN2NpHpNtFHC5d 5h+9kPc+3oKtbxzzQBtZHqKMj1rF3j1FMYmSdItzKCCSR1oEU9W1G5sdWbzEPlH7oPRhV+3uorqE SxNlT+h9KTy4dWsfsd2ct/BJ3B9a5jT4bzTtfa2MymMOUcD+L0PtQM6uQCSNkJwGBGRVfR9PGnSF VlZ9zE/MSepJPUn1qUOD0NJHM4mJVQVjwWyaANa1AEC46ZP86mqC0YG1Q+uf50+SUIoP3iTgAd6B ElFRxSiQkYKsOxqSgAooooAy7l86kie6itSsNX87XiB0D/yH/wBatytaiskvIxou7k/MKKKKyNgo oooAKKKKACiiigAooooAKKKKACiiigAooooA5DWtSmh18PbvgwKE9j3IP5/pXR6bqEeo2wlT5WHD qf4TWR4g0qBLY3cMeJN+ZDknOe/51o6FIsmkQhQAVyrAeuaYGlUKgNdSE87QMe3WpqhT/j5m+i/1 pAJM2xh++K5/hxk/hR5kr/cTaP7z/wCFCAG6k9gMVPQBA0G5SZXLnHTt+VY7sYJInSPcPLK4Hrmt qaXZ8igs5HAFYc4uI4kdwhVV5CnkUADNJLIrybQFzhRWPq8Uc923mLu225K57HJrWDZAPas28jeW 8kCKWJtyOPrQM15dksFtGZBHIsYIDDg1VlQ27AyQqV5ztPDcVYuY5TDbsYN6eUoBU55qtc5i08RS ffJyFz90UCLN2d93HGgxIQPnz254qNjboxXySyKcNJu5zRcSCPUo3bhQgyfTORTXgmy8SplXYkPn gA0ASeW/2g25c7AN27vtpvmRlG2QPsPRg5z9aXzka9KZ+Qp5efeo9k8cZQxE7Ry2RjFAyby2ltrc hgoVcsx7VEBE9xEqKfLzgsT9+neesVnbq67o3XDCmhGjuIMHfEW+Rvw6UCHObZHYeQWRThn3Hj6U +NTFfom7cu0lT7VFJDNvkjVMh2JDZ4GaeJFOoxopyETbn3oGPtjbtdRqISFL4Em7nNYvkl/E135r ny4XJYjqeOK1LMFp4MDOJsn86pujHxFfxMCombMbHofloAvoIpWCCIwswyjBs0+zkURyh48sv3+f vdajiWQSpJKnlpECSSfbFNtn3LdNjG7nH1zQI0rIA2SM4LBmYIm73NTMg2MyqUZDllzkfWorDLWE JUZaNjlfUZNWHLbJWYYMgCqp6/55oAlhi2ZYtuJHpU1IowoHoKWgAprMEUs3AAyadWbrt19l0mZs 4ZxsX8f/AK2aqEeaSj3IqTUIuT6GdoRNzqE057An8Sf/ANddHWJ4ZhKaaZiOZXJH0HH+NbdaYh3q NLoY4RNUk311CiiisTpCiiigAooooAKKKKACiiigAooooAKKKKACiiigCG6gFzaywt0dSPpWH4el MM81o/BPIB9Rwf8APtXRVz2pRtY6sl1GOHO78e4/z60AdDUCkLdODxuUY98ZqWN1kjV1OVYZBpJI xIuD17EdqAGJ/wAfUv0FTVDFG6uzOQScDipqAIIBuV5D1Yn8AKyb+UJa4/iddqj61qtFIgcxOADz giuecE7HkYu+3qe1ACr8qgegqWExFsSEqDxvB6f/AFqr5ozTGa6wqMoSwRuu1uD7is+e0SMF0fzY nJAfOfwPvWdrOoz2mhzmKQqRtwe4ywB/nS+HJjN4UZ2bcxujz+ApAWggGclmJGPmOeKQR4G0SSBf 7oY4ozRmmAuxNmzA20hTIwZJCv8AdLHFGaM0AKsaqQcsQOgJ4FNXbDPESxCBuQTwKXNBOeCOKAEB 8x5SJXCFzgK3BqWG281gsZ2bRncDjaO5zUYOOlOlfbo+qMDgi1fn8DSA01jgjtlhgO4HB3qeWNVb hYUUxkb5SeWJzt/H1rl/COp3EsV7EZiyps25/hzuzj8hW7mgAKbsb3dwOgZsipI41adTlgD1APBq PNSQt+9X60wNqyhR7ONuQwzypwepqykKo27lm9WOah005sI/x/matUhBRRRQAVxviy9afUbfTYeW UgkDuzdB+X866u6uY7S1luZTiOJSzH2FcR4Xik1nxDPqc4ysZL+249B+A/kK7MJFR5qsto/mebmE 3Llw8d5P8EdvaW4tbSGBekaBc+vvU9FFcjbbuz0UklZBRRRSGFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABVTULX7VaMoHzr8y/WrdFAGVo9x+7Nu55Xlc+npWrWRewNbXa3MXAJz9D/APXrThlW aJXXoe3pQBJRRRQA1/uN9K5aRvlj/wB2upf/AFbfQ1yUh+WP/doGhd1G6o81V1G+FhYy3BALKMIp 7sen+P0FAzm/G+t7bc6Ta4MzFWmfsg6hfr0+n48dP4YsbrTvCEFvfAJcTSmYoeqqQMZ9On61z/hD QxeX8ms343xQvuG//lpJ1z+HX64rrbi5aeRmJ4JoEIzDPyjj+dJuqPNGaBkm6jdUeaM0ASbqN1R5 ozQBJuqR4jeabfWkLKs09u8abumSCBVfNKHKkEHBHQ0COB8KX8+ia3dafqieU0zKhJ48t1zjPsd3 X6dq9BzisTxbo6avZDUoUH2u3GJgB99PX8P5Zo8Pai15p4jlbM8OFYnqw7H+n4e9AG3up8LfvV+t QZp8R/er9aBnSaZzp8f1b+Zq3VPSudOi+rfzNXKCQoorM1zWIdD0uW8mwWHyxpn77dh/ntTjFyai tyZyUIuUtkc1461gkxaPbktI5DShev8Asr/X8q6Pw/pY0jSIbYgeafnlPqx6/l0/CuO8FaZNq+qy 65fZdVclCf45PX6D+ePSvRq7MS1TiqEem/qcGDi6s5YmfXRegUUUVxHohRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFADJY1ljKMODWfAXs5yjfcPX/GtOop4RMuP4h0NAEgORkdKWqs DtH+7fp29qtUANf/AFbfQ1x8jhEViu7C8LnGfxrsJP8AVt9DXGOflT6UDQ2OUyxRyNH5bsoLIGyA e4zWDrpe7u4bSPog3N7E/wD1v51vKCx9h1PpWPZkXniWMAfullL/AF29CfyFAzoGiSwsbfTofuRL lj/ebuf8+tQ5onk8yd2z1NR5oAkzRmo81W1DUDp1m0seDO3yxZGcH1/CgB2qazpmhxg6hM5mIytt CN0hHv2H41zr/Eq0D4Tw9Kyf3musH8gtM0vw6upzPeX8jsjMSTn5pD359K6NdE0VI9i6dAR6sMn8 zzQIq6X4s0fWHESGWyuT0juMbWPoGH9a2GBViDwRXK6t4VtdjTWKFCOTFnII9quaBqEssP2S4cu8 Y+Rz1K+h+lAG7mjNR5ozQMs28uyUZ+63BFc2kI07xC6RjaN21l9VPII+nGfpW5msfxEh+021ypwx TGR6j/8AXQBtgjIz070tvP5xVjCImDkbQ+4EZ4P5VHFJ9ot0lH3mUMy/hToj+8X60AdTpP8AyDYv +Bf+hGrtUdH/AOQXD/wL/wBCNXqCTN1+4+yeH9QnBwUt32n3wQP1rxiTU7vVri1i1G9mkiVgmWO7 YpIyfc17XqunR6vpk1hNJIkc2AzR43YBB4z9MVX0vw3pOjgGzs0WQf8ALVvmf8z0/Cu3DYmFGDur yPPxeFqV5qztH+uhdsraCzsobe1ULBGoCAenrVmiiuNu7uzvSSVkFFFFIYUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAMeMPz3oTI4NPooAbJ/q2+hriiCwT028n0rtZP9W30 NcPNINiKv3QPzoGhxcHCr93P51k6CMaoXPXY1X91UtOHk6l9dy0MZo5yaTNNY4Yj3pN1AD81nanC Z5Ix2UGr26ljjEsm09SOKAEhxFBHGvAVQKcZKbcRPAQSDtPQ1X8ygRYMlZkNt5OoeYgwNxx9DV2J XnkCoMnv7VYmgWHaP4jQAuaM0zdRupjH5qhrPz28PqGNXN1UtQO8Rr6ZNJgWrFitnDzghaupiRwy 8MOo/rVCAbbeMf7IqxExEqkHnNAHW6N/yCof+Bf+hGr9UNGbdpUJwBnd0/3jV+gkKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBsn+rf6GuCc/Kn 0rvZP9U/+6a8+c/Kn0oGhc1XYbLgSD1zUmaQjdigZO5BbPY03NMyVUA0maAJM0BsEEEgjkGo80Zp gbNtf28qeXdqFPTdjIP+FTf2fpL/ADiWHHtLx/OsDNGaQjclurCzjKW4WRuwTp+JrJklaWQu5+Y+ naoc0ZoGSZozUeaM0wHlsAmqsg8xx+VPZi7iNfxp23awpASg4AFPjP7xfrUOafGf3i/WmB2Wh/8A IHg+rf8AoRrRrO0L/kDQfVv/AEI1o0iQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKAGyf6p/901525+VPpXokv8Aqn/3TXmryfKn0oGiTIoyKg30 b6Bl5AsyEd+9VmzE+x+D2PrTEmKMGU8itFPI1CEqRhh1Hce4oAp5FGRUdxBPZHLgvF2cdvrUazK4 ypBouBYyKMioN9G+gCfIoyKg30hlCjJIA96ALGRUUkuCEQbpG6AVFG812+y1Qt6uegrThtIdOiMs r7pD1Y9T7Ci4EUUItoSznLnr7n0qPdkknqaZNcmZ9x4A6D0qPfQBPkU6M/vF+tVt9Pjk/eL9aAO6 0D/kCwf8C/8AQjWlWX4eOdDtz7t/6Ea1KCQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKAGS/6l/9015Yhed444xuYjgV6JrN79jsmbvivKI9ShS4 dFeMlSV2OeCD2NAGjKWhYK+ORkEHII9RTPOHrVSWd5duEVURQqqp4AqPdJ6D86VwL/nD1pVuCjBl Yqw6EGs/dJ6D86N0noPzouFzprXXUICXS/8AA1H8xVltL07UAZLdwrdzE3T6iuQ3Seg/OlWSVWDL ww6ENzRcdzpJPDt2v+pukYejrj/GojoeqA9YD77j/hWZFrOqQgBLp8f7RDfzzVgeI9Vx/rE/74Wg Ll5PD1+x/eXESD/ZBP8AhVlNAs7ZfNu5mkx1MjbVrDk13VZRg3LAf7IVf5VRkmnlbdK7O3qz5P60 XC51E+s2lsnlWiB8dCBhB/jWPNePPIXlfc3b0H0rN3Seg/OjdJ6D86LiuX/OHrR5w9aobpPQfnRu k9B+dFwuaCyFmCryxOABUzpLbunmAAEnBBB5HUcVlpLLG6uv3lORzTptRRVVP3UeCSET+8epouM9 P8MNu8PWp93/APQzWvWB4UuFbSooVPCL/wDXNb9MQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAGdq2mLqUBjaRk47V5tq/wpS6maWLU5439VFet U0xq3UUAeEyfCbUVJ2a/c4/3RVd/hXq4+7rlwf8AgIr3o26HtTTap6UAeAN8MNcHTWZ/++R/hUTf DPXx01ef/vkf4V9Bm0T0/SkNmnoKAPnk/DbxCP8AmLTf98j/AAph+HPiIf8AMVm/75H+FfRBsk9B SfYk9BQB87H4deI/+gpN/wB8j/Cg/DvxJ/0FJv8Avkf4V9EfYU9BR9hT0FAHzuPh14j/AOgpN/3y P8KcPhz4jP8AzFZv++R/hX0N9hT0FL9iT0FAHz2Phv4hP/MWm/75H+FPX4aeID11ef8A75H+FfQP 2JPQUv2NPSgDwJfhhrp66zP/AN8j/Cp0+FesN11y4H/ARXu4tE9Kd9lT0/SgDw+L4T6kWG/X7jH+ 6K3NM+FQhlWSbVJ5WHqK9VFsg7VIsar0FAGZo2jJpUQRZWfjvWtR0ooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/Z "
+ id="image5153"
+ x="79.33432"
+ y="-13.676315" />
+ <g
+ transform="translate(160,0)"
+ id="g5156">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.55;color:#000000;fill:url(#radialGradient5172);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path23417"
+ sodipodi:cx="23.334524"
+ sodipodi:cy="41.63604"
+ sodipodi:rx="22.627417"
+ sodipodi:ry="5.6568542"
+ d="m 45.961941,41.63604 c 0,3.124194 -10.13064,5.656854 -22.627417,5.656854 -12.496777,0 -22.62741646,-2.53266 -22.62741646,-5.656854 0,-3.124195 10.13063946,-5.656854 22.62741646,-5.656854 12.496777,0 22.627417,2.532659 22.627417,5.656854 z"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ transform="matrix(1,0,0,1.066291,101,-2.885106)" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path3040"
+ d="m 124.34701,4.1666669 c -11.54762,0 -20.83334,9.2857141 -20.83334,20.8333331 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333331 -20.83333,-20.8333331 l 0,0 z m 0,25.8333341 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ style="fill:url(#linearGradient5174);fill-rule:nonzero;stroke:none"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path3049"
+ d="m 124.34701,4.1666665 c -11.54762,0 -20.83334,9.2857145 -20.83334,20.8333335 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333335 -20.83333,-20.8333335 l 0,0 z m 0,25.8333345 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ style="fill:url(#linearGradient5176);fill-rule:nonzero;stroke:#808080;stroke-miterlimit:4;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path3051"
+ d="m 124.34701,14.895835 c -5.64259,0 -10.10417,4.592803 -10.10417,10.104165 0,5.642588 4.5928,10.104166 10.10417,10.104166 5.64258,0 10.10416,-4.592802 10.10416,-10.104166 0,-5.642586 -4.5928,-10.104165 -10.10416,-10.104165 l 0,0 z m 0,15.615529 c -3.01813,0 -5.51137,-2.493235 -5.51137,-5.511364 0,-3.018127 2.49324,-5.511362 5.51137,-5.511362 3.01812,0 5.51136,2.493235 5.51136,5.511362 0,3.018129 -2.49324,5.511364 -5.51136,5.511364 z"
+ style="opacity:0.10999995;fill-rule:nonzero;stroke:none"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="fill:url(#linearGradient5178);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 129.92211,5.6692337 -3.59659,13.9946623 c 1.1247,0.299517 2.02414,0.99547 2.63513,1.958542 l 12.39222,-7.549285 C 138.81762,9.9434382 134.74866,6.9050853 129.92211,5.6692337 z"
+ id="path3916"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path4214"
+ d="m 117.30782,43.766057 4.73526,-13.651499 c -1.09627,-0.390992 -1.93543,-1.158553 -2.46514,-2.168607 l -12.97106,6.504648 c 2.18705,4.324212 5.99238,7.686883 10.70094,9.315458 z"
+ style="fill:url(#linearGradient5180);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="opacity:0.54644811;fill:none;stroke:url(#linearGradient5182);stroke-miterlimit:4;stroke-opacity:1"
+ d="m 124.347,5.2023655 c -10.97354,0 -19.79763,8.8240885 -19.79763,19.7976315 0,10.973544 8.82409,19.797631 19.79763,19.797631 10.97355,0 19.79763,-8.824087 19.79763,-19.797631 0,-10.973543 -8.82408,-19.7976315 -19.79763,-19.7976315 l 0,0 z"
+ id="path5264"
+ sodipodi:nodetypes="cccccc"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ sodipodi:type="arc"
+ style="opacity:0.67213111;color:#000000;fill:none;stroke:url(#linearGradient5184);stroke-width:0.93053865;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path6026"
+ sodipodi:cx="24.306795"
+ sodipodi:cy="24.930641"
+ sodipodi:rx="6.0987959"
+ sodipodi:ry="6.0987959"
+ d="m 30.405591,24.930641 c 0,3.368272 -2.730524,6.098796 -6.098796,6.098796 -3.368272,0 -6.098796,-2.730524 -6.098796,-6.098796 0,-3.368272 2.730524,-6.098796 6.098796,-6.098796 3.368272,0 6.098796,2.730524 6.098796,6.098796 z"
+ transform="translate(100.08839,0.08838865)" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="opacity:0.1142857;fill:url(#radialGradient5186);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 124.34701,4.1666665 c -11.54762,0 -20.83334,9.2857145 -20.83334,20.8333335 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333335 -20.83333,-20.8333335 l 0,0 z m 0,25.8333345 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ id="path3390"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path3404"
+ d="m 124.34701,4.1666665 c -11.54762,0 -20.83334,9.2857145 -20.83334,20.8333335 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333335 -20.83333,-20.8333335 l 0,0 z m 0,25.8333345 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ style="opacity:0.09714284;fill:url(#radialGradient5188);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="opacity:0.71428576;fill:url(#radialGradient5190);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 124.34701,4.1666665 c -11.54762,0 -20.83334,9.2857145 -20.83334,20.8333335 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333335 -20.83333,-20.8333335 l 0,0 z m 0,25.8333345 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ id="path3419"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path3431"
+ d="m 124.34701,4.1666665 c -11.54762,0 -20.83334,9.2857145 -20.83334,20.8333335 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333335 -20.83333,-20.8333335 l 0,0 z m 0,25.8333345 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ style="opacity:0.62285713;fill:url(#radialGradient5192);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="opacity:0.37142861;fill:url(#radialGradient5194);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 124.34701,4.1666665 c -11.54762,0 -20.83334,9.2857145 -20.83334,20.8333335 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333335 -20.83333,-20.8333335 l 0,0 z m 0,25.8333345 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ id="path3441"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path3445"
+ d="m 124.34701,4.1666665 c -11.54762,0 -20.83334,9.2857145 -20.83334,20.8333335 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333335 -20.83333,-20.8333335 l 0,0 z m 0,25.8333345 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ style="opacity:0.23428572;fill:url(#radialGradient5196);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ id="g6707"
+ transform="matrix(0.0245274,0,0,0.02086758,-71.078767,36.455216)">
+ <rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect6709"
+ style="opacity:0.40206185;color:#000000;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path6711"
+ d="m -219.61876,-150.68038 c 0,0 0,478.33079 0,478.33079 142.874166,0.90045 345.40022,-107.16966 345.40014,-239.196175 0,-132.026537 -159.436816,-239.134595 -345.40014,-239.134615 z"
+ style="opacity:0.40206185;color:#000000;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.40206185;color:#000000;fill:url(#radialGradient4994);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="m -1559.2523,-150.68038 c 0,0 0,478.33079 0,478.33079 -142.8742,0.90045 -345.4002,-107.16966 -345.4002,-239.196175 0,-132.026537 159.4368,-239.134595 345.4002,-239.134615 z"
+ id="path6713"
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0" />
+ </g>
+ <path
+ style="fill:none;stroke:#535353;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m -105.48362,8.2642443 c -0.625,0 -1.03125,0.2901802 -1.28125,0.843753 0,0 -6.46875,17.1035567 -6.46875,17.1035567 0,0 -0.25,0.671559 -0.25,1.78125 0,0 0,9.649968 0,9.649968 0,1.082613 0.65779,1.625002 1.65625,1.625 l 38.562503,0 c 0.984853,0 1.59375,-0.71818 1.59375,-1.84375 l 0,-9.649968 c 0,0 0.105963,-0.770423 -0.09375,-1.3125 l -6.71875,-17.1973061 c -0.184525,-0.5119068 -0.636905,-0.9880983 -1.125,-1.0000036 l -25.875003,0 z"
+ id="path4196"
+ sodipodi:nodetypes="cccsccccccccc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:url(#linearGradient4234);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -113.49572,27.298428 0.76461,-0.692215 37.609686,0.0625 3.462407,0.317298 0,10.438532 c 0,1.125569 -0.607018,1.843331 -1.591871,1.843331 l -38.582992,0 c -0.99846,0 -1.66184,-0.542051 -1.66184,-1.624664 l 0,-10.344782 z"
+ id="path4170"
+ sodipodi:nodetypes="ccccccccc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:url(#radialGradient4250);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -113.22022,26.21602 c -0.71429,1.464286 -6.2e-4,2.392857 1.03571,2.392857 0,0 39,0 39,0 1.119047,-0.02381 1.845238,-1.011905 1.428571,-2.142858 L -78.470225,9.2553209 c -0.184524,-0.5119068 -0.654762,-0.9880986 -1.142857,-1.0000036 l -25.857138,0 c -0.625,0 -1.03572,0.3035732 -1.28572,0.857146 0,0 -6.46428,17.1035567 -6.46428,17.1035567 z"
+ id="path3093"
+ sodipodi:nodetypes="csccccccs"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="color:#000000;fill:url(#linearGradient4209);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.40899992;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect4174"
+ width="17.625"
+ height="5.5625"
+ x="-108.91132"
+ y="31.4758" />
+ <path
+ style="opacity:0.81142853;fill:url(#linearGradient4242-1);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -108.91131,37.038296 c 0,0 0,-4.011485 0,-4.011485 1.83552,3.179226 8.29649,4.011485 12.937495,4.011485 0,0 -12.937495,0 -12.937495,0 z"
+ id="path4194"
+ sodipodi:nodetypes="cscc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -71.973145,25.930304 c 0.06352,1.249974 -0.414003,2.31584 -1.322116,2.34375 0,0 -38.118719,-1e-6 -38.118719,0 -1.28923,0 -1.86773,-0.324947 -2.08405,-0.868056 0.0918,0.944332 0.82582,1.649306 2.08405,1.649306 0,-1e-6 38.118719,0 38.118719,0 1.076007,-0.03307 1.752805,-1.424024 1.352164,-2.994791 l -0.03005,-0.130209 z"
+ id="path4201"
+ sodipodi:nodetypes="cccccccc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.69142857;color:#000000;fill:url(#linearGradient4272);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="m -105.80056,10.457866 c -0.0461,0.200321 -0.1875,0.386797 -0.1875,0.59375 0,0.948605 0.59098,1.789474 1.34375,2.59375 0.24027,-0.154075 0.36512,-0.354408 0.625,-0.5 -0.94031,-0.816004 -1.55339,-1.716582 -1.78125,-2.6875 z m 26.656253,0 c -0.228727,0.969616 -0.842012,1.872426 -1.78125,2.6875 0.274144,0.153582 0.403988,0.36824 0.65625,0.53125 0.757262,-0.806656 1.3125,-1.673044 1.3125,-2.625 0,-0.206953 -0.141594,-0.393429 -0.1875,-0.59375 z m 2.1875,8.4375 c -0.613791,4.040111 -7.298613,7.25 -15.53125,7.25 -8.212253,1e-6 -14.860153,-3.192786 -15.500003,-7.21875 -0.0324,0.197132 -0.125,0.391882 -0.125,0.59375 0,4.317947 6.98911,7.843751 15.625003,7.84375 8.635896,0 15.656249,-3.525802 15.65625,-7.84375 0,-0.212924 -0.08905,-0.417356 -0.125,-0.625 z"
+ id="path4211"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:#ffffff;fill-opacity:0.45762706;fill-rule:evenodd;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path4224"
+ sodipodi:cx="7.2036505"
+ sodipodi:cy="25.593554"
+ sodipodi:rx="1.3700194"
+ sodipodi:ry="1.016466"
+ d="m 8.5736699,25.593554 a 1.3700194,1.016466 0 1 1 -2.7400389,0 1.3700194,1.016466 0 1 1 2.7400389,0 z"
+ transform="translate(-116.68092,0.47839247)" />
+ <path
+ transform="translate(-82.802257,0.39000447)"
+ d="m 8.5736699,25.593554 a 1.3700194,1.016466 0 1 1 -2.7400389,0 1.3700194,1.016466 0 1 1 2.7400389,0 z"
+ sodipodi:ry="1.016466"
+ sodipodi:rx="1.3700194"
+ sodipodi:cy="25.593554"
+ sodipodi:cx="7.2036505"
+ id="path4226"
+ style="color:#000000;fill:#ffffff;fill-opacity:0.45762706;fill-rule:evenodd;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:nodetypes="cccsccccccccc"
+ id="path4252"
+ d="m -105.12679,8.7173392 c -0.60169,0 -0.99279,0.2793586 -1.23347,0.8122873 0,0 -6.41501,16.5907215 -6.41501,16.5907215 0,0 -0.24068,0.646515 -0.24068,1.714823 0,0 0,9.290096 0,9.290096 0,1.35474 0.44406,1.626899 1.59448,1.626899 l 37.686909,0 c 1.323126,0 1.534316,-0.316397 1.534316,-1.837492 l 0,-9.290096 c 0,0 0.10201,-0.741691 -0.09025,-1.263553 L -78.883691,9.5550501 c -0.177643,-0.4928165 -0.550652,-0.8262496 -1.020545,-0.8377109 l -25.222554,0 z"
+ style="fill:none;stroke:url(#linearGradient4260);stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path4282"
+ d="m -76.269307,31.730782 0,5.020935"
+ style="fill:none;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ d="m -78.269307,31.790559 0,5.020935"
+ id="path4284"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path4286"
+ d="m -80.269307,31.790559 0,5.020935"
+ style="fill:none;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ d="m -82.269307,31.790559 0,5.020935"
+ id="path4288"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path4290"
+ d="m -84.269307,31.790559 0,5.020935"
+ style="fill:none;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ d="m -86.269307,31.790559 0,5.020935"
+ id="path4292"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.09714284;fill:none;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
+ d="m -77.269307,31.780681 0,5.020935"
+ id="path4294"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path4296"
+ d="m -79.269307,31.840458 0,5.020935"
+ style="opacity:0.09714284;fill:none;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.09714284;fill:none;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
+ d="m -81.269307,31.840458 0,5.020935"
+ id="path4298"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path4300"
+ d="m -83.269307,31.840458 0,5.020935"
+ style="opacity:0.09714284;fill:none;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.09714284;fill:none;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
+ d="m -85.269307,31.840458 0,5.020935"
+ id="path4302"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.43999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -108.89431,31.489116 0,5.53125 12.562503,0 -12.218753,-0.34375 -0.34375,-5.1875 z"
+ id="path4572"
+ inkscape:connector-curvature="0" />
+ <path
+ transform="matrix(1.037815,0,0,1.060747,-118.40219,-1.7930095)"
+ d="m 39.875,19.5625 a 14.875,6.6875 0 1 1 -29.75,0 14.875,6.6875 0 1 1 29.75,0 z"
+ sodipodi:ry="6.6875"
+ sodipodi:rx="14.875"
+ sodipodi:cy="19.5625"
+ sodipodi:cx="25"
+ id="path2545"
+ style="opacity:0.20571427;color:#000000;fill:url(#linearGradient2553);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.93365198;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <image
+ width="22.5"
+ height="22.5"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABHNCSVQICAgIfAhkiAAAIABJREFU eJztfUmPJMex5hd77ntlVdZK9vKKLVJNkRJEkCAFHgaUoHfhQIc5j6B3EQRB+gPvF0jHp4sOA0hH AiJ5ld5A0ICChjq0KHLEVpPdrK69MiuzsnKp3CIifQ6Z7u0R6bFlZXWTM21AICJ8Cw83czNzc3N3 iRCCp/D/L8hPugJP4cmCusjCJEmSFlneUxADWSDbli5TlgvhT5H/eIEh7jIEMRcH4BAvCS7gKTFc FRDuzi6KjnkIITIH4JAvA5Bef/31lzVN+y+SJKUkSaLxkiRJkGUZ07BJBlmmZTjuNJ0ozi8fVyev ukb6NxF4tY87nL7T+3g89owjhLB4r3yEEJaOPk+CCZmm6bbb7f+8c+fOHUwIYUwTRPm/SBzAhXzl O9/5zrXXX3/9f7366quGYRiQJAmEEDSbTfT7fVQqFaiqSvPy5QiRI0JsELLd5V418O3rRQT8e1Aa UTr+2bIsHB0dIR6Po1AosPDhcIg//vGP/27b9jf+/ve/fzENHkuSJEUhgnlEgAxAAaBls9mXbt68 aTzzzDOwbRsnJye4d+8eqtUqTNNEo9FAuVzG888/D1mW2Y9ZloVcLod8Pu/qAQSPqk6f3WHOdI/+ dbaxJ/Hud1HbOMMOD4+RSqXCtwj8CSMonAdKxOPxGP/4xz9Qq9VwfHwMXdexvLyM7e1tVCoVSJKE 7e1t4+OPP34JwD5XxFhYsAeEJgDK2jEhAA1AzDCMDdM0UavVMB6PcXx8jPfeew+JRAK3bt3CnTt3 8I1vfAOFQgG6rjvKW19f9yEAMu0Vj55pGlE6Z5wTwvZAHkajXTSbzRmOMk/5bhbvFeaG0WiEarWK 3/3udygUCtje3sZHH32ETCYDRVEgyzLG4zEMw9gAEKNFY6oThOUCUTmAhGnvBxCPx+PrsVgMhBAo ioJyuYybN29CVVX84Ac/wM7ODiqVCmzbZj9LG5WKhi8r8HoJMEGWSMS4EcspZADAxCIfzod5cQ7D MPDNb34Td+/ehaZp+O53v4vRaARFUaAoCgghiMfjiMVi6wDiAOzpNYabpflAKCxwvd9BAIlEomIY BoAJyyoUCvjpT38KXdchyzJSqRTOz89h27ZDnhNCoGma8Fs7OzswDB2macI0LWiairOzJkqlIgaD ARRFgaZp0HUd47EN2x4jHo/h5KSKlZVl1GqnKJVKSKWS+OST/4NSqYRer4dOp4NyuYyLiwtYloW1 tVU0m+fY2FgX/S+oEkvr6yYGPq1fGj/ki9Lx76qq4mc/+xni8TgIIRgOh+h2u+h2uwAmRBKPxyuY EMAQgAnAoigLwwWidkMZnAhIpVJlXddZpWnleHlPG5PX4G3b9uQAzz77LNwiYH19nTWKlwi4fj0J QgieeWaLlfX1r7/gy6L95Ly7zhcXF0y59WtXP/mvqipT5mgvdnMD/j4cDlGtVkEIYSyfB8MwkEql ypiIAA2P8BNaD5hXBKgA9Hg8XnL3ZP4HvIZ2iqLgr3/964xYEH4wQLO/Cs1flmUHgX722Wc4PDzE 1tYWlpeXZ3ovhSDlbzQa4fDwELu7u7h58yZyuVwgEfjpC6qqIp1OlwDomOBEQUQbTBQCcIsBNR6P 5zVNEyLaC/mSJMGyLEc6r6GcqBzgkV1AlMedL/CnAtLu7+/j8PAQ6XQa169fZ+F+yPd7jsVi+Nvf /oZ79+7hpZdeAhWhlLt5EYGIIHRdRzqdzsOJfHpdiRIIPBoGqrFYLMeP8/2Q/s9//hP9fh/j8Zil VRSFyVqqdNFnWZZn4vlLlI8nKC+jEW08ercsC6ZpYnl5eWakQghBtVoFACSTyRnRxqcLK//pN2zb xtnZGdbW1oTI9eME9FlVVSQSiRweEUDkyb15RIAEQM5ms4lUKhXne6O74SVJgmmaeP/991EqlfD8 88+jWCwyBVCEJL8wv2dhZUNwAUIIGo0GTk9Pma7BQ6fTAQAkEgkht4iq+fNE1u/3WZlBCOfD+HTx eDyeTqcTnU5HhtMcHwrmEQEyAHltba1EG4VWit7559///vcAgFdffRVe6UV3rzBHhRZAAJIkIZvN QtM0DIdDxGIxFjcYDFhDp1KpSN/z4gKUUxFCYNs24yp+ROCFfEII0uk0lpeXS51OZx9T8zwiEMHc HKBcLhd1XfdkuZIkYXd3Fw8fPsRrr72GZDIpJBJ3Hv7ujg8KixLPQywWg2EYGA6Hjnz9fp+Vlcvl POvhNyoQcQFVVWGapoMAosp/+qxpGorFYvH+/ftXygEk1yUXi8USHe/TH3Uj+N69ewCAjY0N3wmf IIRHJYAoyAfAkNvv9zEYDFh4q9UCACwtLSGRSEQq069ulAAsy3KIAMBb/ntxBU3TkMvlSnD2/tCK 4DwcQAYgFwqFIh0BiJAPANVqFbIsI5/P+87oPUkCqFQqKJVK6Pf7aDabGA6HACaIODg4AABsbW1F Jio/0DQN/X4flmV5ioCgMF6pzOfzRTyyASyWA0iP/tyhA+Tz+bymaZ49W5ImhgxN0xCPxz3Zvvs5 zLtXWJg4CoqioFKpIJfLAQB0XWdKGQDU63UMBgOk02ksLS35svmoQDsO5QB8vcP0ej5e0zRks9k8 nAQgTdMHzgzOrQPk8/miqqoODiDq3bFYzHNKWPQ8z3vYOAqpVApra2usXuPxGHt7exgMBqxxHzx4 AEVR8OKLL86wadE3oxAIHQW5CUBUpp/8lySJEgDlAI9FB5ABKOl0WsgB6DO1/1M/ARrP/2DQs+jd KyxMnCzLWFlZYb0emDTo3t6eo/c/ePAA7XYb29vbjrRRwE0U/DslAGraDfofL05AFcpcLpfHIzvA 49EBeCugmwMAQK/XgyzLjP27f/QqCMCvIZPJJFZXVx0mXhHyz87OsLOzg+XlZVy7dm2m/EWIAt58 blmW58SYG3jE03cPERAa5jUFy4Zh5Oi8tAjBvV6PWqqeKAHIsoxyuTzTk/v9Pvb395llEpgg/6OP PsLy8jJu3769UMWPB54IbduesUAGgZsDZDKZHGZ7f7i6RPkuOA4Qi8Xyqqo6DB18g/X7fYcC6I5/ HASQzWZRKpUcDT4ej3FycsIsfDTP6ekpPvnkE6yuruLWrVtXhnxgonBSJPrpAUEgSRMTeCwWEyqB YSCKDkDv8urqaiYej2t+iKUjgFgstlACCIP8dDqNYrE407M6nQ6Oj48d6S3LwhdffIGTkxPcuHED W1tb8AMvMRBFPFACoN8PSwDuOQcKsVhMK5fLmVqtdgonrgIhKgeQAchbW1tF0SQQfQcA0zShaZrD hHqVBABM5HypVGIzbBSoYyVv5AGAWq2GL774AplMBq+88spMPi+4LHfgLahUWZ4X6PxCpVIp1mq1 HUTUA+YSAaurqyU6BATECDRNE6qqLpwDzFRKkpBOp5HP52cQSMjEQ7lerzvC+/0+Hjx4gNFohOee e25uTV9UlzBAR090PuCyBKUoCpaWltzWwFAQhgAk1yWXy2UHAQCYQbJpmtRl6VIE4FnxyfAH2WwW iqI44sbjMdrtNk5PTx1ljsdjHBwcoFarYXV1lXnXRoEoowCvsnkO4CUCvNi9KE5VVZRKpbnMwb4E IDlrwERAoVAouI077rtt29A0LfIoIAji8Tjy+bxjcokCnWM/Pz93hA8GA9TrdTSbTaTTady+fTuy 5h1U1zCEQfMuigNQQph2hgIEQ0FJ8rcGRjUEyQDkUqlUcK/6cd+pbBJ5DLmffT8sTYxJ6XQa6XRa 6Es4Go1Qr9dxcXHBwgghaLVaaDQaME0ThUIBt27dgptz8ekvA1HKXLQImM63uAngSpRACYCSTCYL vBkYmCUAAPBKE/ghSaLuTkin056Gkn6/j1qthtFoxL4zGo1wdnaGVquFeDyOlZWVUIs8oiAhLLHw ZfJ5VFWFpmmwbXthOkA2my3A6RYWCqLqANQKWKDuWl4EEI/Hp67dZihFTpIkxONxxONxpFIpTxZN CMHFxQVbjELD2u022u02TNNENpvF9evXr2ztwTxiwJ1H13WMRqMZT995iMFDBFxeB3ABIwDDMHJB HCCVSjE38fF4POPIOTVgIB6PI5FIOEYLIhiNRmi32w753uv10G630ev12BAwHo+LK38FPTzoG37l GIbhWDDjVZafMkhhygGoNfBKhoEOLhCLxfJBOkC5XMZwOIQsy6jX6ygWi0yWJ5NJx+jAC0RIH41G 6HQ66Ha70HUdqVQKy8vLMwR2GQhDLFGUPlEengPwyJ6nLqqqIplMUmsgj6vgvGEScQXKsiyrhmFk /czAwGTtX7vdhqZpbC1bJpPBZLQiBkIIQzr1xgEm2j3lJoQQJJNJrK2thZ5EuQqYR5Hk8xiGwXwO RfFRiEGWZei6npVlWR2PxwtXAiXuLt+4cSOn67rih3wK165dQ61Wg6qq0HVdaKgZjUbo9XpotVps vQAF0zTRarVwcXGBRCKBYrHoyeI9K+/TuxaZh89HIUgE8COkKHWgZmd6nxKAsr6+ntvb26sigjk4 CgdgZmC3AuhV+Xg8jo2NDZimCWDSk9vtNkajEbrd7gzCad7hcIhWq4Vut4tkMon19XVPhY42ghfM I8/DsvcoPd5dLh0i86MAv17vjnOXraoqVldXi3t7e5H0gMgiYHV1tUQJwKuyPMiyzBQet0nWnY8O 4S4uLhji+dGAqNEX6aoVBeaZEHKLAGoPsG0bfJvOQwjzmoODCGBmCLi0tFQMWpoVNW48HuP8/BzN ZhPxeBzr6+vCiZmoyF4EcVzV6IGucLZtG+Px2GHOnocQZFlGoVBwO4cGDgU9CUBgBpYwtQKKKiuq pEe5jvfBYICTkxMoioK1tTW2FDosXDUHiDK29wMv7qBp2ozLl6h8URwfpigKbwtwcAA/c3AUQxD1 BSy6RUC73cbu7i4ajQY2NzextbU1I7NFjdXtdnF8fIxkMskmZhYtz68Somjqbm1fVVWHWzifV1Su bdvY3d3F3t4eisUitra2kMlkWPopARQx6xvoC5GVwEQiwTgAIQTn5+c4ODjAp59+ilarxWT+0tKS wyHUDc1mE7VaDZlMBpVKxfPDT4Lte0FU+4AfMaTTaZRKJdRqNZyfn2NlZWUmHy1rOBzi9PQU+/v7 +PTTT7G8vAxgMtSmi1pcHCC0EhhkPZFcl2wYRp4SgG3bOD09xS9/+Ut8+OGHGI1G+POf/4z33nvP 08YtSRKq1SpOTk5QKBRmkE993XjnRxG40wWlXwRE/WZQulKphHK5jEajwVYh80BHWrZt45133sGv f/1rHB4eotls4t1338Xp6Sls2wbARIDIGORLCJE5gGEYzArIs7H19XW89dZb6HQ6iMVijkWW9Gds 28bR0RHa7TZWVlYc254FIW8RyJ3HejdPuUFigI+nhrHj42MQQlCpVGbKi8ViePPNN3H37l1sb2/j rbfewt27d2FZFhO10y15InsHR9UBZF3XHXsCvPTSS/jtb3+Lu3fvolKpMAcNOvancp0QgqOjI5yf n2NpaQmFQmGhSF9U718EkQSJAXd8qVQCIcRBBLw+pCgKXnnlFdy+fRt7e3vIZDL43ve+B2AydKZp YrGYez5gIToAYyWGYWixWCzDDwNHoxFkWcYLL7wAAI4ZQJ71nZ2dsWGe31KrMAh40srgZZQ/r/il pSV0u13UajXIsszkPG1H6mP53HPPAZi0u3uKWdf1jK7r2mg0Cj0fEEYHoHd5e3u7oKoqP7xgFRyN Rowa3T/e6/VweHgIQgg2NjaEFrIo8jQKeMntMNe835knDSGTzbAkScLR0RFzbuHFhrud3cNETdOk jY0NfigIBBBBmCk0xv6feeaZUpAZ2P1zlmXh4cOHME0TGxsbDsueX4NFQcaikLiocsOkFcWpqoqN jQ3Yto2HDx8K9xt2A4+LqTmYWgND6QFhCUACIK+srJTcDph+QAjB7u4u+v0+CoUC876N2jCi+Mel +S+iHlH+N5fLoVAooNfrYX9/X5hHBHQoWCwWI5mD/QhgxgxcLpcLYQiA/lSz2cT5+TkIIVhdXfVl f2G5QRi4DNu/DCe5zH/w4Zubm2y4TNsvDEzNwV6eQeI8okAPM7CSzWaLfgTg/rnj42NYloV8Pi+c zVsE0h8XR7iMGPCLF4XLsoxischEgV96HqauYdQaOGMOFubxLdHFAZLJ5MxEEF9xHtrtNrrdLmzb dli5RGmDwqOmEYFhGFBVdWZbOVom3Zd/PB7Dsiy2U0iUuswzEuCVPB5WVlZwcHCAXq+HZrOJfD7P 0vs5hkwJIPRQMOwwkC0Jd3MALyo+PDyEZVnIZrPMiWMexEdFuLuxE4kE6Ha2pmliNBqxGTi+8em+ hNPxNOLxOHNW8UJSUF39hn1BhGAYBrLZLM7Pz3F0dMQIwK8Mbq+A0EqgHwHMmIF1Xc+719eLfpDu q2tZltCy5Zc/TFxQGlmWkUgkoCgKRqMRWq0WTNN0aNUU6QAcxEDza5oGwzCQyWRg2zZ6vd6MBy8t J6h+8xJCpVJBvV5Ho9FgPhLutHx+WZbpzqGhVwhFEgGxWCxPNzn2+iEAODo6gmVZ1D7tmzZMeFAa N/KSySTzLaQWSVVVZ5aQ8Xnc5fX7fccS92QyyTycAfHM3SJFACEEhUKB7Sh2eHiImzdvzqTl8yuK gkwmE2mpeBQ7gKLr+owIcP8gMLH6WZYlpNggDdgrjk/jFQZMXK3a7TbOzs4YAnnfuzCaviRJLF+/ 38fZ2Rna7bbQhhFUr7D/6hWeTqfZaSx8WlH+qTXQvV2ML4SeDcxkMoau60k39bkrMxwO0ev1YNs2 W5FzGcTzz35hdHKKIh+YTKLMq7nTi05qUSKgIjAsUV6WEFKpFFNK6caVXvmnhJtMJpMGQs4GhrED yADkW7duFXk3bPfHaYXa7TZs24ZlWUilUpEQ79eAQUQATEYejUaDHqXi29ujXIZhYDweo9FooN1u R6qbqJ5R2iKdTsOyLFiWhVarJWx3HnRdx+bmZuiRQGgRsLW1VeIdQbwqQd276QhA9FNu8GussA19 cXHBFCa6q+cikE8hkUig0WiwRajzIj8qIWQyGQcBBLW/oihYWVnhrYG+EFoJrFQqJd59SfRxAEz7 p06PojSivGGevcoaj8eo1+s4Pz9Hr9djw76gb7rBT1vXdR2dToct51pbWxPm9yqfj3M/i75Hw+l6 CuoxzacTKYOyLIv2CvAELwKYMQPn83mHGdiLiqkI4M/bEaWb91kUZlkW2wlkPB47vh8F/IhjPB6j 0+mw3r+8vDyzASaf3w/hYQmBhlHXcSp+3PXl83q4hnkOBWcIQGAGlgEoqVSqyCtAoorQZ+rnHpRu 3md3mKIoTPZnMhn0+/2Fbe5MYTAYIJPJMD2DIs/Lmzcq8kXI5MWGqqoYDoee6fj1AQLnUJpnxjs4 rCGIOYMGsWRCCFvkwK8K5n9GlFcUH+XdMAwoioJ0Oo3RaIREIuHbo8MCbdjhcIh0Og1CiGPJu7vX 82FeIiGIEHjk0jZ0e2KLRIDAOTRwJBBGB3AYgXgQIUPTNKiqyvwFRSOHIMRHJQIAWF1dRa/XQyqV mpl4mocQeGTSISYd1YhM225kB727w0QcRZIkZlAjhMz4WYqIYLpxZGhzcGgdIBaLFXi56oUUuhqY J4BFID6ICFZXV1Gr1ZBMJpFKpdj4udfrzfycV68UpUkkEo6xvyzLMy5tfsgOwxX8wvgj9uiiGT9O IEnS5XQAvg7cpei6ngszDKQcQFEUWJY1g+goRBCVExSLRWYKTiQSzBJJRwh+4C4rl8sxj12q+Nm2 zXqhF0KjjgT8wtwcgB/eehEBd5CU+xQxIYQWAdQMHISEXC6Hi4sLKIqCTqfjMAeHIQa/56B3Kit1 XUc8HodhGIjFYshms+j1ejg7O8NwOGQX71NvGAa7CoUCa+zBYIDxeAzTNOHuAFHYvtezO607rtvt gu7FwIsAPx1A07RLiwCAEwErKysJTdMcAshLKy8Wizg5OYGqqmzFyzwK4LxEQIeEyWTSYbtPJBIz IwM6UeS30YSu6+h2u8y+QeGyyHfrGF4E0Wq1GAdwb3YlEjNTc3Asn88nms1moC0gSAegZuCSnxmY D6O7elER0O/3mU3enXeRnIAPM00TOzs7qNfrbK2CCIJ2GGm1Wjg+PmYbSwPBY373e9iezz/TO+VS lPPQ09b9bAZUEdzc3Cw1m83Ak8RCiYDNzc1AMzAfns1m0e/3mRjgT8d0p100EfDhdOcwXdeRyWSQ yWQYgboNRZTNdzodlo93cxchnoZHRX4Y+Q9M2D/t/e6DK/k60XrxesDy8nIoc3AoEbC0tFT0k//u eyaTYUeduw9bvqwe4NfzvcLo4kq6dSwAx/nAlmUJnT0oePVc93eiGn3c+dzp6GnphBDfc4b5f6Z6 ALdXQGQRMDMEzGazM76AXogkhCCfz6PZbDLWNRgMZriAKO88z35hfuF0k0Y/CNvr3WHzcgG+LHqG oVv+hyECFwH4DgUdBOBhBpYTiYTDG9gP+QBoBRgLu7i4mHGm8Cprnme/sDBxbvBCPI27CuTzYePx mIlQQiaGJ35XtiAikCSJP0jK1xwcyhDk3hMg6E4IQTabxWAwYLJ2MBgIlcHLID4qEYQFrzIWiXxR GfRORyd0WBv2mHleB5huHRtoDg41CnD7AnohnQ9TFAWpVArD4RCKojhm6aISgZfuIYqbNxyYtQa6 w8MiP0yaIGTS9qZzHEFEw9+nO4eG8g300gHonRmBvCZ1RMin90QiwZDOc5CwIsAP0fMQRVCcXx43 i+XLCmMNDCP/JUlyyH1CCJvUCms5pMTDeQe7F4p66wB8fblLoe7gUZBPCGHHxvFEIMsyTNP0RXhY lh+GQ4QJ5+O9uIBXurDDQHe8KB3vxkbd2tzfDEMEU8smdQ6dSwQATg6Qc1N9EPLpnXrkyrLMhl6y LDu2SY3S+6OKCNG7H/ANGxXm1fgJmYzzqfHMPf3rJypE5U93Dg21ebSX2wzTAa5fv57WNE3jPxim 9/J32vPpj8ViMcewht6DOEyYiy7yWPQVpdyw/0PvmUwG8Xjcc97f7y4KkyQJmqZpKysracypA7De v729veSlAIZBPv9MZRwVDaqqotlsOvb9D/q5KNzCL+xxQJAIACZ7BOm6znq+bdsOERmkLIrSABMl fH19fenk5OQhfIggUARUKpUZV7B5kA9MtjUxDINxAzphU61WmVEmTLn83e9Z9B4WeCRdNp0IeZI0 WfplGIZjv0A6+xhlxOBOA7CtY3lroBACRUChUCiKhm7uRnDfRWGWZaHb7U4+PCWCRCLBNoOOyu6/ Shf/X9PJGnamIl2p3Gq12PxDmM7mhQP6jTDmYDcHmDEDZzKZmYmgoMr59drRaIRms4lyucx+PplM Ynt7G9VqFbVaLRKn8WsYv97Px3n1YHfvDssVeHCLgeXlZbZglo6OLMtCo9Fg5t8wvdyPOwCgB0m5 t4uZMQczApAe/ZmDABKJRMHLeBMV+fQ+Go1QrVaxurrKqF9RFGxsbKBUKmFnZ4d54cxLAGGRT9/D EsG8kEwmce3aNcTjcWYUo2bf4+NjdvCVCPlRiQBwHCQ1YwzizcGBlkB6QBRtDP4eNsyLCPb29rC6 uop8Ps/kYiqVwosvvoijoyPHRkmLIgC/8EUg2g2yLGNra4stJKGIlyQJ3W4XBwcHLMwP+V5DQq+w 6Qktws2jeQgcBdDzgSgEISAM8umzbdvY29tDr9dj28dRsbC+vo5SqYTd3V1Uq9VIhOB+9gtzx4cl gqC0iqKgXC5ja2vL4cpF8xwcHMycnzCPsudFEGGXiot0AHp3LAkPi3B3fFB6QghqtRq63S6uXbvG dsAGJqt7t7e3cf36dRwfH+Pw8HBm/7ywBBCEfD7dZThBIpHA2toaKpWKcF+kbreLBw8eoN/vC62J UTiAOz0fP+UAoqXiYh2AA4ci6J4HuIwY8AojZLK48+OPP8bS0hKuXbvmMIPS/fM2NjZwdnbGzv/l y/T6vtf7IkGSJCwtLWFjY8OxlQsPw+EQOzs7M+cZR1HsohDE1Dk28CQxPx1AVhRF0TQtG4UDhAkT EQB9r1arqNfrDOHuxSiFQgGFQgHD4RDVapWdFcwvm+K/7X4OA2G4gGEYyOfzyOfzWF5e9jx63rZt 7O/vY39/33FEnAjmUfa8CGK6NiMry7LCnSQ2A746wPPPP5/TNI1hIKiBoyhmIuTTy7IsfPHFF9jd 3cXa2hrW19dnVsUYhoHNzU1sbm4CANtNq9ls4uzsjNkb3N+dBwgh7Ih6egWtPRwMBjg4OMDR0REz colYPh8+j7Ln96xpmrKxsZHb3d2tIYIOwBTA69evL3n1fq9nLw7Ap/NDPv9umiYePnyIhw8folwu Y2Njgx2Q4Abq9k21bdM00W63MRwO2f66dJcw/h14dH4PvegGUfxGUWHOKCRkcoDG/v4+Tk9PGULo 5Ua6mzC9EB3U272eFUXB6urq0u7u7n14KIK+IqBcLhdF8/hBugD/LEJyGOS7309OTnB8fAxVVVEq lVAsFlEqlWY4AwVN01AsFj1+b3EwGAzYxhGNRoOtHQiDdBER8OFhEO4mDvoMTEYipVLJ1xzsywFy udyMNzAhhO1g2Wg0mPLDx7ufwyA/iADos2maODo6wuHhIYDJHjpLS0uMKBZ5hKwI6FYx9Xodp6en 6Ha7DNlA9GnkMEQAzCIcAHZ3d3F6eopSqeQ4p4mmURQF+Xzed7sYngBmLIGpVMrBAcbjMVtwUa/X YZombNvGxcUFbty4IfT6cSOUwjzIFz1TH/779+8zZ9RisYhYLOZY7qXremjiGI/HGI1GjmVktKef nZ3NbBXnBq+eKXp3l+OVlicIy7Lw+eefo9PpoFarMXyUSiU8++yzDA9Tc7BoPoANBdVp4b5mYAqx WAyZTAbvv/8+crkcYrEYPv/8c3zrW99CNptlZ/vyP+Mn/73i/N75RnL3FlbFAAAGL0lEQVSHWZaF Wq3Gzt9xNzSV6fwFwIFo97kHop7tfhb1YB78lD5RWj5OxP4zmQwkScJf/vIXdhh3q9VipmZ6mMTU GORrDvYaBdCtYR3zAMlkEu+++y475u2FF17AJ598ggcPHuC1115jmndQb59XDAQRg/vb7npQJPuB V6/mERAmPGzP9yIeN1fgCSEej+Ojjz6Cruus15umiQ8++AA//OEPHWsKBATgAL/ZQMUwDMc8wHQH KtRqNayvr+ONN97A6ekpvva1r7Gl4H5yP6oYiCIKggggqJeKGjsM+LF7v7R8WFAd3d+wLAtvv/02 fvOb30DTNNy4cYM54PJ2E1mW6YSQp2+glw4w4w0MTOTtj370I3z44YcYDAb4+OOP8cYbb8AwjJmd LL1+ZlHcQPQsugc1bhBEJQgeLtPr+e/zcYRMhpqbm5v4+c9/zhTBXC6Ht99+G81mk6VTFAWJRMLX O9h3FEA3haCVGAwGqNVquH37Ntu0iO4KFqaHh9UB5uUG/N3vOQqEkfFR8/vpAKL8FCgxEkLYEnxq Nqf6D6+gTs3BvieJ+VoCCSE6PdiYVta2bQeVBSHSjxuI0vuFi975cD4s7DP76QUP30Rl+7F/HoI4 BCUEfus40VB0uuhVR0SfQEYAiUQiTo9zFzVgmN4XJS4MSw9Tnjvc610EbqR4vYtGBWHuQWnmjROl mW6VE0dIApDc1y9+8Qv86le/Qrlcdud7Cl8BqNVq+PGPfwwIcEvT+HoEDQYD/OQnP8Hrr7/ONkyK ArZtszE13VrtKTweqNfr+OCDDzAYDACP3g8E+APQZVwffPDBXJU4OTnBvXv3QAjBm2++OVcZ80Kn 00E6nUa73UYikUCv14t8X19fn9me9asEpmlS66dwCAgEbBFDz9AJMxMWBIso40nAV7XeAHx3PaHw lAAC4KtabwCOXc28wJcA6IaPXt4uUWARZTwJ+LLUex6DFL+nsRcEcgBVVZ8SwBME27ZxdnaGI/0I hWEBS5klTx8IN0wVQF/wJYCXX34ZDx48WEgj2La98C3cHwc8aQKo1+u48607aL7chJJS8O3/+Db+ JfsvofImk0lcv34df/jDHzzT+BLA3t4eSqWS50aLUeBPf/oTvv/97zs2i/oqgPvU08cN1UEVzWeb +M9/BSrat/Hf/ncH2VY21LC61Wphb2/PN40vAQyHQ9Tr9YX0gkajgXfeeQfXrl3DzZs3sba2duXe O4uAMGz0KmEttYZSt4T/2ajjudiH2D7/ryAgoepFT1DxAz8CIADYViWLQJZpmrh//z52dnag6zqK xSJz887n88jlckin03PPvl0FPGkDVjabxb+d/xvu/+Y++tYavl7MhUL+eDzmke9pAxcRAKEZqK99 s9kUHpJ0GbBtG41Gg7EpfshJXa+z2Sxz7eK9dnVdF666uQoIq3BdFciyjFKuhOeyz7FDLMPA4eEh BoMB35kYXnlwtyJNNAZgy7Jcbbfby5999hkODg6QTqcjVZ4erEQImTm1m7+Lwqj4oe/A7IQHJRq6 7xC/vUqhUGCEomkaYrFY5Luqqvj0008j/fOXATqdDjsoI5PJVAHYmOB0hgik6fiS+gBoABIAcgCW ksnk1ssvv/zfDcPYJoQohJBQZ9E9hScKRJKksSRJ9nA4vHfnzp3/cXFxsQvgFMA5gB4AE8CYEELc BKACiAHIAigCWAZQBlAAkAZgTNM8JYQvH1DObQEYAugAOANQA1AF0ADQAjCYphkT4nQKZawfwAhA H0AXE4JQpnFPCeDLCyICaGOCwz4mOOVFAYCpDkAIIVPZSfCIAHrTAuRpWB9iAnhKCE8WCHfnCeAC kx7fxgSXlAAIJigX+gTyHKCHCXLH0wLjAHSI15s/hScHbgLgOfgFJpyAJwCHYYARAMcFbEyUBFqo NS1Mn6bnXYyBpwTwpIEnAMrBLUwQPpheQ0xwaoPr/YC3HcCCk6UM8Ij1hzqU+Ck8duCH8BRvFiaI t/CI/TvAQQAuXYDebYi3GnsKXz4gmCUE/gJxecZKHq7N7rWCbnb/lAC+nEAEd2b8cSMf8CAAFjlr lH+K+K8GOJAqQjwFXwIQZvgyzdQ8hRnwQ7YIIhPAU/h/C/4vD6SaFDtyyOQAAAAASUVORK5CYII= "
+ id="image5984"
+ x="59"
+ y="18" />
+ <path
+ transform="matrix(1.0533428,0,0,1.0533428,-233.99431,2.4030939)"
+ d="m 31.875,25.25 a 13.5,13.5 0 1 1 -27,0 13.5,13.5 0 1 1 27,0 z"
+ sodipodi:ry="13.5"
+ sodipodi:rx="13.5"
+ sodipodi:cy="25.25"
+ sodipodi:cx="18.375"
+ id="path5987"
+ style="fill:#b6b2b3;fill-opacity:1;fill-rule:evenodd;stroke:#535353;stroke-width:1.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:nodetypes="ccccscc"
+ id="path5989"
+ inkscape:connector-curvature="0"
+ d="m -203.13913,21.75 0,-13.8750001 c 0,-1.4487088 -0.89951,-2.125 -2.25,-2.125 l -3.79688,0 c -1.14507,0 -2.06706,0.3720031 -2.06706,1.881543 0,3.9967611 -0.56146,5.6121431 -6.88606,7.4934571 -7.21859,1.934215 15,6.625 15,6.625 z"
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </g>
+ <g
+ id="g7955"
+ transform="translate(1.2374369,0)">
+ <g
+ id="g7932">
+ <rect
+ style="fill:url(#linearGradient7987);fill-opacity:1;stroke:#808080;stroke-width:1.08234084;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="rect5198"
+ width="37.925812"
+ height="45.672237"
+ x="3.7542076"
+ y="1.3552052"
+ rx="2.023422"
+ ry="2.0769122" />
+ <g
+ id="g6159"
+ transform="matrix(0.75730905,0,0,0.75730905,54.168246,10.831223)">
+ <path
+ transform="translate(0.328125,-0.453125)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6113"
+ style="opacity:0.78761058;fill:url(#radialGradient7989);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7991);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6147"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)" />
+ </g>
+ <path
+ style="fill:none;stroke:url(#linearGradient7993);stroke-width:1.08524024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 27.390286,7.3570104 c -1.053346,0 -1.897283,0.3361848 -1.897283,1.7248026 -0.349391,3.90193 -7.520699,7.432837 -12.620959,12.555943 -2.224635,2.339362 -3.592185,5.498558 -3.592185,8.981807 0,7.224449 5.884051,13.079754 13.108499,13.079754 7.224449,0 13.079754,-5.855305 13.079754,-13.079754 0,-2.864507 -0.939302,-5.492021 -2.500964,-7.646625 l 0,-13.661151 c 0,-1.3326599 -0.82745,-1.9547766 -2.069763,-1.9547766 z"
+ id="path5995"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="sccssscsss" />
+ <path
+ sodipodi:type="arc"
+ style="fill:none;stroke:url(#linearGradient7995);stroke-width:1.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6006"
+ sodipodi:cx="23"
+ sodipodi:cy="28.875"
+ sodipodi:rx="4.75"
+ sodipodi:ry="4.75"
+ d="m 27.75,28.875 c 0,2.623353 -2.126647,4.75 -4.75,4.75 -2.623353,0 -4.75,-2.126647 -4.75,-4.75 0,-2.623353 2.126647,-4.75 4.75,-4.75 2.623353,0 4.75,2.126647 4.75,4.75 z"
+ transform="matrix(0.91989475,0,0,0.91989475,1.497379,4.0676156)" />
+ <path
+ sodipodi:nodetypes="sccssscsss"
+ inkscape:connector-curvature="0"
+ id="path6020"
+ d="m 28.021241,8.388488 c -1.411541,0 -1.464632,-0.06564 -1.464632,1.087165 -0.79026,4.49681 -8.233056,8.208077 -12.926319,12.922365 -2.047112,2.152683 -3.305534,5.059779 -3.305534,8.265068 0,6.647946 5.414511,12.036004 12.062455,12.036004 6.647946,0 12.036004,-5.388058 12.036004,-12.036004 0,-2.979671 -1.176847,-5.616263 -2.52014,-7.317683 l 0,-13.626878 c 0,-1.226315 -0.261421,-1.330037 -1.404599,-1.330037 z"
+ style="fill:none;stroke:url(#linearGradient7997);stroke-width:0.99863923;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ transform="matrix(0.73157083,0,0,0.73157083,5.828829,9.5054687)"
+ d="m 27.75,28.875 c 0,2.623353 -2.126647,4.75 -4.75,4.75 -2.623353,0 -4.75,-2.126647 -4.75,-4.75 0,-2.623353 2.126647,-4.75 4.75,-4.75 2.623353,0 4.75,2.126647 4.75,4.75 z"
+ sodipodi:ry="4.75"
+ sodipodi:rx="4.75"
+ sodipodi:cy="28.875"
+ sodipodi:cx="23"
+ id="path6047"
+ style="fill:none;stroke:url(#linearGradient7999);stroke-width:1.3928932;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ <g
+ id="g6227"
+ transform="translate(59,0)">
+ <path
+ sodipodi:nodetypes="cccscsc"
+ inkscape:connector-curvature="0"
+ id="path6004"
+ d="m -49.723391,15.766028 0,-5.956679 c 0,-1.9747549 0.720085,-2.6116057 2.026623,-2.6116057 2.490645,-0.083222 6.700434,-0.024317 9.114109,-0.024317 2.952952,0 3.468191,1.6055538 0.554883,3.9038907 -2.14002,1.745447 -3.738746,3.427527 -6.742857,5.858465 -2.149829,1.739649 -4.952758,2.0649 -4.952758,-1.169754 z"
+ style="fill:none;stroke:url(#linearGradient8001);stroke-width:1.02364969px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="fill:none;stroke:url(#linearGradient8003);stroke-width:0.87717688px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m -48.747795,15.29064 -0.01563,-4.203168 c 0,-1.6921899 0.632674,-2.9566645 2.674136,-2.9566645 2.134261,-0.071314 4.996578,-0.061241 7.064884,-0.061241 2.530418,0 2.684669,0.4256423 0.188223,2.3951135 -1.833807,1.495693 -4.574945,4.040079 -7.149203,6.123178 -1.269396,1.027199 -2.762415,0.883643 -2.76241,-1.297218 z"
+ id="path6073"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscsc" />
+ </g>
+ <g
+ transform="matrix(0.75730905,0,0,0.75730905,54.168246,-25.793777)"
+ id="g6207">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:url(#radialGradient8005);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6209"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="translate(0.328125,-0.453125)" />
+ <path
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6211"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient8007);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ </g>
+ <rect
+ y="2.6214366"
+ x="4.9879036"
+ height="43.124149"
+ width="35.458416"
+ id="rect6089"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient8009);stroke-width:1.30568182;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ ry="0.98889953"
+ rx="0.97983909" />
+ <g
+ transform="matrix(0.75730905,0,0,0.75730905,25.355746,10.831223)"
+ id="g6197">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:url(#radialGradient8011);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6199"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="translate(0.328125,-0.453125)" />
+ <path
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6201"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient8013);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ </g>
+ <g
+ id="g6213"
+ transform="matrix(0.75730905,0,0,0.75730905,25.355746,-25.793777)">
+ <path
+ transform="translate(0.328125,-0.453125)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6215"
+ style="opacity:0.78761058;fill:url(#radialGradient8015);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient8017);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6217"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)" />
+ </g>
+ </g>
+ <g
+ transform="translate(-4.375,-1.875)"
+ id="g4573">
+ <g
+ transform="matrix(1.081868,0,0,1.081868,-4.3464538,-1.0502001)"
+ id="g3898">
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path1432"
+ d="m 28.684906,36.125222 c 6.086641,0.71238 11.727054,-3.681721 11.646405,-11.908666 l 3.351105,0 -5.763832,-7.641085 -6.044762,7.641085 3.864619,0 c 0.231543,5.556985 -1.284263,9.782316 -7.053535,11.908666 z"
+ style="color:#000000;fill:url(#linearGradient8019);fill-opacity:1;fill-rule:nonzero;stroke:#203f66;stroke-width:0.495;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ style="opacity:0.46902651;color:#000000;fill:none;stroke:url(#linearGradient8021);stroke-width:0.64300001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 31.100536,35.598562 c 4.226147,-0.55023 8.803114,-4.043539 8.715343,-11.903078 l 2.700907,-0.03125 -4.626443,-6.120489 -4.722425,6.06205 3.169892,0.0221 c 0.08213,4.002335 -0.388784,9.662261 -5.237274,11.97067 z"
+ id="path35206"
+ sodipodi:nodetypes="ccccccc" />
+ </g>
+ </g>
+ <g
+ transform="matrix(-1.081868,0,0,-1.081868,54.213774,50.384565)"
+ id="g4578">
+ <g
+ id="g4580">
+ <path
+ inkscape:connector-curvature="0"
+ style="color:#000000;fill:url(#linearGradient8023);fill-opacity:1;fill-rule:nonzero;stroke:#1f3e66;stroke-width:0.495;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 28.684906,36.125222 c 6.086641,0.71238 11.727054,-3.681721 11.646405,-11.908666 l 3.351105,0 -5.763832,-7.641085 -6.044762,7.641085 3.864619,0 c 0.231543,5.556985 -1.284263,9.782316 -7.053535,11.908666 z"
+ id="path4582"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path4584"
+ d="m 31.100536,35.598562 c 4.226147,-0.55023 8.803114,-4.043539 8.715343,-11.903078 l 2.700907,-0.03125 -4.626443,-6.120489 -4.722425,6.06205 3.169892,0.0221 c 0.08213,4.002335 -0.388784,9.662261 -5.237274,11.97067 z"
+ style="opacity:0.46902651;color:#000000;fill:none;stroke:url(#linearGradient8025);stroke-width:0.64300001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/disk_inuse.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/disk_inuse.svg
new file mode 100644
index 00000000..5d5388b2
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/disk_inuse.svg
@@ -0,0 +1,1848 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48.000000px"
+ height="48.000000px"
+ id="svg3077"
+ sodipodi:version="0.32"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="low_diskspace.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient4247"
+ inkscape:collect="always">
+ <stop
+ id="stop4249"
+ offset="0"
+ style="stop-color:#0045bd;stop-opacity:1" />
+ <stop
+ id="stop4251"
+ offset="1"
+ style="stop-color:#fcb500;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient35212">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop35214" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop35216" />
+ </linearGradient>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective91" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient23419">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop23421" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop23423" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3435"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#ffffc8;stop-opacity:1.0000000;"
+ id="stop3437" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a91ef;stop-opacity:0.0000000;"
+ id="stop3439" />
+ </linearGradient>
+ <linearGradient
+ y2="14.2033"
+ x2="35.3912"
+ y1="32.4165"
+ x1="12.2744"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3421">
+ <stop
+ id="stop3423"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000" />
+ <stop
+ id="stop3427"
+ style="stop-color:#b8c04c;stop-opacity:0.0000000;"
+ offset="1.0000000" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3406"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#b307ff;stop-opacity:0.82178217;"
+ id="stop3408" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#f0ff8b;stop-opacity:0.64356434;"
+ id="stop3410" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ id="stop3412" />
+ </linearGradient>
+ <linearGradient
+ y2="14.2033"
+ x2="35.3912"
+ y1="32.4165"
+ x1="12.2744"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3394">
+ <stop
+ id="stop3396"
+ style="stop-color:#fff307;stop-opacity:1.0000000;"
+ offset="0.0000000" />
+ <stop
+ id="stop3398"
+ style="stop-color:#166eff;stop-opacity:1.0000000;"
+ offset="0.50000000" />
+ <stop
+ id="stop3400"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="1.0000000" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6036">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop6038" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop6040" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6028">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop6030" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop6032" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4236">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.32673267;"
+ offset="0.0000000"
+ id="stop4238" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.60396039;"
+ offset="1.0000000"
+ id="stop4240" />
+ </linearGradient>
+ <linearGradient
+ id="aigrd2"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033">
+ <stop
+ offset="0"
+ style="stop-color:#FBFBFB"
+ id="stop3043" />
+ <stop
+ offset="0.5"
+ style="stop-color:#B6B6B6"
+ id="stop3045" />
+ <stop
+ offset="1"
+ style="stop-color:#E4E4E4"
+ id="stop3047" />
+ </linearGradient>
+ <linearGradient
+ id="aigrd1"
+ gradientUnits="userSpaceOnUse"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075">
+ <stop
+ offset="0"
+ style="stop-color:#EBEBEB"
+ id="stop3034" />
+ <stop
+ offset="0.5"
+ style="stop-color:#FFFFFF"
+ id="stop3036" />
+ <stop
+ offset="1"
+ style="stop-color:#EBEBEB"
+ id="stop3038" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient3912"
+ gradientUnits="userSpaceOnUse"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075"
+ gradientTransform="matrix(1.190476,0.000000,0.000000,1.190476,-4.224424,-2.500000)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient4222"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.250000,0.000000,0.000000,1.250000,-5.652995,-2.604165)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient4224"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.250000,0.000000,0.000000,1.250000,-5.652995,-2.604165)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="linearGradient4242"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0.000000,0.000000,1.190476,-4.224424,-2.500001)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6028"
+ id="linearGradient6034"
+ x1="28.702885"
+ y1="31.494707"
+ x2="17.742729"
+ y2="18.366575"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036"
+ id="linearGradient6042"
+ x1="10.501720"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ gradientTransform="matrix(0.848684,0.958020,-0.782119,0.692834,18.69147,-20.52578)"
+ gradientUnits="userSpaceOnUse"
+ r="21.333334"
+ fy="27.569166"
+ fx="37.751469"
+ cy="27.569166"
+ cx="37.751469"
+ id="radialGradient3392"
+ xlink:href="#linearGradient3394"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="48.238270"
+ fx="53.556889"
+ cy="48.238270"
+ cx="53.556889"
+ gradientTransform="matrix(0.158450,-0.158988,0.432907,0.431441,-2.723645,15.00107)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3429"
+ xlink:href="#linearGradient3421"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="33.377594"
+ fx="16.885271"
+ cy="33.377594"
+ cx="16.885271"
+ gradientTransform="matrix(5.184267e-3,-0.122860,0.544548,2.297824e-2,0.957234,26.30756)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3433"
+ xlink:href="#linearGradient3435"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="21.618015"
+ fx="35.511295"
+ cy="21.618015"
+ cx="35.511295"
+ gradientTransform="matrix(0.105916,-1.914240e-2,0.104789,0.579807,17.13693,7.115158)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3443"
+ xlink:href="#linearGradient3435"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientTransform="matrix(-5.048220e-2,1.387847e-2,-0.128440,-0.467196,35.41257,39.44172)"
+ r="21.333334"
+ fy="23.914305"
+ fx="133.84108"
+ cy="23.914305"
+ cx="133.84108"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3447"
+ xlink:href="#linearGradient3435"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="38.807304"
+ fx="26.137741"
+ cy="38.807304"
+ cx="26.137741"
+ gradientTransform="matrix(0.769501,-1.242500,0.670300,0.415141,-21.77857,41.36563)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3449"
+ xlink:href="#linearGradient3406"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient23343"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.5)"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="linearGradient23345"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.500001)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23347"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23349"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036"
+ id="linearGradient23351"
+ gradientUnits="userSpaceOnUse"
+ x1="10.501720"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6028"
+ id="linearGradient23353"
+ gradientUnits="userSpaceOnUse"
+ x1="28.702885"
+ y1="31.494707"
+ x2="17.742729"
+ y2="18.366575" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3394"
+ id="radialGradient23355"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.848684,0.95802,-0.782119,0.692834,18.69147,-20.52578)"
+ cx="37.751469"
+ cy="27.569166"
+ fx="37.751469"
+ fy="27.569166"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3406"
+ id="radialGradient23357"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.769501,-1.2425,0.6703,0.415141,-21.77857,41.36563)"
+ cx="26.137741"
+ cy="38.807304"
+ fx="26.137741"
+ fy="38.807304"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3421"
+ id="radialGradient23359"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.15845,-0.158988,0.432907,0.431441,-2.723645,15.00107)"
+ cx="53.556889"
+ cy="48.238270"
+ fx="53.556889"
+ fy="48.238270"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23361"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(5.184267e-3,-0.12286,0.544548,2.297824e-2,0.957234,26.30756)"
+ cx="16.885271"
+ cy="33.377594"
+ fx="16.885271"
+ fy="33.377594"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23363"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.105916,-1.91424e-2,0.104789,0.579807,17.13693,7.115158)"
+ cx="35.511295"
+ cy="21.618015"
+ fx="35.511295"
+ fy="21.618015"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23365"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-5.04822e-2,1.387847e-2,-0.12844,-0.467196,35.41257,39.44172)"
+ cx="133.84108"
+ cy="23.914305"
+ fx="133.84108"
+ fy="23.914305"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23368"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-5.04822e-2,1.387847e-2,-0.12844,-0.467196,35.41257,39.44172)"
+ cx="133.84108"
+ cy="23.914305"
+ fx="133.84108"
+ fy="23.914305"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23371"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.105916,-1.91424e-2,0.104789,0.579807,17.13693,7.115158)"
+ cx="35.511295"
+ cy="21.618015"
+ fx="35.511295"
+ fy="21.618015"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23374"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(5.184267e-3,-0.12286,0.544548,2.297824e-2,0.957234,26.30756)"
+ cx="16.885271"
+ cy="33.377594"
+ fx="16.885271"
+ fy="33.377594"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3421"
+ id="radialGradient23377"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.15845,-0.158988,0.432907,0.431441,-2.723645,15.00107)"
+ cx="53.556889"
+ cy="48.238270"
+ fx="53.556889"
+ fy="48.238270"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3406"
+ id="radialGradient23380"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.769501,-1.2425,0.6703,0.415141,-21.77857,41.36563)"
+ cx="26.137741"
+ cy="38.807304"
+ fx="26.137741"
+ fy="38.807304"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3394"
+ id="radialGradient23383"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.848684,0.95802,-0.782119,0.692834,18.69147,-20.52578)"
+ cx="37.751469"
+ cy="27.569166"
+ fx="37.751469"
+ fy="27.569166"
+ r="21.333334" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036"
+ id="linearGradient23387"
+ gradientUnits="userSpaceOnUse"
+ x1="10.501720"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23390"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23393"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="linearGradient23397"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.500001)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient23400"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.5)"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient23419"
+ id="radialGradient23425"
+ cx="23.334524"
+ cy="41.63604"
+ fx="23.334524"
+ fy="41.63604"
+ r="22.627417"
+ gradientTransform="matrix(1,0,0,0.25,0,31.22703)"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8662"
+ id="radialGradient8668"
+ cx="24.837126"
+ cy="36.421127"
+ fx="24.837126"
+ fy="36.421127"
+ r="15.644737"
+ gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient8662">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop8664" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop8666" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ inkscape:collect="always"
+ xlink:href="#linearGradient4247"
+ id="linearGradient2314"
+ x1="90.61982"
+ y1="52.190975"
+ x2="-57.421551"
+ y2="-5.4606466"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2308">
+ <stop
+ style="stop-color:#aa4400;stop-opacity:1"
+ offset="0"
+ id="stop2310" />
+ <stop
+ style="stop-color:#fcb500;stop-opacity:1"
+ offset="1"
+ id="stop2312" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316">
+ <stop
+ style="stop-color:#aa4400;stop-opacity:1"
+ offset="0"
+ id="stop2318" />
+ <stop
+ style="stop-color:#d89b00;stop-opacity:1"
+ offset="1"
+ id="stop2320" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2187"
+ id="linearGradient1764"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-1.171926,-1.171926,0,112.4458,23.78835)"
+ x1="17.060806"
+ y1="11.39502"
+ x2="12.624337"
+ y2="12.583769" />
+ <linearGradient
+ id="linearGradient2187"
+ inkscape:collect="always">
+ <stop
+ id="stop2189"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2191"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2326"
+ id="radialGradient2332"
+ cx="15.09403"
+ cy="13.282721"
+ fx="15.09403"
+ fy="13.282721"
+ r="10.16466"
+ gradientTransform="matrix(2.496031,0,0,2.300689,41.14738,-48.13912)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2326">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2328" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2330" />
+ </linearGradient>
+ <radialGradient
+ r="15.644737"
+ fy="36.421127"
+ fx="24.837126"
+ cy="36.421127"
+ cx="24.837126"
+ gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient31709"
+ xlink:href="#linearGradient8662"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2308-0"
+ id="linearGradient3485"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.47369448,-0.47369448,0,99.704257,8.7500421)"
+ x1="27.027767"
+ y1="13.535172"
+ x2="19.751877"
+ y2="395.62497" />
+ <linearGradient
+ id="linearGradient2308-0"
+ inkscape:collect="always">
+ <stop
+ id="stop2310-5"
+ offset="0"
+ style="stop-color:#edd400;stop-opacity:1;" />
+ <stop
+ id="stop2312-2"
+ offset="1"
+ style="stop-color:#edd400;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2316-0"
+ id="linearGradient3487"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.47369448,-0.47369448,0,99.704257,8.7500421)"
+ x1="27.027767"
+ y1="13.535172"
+ x2="19.751877"
+ y2="395.62497" />
+ <linearGradient
+ id="linearGradient2316-0">
+ <stop
+ id="stop2318-7"
+ offset="0"
+ style="stop-color:#c4a000;stop-opacity:1;" />
+ <stop
+ id="stop2320-5"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2187-6"
+ id="linearGradient3489"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.55513488,0,0,-0.55513488,74.07686,30.6226)"
+ x1="17.060806"
+ y1="11.39502"
+ x2="-0.99847859"
+ y2="8.6995773" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2187-6">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2189-1" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2191-8" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2326-1"
+ id="radialGradient3491"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,1.1823561,-1.0898237,0,108.1485,-3.1510675)"
+ cx="15.09403"
+ cy="13.282721"
+ fx="15.09403"
+ fy="13.282721"
+ r="10.16466" />
+ <linearGradient
+ id="linearGradient2326-1"
+ inkscape:collect="always">
+ <stop
+ id="stop2328-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ r="10.16466"
+ fy="13.282721"
+ fx="15.09403"
+ cy="13.282721"
+ cx="15.09403"
+ gradientTransform="matrix(0,0.78187591,-0.61655067,0,79.03229,4.8548625)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient34355"
+ xlink:href="#linearGradient2326-1"
+ inkscape:collect="always" />
+ <radialGradient
+ r="10.16466"
+ fy="13.282721"
+ fx="15.09403"
+ cy="13.282721"
+ cx="15.09403"
+ gradientTransform="matrix(0,0.78187591,-0.61655067,0,79.03229,4.8548625)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient34355-3"
+ xlink:href="#linearGradient2326-1-7"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2326-1-7"
+ inkscape:collect="always">
+ <stop
+ id="stop2328-8-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2308"
+ id="linearGradient3908"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="90.61982"
+ y1="52.190975"
+ x2="-57.421551"
+ y2="-5.4606466" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212"
+ id="linearGradient3910"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient16236"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5">
+ <stop
+ id="stop4136-4-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2" />
+ <stop
+ id="stop4138-2-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient16238"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7">
+ <stop
+ id="stop4208-5-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient16240"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient16242"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7">
+ <stop
+ id="stop7212-33"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient16244"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3805">
+ <stop
+ id="stop3807"
+ offset="0"
+ style="stop-color:#ffff00;stop-opacity:1" />
+ <stop
+ id="stop3809"
+ offset="1"
+ style="stop-color:#ff0000;stop-opacity:1" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3805"
+ id="radialGradient3633"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-5.4639021,0.0659146,-0.13183442,-10.928213,172.2856,87.181205)"
+ cx="11.021463"
+ cy="7.5991845"
+ fx="11.021463"
+ fy="7.5991845"
+ r="3.4126534" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient4586"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="56.619678"
+ y1="38.098812"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ id="linearGradient4255">
+ <stop
+ style="stop-color:#2a5285;stop-opacity:1;"
+ offset="0"
+ id="stop4257" />
+ <stop
+ style="stop-color:#9acbff;stop-opacity:1;"
+ offset="1"
+ id="stop4259" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-1"
+ id="linearGradient4588"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient35212-1">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop35214-2" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop35216-6" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient4253"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="51.064072"
+ y1="36.929211"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ id="linearGradient6262">
+ <stop
+ style="stop-color:#2a5285;stop-opacity:1;"
+ offset="0"
+ id="stop6264" />
+ <stop
+ style="stop-color:#9acbff;stop-opacity:1;"
+ offset="1"
+ id="stop6266" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-1"
+ id="linearGradient35218"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6223"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ id="linearGradient6123">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6125" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop6127" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6225"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6151">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop6153" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6155" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6203"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ id="linearGradient6284">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6286" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop6288" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6205"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6091"
+ id="linearGradient6097"
+ x1="40.854774"
+ y1="46.025497"
+ x2="6.7298694"
+ y2="3.0208516"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98990282,0,0,0.98990282,-61.730511,4.7162442)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6091">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6093" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6095" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6219"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ id="linearGradient6302">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6304" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop6306" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6221"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6083"
+ id="linearGradient6071"
+ x1="14.967111"
+ y1="2.3855319"
+ x2="14.967111"
+ y2="16.640585"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60,0)" />
+ <linearGradient
+ id="linearGradient6083">
+ <stop
+ id="stop6085"
+ offset="0"
+ style="stop-color:#737373;stop-opacity:1" />
+ <stop
+ id="stop6087"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6065"
+ id="linearGradient6075"
+ gradientUnits="userSpaceOnUse"
+ x1="18.104832"
+ y1="18.316957"
+ x2="18.040327"
+ y2="6.9715528"
+ gradientTransform="matrix(0.85691123,0,0,0.85691123,-57.553937,1.9004806)" />
+ <linearGradient
+ id="linearGradient6065">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6067" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6069" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6049"
+ id="linearGradient6055"
+ x1="23.114971"
+ y1="34.086388"
+ x2="23.354908"
+ y2="23.578178"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6049">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6051" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6053" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6008"
+ id="linearGradient6035"
+ gradientUnits="userSpaceOnUse"
+ x1="19.211605"
+ y1="41.081333"
+ x2="18.27038"
+ y2="6.1793666"
+ gradientTransform="matrix(0.92020109,0,0,0.92020109,-60.104768,8.7993922)" />
+ <linearGradient
+ id="linearGradient6008">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6010" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6012" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6057"
+ id="linearGradient6063"
+ x1="22.717751"
+ y1="23.575481"
+ x2="22.806652"
+ y2="34.106575"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient6057">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6059" />
+ <stop
+ id="stop6107"
+ offset="0.5"
+ style="stop-color:#b9b9b9;stop-opacity:1;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6061" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6077"
+ id="linearGradient6045"
+ gradientUnits="userSpaceOnUse"
+ x1="28.311356"
+ y1="6.6647797"
+ x2="27.936356"
+ y2="42.119865"
+ gradientTransform="translate(-61.969987,6.4720582)" />
+ <linearGradient
+ id="linearGradient6077">
+ <stop
+ id="stop6079"
+ offset="0"
+ style="stop-color:#8c8c8c;stop-opacity:1" />
+ <stop
+ id="stop6081"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6193"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ id="linearGradient6341">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6343" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop6345" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6195"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5968"
+ id="linearGradient5974"
+ x1="29.308222"
+ y1="45.924133"
+ x2="29.308222"
+ y2="0.78541183"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.97424531,0,0,1,-59.877557,0.1875)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5968">
+ <stop
+ style="stop-color:#b4b4b4;stop-opacity:1"
+ offset="0"
+ id="stop5970" />
+ <stop
+ id="stop6111"
+ offset="0.57293677"
+ style="stop-color:#e9e9e9;stop-opacity:1" />
+ <stop
+ style="stop-color:#e7e7e7;stop-opacity:1"
+ offset="1"
+ id="stop5972" />
+ </linearGradient>
+ <linearGradient
+ y2="0.78541183"
+ x2="29.308222"
+ y1="45.924133"
+ x1="29.308222"
+ gradientTransform="matrix(0.97424531,0,0,1,-61.847544,4.6595592)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient6388"
+ xlink:href="#linearGradient5968"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5968"
+ id="linearGradient7852"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.97424531,0,0,1,-61.847544,4.6595592)"
+ x1="29.308222"
+ y1="45.924133"
+ x2="29.308222"
+ y2="0.78541183" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient7854"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient7856"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6077"
+ id="linearGradient7858"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-61.969987,6.4720582)"
+ x1="28.311356"
+ y1="6.6647797"
+ x2="27.936356"
+ y2="42.119865" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6057"
+ id="linearGradient7860"
+ gradientUnits="userSpaceOnUse"
+ x1="22.717751"
+ y1="23.575481"
+ x2="22.806652"
+ y2="34.106575" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6008"
+ id="linearGradient7862"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.92020109,0,0,0.92020109,-60.104768,8.7993922)"
+ x1="19.211605"
+ y1="41.081333"
+ x2="18.27038"
+ y2="6.1793666" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6049"
+ id="linearGradient7864"
+ gradientUnits="userSpaceOnUse"
+ x1="23.114971"
+ y1="34.086388"
+ x2="23.354908"
+ y2="23.578178" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6083"
+ id="linearGradient7866"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60,0)"
+ x1="14.967111"
+ y1="2.3855319"
+ x2="14.967111"
+ y2="16.640585" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6065"
+ id="linearGradient7868"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.85691123,0,0,0.85691123,-57.553937,1.9004806)"
+ x1="18.104832"
+ y1="18.316957"
+ x2="18.040327"
+ y2="6.9715528" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient7870"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient7872"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6091"
+ id="linearGradient7874"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98990282,0,0,0.98990282,-61.730511,4.7162442)"
+ x1="40.854774"
+ y1="46.025497"
+ x2="6.7298694"
+ y2="3.0208516" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient7876"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient7878"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient7880"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient7882"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3892"
+ id="linearGradient3898"
+ x1="429.15128"
+ y1="599.56494"
+ x2="433.13641"
+ y2="610.92285"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2173731,0,0,1.2173731,-494.41383,-697.15354)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3892">
+ <stop
+ style="stop-color:#fffff8;stop-opacity:1;"
+ offset="0"
+ id="stop3894" />
+ <stop
+ style="stop-color:#fffff8;stop-opacity:0;"
+ offset="1"
+ id="stop3896" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3872"
+ id="linearGradient3908-2"
+ gradientUnits="userSpaceOnUse"
+ x1="434.15228"
+ y1="610.42682"
+ x2="432.16248"
+ y2="601.80182"
+ gradientTransform="matrix(1.2173731,0,0,1.2173731,-494.41383,-697.15354)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3872">
+ <stop
+ style="stop-color:#1a8f23;stop-opacity:1"
+ offset="0"
+ id="stop3874" />
+ <stop
+ style="stop-color:#66ee77;stop-opacity:1"
+ offset="1"
+ id="stop3876" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3872"
+ id="linearGradient4838"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2173731,0,0,1.2173731,-494.41383,-697.15354)"
+ x1="434.15228"
+ y1="610.42682"
+ x2="432.16248"
+ y2="601.80182" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3892"
+ id="linearGradient4840"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2173731,0,0,1.2173731,-494.41383,-697.15354)"
+ x1="429.15128"
+ y1="599.56494"
+ x2="433.13641"
+ y2="610.92285" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.25490196"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="37.107032"
+ inkscape:cy="8.7237002"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1600"
+ inkscape:window-height="838"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:showpageshadow="false"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>cdrom</rdf:li>
+ <rdf:li>media</rdf:li>
+ <rdf:li>removable</rdf:li>
+ <rdf:li>cd</rdf:li>
+ <rdf:li>audio</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g5409">
+ <g
+ transform="translate(62.495332,-4.2036125)"
+ id="g7829">
+ <rect
+ style="fill:url(#linearGradient7852);fill-opacity:1;stroke:#808080;stroke-width:1.08234084;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="rect5198"
+ width="37.925812"
+ height="45.672237"
+ x="-57.215778"
+ y="5.8272643"
+ rx="2.023422"
+ ry="2.0769122" />
+ <g
+ id="g6159"
+ transform="matrix(0.75730905,0,0,0.75730905,-6.8017413,15.303281)">
+ <path
+ transform="translate(0.328125,-0.453125)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6113"
+ style="opacity:0.78761058;fill:url(#radialGradient7854);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7856);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6147"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)" />
+ </g>
+ <path
+ style="fill:none;stroke:url(#linearGradient7858);stroke-width:1.08524024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m -33.579701,11.829069 c -1.053346,0 -1.897283,0.336185 -1.897283,1.724802 -0.349391,3.90193 -7.520699,7.432837 -12.620959,12.555943 -2.224635,2.339362 -3.592185,5.498558 -3.592185,8.981807 0,7.224449 5.884051,13.079754 13.108499,13.079754 7.224449,0 13.079754,-5.855305 13.079754,-13.079754 0,-2.864507 -0.939302,-5.492021 -2.500964,-7.646625 l 0,-13.661151 c 0,-1.332659 -0.82745,-1.954776 -2.069763,-1.954776 z"
+ id="path5995"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="sccssscsss" />
+ <path
+ sodipodi:type="arc"
+ style="fill:none;stroke:url(#linearGradient7860);stroke-width:1.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6006"
+ sodipodi:cx="23"
+ sodipodi:cy="28.875"
+ sodipodi:rx="4.75"
+ sodipodi:ry="4.75"
+ d="m 27.75,28.875 c 0,2.623353 -2.126647,4.75 -4.75,4.75 -2.623353,0 -4.75,-2.126647 -4.75,-4.75 0,-2.623353 2.126647,-4.75 4.75,-4.75 2.623353,0 4.75,2.126647 4.75,4.75 z"
+ transform="matrix(0.91989475,0,0,0.91989475,-59.472608,8.5396742)" />
+ <path
+ sodipodi:nodetypes="sccssscsss"
+ inkscape:connector-curvature="0"
+ id="path6020"
+ d="m -32.948746,12.860546 c -1.411541,0 -1.464632,-0.06564 -1.464632,1.087165 -0.79026,4.49681 -8.233056,8.208077 -12.926319,12.922365 -2.047112,2.152683 -3.305534,5.059779 -3.305534,8.265068 0,6.647946 5.414511,12.036004 12.062455,12.036004 6.647946,0 12.036004,-5.388058 12.036004,-12.036004 0,-2.979671 -1.176847,-5.616263 -2.52014,-7.317683 l 0,-13.626878 c 0,-1.226315 -0.261421,-1.330037 -1.404599,-1.330037 z"
+ style="fill:none;stroke:url(#linearGradient7862);stroke-width:0.99863923;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ transform="matrix(0.73157083,0,0,0.73157083,-55.141158,13.977527)"
+ d="m 27.75,28.875 c 0,2.623353 -2.126647,4.75 -4.75,4.75 -2.623353,0 -4.75,-2.126647 -4.75,-4.75 0,-2.623353 2.126647,-4.75 4.75,-4.75 2.623353,0 4.75,2.126647 4.75,4.75 z"
+ sodipodi:ry="4.75"
+ sodipodi:rx="4.75"
+ sodipodi:cy="28.875"
+ sodipodi:cx="23"
+ id="path6047"
+ style="fill:none;stroke:url(#linearGradient7864);stroke-width:1.3928932;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ <g
+ transform="translate(-1.9699873,4.4720592)"
+ id="g6227">
+ <path
+ sodipodi:nodetypes="cccscsc"
+ inkscape:connector-curvature="0"
+ id="path6004"
+ d="m -49.723391,15.766028 0,-5.956679 c 0,-1.9747549 0.720085,-2.6116057 2.026623,-2.6116057 2.490645,-0.083222 6.700434,-0.024317 9.114109,-0.024317 2.952952,0 3.468191,1.6055538 0.554883,3.9038907 -2.14002,1.745447 -3.738746,3.427527 -6.742857,5.858465 -2.149829,1.739649 -4.952758,2.0649 -4.952758,-1.169754 z"
+ style="fill:none;stroke:url(#linearGradient7866);stroke-width:1.02364969px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="fill:none;stroke:url(#linearGradient7868);stroke-width:0.87717688px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m -48.747795,15.29064 -0.01563,-4.203168 c 0,-1.6921899 0.632674,-2.9566645 2.674136,-2.9566645 2.134261,-0.071314 4.996578,-0.061241 7.064884,-0.061241 2.530418,0 2.684669,0.4256423 0.188223,2.3951135 -1.833807,1.495693 -4.574945,4.040079 -7.149203,6.123178 -1.269396,1.027199 -2.762415,0.883643 -2.76241,-1.297218 z"
+ id="path6073"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscsc" />
+ </g>
+ <g
+ transform="matrix(0.75730905,0,0,0.75730905,-6.8017413,-21.321719)"
+ id="g6207">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:url(#radialGradient7870);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6209"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="translate(0.328125,-0.453125)" />
+ <path
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6211"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7872);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ </g>
+ <rect
+ y="7.0934958"
+ x="-55.982082"
+ height="43.124149"
+ width="35.458416"
+ id="rect6089"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7874);stroke-width:1.30568182;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ ry="0.98889953"
+ rx="0.97983909" />
+ <g
+ transform="matrix(0.75730905,0,0,0.75730905,-35.614241,15.303281)"
+ id="g6197">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:url(#radialGradient7876);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6199"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="translate(0.328125,-0.453125)" />
+ <path
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6201"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7878);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ </g>
+ <g
+ id="g6213"
+ transform="matrix(0.75730905,0,0,0.75730905,-35.614241,-21.321719)">
+ <path
+ transform="translate(0.328125,-0.453125)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6215"
+ style="opacity:0.78761058;fill:url(#radialGradient7880);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7882);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6217"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)" />
+ </g>
+ </g>
+ </g>
+ <g
+ id="g4833"
+ transform="matrix(1.0843304,0,0,1.0843304,-4.1615011,-3.4173926)">
+ <path
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0"
+ id="path3102"
+ d="m 40.248533,31.245589 -7.879496,8.658079 -4.796109,-4.198598 -3.423862,4.032549 8.711826,7.45641 11.298745,-12.401989 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#1a8f23;fill-opacity:1;stroke:none;stroke-width:5.19999981;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ inkscape:connector-curvature="0"
+ id="path3880"
+ d="m 40.239026,32.502405 -7.762385,8.513699 -4.751541,-4.093661 -2.510833,2.777072 5.858609,4.907596 1.749973,1.483613 1.521717,-1.71187 8.597697,-9.472746 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:url(#linearGradient4838);fill-opacity:1;stroke:none;stroke-width:3.9000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0"
+ id="path3884"
+ d="m 40.316609,32.85593 -7.77815,8.574081 -4.832387,-4.14613 -2.101868,2.377652 7.120416,5.983023 9.832454,-10.738448 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:none;stroke:url(#linearGradient4840);stroke-width:0.541731;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/disk_uninitialised.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/disk_uninitialised.svg
new file mode 100644
index 00000000..f3cdd2ee
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/disk_uninitialised.svg
@@ -0,0 +1,2585 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48.000000px"
+ height="48.000000px"
+ id="svg3077"
+ sodipodi:version="0.32"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="disk_initialisation.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient5084">
+ <stop
+ id="stop5086"
+ offset="0"
+ style="stop-color:#6c0000;stop-opacity:1" />
+ <stop
+ id="stop5088"
+ offset="1"
+ style="stop-color:#ff0000;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6151">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop6153" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6155" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6131">
+ <stop
+ style="stop-color:#545454;stop-opacity:0"
+ offset="0"
+ id="stop6133" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6135" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6123">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6125" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop6127" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6091">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6093" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6095" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6083">
+ <stop
+ id="stop6085"
+ offset="0"
+ style="stop-color:#737373;stop-opacity:1" />
+ <stop
+ id="stop6087"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6077">
+ <stop
+ id="stop6079"
+ offset="0"
+ style="stop-color:#8c8c8c;stop-opacity:1" />
+ <stop
+ id="stop6081"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6065">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6067" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6069" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6057">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6059" />
+ <stop
+ id="stop6107"
+ offset="0.5"
+ style="stop-color:#b9b9b9;stop-opacity:1;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6061" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6049">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6051" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6053" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6008">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6010" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6012" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5968">
+ <stop
+ style="stop-color:#b4b4b4;stop-opacity:1"
+ offset="0"
+ id="stop5970" />
+ <stop
+ id="stop6111"
+ offset="0.57293677"
+ style="stop-color:#e9e9e9;stop-opacity:1" />
+ <stop
+ style="stop-color:#e7e7e7;stop-opacity:1"
+ offset="1"
+ id="stop5972" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4255">
+ <stop
+ style="stop-color:#2a5285;stop-opacity:1;"
+ offset="0"
+ id="stop4257" />
+ <stop
+ style="stop-color:#9acbff;stop-opacity:1;"
+ offset="1"
+ id="stop4259" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4247"
+ inkscape:collect="always">
+ <stop
+ id="stop4249"
+ offset="0"
+ style="stop-color:#0045bd;stop-opacity:1" />
+ <stop
+ id="stop4251"
+ offset="1"
+ style="stop-color:#fcb500;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient35212">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop35214" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop35216" />
+ </linearGradient>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective91" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient23419">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop23421" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop23423" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3435"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#ffffc8;stop-opacity:1.0000000;"
+ id="stop3437" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a91ef;stop-opacity:0.0000000;"
+ id="stop3439" />
+ </linearGradient>
+ <linearGradient
+ y2="14.2033"
+ x2="35.3912"
+ y1="32.4165"
+ x1="12.2744"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3421">
+ <stop
+ id="stop3423"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000" />
+ <stop
+ id="stop3427"
+ style="stop-color:#b8c04c;stop-opacity:0.0000000;"
+ offset="1.0000000" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3406"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#b307ff;stop-opacity:0.82178217;"
+ id="stop3408" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#f0ff8b;stop-opacity:0.64356434;"
+ id="stop3410" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ id="stop3412" />
+ </linearGradient>
+ <linearGradient
+ y2="14.2033"
+ x2="35.3912"
+ y1="32.4165"
+ x1="12.2744"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3394">
+ <stop
+ id="stop3396"
+ style="stop-color:#fff307;stop-opacity:1.0000000;"
+ offset="0.0000000" />
+ <stop
+ id="stop3398"
+ style="stop-color:#166eff;stop-opacity:1.0000000;"
+ offset="0.50000000" />
+ <stop
+ id="stop3400"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="1.0000000" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6036">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop6038" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop6040" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6028">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop6030" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop6032" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4236">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.32673267;"
+ offset="0.0000000"
+ id="stop4238" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.60396039;"
+ offset="1.0000000"
+ id="stop4240" />
+ </linearGradient>
+ <linearGradient
+ id="aigrd2"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033">
+ <stop
+ offset="0"
+ style="stop-color:#FBFBFB"
+ id="stop3043" />
+ <stop
+ offset="0.5"
+ style="stop-color:#B6B6B6"
+ id="stop3045" />
+ <stop
+ offset="1"
+ style="stop-color:#E4E4E4"
+ id="stop3047" />
+ </linearGradient>
+ <linearGradient
+ id="aigrd1"
+ gradientUnits="userSpaceOnUse"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075">
+ <stop
+ offset="0"
+ style="stop-color:#EBEBEB"
+ id="stop3034" />
+ <stop
+ offset="0.5"
+ style="stop-color:#FFFFFF"
+ id="stop3036" />
+ <stop
+ offset="1"
+ style="stop-color:#EBEBEB"
+ id="stop3038" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient3912"
+ gradientUnits="userSpaceOnUse"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075"
+ gradientTransform="matrix(1.190476,0.000000,0.000000,1.190476,-4.224424,-2.500000)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient4222"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.250000,0.000000,0.000000,1.250000,-5.652995,-2.604165)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient4224"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.250000,0.000000,0.000000,1.250000,-5.652995,-2.604165)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="linearGradient4242"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0.000000,0.000000,1.190476,-4.224424,-2.500001)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6028"
+ id="linearGradient6034"
+ x1="28.702885"
+ y1="31.494707"
+ x2="17.742729"
+ y2="18.366575"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036"
+ id="linearGradient6042"
+ x1="10.501720"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ gradientTransform="matrix(0.848684,0.958020,-0.782119,0.692834,18.69147,-20.52578)"
+ gradientUnits="userSpaceOnUse"
+ r="21.333334"
+ fy="27.569166"
+ fx="37.751469"
+ cy="27.569166"
+ cx="37.751469"
+ id="radialGradient3392"
+ xlink:href="#linearGradient3394"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="48.238270"
+ fx="53.556889"
+ cy="48.238270"
+ cx="53.556889"
+ gradientTransform="matrix(0.158450,-0.158988,0.432907,0.431441,-2.723645,15.00107)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3429"
+ xlink:href="#linearGradient3421"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="33.377594"
+ fx="16.885271"
+ cy="33.377594"
+ cx="16.885271"
+ gradientTransform="matrix(5.184267e-3,-0.122860,0.544548,2.297824e-2,0.957234,26.30756)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3433"
+ xlink:href="#linearGradient3435"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="21.618015"
+ fx="35.511295"
+ cy="21.618015"
+ cx="35.511295"
+ gradientTransform="matrix(0.105916,-1.914240e-2,0.104789,0.579807,17.13693,7.115158)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3443"
+ xlink:href="#linearGradient3435"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientTransform="matrix(-5.048220e-2,1.387847e-2,-0.128440,-0.467196,35.41257,39.44172)"
+ r="21.333334"
+ fy="23.914305"
+ fx="133.84108"
+ cy="23.914305"
+ cx="133.84108"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3447"
+ xlink:href="#linearGradient3435"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="38.807304"
+ fx="26.137741"
+ cy="38.807304"
+ cx="26.137741"
+ gradientTransform="matrix(0.769501,-1.242500,0.670300,0.415141,-21.77857,41.36563)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3449"
+ xlink:href="#linearGradient3406"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient23343"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.5)"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="linearGradient23345"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.500001)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23347"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23349"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036"
+ id="linearGradient23351"
+ gradientUnits="userSpaceOnUse"
+ x1="10.501720"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3394"
+ id="radialGradient23355"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.848684,0.95802,-0.782119,0.692834,18.69147,-20.52578)"
+ cx="37.751469"
+ cy="27.569166"
+ fx="37.751469"
+ fy="27.569166"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3406"
+ id="radialGradient23357"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.769501,-1.2425,0.6703,0.415141,-21.77857,41.36563)"
+ cx="26.137741"
+ cy="38.807304"
+ fx="26.137741"
+ fy="38.807304"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3421"
+ id="radialGradient23359"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.15845,-0.158988,0.432907,0.431441,-2.723645,15.00107)"
+ cx="53.556889"
+ cy="48.238270"
+ fx="53.556889"
+ fy="48.238270"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23361"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(5.184267e-3,-0.12286,0.544548,2.297824e-2,0.957234,26.30756)"
+ cx="16.885271"
+ cy="33.377594"
+ fx="16.885271"
+ fy="33.377594"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23363"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.105916,-1.91424e-2,0.104789,0.579807,17.13693,7.115158)"
+ cx="35.511295"
+ cy="21.618015"
+ fx="35.511295"
+ fy="21.618015"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23365"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-5.04822e-2,1.387847e-2,-0.12844,-0.467196,35.41257,39.44172)"
+ cx="133.84108"
+ cy="23.914305"
+ fx="133.84108"
+ fy="23.914305"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8662"
+ id="radialGradient8668"
+ cx="24.837126"
+ cy="36.421127"
+ fx="24.837126"
+ fy="36.421127"
+ r="15.644737"
+ gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient8662">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop8664" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop8666" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ inkscape:collect="always"
+ xlink:href="#linearGradient4247"
+ id="linearGradient2314"
+ x1="90.61982"
+ y1="52.190975"
+ x2="-57.421551"
+ y2="-5.4606466"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2308">
+ <stop
+ style="stop-color:#aa4400;stop-opacity:1"
+ offset="0"
+ id="stop2310" />
+ <stop
+ style="stop-color:#fcb500;stop-opacity:1"
+ offset="1"
+ id="stop2312" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316">
+ <stop
+ style="stop-color:#aa4400;stop-opacity:1"
+ offset="0"
+ id="stop2318" />
+ <stop
+ style="stop-color:#d89b00;stop-opacity:1"
+ offset="1"
+ id="stop2320" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2187"
+ id="linearGradient1764"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-1.171926,-1.171926,0,112.4458,23.78835)"
+ x1="17.060806"
+ y1="11.39502"
+ x2="12.624337"
+ y2="12.583769" />
+ <linearGradient
+ id="linearGradient2187"
+ inkscape:collect="always">
+ <stop
+ id="stop2189"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2191"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2326"
+ id="radialGradient2332"
+ cx="15.09403"
+ cy="13.282721"
+ fx="15.09403"
+ fy="13.282721"
+ r="10.16466"
+ gradientTransform="matrix(2.496031,0,0,2.300689,41.14738,-48.13912)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2326">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2328" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2330" />
+ </linearGradient>
+ <radialGradient
+ r="15.644737"
+ fy="36.421127"
+ fx="24.837126"
+ cy="36.421127"
+ cx="24.837126"
+ gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient31709"
+ xlink:href="#linearGradient8662"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2308-0"
+ id="linearGradient3485"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.47369448,-0.47369448,0,99.704257,8.7500421)"
+ x1="27.027767"
+ y1="13.535172"
+ x2="19.751877"
+ y2="395.62497" />
+ <linearGradient
+ id="linearGradient2308-0"
+ inkscape:collect="always">
+ <stop
+ id="stop2310-5"
+ offset="0"
+ style="stop-color:#edd400;stop-opacity:1;" />
+ <stop
+ id="stop2312-2"
+ offset="1"
+ style="stop-color:#edd400;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2316-0"
+ id="linearGradient3487"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.47369448,-0.47369448,0,99.704257,8.7500421)"
+ x1="27.027767"
+ y1="13.535172"
+ x2="19.751877"
+ y2="395.62497" />
+ <linearGradient
+ id="linearGradient2316-0">
+ <stop
+ id="stop2318-7"
+ offset="0"
+ style="stop-color:#c4a000;stop-opacity:1;" />
+ <stop
+ id="stop2320-5"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2187-6"
+ id="linearGradient3489"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.55513488,0,0,-0.55513488,74.07686,30.6226)"
+ x1="17.060806"
+ y1="11.39502"
+ x2="-0.99847859"
+ y2="8.6995773" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2187-6">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2189-1" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2191-8" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2326-1"
+ id="radialGradient3491"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,1.1823561,-1.0898237,0,108.1485,-3.1510675)"
+ cx="15.09403"
+ cy="13.282721"
+ fx="15.09403"
+ fy="13.282721"
+ r="10.16466" />
+ <linearGradient
+ id="linearGradient2326-1"
+ inkscape:collect="always">
+ <stop
+ id="stop2328-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ r="10.16466"
+ fy="13.282721"
+ fx="15.09403"
+ cy="13.282721"
+ cx="15.09403"
+ gradientTransform="matrix(0,0.78187591,-0.61655067,0,79.03229,4.8548625)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient34355"
+ xlink:href="#linearGradient2326-1"
+ inkscape:collect="always" />
+ <radialGradient
+ r="10.16466"
+ fy="13.282721"
+ fx="15.09403"
+ cy="13.282721"
+ cx="15.09403"
+ gradientTransform="matrix(0,0.78187591,-0.61655067,0,79.03229,4.8548625)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient34355-3"
+ xlink:href="#linearGradient2326-1-7"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2326-1-7"
+ inkscape:collect="always">
+ <stop
+ id="stop2328-8-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212"
+ id="linearGradient35218"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2308"
+ id="linearGradient3908"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="90.61982"
+ y1="52.190975"
+ x2="-57.421551"
+ y2="-5.4606466" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212"
+ id="linearGradient3910"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient4253"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="51.064072"
+ y1="36.929211"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient16236"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5">
+ <stop
+ id="stop4136-4-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2" />
+ <stop
+ id="stop4138-2-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient16238"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7">
+ <stop
+ id="stop4208-5-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient16240"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient16242"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7">
+ <stop
+ id="stop7212-33"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient16244"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient4586"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="56.619678"
+ y1="38.098812"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212"
+ id="linearGradient4588"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient6715"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6717"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient6719"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ gradientTransform="translate(-116.76931,0.30161647)"
+ gradientUnits="userSpaceOnUse"
+ y2="40.943935"
+ x2="36.183067"
+ y1="28.481176"
+ x1="7.6046205"
+ id="linearGradient4234"
+ xlink:href="#linearGradient4228"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4228">
+ <stop
+ id="stop4230"
+ offset="0.0000000"
+ style="stop-color:#bbbbbb;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4232"
+ offset="1.0000000"
+ style="stop-color:#9f9f9f;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.286242,0.781698,-0.710782,1.169552,-119.12366,-4.5752457)"
+ r="20.935818"
+ fy="2.958519"
+ fx="15.571491"
+ cy="2.958519"
+ cx="15.571491"
+ id="radialGradient4250"
+ xlink:href="#linearGradient4244"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4244">
+ <stop
+ id="stop4246"
+ offset="0.0000000"
+ style="stop-color:#e4e4e4;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4248"
+ offset="1.0000000"
+ style="stop-color:#d3d3d3;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(-115.97382,-1.0242045)"
+ y2="35.28125"
+ x2="24.6875"
+ y1="35.28125"
+ x1="7.0625"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient4209"
+ xlink:href="#linearGradient4184"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4184">
+ <stop
+ id="stop4186"
+ offset="0.0000000"
+ style="stop-color:#838383;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4188"
+ offset="1.0000000"
+ style="stop-color:#bbbbbb;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(-116.76931,0.30161647)"
+ gradientUnits="userSpaceOnUse"
+ y2="33.758667"
+ x2="12.221823"
+ y1="37.205811"
+ x1="12.277412"
+ id="linearGradient4242-1"
+ xlink:href="#linearGradient4236-7"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4236-7"
+ inkscape:collect="always">
+ <stop
+ id="stop4238-4"
+ offset="0"
+ style="stop-color:#eeeeee;stop-opacity:1;" />
+ <stop
+ id="stop4240-0"
+ offset="1"
+ style="stop-color:#eeeeee;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(-116.76931,0.30161647)"
+ gradientUnits="userSpaceOnUse"
+ y2="26.357183"
+ x2="23.688078"
+ y1="11.318835"
+ x1="23.688078"
+ id="linearGradient4272"
+ xlink:href="#linearGradient4274"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4274">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.25490198;"
+ offset="0.0000000"
+ id="stop4276" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop4278" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="translate(-116.76931,0.30161647)"
+ gradientUnits="userSpaceOnUse"
+ y2="47.620636"
+ x2="44.0961"
+ y1="4.433136"
+ x1="12.378357"
+ id="linearGradient4260"
+ xlink:href="#linearGradient4254"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4254"
+ inkscape:collect="always">
+ <stop
+ id="stop4256"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4258"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2555"
+ id="linearGradient2553"
+ x1="33.431175"
+ y1="31.964777"
+ x2="21.747974"
+ y2="11.780679"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient2555">
+ <stop
+ id="stop2557"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ style="stop-color:#e6e6e6;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop2561" />
+ <stop
+ id="stop2563"
+ offset="0.75000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#e1e1e1;stop-opacity:1.0000000;"
+ offset="0.84166664"
+ id="stop2565" />
+ <stop
+ id="stop2559"
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <radialGradient
+ r="117.14286"
+ fy="486.64789"
+ fx="605.71429"
+ cy="486.64789"
+ cx="605.71429"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient4994"
+ xlink:href="#linearGradient5060"
+ inkscape:collect="always" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient23419"
+ id="radialGradient5172"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.25,0,31.22703)"
+ cx="23.334524"
+ cy="41.63604"
+ fx="23.334524"
+ fy="41.63604"
+ r="22.627417" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient5174"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,95.775576,-2.5)"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="linearGradient5176"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,95.775576,-2.500001)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient5178"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,94.347005,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient5180"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,94.347005,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036"
+ id="linearGradient5182"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(100,0)"
+ x1="10.501720"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6028"
+ id="linearGradient5184"
+ gradientUnits="userSpaceOnUse"
+ x1="28.702885"
+ y1="31.494707"
+ x2="17.742729"
+ y2="18.366575" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3394"
+ id="radialGradient5186"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.848684,0.95802,-0.782119,0.692834,118.69147,-20.52578)"
+ cx="37.751469"
+ cy="27.569166"
+ fx="37.751469"
+ fy="27.569166"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3406"
+ id="radialGradient5188"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.769501,-1.2425,0.6703,0.415141,78.22143,41.36563)"
+ cx="26.137741"
+ cy="38.807304"
+ fx="26.137741"
+ fy="38.807304"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3421"
+ id="radialGradient5190"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.15845,-0.158988,0.432907,0.431441,97.276355,15.00107)"
+ cx="53.556889"
+ cy="48.238270"
+ fx="53.556889"
+ fy="48.238270"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient5192"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.00518427,-0.12286,0.544548,0.02297824,100.95723,26.30756)"
+ cx="16.885271"
+ cy="33.377594"
+ fx="16.885271"
+ fy="33.377594"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient5194"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.105916,-0.0191424,0.104789,0.579807,117.13693,7.115158)"
+ cx="35.511295"
+ cy="21.618015"
+ fx="35.511295"
+ fy="21.618015"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient5196"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.0504822,0.01387847,-0.12844,-0.467196,135.41257,39.44172)"
+ cx="133.84108"
+ cy="23.914305"
+ fx="133.84108"
+ fy="23.914305"
+ r="21.333334" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5968"
+ id="linearGradient5974"
+ x1="29.308222"
+ y1="45.924133"
+ x2="29.308222"
+ y2="0.78541183"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.97424531,0,0,1,-0.87755697,0.1875)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6008"
+ id="linearGradient6035"
+ gradientUnits="userSpaceOnUse"
+ x1="19.211605"
+ y1="41.081333"
+ x2="18.27038"
+ y2="6.1793666"
+ gradientTransform="matrix(0.92020109,0,0,0.92020109,0.86521903,4.327334)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6077"
+ id="linearGradient6045"
+ gradientUnits="userSpaceOnUse"
+ x1="28.311356"
+ y1="6.6647797"
+ x2="27.936356"
+ y2="42.119865"
+ gradientTransform="translate(-0.99999997,2)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6049"
+ id="linearGradient6055"
+ x1="23.114971"
+ y1="34.086388"
+ x2="23.354908"
+ y2="23.578178"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6057"
+ id="linearGradient6063"
+ x1="22.717751"
+ y1="23.575481"
+ x2="22.806652"
+ y2="34.106575"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6083"
+ id="linearGradient6071"
+ x1="14.967111"
+ y1="2.3855319"
+ x2="14.967111"
+ y2="16.640585"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60,0)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6065"
+ id="linearGradient6075"
+ gradientUnits="userSpaceOnUse"
+ x1="18.104832"
+ y1="18.316957"
+ x2="18.040327"
+ y2="6.9715528"
+ gradientTransform="matrix(0.85691123,0,0,0.85691123,-57.553937,1.9004806)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6091"
+ id="linearGradient6097"
+ x1="40.854774"
+ y1="46.025497"
+ x2="6.7298694"
+ y2="3.0208516"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98990282,0,0,0.98990282,-0.76052397,0.24418515)" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6193"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6195"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6203"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6205"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6219"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6221"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6223"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6225"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5968"
+ id="linearGradient7987"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.97424531,0,0,1,-0.87755697,0.1875)"
+ x1="29.308222"
+ y1="45.924133"
+ x2="29.308222"
+ y2="0.78541183" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient7989"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient7991"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6077"
+ id="linearGradient7993"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-0.99999997,2)"
+ x1="28.311356"
+ y1="6.6647797"
+ x2="27.936356"
+ y2="42.119865" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6057"
+ id="linearGradient7995"
+ gradientUnits="userSpaceOnUse"
+ x1="22.717751"
+ y1="23.575481"
+ x2="22.806652"
+ y2="34.106575" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6008"
+ id="linearGradient7997"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.92020109,0,0,0.92020109,0.86521903,4.327334)"
+ x1="19.211605"
+ y1="41.081333"
+ x2="18.27038"
+ y2="6.1793666" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6049"
+ id="linearGradient7999"
+ gradientUnits="userSpaceOnUse"
+ x1="23.114971"
+ y1="34.086388"
+ x2="23.354908"
+ y2="23.578178" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6083"
+ id="linearGradient8001"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60,0)"
+ x1="14.967111"
+ y1="2.3855319"
+ x2="14.967111"
+ y2="16.640585" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6065"
+ id="linearGradient8003"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.85691123,0,0,0.85691123,-57.553937,1.9004806)"
+ x1="18.104832"
+ y1="18.316957"
+ x2="18.040327"
+ y2="6.9715528" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient8005"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient8007"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6091"
+ id="linearGradient8009"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98990282,0,0,0.98990282,-0.76052397,0.24418515)"
+ x1="40.854774"
+ y1="46.025497"
+ x2="6.7298694"
+ y2="3.0208516" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient8011"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient8013"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient8015"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient8017"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient8019"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="51.064072"
+ y1="36.929211"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212"
+ id="linearGradient8021"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient8023"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="56.619678"
+ y1="38.098812"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212"
+ id="linearGradient8025"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255-7"
+ id="linearGradient8023-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="56.619678"
+ y1="38.098812"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ id="linearGradient4255-7">
+ <stop
+ style="stop-color:#2a5285;stop-opacity:1;"
+ offset="0"
+ id="stop4257-4" />
+ <stop
+ style="stop-color:#9acbff;stop-opacity:1;"
+ offset="1"
+ id="stop4259-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-4"
+ id="linearGradient8025-9"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient35212-4">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop35214-8" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop35216-8" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255-7"
+ id="linearGradient8019-2"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="51.064072"
+ y1="36.929211"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ id="linearGradient4121">
+ <stop
+ style="stop-color:#2a5285;stop-opacity:1;"
+ offset="0"
+ id="stop4123" />
+ <stop
+ style="stop-color:#9acbff;stop-opacity:1;"
+ offset="1"
+ id="stop4125" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-4"
+ id="linearGradient8021-4"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255-7"
+ id="linearGradient4233"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="51.064072"
+ y1="36.929211"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-4"
+ id="linearGradient4235"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255-7"
+ id="linearGradient4237"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="56.619678"
+ y1="38.098812"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-4"
+ id="linearGradient4239"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255-7"
+ id="linearGradient4241"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="51.064072"
+ y1="36.929211"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-4"
+ id="linearGradient4243"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255-9"
+ id="linearGradient8023-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="56.619678"
+ y1="38.098812"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ id="linearGradient4255-9">
+ <stop
+ style="stop-color:#2a5285;stop-opacity:1;"
+ offset="0"
+ id="stop4257-1" />
+ <stop
+ style="stop-color:#9acbff;stop-opacity:1;"
+ offset="1"
+ id="stop4259-2" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-8"
+ id="linearGradient8025-8"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient35212-8">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop35214-1" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop35216-86" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255-9"
+ id="linearGradient8019-0"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="51.064072"
+ y1="36.929211"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ id="linearGradient4121-2">
+ <stop
+ style="stop-color:#2a5285;stop-opacity:1;"
+ offset="0"
+ id="stop4123-4" />
+ <stop
+ style="stop-color:#9acbff;stop-opacity:1;"
+ offset="1"
+ id="stop4125-9" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-8"
+ id="linearGradient8021-0"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255-7"
+ id="linearGradient4306"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="56.619678"
+ y1="38.098812"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-4"
+ id="linearGradient4308"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-4"
+ id="linearGradient4311"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889"
+ gradientTransform="matrix(1.081868,0,0,-1.081868,-6.441293,50.288766)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5084"
+ id="linearGradient4314"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.42749609,-0.42749609,0,42.152061,33.692242)"
+ x1="56.619678"
+ y1="38.098812"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5084"
+ id="linearGradient5100"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.42749609,-0.42749609,0,42.152061,33.692242)"
+ x1="56.619678"
+ y1="38.098812"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-4"
+ id="linearGradient5102"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.081868,0,0,-1.081868,-6.441293,50.288766)"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5084"
+ id="linearGradient5104"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-0.42749609,-0.42749609,0,42.152061,33.692242)"
+ x1="56.619678"
+ y1="38.098812"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-4"
+ id="linearGradient5106"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.081868,0,0,-1.081868,-6.441293,50.288766)"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.25490196"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="83.118749"
+ inkscape:cy="21.262481"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1600"
+ inkscape:window-height="838"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:showpageshadow="false"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>cdrom</rdf:li>
+ <rdf:li>media</rdf:li>
+ <rdf:li>removable</rdf:li>
+ <rdf:li>cd</rdf:li>
+ <rdf:li>audio</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g7884"
+ style="display:none">
+ <image
+ width="74.751503"
+ height="65.702629"
+ xlink:href="data:image/jpeg;base64,/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAgGBgcGBQgHBwcJCQgKDBQNDAsLDBkSEw8UHRofHh0a HBwgJC4nICIsIxwcKDcpLDAxNDQ0Hyc5PTgyPC4zNDL/2wBDAQkJCQwLDBgNDRgyIRwhMjIyMjIy MjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjL/wAARCAFOAXwDASIA AhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQA AAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3 ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWm p6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEA AwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSEx BhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElK U1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3 uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxEAPwD3+iii gAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKA CiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAK KKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKY8ixjLH FVJLx2O2Jefpk1hVxFOn8T1KjBy2LrMFGSQB71Wkv7eP+IsfRRVf7JPOcyvge5zUyadAvLZc+5rl lWxdT+FBRXd/5GijTj8TuVZNYI4jh/FjULX+pS/6uIgf7MZP862Ehjj+5Gq/QVJWE8Bi6v8AExDX +FW/EpVaa2j95gk6y/8AfH4KKTyda9X/AO+1/wAa36Kz/sNP4q9R/wDb3/AH9Z7RX3HP7dbT+/8A mppPtusQ/fiZh7xf4V0NFP8Asecf4eImvV3H9ZT3gjn08QyocTWyk+xK/wA6tw69ZyYD74j/ALQy P0rSkijlXEiK49GGaozaLZTZxGYye6HH/wBaj6vmlH+HVU12krfl/mPnw8vii16FyKeKdd0UiuP9 k5qWucl0C4gbzLSfJHTna3501NW1CwcJdxFx/tjB/A96Fm06LtjKTh5rVf194fVVPWlK/lszpaKo WerWt5hUfZIf4H4P/wBer9etRrU60eenJNeRzThKDtJWCiiitSQooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKDxQAhOBzULyk8J+dPILn2pyoF6VjL mnotEUrIrrbFzmQn6VOkaoMKoFPopwowhstQcmwooorUkKKKKACiiigAooooAKKKKACmSRpKhSRA ynqGGRT6KTSaswMK98PRyAvaN5bf3GPB/wAKpware6XL5F4jOg7N1H0PeuprP1WxfULZYkZFIbdl hXi4rLPZXr4O8Z9ls/lt+h20sTzWhW1X5DNM1ZNRkmULsKYKgnkj/wDX/OtOucstEvrG9jnSSFlB wwDHkd+1dHXXltTETpWxMbST+/8ArYyxMacZ/u3oFFFFegc4UUUUAFFJkZxnn0paACiiigAooooA KKKKACiiigAooooAKKKKACiiigAqhc6nDAdq/vGHXBwBU1/KYbGZwcELgH68Vyxcmvnc8zieCcaV L4mr3OvDUFUvKWxpy6vOzko2xewwD/SmDWblTyyt9V/wrNLUhavkpZxjZS5lUf3/AKbHcsPTtaxv 2uspNIscqbGY4DA8ZrWrktPt2ubxFH3QdzH0Arra+xyDGYnFUJSr62ej7nBiqcISSiFFFFe8coUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFQSXltC22W4hRvRnANNJvYT aW4+WVIInlkYKiDLE9hXFal4gubyRlidooM8KpwT9TWt4qvVGkosUisssgBKnOQBn+eK4hpfevSw WHTjzyR4mZYxxl7OL0LRmOc559a1NN8SXFlIqTM01v3Vjkj6H+lc8ZajMtehKjGatJHkRxc6cuaD seuwypPCksbBkcBlI7ipK5vwXctPozxsc+VKVX6EA/zJrpK8CrT9nNx7H1uHq+2pRqdwooorM2Ci iigAooooAKKKKACiiigAooooAp6mhfTZwOwz+RzXKZrtWUMpUjIIwa42/h+w3TxMc45X3HavjeKM LJzhXS0tZ/mv1PSwErpwI801nVepAqu0rN04HtTMV8tGj3PUVPudH4cfzJ5yuSoUAn8a6Kue8LRk R3Mh+6Sqj8M/410NfomRw5MDBev5s8PG29u0v60CiiivXOUKKKKACiiigAooooAKKKKACiiigAoo ooAKKKKACiiigAooooAKQnAyaWsbxPdtaaBcuhw7gRg/U4P6ZqoRc5KK6mdWoqcHN9Fc5zXfE8tz M9vZyGO3U4LKcF/x9K5xpST1quXpjzBASxwK+jp0YU48sUfGVsRUrz5pssGSq813FAMyOB7d6oTX kj5WIbR696q+SWJJySepNbJEKH8xZl1dzkQxfi5/pVR7q7l+9Myj0XipVt6kWAUy04rZHpPgj7Lo vhuNr+9gilunM2Jpgp2kADqfQZ/GuuguYLmPfbzRyp/ejYMP0rwwQj0q7YXV1ptytxaStFIPQ8H2 I7ivMrZfztz5tWerQzZU0oOOiPa6KzdE1RNY0yO6Vdr52yL/AHWHX/H8a0q8iUXFuL3R9BCcZxUo 7MKKKKkoKKKKACiiigAooooAKKKKACsPxFZrJbLddHj+U+4JrYlljhXdI6oPVjiud1jVBdD7PAQY urNjqa8fOq9CGFlCo9Xsut+h1YSM3VUomJtp8cLSyLHGpZm4AHel21JA7wTJKnDIcivgISjzLm26 nuSk7aHW6ZafYrFIj9/7z/U1cqvaXAurVJgMbhyM9DViv1DDKmqMVS+Gyt6HzlRyc25bhRRRW5AU UUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAVjeJ7R7zw/dJGMugEgA74OT+ma2aK qEnCSkuhFWmqkHB9dDw9pMVAytIct+ArtvEXg+WKd7vTYzJCx3NCo+ZD7DuK5YwlGKspVh1BHIr6 SlWhVjzRZ8ZXoTw8uWaKYh9qeIqtCOnBK1uYcxWEVPEVThaULSFciEdOCVJirmn6Xd6nOI7aJmGc M5GFX6mlKSirtjjGU3yxV2dX4EVlsbsn7hkGPrjn+ldbVLS9Oi0uwjtYudvLMf4m7mrtfOYioqlV yR9pg6To0IwlugooorE6QooooAKKKKACiiigCOWVYYnkc4VQSawLrXZpMrbr5a/3jyf/AK1bl3F5 1pNGOrIQPrXIba+U4jx2Jw8oU6UrRkt1v9534OnCSbkrsSR3lbdI7Mx7sc03FP20oWvinNyd3uel exHtroIppL3QpRt3SKNpAHXpz+VYmz2rd0HIhmX0YGvbyGUpYl0L2U4tP7jlxTXIpdUzCillgOYp GQ/7JxW7puqm4YQz4En8Lf3v/r1V1ayEVz5qDCScn2NUURkYMpwwOQaVGtjMrxTp6tJ6ro1/wwTV OvC519FRwyebCkn95Qakr9EjJSipLZnkNWdgoorzT4k+NL/R7hNN0ubyH2B5ZQAW56KM9OOfxqgP S6K+OtW+Ivi9dUnWLxJqaICAFW4YDpXWWh8aT+GH1SXx7fw3gUulo0rEEDsW3cE/SrhTlP4UZzqw p/E7H0zRXx2/xA8YXsTSweJNUS4QZlhFy2CB1ZefzHbqOOlH/hY3jP8A6GfVf/Alv8ag0PtKivi3 /hY3jP8A6GfVf/Alv8aP+FjeM/8AoZ9V/wDAlv8AGgD7Sor4t/4WN4z/AOhn1X/wJb/Gj/hY3jP/ AKGfVf8AwJb/ABoA+0qK+Lf+FjeM/wDoZ9V/8CW/xo/4WN4z/wChn1X/AMCW/wAaAPtKivi3/hY3 jP8A6GfVf/Alv8aP+FjeM/8AoZ9V/wDAlv8AGgD7Sor4ztvHnja6kKr4o1NUUbnka5bCD1NOuviV 4tYrHb+JNVWJOjtcNuc+p5/Tt+tAH2VRXxfF8R/GQmQt4m1QqGGQbluR+der+BPiVrS65aWmqXr3 dncSCJvNALIScBg3Xr+lAHvNFFFABUbwxSH95GjH/aUGpKKBNJ7kP2S2/wCfeL/vgUfZLb/n3i/7 4FTUU+Z9xckexD9ktv8An3i/74FH2S3/AOfeL/vgVNRRzPuHJHsQ/ZLf/n3i/wC+BUiqFUBQAB2F Ooou3uNRS2CiiikMKKKKACiiigAooooAKKKKACucvrLybpsD5GO5a6Oo5Io5Rh1DAetedmWXxxtJ Re62NaNV05XOZEPtThD7V0P2O3/55ij7Hb/88xXix4dkuq/r5HT9bXY58Q1atJXtXJAyrfeFa32S D/nmKX7JD/zzFdFHJqtGanCSTX9diZYmMlZopX8yTxoic/xZ9KoiL2rb+yw/88xR9mh/55iuivll WvU9pNq5EK0YKyG2QxaIPTP86sUgAUAAYApa9elDkpxh2SRzyd22FfPXxDnl1DxnqKQo8riQRqqK SflAXoPpX0LXG6N4atLcT6leAGa6kaWQnqSxzj6c1oI+W7rwf4knuppRol7hnJH7o9M1p/ZPH/2P 7KbG+MWMcwDdj/exmvqtLXTXUFLVGHrgU77Hp/8Az6J+QpqUlsyXGMt0fHieD/FMcqypo98sinIY RnINW5/BXiC8iNxHod3HOP8AWxCLAb/aX+o/Ljp9cfY9P/59E/IUosrEEEWagjuFFIo+Of8AhCvE 3/QEvf8Av0aP+EK8Tf8AQEvf+/Rr7HNjYHn7Guf90Un2Gw/58l/75FAWPjn/AIQrxN/0BL3/AL9G j/hCvE3/AEBL3/v0a+xTZWA62a/98ij7Hp//AD6J+QoCx8df8IV4m/6Al7/36NH/AAhXib/oCXv/ AH6NfYostPPSzT/vkUv2Gw/58l/75FAWPjn/AIQrxN/0BL3/AL9GpIPAviaeUJ/Y92i/xO0Zwo9a +wvsNh/z5L/3yP8ACl+x2O3b9jXH+6KAPkK58KeIzGLa20O+W3U5JMXMh/vN/QdvzNVf+EK8Tf8A QEvf+/Rr7FNlp462afkKPsen/wDPon5CgD45/wCEK8Tf9AS9/wC/Rrdtob/S5oTd201tMMMBKhU5 H1r6p+x6cP8Al0T8hWXq3hrSdd0+aARqQRyvofUen1FAHS2063VpDcJ92VFcfQjNS1meHoZLbw9Y W0p3PBCsJY99ny5/StOgAooooAKKKKAI2fa4FSVTuH23Kj2H86uVTVkiU7thRRRUlBRRRQAUUUUA FFFFABRRRQAUUUUAFFFFABRRRQAUUmRnGRnriloAKKKY8iRjLHFAD6OlQeZK/wDq48D+8/FL5Bbm Vy3sOBQASToAVGWbHReayr21nvbIQ5EKleOTn9K2QqopCgKPasye9hjCAEuxHAUZoAo6ZbCwtVtd zFo+OT26VcaRUUszBVAyST0qtJLLJNEXi8vJ4PcisTxE15PIIIJo44kj8xw5xuOaBlmTV5bq9SGz ViN2FA6t/wDWrsAeBnGcc1zej2I0uxWXdH9pkUbpX7ew9v51PLPJF80pVwwJDKetAG9keooyPUVh h3WQxyABsbuD2p28ZxnmgRV1/ULuwv4nRf3BHU8h/UVPBqNtcWjXSyBI1/1gY8p7f4etSsIZ4Htr lN8D9R3B9RWC/hW4USLFKsisco+cDHbNAyeDVrm/1aGO1RvKDA7B6Z5Zq6/I9RXN2NpHpNtFHC5d 5h+9kPc+3oKtbxzzQBtZHqKMj1rF3j1FMYmSdItzKCCSR1oEU9W1G5sdWbzEPlH7oPRhV+3uorqE SxNlT+h9KTy4dWsfsd2ct/BJ3B9a5jT4bzTtfa2MymMOUcD+L0PtQM6uQCSNkJwGBGRVfR9PGnSF VlZ9zE/MSepJPUn1qUOD0NJHM4mJVQVjwWyaANa1AEC46ZP86mqC0YG1Q+uf50+SUIoP3iTgAd6B ElFRxSiQkYKsOxqSgAooooAy7l86kie6itSsNX87XiB0D/yH/wBatytaiskvIxou7k/MKKKKyNgo oooAKKKKACiiigAooooAKKKKACiiigAooooA5DWtSmh18PbvgwKE9j3IP5/pXR6bqEeo2wlT5WHD qf4TWR4g0qBLY3cMeJN+ZDknOe/51o6FIsmkQhQAVyrAeuaYGlUKgNdSE87QMe3WpqhT/j5m+i/1 pAJM2xh++K5/hxk/hR5kr/cTaP7z/wCFCAG6k9gMVPQBA0G5SZXLnHTt+VY7sYJInSPcPLK4Hrmt qaXZ8igs5HAFYc4uI4kdwhVV5CnkUADNJLIrybQFzhRWPq8Uc923mLu225K57HJrWDZAPas28jeW 8kCKWJtyOPrQM15dksFtGZBHIsYIDDg1VlQ27AyQqV5ztPDcVYuY5TDbsYN6eUoBU55qtc5i08RS ffJyFz90UCLN2d93HGgxIQPnz254qNjboxXySyKcNJu5zRcSCPUo3bhQgyfTORTXgmy8SplXYkPn gA0ASeW/2g25c7AN27vtpvmRlG2QPsPRg5z9aXzka9KZ+Qp5efeo9k8cZQxE7Ry2RjFAyby2ltrc hgoVcsx7VEBE9xEqKfLzgsT9+neesVnbq67o3XDCmhGjuIMHfEW+Rvw6UCHObZHYeQWRThn3Hj6U +NTFfom7cu0lT7VFJDNvkjVMh2JDZ4GaeJFOoxopyETbn3oGPtjbtdRqISFL4Em7nNYvkl/E135r ny4XJYjqeOK1LMFp4MDOJsn86pujHxFfxMCombMbHofloAvoIpWCCIwswyjBs0+zkURyh48sv3+f vdajiWQSpJKnlpECSSfbFNtn3LdNjG7nH1zQI0rIA2SM4LBmYIm73NTMg2MyqUZDllzkfWorDLWE JUZaNjlfUZNWHLbJWYYMgCqp6/55oAlhi2ZYtuJHpU1IowoHoKWgAprMEUs3AAyadWbrt19l0mZs 4ZxsX8f/AK2aqEeaSj3IqTUIuT6GdoRNzqE057An8Sf/ANddHWJ4ZhKaaZiOZXJH0HH+NbdaYh3q NLoY4RNUk311CiiisTpCiiigAooooAKKKKACiiigAooooAKKKKACiiigCG6gFzaywt0dSPpWH4el MM81o/BPIB9Rwf8APtXRVz2pRtY6sl1GOHO78e4/z60AdDUCkLdODxuUY98ZqWN1kjV1OVYZBpJI xIuD17EdqAGJ/wAfUv0FTVDFG6uzOQScDipqAIIBuV5D1Yn8AKyb+UJa4/iddqj61qtFIgcxOADz giuecE7HkYu+3qe1ACr8qgegqWExFsSEqDxvB6f/AFqr5ozTGa6wqMoSwRuu1uD7is+e0SMF0fzY nJAfOfwPvWdrOoz2mhzmKQqRtwe4ywB/nS+HJjN4UZ2bcxujz+ApAWggGclmJGPmOeKQR4G0SSBf 7oY4ozRmmAuxNmzA20hTIwZJCv8AdLHFGaM0AKsaqQcsQOgJ4FNXbDPESxCBuQTwKXNBOeCOKAEB 8x5SJXCFzgK3BqWG281gsZ2bRncDjaO5zUYOOlOlfbo+qMDgi1fn8DSA01jgjtlhgO4HB3qeWNVb hYUUxkb5SeWJzt/H1rl/COp3EsV7EZiyps25/hzuzj8hW7mgAKbsb3dwOgZsipI41adTlgD1APBq PNSQt+9X60wNqyhR7ONuQwzypwepqykKo27lm9WOah005sI/x/matUhBRRRQAVxviy9afUbfTYeW UgkDuzdB+X866u6uY7S1luZTiOJSzH2FcR4Xik1nxDPqc4ysZL+249B+A/kK7MJFR5qsto/mebmE 3Llw8d5P8EdvaW4tbSGBekaBc+vvU9FFcjbbuz0UklZBRRRSGFFFFABRRRQAUUUUAFFFFABRRRQA UUUUAFFFFABVTULX7VaMoHzr8y/WrdFAGVo9x+7Nu55Xlc+npWrWRewNbXa3MXAJz9D/APXrThlW aJXXoe3pQBJRRRQA1/uN9K5aRvlj/wB2upf/AFbfQ1yUh+WP/doGhd1G6o81V1G+FhYy3BALKMIp 7sen+P0FAzm/G+t7bc6Ta4MzFWmfsg6hfr0+n48dP4YsbrTvCEFvfAJcTSmYoeqqQMZ9On61z/hD QxeX8ms343xQvuG//lpJ1z+HX64rrbi5aeRmJ4JoEIzDPyjj+dJuqPNGaBkm6jdUeaM0ASbqN1R5 ozQBJuqR4jeabfWkLKs09u8abumSCBVfNKHKkEHBHQ0COB8KX8+ia3dafqieU0zKhJ48t1zjPsd3 X6dq9BzisTxbo6avZDUoUH2u3GJgB99PX8P5Zo8Pai15p4jlbM8OFYnqw7H+n4e9AG3up8LfvV+t QZp8R/er9aBnSaZzp8f1b+Zq3VPSudOi+rfzNXKCQoorM1zWIdD0uW8mwWHyxpn77dh/ntTjFyai tyZyUIuUtkc1461gkxaPbktI5DShev8Asr/X8q6Pw/pY0jSIbYgeafnlPqx6/l0/CuO8FaZNq+qy 65fZdVclCf45PX6D+ePSvRq7MS1TiqEem/qcGDi6s5YmfXRegUUUVxHohRRRQAUUUUAFFFFABRRR QAUUUUAFFFFABRRRQAUUUUAFFFFADJY1ljKMODWfAXs5yjfcPX/GtOop4RMuP4h0NAEgORkdKWqs DtH+7fp29qtUANf/AFbfQ1x8jhEViu7C8LnGfxrsJP8AVt9DXGOflT6UDQ2OUyxRyNH5bsoLIGyA e4zWDrpe7u4bSPog3N7E/wD1v51vKCx9h1PpWPZkXniWMAfullL/AF29CfyFAzoGiSwsbfTofuRL lj/ebuf8+tQ5onk8yd2z1NR5oAkzRmo81W1DUDp1m0seDO3yxZGcH1/CgB2qazpmhxg6hM5mIytt CN0hHv2H41zr/Eq0D4Tw9Kyf3musH8gtM0vw6upzPeX8jsjMSTn5pD359K6NdE0VI9i6dAR6sMn8 zzQIq6X4s0fWHESGWyuT0juMbWPoGH9a2GBViDwRXK6t4VtdjTWKFCOTFnII9quaBqEssP2S4cu8 Y+Rz1K+h+lAG7mjNR5ozQMs28uyUZ+63BFc2kI07xC6RjaN21l9VPII+nGfpW5msfxEh+021ypwx TGR6j/8AXQBtgjIz070tvP5xVjCImDkbQ+4EZ4P5VHFJ9ot0lH3mUMy/hToj+8X60AdTpP8AyDYv +Bf+hGrtUdH/AOQXD/wL/wBCNXqCTN1+4+yeH9QnBwUt32n3wQP1rxiTU7vVri1i1G9mkiVgmWO7 YpIyfc17XqunR6vpk1hNJIkc2AzR43YBB4z9MVX0vw3pOjgGzs0WQf8ALVvmf8z0/Cu3DYmFGDur yPPxeFqV5qztH+uhdsraCzsobe1ULBGoCAenrVmiiuNu7uzvSSVkFFFFIYUUUUAFFFFABRRRQAUU UUAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAMeMPz3oTI4NPooAbJ/q2+hriiCwT028n0rtZP9W30 NcPNINiKv3QPzoGhxcHCr93P51k6CMaoXPXY1X91UtOHk6l9dy0MZo5yaTNNY4Yj3pN1AD81nanC Z5Ix2UGr26ljjEsm09SOKAEhxFBHGvAVQKcZKbcRPAQSDtPQ1X8ygRYMlZkNt5OoeYgwNxx9DV2J XnkCoMnv7VYmgWHaP4jQAuaM0zdRupjH5qhrPz28PqGNXN1UtQO8Rr6ZNJgWrFitnDzghaupiRwy 8MOo/rVCAbbeMf7IqxExEqkHnNAHW6N/yCof+Bf+hGr9UNGbdpUJwBnd0/3jV+gkKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigBsn+rf6GuCc/Kn 0rvZP9U/+6a8+c/Kn0oGhc1XYbLgSD1zUmaQjdigZO5BbPY03NMyVUA0maAJM0BsEEEgjkGo80Zp gbNtf28qeXdqFPTdjIP+FTf2fpL/ADiWHHtLx/OsDNGaQjclurCzjKW4WRuwTp+JrJklaWQu5+Y+ naoc0ZoGSZozUeaM0wHlsAmqsg8xx+VPZi7iNfxp23awpASg4AFPjP7xfrUOafGf3i/WmB2Wh/8A IHg+rf8AoRrRrO0L/kDQfVv/AEI1o0iQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACi iigAooooAKKKKACiiigAooooAKKKKAGyf6p/901525+VPpXokv8Aqn/3TXmryfKn0oGiTIoyKg30 b6Bl5AsyEd+9VmzE+x+D2PrTEmKMGU8itFPI1CEqRhh1Hce4oAp5FGRUdxBPZHLgvF2cdvrUazK4 ypBouBYyKMioN9G+gCfIoyKg30hlCjJIA96ALGRUUkuCEQbpG6AVFG812+y1Qt6uegrThtIdOiMs r7pD1Y9T7Ci4EUUItoSznLnr7n0qPdkknqaZNcmZ9x4A6D0qPfQBPkU6M/vF+tVt9Pjk/eL9aAO6 0D/kCwf8C/8AQjWlWX4eOdDtz7t/6Ea1KCQooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKAGS/6l/9015Yhed444xuYjgV6JrN79jsmbvivKI9ShS4 dFeMlSV2OeCD2NAGjKWhYK+ORkEHII9RTPOHrVSWd5duEVURQqqp4AqPdJ6D86VwL/nD1pVuCjBl Yqw6EGs/dJ6D86N0noPzouFzprXXUICXS/8AA1H8xVltL07UAZLdwrdzE3T6iuQ3Seg/OlWSVWDL ww6ENzRcdzpJPDt2v+pukYejrj/GojoeqA9YD77j/hWZFrOqQgBLp8f7RDfzzVgeI9Vx/rE/74Wg Ll5PD1+x/eXESD/ZBP8AhVlNAs7ZfNu5mkx1MjbVrDk13VZRg3LAf7IVf5VRkmnlbdK7O3qz5P60 XC51E+s2lsnlWiB8dCBhB/jWPNePPIXlfc3b0H0rN3Seg/OjdJ6D86LiuX/OHrR5w9aobpPQfnRu k9B+dFwuaCyFmCryxOABUzpLbunmAAEnBBB5HUcVlpLLG6uv3lORzTptRRVVP3UeCSET+8epouM9 P8MNu8PWp93/APQzWvWB4UuFbSooVPCL/wDXNb9MQUUUUAFFFFABRRRQAUUUUAFFFFABRRRQAUUU UAFFFFABRRRQAUUUUAFFFFABRRRQAUUUUAFFFFAGdq2mLqUBjaRk47V5tq/wpS6maWLU5439VFet U0xq3UUAeEyfCbUVJ2a/c4/3RVd/hXq4+7rlwf8AgIr3o26HtTTap6UAeAN8MNcHTWZ/++R/hUTf DPXx01ef/vkf4V9Bm0T0/SkNmnoKAPnk/DbxCP8AmLTf98j/AAph+HPiIf8AMVm/75H+FfRBsk9B SfYk9BQB87H4deI/+gpN/wB8j/Cg/DvxJ/0FJv8Avkf4V9EfYU9BR9hT0FAHzuPh14j/AOgpN/3y P8KcPhz4jP8AzFZv++R/hX0N9hT0FL9iT0FAHz2Phv4hP/MWm/75H+FPX4aeID11ef8A75H+FfQP 2JPQUv2NPSgDwJfhhrp66zP/AN8j/Cp0+FesN11y4H/ARXu4tE9Kd9lT0/SgDw+L4T6kWG/X7jH+ 6K3NM+FQhlWSbVJ5WHqK9VFsg7VIsar0FAGZo2jJpUQRZWfjvWtR0ooAKKKKACiiigAooooAKKKK ACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooA KKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAo oooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKACii igAooooAKKKKACiiigAooooAKKKKACiiigAooooAKKKKAP/Z "
+ id="image5153"
+ x="79.33432"
+ y="-13.676315" />
+ <g
+ transform="translate(160,0)"
+ id="g5156">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.55;color:#000000;fill:url(#radialGradient5172);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path23417"
+ sodipodi:cx="23.334524"
+ sodipodi:cy="41.63604"
+ sodipodi:rx="22.627417"
+ sodipodi:ry="5.6568542"
+ d="m 45.961941,41.63604 c 0,3.124194 -10.13064,5.656854 -22.627417,5.656854 -12.496777,0 -22.62741646,-2.53266 -22.62741646,-5.656854 0,-3.124195 10.13063946,-5.656854 22.62741646,-5.656854 12.496777,0 22.627417,2.532659 22.627417,5.656854 z"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ transform="matrix(1,0,0,1.066291,101,-2.885106)" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path3040"
+ d="m 124.34701,4.1666669 c -11.54762,0 -20.83334,9.2857141 -20.83334,20.8333331 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333331 -20.83333,-20.8333331 l 0,0 z m 0,25.8333341 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ style="fill:url(#linearGradient5174);fill-rule:nonzero;stroke:none"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path3049"
+ d="m 124.34701,4.1666665 c -11.54762,0 -20.83334,9.2857145 -20.83334,20.8333335 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333335 -20.83333,-20.8333335 l 0,0 z m 0,25.8333345 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ style="fill:url(#linearGradient5176);fill-rule:nonzero;stroke:#808080;stroke-miterlimit:4;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path3051"
+ d="m 124.34701,14.895835 c -5.64259,0 -10.10417,4.592803 -10.10417,10.104165 0,5.642588 4.5928,10.104166 10.10417,10.104166 5.64258,0 10.10416,-4.592802 10.10416,-10.104166 0,-5.642586 -4.5928,-10.104165 -10.10416,-10.104165 l 0,0 z m 0,15.615529 c -3.01813,0 -5.51137,-2.493235 -5.51137,-5.511364 0,-3.018127 2.49324,-5.511362 5.51137,-5.511362 3.01812,0 5.51136,2.493235 5.51136,5.511362 0,3.018129 -2.49324,5.511364 -5.51136,5.511364 z"
+ style="opacity:0.10999995;fill-rule:nonzero;stroke:none"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="fill:url(#linearGradient5178);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 129.92211,5.6692337 -3.59659,13.9946623 c 1.1247,0.299517 2.02414,0.99547 2.63513,1.958542 l 12.39222,-7.549285 C 138.81762,9.9434382 134.74866,6.9050853 129.92211,5.6692337 z"
+ id="path3916"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path4214"
+ d="m 117.30782,43.766057 4.73526,-13.651499 c -1.09627,-0.390992 -1.93543,-1.158553 -2.46514,-2.168607 l -12.97106,6.504648 c 2.18705,4.324212 5.99238,7.686883 10.70094,9.315458 z"
+ style="fill:url(#linearGradient5180);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="opacity:0.54644811;fill:none;stroke:url(#linearGradient5182);stroke-miterlimit:4;stroke-opacity:1"
+ d="m 124.347,5.2023655 c -10.97354,0 -19.79763,8.8240885 -19.79763,19.7976315 0,10.973544 8.82409,19.797631 19.79763,19.797631 10.97355,0 19.79763,-8.824087 19.79763,-19.797631 0,-10.973543 -8.82408,-19.7976315 -19.79763,-19.7976315 l 0,0 z"
+ id="path5264"
+ sodipodi:nodetypes="cccccc"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ sodipodi:type="arc"
+ style="opacity:0.67213111;color:#000000;fill:none;stroke:url(#linearGradient5184);stroke-width:0.93053865;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path6026"
+ sodipodi:cx="24.306795"
+ sodipodi:cy="24.930641"
+ sodipodi:rx="6.0987959"
+ sodipodi:ry="6.0987959"
+ d="m 30.405591,24.930641 c 0,3.368272 -2.730524,6.098796 -6.098796,6.098796 -3.368272,0 -6.098796,-2.730524 -6.098796,-6.098796 0,-3.368272 2.730524,-6.098796 6.098796,-6.098796 3.368272,0 6.098796,2.730524 6.098796,6.098796 z"
+ transform="translate(100.08839,0.08838865)" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="opacity:0.1142857;fill:url(#radialGradient5186);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 124.34701,4.1666665 c -11.54762,0 -20.83334,9.2857145 -20.83334,20.8333335 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333335 -20.83333,-20.8333335 l 0,0 z m 0,25.8333345 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ id="path3390"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path3404"
+ d="m 124.34701,4.1666665 c -11.54762,0 -20.83334,9.2857145 -20.83334,20.8333335 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333335 -20.83333,-20.8333335 l 0,0 z m 0,25.8333345 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ style="opacity:0.09714284;fill:url(#radialGradient5188);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="opacity:0.71428576;fill:url(#radialGradient5190);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 124.34701,4.1666665 c -11.54762,0 -20.83334,9.2857145 -20.83334,20.8333335 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333335 -20.83333,-20.8333335 l 0,0 z m 0,25.8333345 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ id="path3419"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path3431"
+ d="m 124.34701,4.1666665 c -11.54762,0 -20.83334,9.2857145 -20.83334,20.8333335 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333335 -20.83333,-20.8333335 l 0,0 z m 0,25.8333345 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ style="opacity:0.62285713;fill:url(#radialGradient5192);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="opacity:0.37142861;fill:url(#radialGradient5194);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 124.34701,4.1666665 c -11.54762,0 -20.83334,9.2857145 -20.83334,20.8333335 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333335 -20.83333,-20.8333335 l 0,0 z m 0,25.8333345 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ id="path3441"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path3445"
+ d="m 124.34701,4.1666665 c -11.54762,0 -20.83334,9.2857145 -20.83334,20.8333335 0,11.54762 9.28572,20.833335 20.83334,20.833335 11.54762,0 20.83333,-9.285715 20.83333,-20.833335 0,-11.547619 -9.28571,-20.8333335 -20.83333,-20.8333335 l 0,0 z m 0,25.8333345 c -2.7381,0 -5,-2.261905 -5,-5.000001 0,-2.738095 2.2619,-5 5,-5 2.73809,0 5,2.261905 5,5 0,2.738096 -2.26191,5.000001 -5,5.000001 z"
+ style="opacity:0.23428572;fill:url(#radialGradient5196);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ id="g6707"
+ transform="matrix(0.0245274,0,0,0.02086758,-71.078767,36.455216)">
+ <rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect6709"
+ style="opacity:0.40206185;color:#000000;fill:url(#linearGradient6715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path6711"
+ d="m -219.61876,-150.68038 c 0,0 0,478.33079 0,478.33079 142.874166,0.90045 345.40022,-107.16966 345.40014,-239.196175 0,-132.026537 -159.436816,-239.134595 -345.40014,-239.134615 z"
+ style="opacity:0.40206185;color:#000000;fill:url(#radialGradient6717);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.40206185;color:#000000;fill:url(#radialGradient4994);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="m -1559.2523,-150.68038 c 0,0 0,478.33079 0,478.33079 -142.8742,0.90045 -345.4002,-107.16966 -345.4002,-239.196175 0,-132.026537 159.4368,-239.134595 345.4002,-239.134615 z"
+ id="path6713"
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0" />
+ </g>
+ <path
+ style="fill:none;stroke:#535353;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m -105.48362,8.2642443 c -0.625,0 -1.03125,0.2901802 -1.28125,0.843753 0,0 -6.46875,17.1035567 -6.46875,17.1035567 0,0 -0.25,0.671559 -0.25,1.78125 0,0 0,9.649968 0,9.649968 0,1.082613 0.65779,1.625002 1.65625,1.625 l 38.562503,0 c 0.984853,0 1.59375,-0.71818 1.59375,-1.84375 l 0,-9.649968 c 0,0 0.105963,-0.770423 -0.09375,-1.3125 l -6.71875,-17.1973061 c -0.184525,-0.5119068 -0.636905,-0.9880983 -1.125,-1.0000036 l -25.875003,0 z"
+ id="path4196"
+ sodipodi:nodetypes="cccsccccccccc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:url(#linearGradient4234);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -113.49572,27.298428 0.76461,-0.692215 37.609686,0.0625 3.462407,0.317298 0,10.438532 c 0,1.125569 -0.607018,1.843331 -1.591871,1.843331 l -38.582992,0 c -0.99846,0 -1.66184,-0.542051 -1.66184,-1.624664 l 0,-10.344782 z"
+ id="path4170"
+ sodipodi:nodetypes="ccccccccc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:url(#radialGradient4250);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -113.22022,26.21602 c -0.71429,1.464286 -6.2e-4,2.392857 1.03571,2.392857 0,0 39,0 39,0 1.119047,-0.02381 1.845238,-1.011905 1.428571,-2.142858 L -78.470225,9.2553209 c -0.184524,-0.5119068 -0.654762,-0.9880986 -1.142857,-1.0000036 l -25.857138,0 c -0.625,0 -1.03572,0.3035732 -1.28572,0.857146 0,0 -6.46428,17.1035567 -6.46428,17.1035567 z"
+ id="path3093"
+ sodipodi:nodetypes="csccccccs"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="color:#000000;fill:url(#linearGradient4209);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2.40899992;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect4174"
+ width="17.625"
+ height="5.5625"
+ x="-108.91132"
+ y="31.4758" />
+ <path
+ style="opacity:0.81142853;fill:url(#linearGradient4242-1);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -108.91131,37.038296 c 0,0 0,-4.011485 0,-4.011485 1.83552,3.179226 8.29649,4.011485 12.937495,4.011485 0,0 -12.937495,0 -12.937495,0 z"
+ id="path4194"
+ sodipodi:nodetypes="cscc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -71.973145,25.930304 c 0.06352,1.249974 -0.414003,2.31584 -1.322116,2.34375 0,0 -38.118719,-1e-6 -38.118719,0 -1.28923,0 -1.86773,-0.324947 -2.08405,-0.868056 0.0918,0.944332 0.82582,1.649306 2.08405,1.649306 0,-1e-6 38.118719,0 38.118719,0 1.076007,-0.03307 1.752805,-1.424024 1.352164,-2.994791 l -0.03005,-0.130209 z"
+ id="path4201"
+ sodipodi:nodetypes="cccccccc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.69142857;color:#000000;fill:url(#linearGradient4272);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="m -105.80056,10.457866 c -0.0461,0.200321 -0.1875,0.386797 -0.1875,0.59375 0,0.948605 0.59098,1.789474 1.34375,2.59375 0.24027,-0.154075 0.36512,-0.354408 0.625,-0.5 -0.94031,-0.816004 -1.55339,-1.716582 -1.78125,-2.6875 z m 26.656253,0 c -0.228727,0.969616 -0.842012,1.872426 -1.78125,2.6875 0.274144,0.153582 0.403988,0.36824 0.65625,0.53125 0.757262,-0.806656 1.3125,-1.673044 1.3125,-2.625 0,-0.206953 -0.141594,-0.393429 -0.1875,-0.59375 z m 2.1875,8.4375 c -0.613791,4.040111 -7.298613,7.25 -15.53125,7.25 -8.212253,1e-6 -14.860153,-3.192786 -15.500003,-7.21875 -0.0324,0.197132 -0.125,0.391882 -0.125,0.59375 0,4.317947 6.98911,7.843751 15.625003,7.84375 8.635896,0 15.656249,-3.525802 15.65625,-7.84375 0,-0.212924 -0.08905,-0.417356 -0.125,-0.625 z"
+ id="path4211"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:#ffffff;fill-opacity:0.45762706;fill-rule:evenodd;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path4224"
+ sodipodi:cx="7.2036505"
+ sodipodi:cy="25.593554"
+ sodipodi:rx="1.3700194"
+ sodipodi:ry="1.016466"
+ d="m 8.5736699,25.593554 a 1.3700194,1.016466 0 1 1 -2.7400389,0 1.3700194,1.016466 0 1 1 2.7400389,0 z"
+ transform="translate(-116.68092,0.47839247)" />
+ <path
+ transform="translate(-82.802257,0.39000447)"
+ d="m 8.5736699,25.593554 a 1.3700194,1.016466 0 1 1 -2.7400389,0 1.3700194,1.016466 0 1 1 2.7400389,0 z"
+ sodipodi:ry="1.016466"
+ sodipodi:rx="1.3700194"
+ sodipodi:cy="25.593554"
+ sodipodi:cx="7.2036505"
+ id="path4226"
+ style="color:#000000;fill:#ffffff;fill-opacity:0.45762706;fill-rule:evenodd;stroke:none;stroke-width:2;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:nodetypes="cccsccccccccc"
+ id="path4252"
+ d="m -105.12679,8.7173392 c -0.60169,0 -0.99279,0.2793586 -1.23347,0.8122873 0,0 -6.41501,16.5907215 -6.41501,16.5907215 0,0 -0.24068,0.646515 -0.24068,1.714823 0,0 0,9.290096 0,9.290096 0,1.35474 0.44406,1.626899 1.59448,1.626899 l 37.686909,0 c 1.323126,0 1.534316,-0.316397 1.534316,-1.837492 l 0,-9.290096 c 0,0 0.10201,-0.741691 -0.09025,-1.263553 L -78.883691,9.5550501 c -0.177643,-0.4928165 -0.550652,-0.8262496 -1.020545,-0.8377109 l -25.222554,0 z"
+ style="fill:none;stroke:url(#linearGradient4260);stroke-width:1.00000024;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path4282"
+ d="m -76.269307,31.730782 0,5.020935"
+ style="fill:none;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ d="m -78.269307,31.790559 0,5.020935"
+ id="path4284"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path4286"
+ d="m -80.269307,31.790559 0,5.020935"
+ style="fill:none;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ d="m -82.269307,31.790559 0,5.020935"
+ id="path4288"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path4290"
+ d="m -84.269307,31.790559 0,5.020935"
+ style="fill:none;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:none;stroke:#ffffff;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:0.42372885"
+ d="m -86.269307,31.790559 0,5.020935"
+ id="path4292"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.09714284;fill:none;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
+ d="m -77.269307,31.780681 0,5.020935"
+ id="path4294"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path4296"
+ d="m -79.269307,31.840458 0,5.020935"
+ style="opacity:0.09714284;fill:none;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.09714284;fill:none;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
+ d="m -81.269307,31.840458 0,5.020935"
+ id="path4298"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path4300"
+ d="m -83.269307,31.840458 0,5.020935"
+ style="opacity:0.09714284;fill:none;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.09714284;fill:none;stroke:#000000;stroke-width:1.00000048px;stroke-linecap:square;stroke-linejoin:miter;stroke-opacity:1"
+ d="m -85.269307,31.840458 0,5.020935"
+ id="path4302"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.43999999;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m -108.89431,31.489116 0,5.53125 12.562503,0 -12.218753,-0.34375 -0.34375,-5.1875 z"
+ id="path4572"
+ inkscape:connector-curvature="0" />
+ <path
+ transform="matrix(1.037815,0,0,1.060747,-118.40219,-1.7930095)"
+ d="m 39.875,19.5625 a 14.875,6.6875 0 1 1 -29.75,0 14.875,6.6875 0 1 1 29.75,0 z"
+ sodipodi:ry="6.6875"
+ sodipodi:rx="14.875"
+ sodipodi:cy="19.5625"
+ sodipodi:cx="25"
+ id="path2545"
+ style="opacity:0.20571427;color:#000000;fill:url(#linearGradient2553);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.93365198;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <image
+ width="22.5"
+ height="22.5"
+ xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAABHNCSVQICAgIfAhkiAAAIABJREFU eJztfUmPJMex5hd77ntlVdZK9vKKLVJNkRJEkCAFHgaUoHfhQIc5j6B3EQRB+gPvF0jHp4sOA0hH AiJ5ld5A0ICChjq0KHLEVpPdrK69MiuzsnKp3CIifQ6Z7u0R6bFlZXWTM21AICJ8Cw83czNzc3N3 iRCCp/D/L8hPugJP4cmCusjCJEmSFlneUxADWSDbli5TlgvhT5H/eIEh7jIEMRcH4BAvCS7gKTFc FRDuzi6KjnkIITIH4JAvA5Bef/31lzVN+y+SJKUkSaLxkiRJkGUZ07BJBlmmZTjuNJ0ozi8fVyev ukb6NxF4tY87nL7T+3g89owjhLB4r3yEEJaOPk+CCZmm6bbb7f+8c+fOHUwIYUwTRPm/SBzAhXzl O9/5zrXXX3/9f7366quGYRiQJAmEEDSbTfT7fVQqFaiqSvPy5QiRI0JsELLd5V418O3rRQT8e1Aa UTr+2bIsHB0dIR6Po1AosPDhcIg//vGP/27b9jf+/ve/fzENHkuSJEUhgnlEgAxAAaBls9mXbt68 aTzzzDOwbRsnJye4d+8eqtUqTNNEo9FAuVzG888/D1mW2Y9ZloVcLod8Pu/qAQSPqk6f3WHOdI/+ dbaxJ/Hud1HbOMMOD4+RSqXCtwj8CSMonAdKxOPxGP/4xz9Qq9VwfHwMXdexvLyM7e1tVCoVSJKE 7e1t4+OPP34JwD5XxFhYsAeEJgDK2jEhAA1AzDCMDdM0UavVMB6PcXx8jPfeew+JRAK3bt3CnTt3 8I1vfAOFQgG6rjvKW19f9yEAMu0Vj55pGlE6Z5wTwvZAHkajXTSbzRmOMk/5bhbvFeaG0WiEarWK 3/3udygUCtje3sZHH32ETCYDRVEgyzLG4zEMw9gAEKNFY6oThOUCUTmAhGnvBxCPx+PrsVgMhBAo ioJyuYybN29CVVX84Ac/wM7ODiqVCmzbZj9LG5WKhi8r8HoJMEGWSMS4EcspZADAxCIfzod5cQ7D MPDNb34Td+/ehaZp+O53v4vRaARFUaAoCgghiMfjiMVi6wDiAOzpNYabpflAKCxwvd9BAIlEomIY BoAJyyoUCvjpT38KXdchyzJSqRTOz89h27ZDnhNCoGma8Fs7OzswDB2macI0LWiairOzJkqlIgaD ARRFgaZp0HUd47EN2x4jHo/h5KSKlZVl1GqnKJVKSKWS+OST/4NSqYRer4dOp4NyuYyLiwtYloW1 tVU0m+fY2FgX/S+oEkvr6yYGPq1fGj/ki9Lx76qq4mc/+xni8TgIIRgOh+h2u+h2uwAmRBKPxyuY EMAQgAnAoigLwwWidkMZnAhIpVJlXddZpWnleHlPG5PX4G3b9uQAzz77LNwiYH19nTWKlwi4fj0J QgieeWaLlfX1r7/gy6L95Ly7zhcXF0y59WtXP/mvqipT5mgvdnMD/j4cDlGtVkEIYSyfB8MwkEql ypiIAA2P8BNaD5hXBKgA9Hg8XnL3ZP4HvIZ2iqLgr3/964xYEH4wQLO/Cs1flmUHgX722Wc4PDzE 1tYWlpeXZ3ovhSDlbzQa4fDwELu7u7h58yZyuVwgEfjpC6qqIp1OlwDomOBEQUQbTBQCcIsBNR6P 5zVNEyLaC/mSJMGyLEc6r6GcqBzgkV1AlMedL/CnAtLu7+/j8PAQ6XQa169fZ+F+yPd7jsVi+Nvf /oZ79+7hpZdeAhWhlLt5EYGIIHRdRzqdzsOJfHpdiRIIPBoGqrFYLMeP8/2Q/s9//hP9fh/j8Zil VRSFyVqqdNFnWZZn4vlLlI8nKC+jEW08ercsC6ZpYnl5eWakQghBtVoFACSTyRnRxqcLK//pN2zb xtnZGdbW1oTI9eME9FlVVSQSiRweEUDkyb15RIAEQM5ms4lUKhXne6O74SVJgmmaeP/991EqlfD8 88+jWCwyBVCEJL8wv2dhZUNwAUIIGo0GTk9Pma7BQ6fTAQAkEgkht4iq+fNE1u/3WZlBCOfD+HTx eDyeTqcTnU5HhtMcHwrmEQEyAHltba1EG4VWit7559///vcAgFdffRVe6UV3rzBHhRZAAJIkIZvN QtM0DIdDxGIxFjcYDFhDp1KpSN/z4gKUUxFCYNs24yp+ROCFfEII0uk0lpeXS51OZx9T8zwiEMHc HKBcLhd1XfdkuZIkYXd3Fw8fPsRrr72GZDIpJBJ3Hv7ujg8KixLPQywWg2EYGA6Hjnz9fp+Vlcvl POvhNyoQcQFVVWGapoMAosp/+qxpGorFYvH+/ftXygEk1yUXi8USHe/TH3Uj+N69ewCAjY0N3wmf IIRHJYAoyAfAkNvv9zEYDFh4q9UCACwtLSGRSEQq069ulAAsy3KIAMBb/ntxBU3TkMvlSnD2/tCK 4DwcQAYgFwqFIh0BiJAPANVqFbIsI5/P+87oPUkCqFQqKJVK6Pf7aDabGA6HACaIODg4AABsbW1F Jio/0DQN/X4flmV5ioCgMF6pzOfzRTyyASyWA0iP/tyhA+Tz+bymaZ49W5ImhgxN0xCPxz3Zvvs5 zLtXWJg4CoqioFKpIJfLAQB0XWdKGQDU63UMBgOk02ksLS35svmoQDsO5QB8vcP0ej5e0zRks9k8 nAQgTdMHzgzOrQPk8/miqqoODiDq3bFYzHNKWPQ8z3vYOAqpVApra2usXuPxGHt7exgMBqxxHzx4 AEVR8OKLL86wadE3oxAIHQW5CUBUpp/8lySJEgDlAI9FB5ABKOl0WsgB6DO1/1M/ARrP/2DQs+jd KyxMnCzLWFlZYb0emDTo3t6eo/c/ePAA7XYb29vbjrRRwE0U/DslAGraDfofL05AFcpcLpfHIzvA 49EBeCugmwMAQK/XgyzLjP27f/QqCMCvIZPJJFZXVx0mXhHyz87OsLOzg+XlZVy7dm2m/EWIAt58 blmW58SYG3jE03cPERAa5jUFy4Zh5Oi8tAjBvV6PWqqeKAHIsoxyuTzTk/v9Pvb395llEpgg/6OP PsLy8jJu3769UMWPB54IbduesUAGgZsDZDKZHGZ7f7i6RPkuOA4Qi8Xyqqo6DB18g/X7fYcC6I5/ HASQzWZRKpUcDT4ej3FycsIsfDTP6ekpPvnkE6yuruLWrVtXhnxgonBSJPrpAUEgSRMTeCwWEyqB YSCKDkDv8urqaiYej2t+iKUjgFgstlACCIP8dDqNYrE407M6nQ6Oj48d6S3LwhdffIGTkxPcuHED W1tb8AMvMRBFPFACoN8PSwDuOQcKsVhMK5fLmVqtdgonrgIhKgeQAchbW1tF0SQQfQcA0zShaZrD hHqVBABM5HypVGIzbBSoYyVv5AGAWq2GL774AplMBq+88spMPi+4LHfgLahUWZ4X6PxCpVIp1mq1 HUTUA+YSAaurqyU6BATECDRNE6qqLpwDzFRKkpBOp5HP52cQSMjEQ7lerzvC+/0+Hjx4gNFohOee e25uTV9UlzBAR090PuCyBKUoCpaWltzWwFAQhgAk1yWXy2UHAQCYQbJpmtRl6VIE4FnxyfAH2WwW iqI44sbjMdrtNk5PTx1ljsdjHBwcoFarYXV1lXnXRoEoowCvsnkO4CUCvNi9KE5VVZRKpbnMwb4E IDlrwERAoVAouI077rtt29A0LfIoIAji8Tjy+bxjcokCnWM/Pz93hA8GA9TrdTSbTaTTady+fTuy 5h1U1zCEQfMuigNQQph2hgIEQ0FJ8rcGRjUEyQDkUqlUcK/6cd+pbBJ5DLmffT8sTYxJ6XQa6XRa 6Es4Go1Qr9dxcXHBwgghaLVaaDQaME0ThUIBt27dgptz8ekvA1HKXLQImM63uAngSpRACYCSTCYL vBkYmCUAAPBKE/ghSaLuTkin056Gkn6/j1qthtFoxL4zGo1wdnaGVquFeDyOlZWVUIs8oiAhLLHw ZfJ5VFWFpmmwbXthOkA2my3A6RYWCqLqANQKWKDuWl4EEI/Hp67dZihFTpIkxONxxONxpFIpTxZN CMHFxQVbjELD2u022u02TNNENpvF9evXr2ztwTxiwJ1H13WMRqMZT995iMFDBFxeB3ABIwDDMHJB HCCVSjE38fF4POPIOTVgIB6PI5FIOEYLIhiNRmi32w753uv10G630ev12BAwHo+LK38FPTzoG37l GIbhWDDjVZafMkhhygGoNfBKhoEOLhCLxfJBOkC5XMZwOIQsy6jX6ygWi0yWJ5NJx+jAC0RIH41G 6HQ66Ha70HUdqVQKy8vLMwR2GQhDLFGUPlEengPwyJ6nLqqqIplMUmsgj6vgvGEScQXKsiyrhmFk /czAwGTtX7vdhqZpbC1bJpPBZLQiBkIIQzr1xgEm2j3lJoQQJJNJrK2thZ5EuQqYR5Hk8xiGwXwO RfFRiEGWZei6npVlWR2PxwtXAiXuLt+4cSOn67rih3wK165dQ61Wg6qq0HVdaKgZjUbo9XpotVps vQAF0zTRarVwcXGBRCKBYrHoyeI9K+/TuxaZh89HIUgE8COkKHWgZmd6nxKAsr6+ntvb26sigjk4 CgdgZmC3AuhV+Xg8jo2NDZimCWDSk9vtNkajEbrd7gzCad7hcIhWq4Vut4tkMon19XVPhY42ghfM I8/DsvcoPd5dLh0i86MAv17vjnOXraoqVldXi3t7e5H0gMgiYHV1tUQJwKuyPMiyzBQet0nWnY8O 4S4uLhji+dGAqNEX6aoVBeaZEHKLAGoPsG0bfJvOQwjzmoODCGBmCLi0tFQMWpoVNW48HuP8/BzN ZhPxeBzr6+vCiZmoyF4EcVzV6IGucLZtG+Px2GHOnocQZFlGoVBwO4cGDgU9CUBgBpYwtQKKKiuq pEe5jvfBYICTkxMoioK1tTW2FDosXDUHiDK29wMv7qBp2ozLl6h8URwfpigKbwtwcAA/c3AUQxD1 BSy6RUC73cbu7i4ajQY2NzextbU1I7NFjdXtdnF8fIxkMskmZhYtz68Somjqbm1fVVWHWzifV1Su bdvY3d3F3t4eisUitra2kMlkWPopARQx6xvoC5GVwEQiwTgAIQTn5+c4ODjAp59+ilarxWT+0tKS wyHUDc1mE7VaDZlMBpVKxfPDT4Lte0FU+4AfMaTTaZRKJdRqNZyfn2NlZWUmHy1rOBzi9PQU+/v7 +PTTT7G8vAxgMtSmi1pcHCC0EhhkPZFcl2wYRp4SgG3bOD09xS9/+Ut8+OGHGI1G+POf/4z33nvP 08YtSRKq1SpOTk5QKBRmkE993XjnRxG40wWlXwRE/WZQulKphHK5jEajwVYh80BHWrZt45133sGv f/1rHB4eotls4t1338Xp6Sls2wbARIDIGORLCJE5gGEYzArIs7H19XW89dZb6HQ6iMVijkWW9Gds 28bR0RHa7TZWVlYc254FIW8RyJ3HejdPuUFigI+nhrHj42MQQlCpVGbKi8ViePPNN3H37l1sb2/j rbfewt27d2FZFhO10y15InsHR9UBZF3XHXsCvPTSS/jtb3+Lu3fvolKpMAcNOvancp0QgqOjI5yf n2NpaQmFQmGhSF9U718EkQSJAXd8qVQCIcRBBLw+pCgKXnnlFdy+fRt7e3vIZDL43ve+B2AydKZp YrGYez5gIToAYyWGYWixWCzDDwNHoxFkWcYLL7wAAI4ZQJ71nZ2dsWGe31KrMAh40srgZZQ/r/il pSV0u13UajXIsszkPG1H6mP53HPPAZi0u3uKWdf1jK7r2mg0Cj0fEEYHoHd5e3u7oKoqP7xgFRyN Rowa3T/e6/VweHgIQgg2NjaEFrIo8jQKeMntMNe835knDSGTzbAkScLR0RFzbuHFhrud3cNETdOk jY0NfigIBBBBmCk0xv6feeaZUpAZ2P1zlmXh4cOHME0TGxsbDsueX4NFQcaikLiocsOkFcWpqoqN jQ3Yto2HDx8K9xt2A4+LqTmYWgND6QFhCUACIK+srJTcDph+QAjB7u4u+v0+CoUC876N2jCi+Mel +S+iHlH+N5fLoVAooNfrYX9/X5hHBHQoWCwWI5mD/QhgxgxcLpcLYQiA/lSz2cT5+TkIIVhdXfVl f2G5QRi4DNu/DCe5zH/w4Zubm2y4TNsvDEzNwV6eQeI8okAPM7CSzWaLfgTg/rnj42NYloV8Pi+c zVsE0h8XR7iMGPCLF4XLsoxischEgV96HqauYdQaOGMOFubxLdHFAZLJ5MxEEF9xHtrtNrrdLmzb dli5RGmDwqOmEYFhGFBVdWZbOVom3Zd/PB7Dsiy2U0iUuswzEuCVPB5WVlZwcHCAXq+HZrOJfD7P 0vs5hkwJIPRQMOwwkC0Jd3MALyo+PDyEZVnIZrPMiWMexEdFuLuxE4kE6Ha2pmliNBqxGTi+8em+ hNPxNOLxOHNW8UJSUF39hn1BhGAYBrLZLM7Pz3F0dMQIwK8Mbq+A0EqgHwHMmIF1Xc+719eLfpDu q2tZltCy5Zc/TFxQGlmWkUgkoCgKRqMRWq0WTNN0aNUU6QAcxEDza5oGwzCQyWRg2zZ6vd6MBy8t J6h+8xJCpVJBvV5Ho9FgPhLutHx+WZbpzqGhVwhFEgGxWCxPNzn2+iEAODo6gmVZ1D7tmzZMeFAa N/KSySTzLaQWSVVVZ5aQ8Xnc5fX7fccS92QyyTycAfHM3SJFACEEhUKB7Sh2eHiImzdvzqTl8yuK gkwmE2mpeBQ7gKLr+owIcP8gMLH6WZYlpNggDdgrjk/jFQZMXK3a7TbOzs4YAnnfuzCaviRJLF+/ 38fZ2Rna7bbQhhFUr7D/6hWeTqfZaSx8WlH+qTXQvV2ML4SeDcxkMoau60k39bkrMxwO0ev1YNs2 W5FzGcTzz35hdHKKIh+YTKLMq7nTi05qUSKgIjAsUV6WEFKpFFNK6caVXvmnhJtMJpMGQs4GhrED yADkW7duFXk3bPfHaYXa7TZs24ZlWUilUpEQ79eAQUQATEYejUaDHqXi29ujXIZhYDweo9FooN1u R6qbqJ5R2iKdTsOyLFiWhVarJWx3HnRdx+bmZuiRQGgRsLW1VeIdQbwqQd276QhA9FNu8GussA19 cXHBFCa6q+cikE8hkUig0WiwRajzIj8qIWQyGQcBBLW/oihYWVnhrYG+EFoJrFQqJd59SfRxAEz7 p06PojSivGGevcoaj8eo1+s4Pz9Hr9djw76gb7rBT1vXdR2dToct51pbWxPm9yqfj3M/i75Hw+l6 CuoxzacTKYOyLIv2CvAELwKYMQPn83mHGdiLiqkI4M/bEaWb91kUZlkW2wlkPB47vh8F/IhjPB6j 0+mw3r+8vDyzASaf3w/hYQmBhlHXcSp+3PXl83q4hnkOBWcIQGAGlgEoqVSqyCtAoorQZ+rnHpRu 3md3mKIoTPZnMhn0+/2Fbe5MYTAYIJPJMD2DIs/Lmzcq8kXI5MWGqqoYDoee6fj1AQLnUJpnxjs4 rCGIOYMGsWRCCFvkwK8K5n9GlFcUH+XdMAwoioJ0Oo3RaIREIuHbo8MCbdjhcIh0Og1CiGPJu7vX 82FeIiGIEHjk0jZ0e2KLRIDAOTRwJBBGB3AYgXgQIUPTNKiqyvwFRSOHIMRHJQIAWF1dRa/XQyqV mpl4mocQeGTSISYd1YhM225kB727w0QcRZIkZlAjhMz4WYqIYLpxZGhzcGgdIBaLFXi56oUUuhqY J4BFID6ICFZXV1Gr1ZBMJpFKpdj4udfrzfycV68UpUkkEo6xvyzLMy5tfsgOwxX8wvgj9uiiGT9O IEnS5XQAvg7cpei6ngszDKQcQFEUWJY1g+goRBCVExSLRWYKTiQSzBJJRwh+4C4rl8sxj12q+Nm2 zXqhF0KjjgT8wtwcgB/eehEBd5CU+xQxIYQWAdQMHISEXC6Hi4sLKIqCTqfjMAeHIQa/56B3Kit1 XUc8HodhGIjFYshms+j1ejg7O8NwOGQX71NvGAa7CoUCa+zBYIDxeAzTNOHuAFHYvtezO607rtvt gu7FwIsAPx1A07RLiwCAEwErKysJTdMcAshLKy8Wizg5OYGqqmzFyzwK4LxEQIeEyWTSYbtPJBIz IwM6UeS30YSu6+h2u8y+QeGyyHfrGF4E0Wq1GAdwb3YlEjNTc3Asn88nms1moC0gSAegZuCSnxmY D6O7elER0O/3mU3enXeRnIAPM00TOzs7qNfrbK2CCIJ2GGm1Wjg+PmYbSwPBY373e9iezz/TO+VS lPPQ09b9bAZUEdzc3Cw1m83Ak8RCiYDNzc1AMzAfns1m0e/3mRjgT8d0p100EfDhdOcwXdeRyWSQ yWQYgboNRZTNdzodlo93cxchnoZHRX4Y+Q9M2D/t/e6DK/k60XrxesDy8nIoc3AoEbC0tFT0k//u eyaTYUeduw9bvqwe4NfzvcLo4kq6dSwAx/nAlmUJnT0oePVc93eiGn3c+dzp6GnphBDfc4b5f6Z6 ALdXQGQRMDMEzGazM76AXogkhCCfz6PZbDLWNRgMZriAKO88z35hfuF0k0Y/CNvr3WHzcgG+LHqG oVv+hyECFwH4DgUdBOBhBpYTiYTDG9gP+QBoBRgLu7i4mHGm8Cprnme/sDBxbvBCPI27CuTzYePx mIlQQiaGJ35XtiAikCSJP0jK1xwcyhDk3hMg6E4IQTabxWAwYLJ2MBgIlcHLID4qEYQFrzIWiXxR GfRORyd0WBv2mHleB5huHRtoDg41CnD7AnohnQ9TFAWpVArD4RCKojhm6aISgZfuIYqbNxyYtQa6 w8MiP0yaIGTS9qZzHEFEw9+nO4eG8g300gHonRmBvCZ1RMin90QiwZDOc5CwIsAP0fMQRVCcXx43 i+XLCmMNDCP/JUlyyH1CCJvUCms5pMTDeQe7F4p66wB8fblLoe7gUZBPCGHHxvFEIMsyTNP0RXhY lh+GQ4QJ5+O9uIBXurDDQHe8KB3vxkbd2tzfDEMEU8smdQ6dSwQATg6Qc1N9EPLpnXrkyrLMhl6y LDu2SY3S+6OKCNG7H/ANGxXm1fgJmYzzqfHMPf3rJypE5U93Dg21ebSX2wzTAa5fv57WNE3jPxim 9/J32vPpj8ViMcewht6DOEyYiy7yWPQVpdyw/0PvmUwG8Xjcc97f7y4KkyQJmqZpKysracypA7De v729veSlAIZBPv9MZRwVDaqqotlsOvb9D/q5KNzCL+xxQJAIACZ7BOm6znq+bdsOERmkLIrSABMl fH19fenk5OQhfIggUARUKpUZV7B5kA9MtjUxDINxAzphU61WmVEmTLn83e9Z9B4WeCRdNp0IeZI0 WfplGIZjv0A6+xhlxOBOA7CtY3lroBACRUChUCiKhm7uRnDfRWGWZaHb7U4+PCWCRCLBNoOOyu6/ Shf/X9PJGnamIl2p3Gq12PxDmM7mhQP6jTDmYDcHmDEDZzKZmYmgoMr59drRaIRms4lyucx+PplM Ynt7G9VqFbVaLRKn8WsYv97Px3n1YHfvDssVeHCLgeXlZbZglo6OLMtCo9Fg5t8wvdyPOwCgB0m5 t4uZMQczApAe/ZmDABKJRMHLeBMV+fQ+Go1QrVaxurrKqF9RFGxsbKBUKmFnZ4d54cxLAGGRT9/D EsG8kEwmce3aNcTjcWYUo2bf4+NjdvCVCPlRiQBwHCQ1YwzizcGBlkB6QBRtDP4eNsyLCPb29rC6 uop8Ps/kYiqVwosvvoijoyPHRkmLIgC/8EUg2g2yLGNra4stJKGIlyQJ3W4XBwcHLMwP+V5DQq+w 6Qktws2jeQgcBdDzgSgEISAM8umzbdvY29tDr9dj28dRsbC+vo5SqYTd3V1Uq9VIhOB+9gtzx4cl gqC0iqKgXC5ja2vL4cpF8xwcHMycnzCPsudFEGGXiot0AHp3LAkPi3B3fFB6QghqtRq63S6uXbvG dsAGJqt7t7e3cf36dRwfH+Pw8HBm/7ywBBCEfD7dZThBIpHA2toaKpWKcF+kbreLBw8eoN/vC62J UTiAOz0fP+UAoqXiYh2AA4ci6J4HuIwY8AojZLK48+OPP8bS0hKuXbvmMIPS/fM2NjZwdnbGzv/l y/T6vtf7IkGSJCwtLWFjY8OxlQsPw+EQOzs7M+cZR1HsohDE1Dk28CQxPx1AVhRF0TQtG4UDhAkT EQB9r1arqNfrDOHuxSiFQgGFQgHD4RDVapWdFcwvm+K/7X4OA2G4gGEYyOfzyOfzWF5e9jx63rZt 7O/vY39/33FEnAjmUfa8CGK6NiMry7LCnSQ2A746wPPPP5/TNI1hIKiBoyhmIuTTy7IsfPHFF9jd 3cXa2hrW19dnVsUYhoHNzU1sbm4CANtNq9ls4uzsjNkb3N+dBwgh7Ih6egWtPRwMBjg4OMDR0REz colYPh8+j7Ln96xpmrKxsZHb3d2tIYIOwBTA69evL3n1fq9nLw7Ap/NDPv9umiYePnyIhw8folwu Y2Njgx2Q4Abq9k21bdM00W63MRwO2f66dJcw/h14dH4PvegGUfxGUWHOKCRkcoDG/v4+Tk9PGULo 5Ua6mzC9EB3U272eFUXB6urq0u7u7n14KIK+IqBcLhdF8/hBugD/LEJyGOS7309OTnB8fAxVVVEq lVAsFlEqlWY4AwVN01AsFj1+b3EwGAzYxhGNRoOtHQiDdBER8OFhEO4mDvoMTEYipVLJ1xzsywFy udyMNzAhhO1g2Wg0mPLDx7ufwyA/iADos2maODo6wuHhIYDJHjpLS0uMKBZ5hKwI6FYx9Xodp6en 6Ha7DNlA9GnkMEQAzCIcAHZ3d3F6eopSqeQ4p4mmURQF+Xzed7sYngBmLIGpVMrBAcbjMVtwUa/X YZombNvGxcUFbty4IfT6cSOUwjzIFz1TH/779+8zZ9RisYhYLOZY7qXremjiGI/HGI1GjmVktKef nZ3NbBXnBq+eKXp3l+OVlicIy7Lw+eefo9PpoFarMXyUSiU8++yzDA9Tc7BoPoANBdVp4b5mYAqx WAyZTAbvv/8+crkcYrEYPv/8c3zrW99CNptlZ/vyP+Mn/73i/N75RnL3FlbFAAAGL0lEQVSHWZaF Wq3Gzt9xNzSV6fwFwIFo97kHop7tfhb1YB78lD5RWj5OxP4zmQwkScJf/vIXdhh3q9VipmZ6mMTU GORrDvYaBdCtYR3zAMlkEu+++y475u2FF17AJ598ggcPHuC1115jmndQb59XDAQRg/vb7npQJPuB V6/mERAmPGzP9yIeN1fgCSEej+Ojjz6Cruus15umiQ8++AA//OEPHWsKBATgAL/ZQMUwDMc8wHQH KtRqNayvr+ONN97A6ekpvva1r7Gl4H5yP6oYiCIKggggqJeKGjsM+LF7v7R8WFAd3d+wLAtvv/02 fvOb30DTNNy4cYM54PJ2E1mW6YSQp2+glw4w4w0MTOTtj370I3z44YcYDAb4+OOP8cYbb8AwjJmd LL1+ZlHcQPQsugc1bhBEJQgeLtPr+e/zcYRMhpqbm5v4+c9/zhTBXC6Ht99+G81mk6VTFAWJRMLX O9h3FEA3haCVGAwGqNVquH37Ntu0iO4KFqaHh9UB5uUG/N3vOQqEkfFR8/vpAKL8FCgxEkLYEnxq Nqf6D6+gTs3BvieJ+VoCCSE6PdiYVta2bQeVBSHSjxuI0vuFi975cD4s7DP76QUP30Rl+7F/HoI4 BCUEfus40VB0uuhVR0SfQEYAiUQiTo9zFzVgmN4XJS4MSw9Tnjvc610EbqR4vYtGBWHuQWnmjROl mW6VE0dIApDc1y9+8Qv86le/Qrlcdud7Cl8BqNVq+PGPfwwIcEvT+HoEDQYD/OQnP8Hrr7/ONkyK ArZtszE13VrtKTweqNfr+OCDDzAYDACP3g8E+APQZVwffPDBXJU4OTnBvXv3QAjBm2++OVcZ80Kn 00E6nUa73UYikUCv14t8X19fn9me9asEpmlS66dwCAgEbBFDz9AJMxMWBIso40nAV7XeAHx3PaHw lAAC4KtabwCOXc28wJcA6IaPXt4uUWARZTwJ+LLUex6DFL+nsRcEcgBVVZ8SwBME27ZxdnaGI/0I hWEBS5klTx8IN0wVQF/wJYCXX34ZDx48WEgj2La98C3cHwc8aQKo1+u48607aL7chJJS8O3/+Db+ JfsvofImk0lcv34df/jDHzzT+BLA3t4eSqWS50aLUeBPf/oTvv/97zs2i/oqgPvU08cN1UEVzWeb +M9/BSrat/Hf/ncH2VY21LC61Wphb2/PN40vAQyHQ9Tr9YX0gkajgXfeeQfXrl3DzZs3sba2duXe O4uAMGz0KmEttYZSt4T/2ajjudiH2D7/ryAgoepFT1DxAz8CIADYViWLQJZpmrh//z52dnag6zqK xSJz887n88jlckin03PPvl0FPGkDVjabxb+d/xvu/+Y++tYavl7MhUL+eDzmke9pAxcRAKEZqK99 s9kUHpJ0GbBtG41Gg7EpfshJXa+z2Sxz7eK9dnVdF666uQoIq3BdFciyjFKuhOeyz7FDLMPA4eEh BoMB35kYXnlwtyJNNAZgy7Jcbbfby5999hkODg6QTqcjVZ4erEQImTm1m7+Lwqj4oe/A7IQHJRq6 7xC/vUqhUGCEomkaYrFY5Luqqvj0008j/fOXATqdDjsoI5PJVAHYmOB0hgik6fiS+gBoABIAcgCW ksnk1ssvv/zfDcPYJoQohJBQZ9E9hScKRJKksSRJ9nA4vHfnzp3/cXFxsQvgFMA5gB4AE8CYEELc BKACiAHIAigCWAZQBlAAkAZgTNM8JYQvH1DObQEYAugAOANQA1AF0ADQAjCYphkT4nQKZawfwAhA H0AXE4JQpnFPCeDLCyICaGOCwz4mOOVFAYCpDkAIIVPZSfCIAHrTAuRpWB9iAnhKCE8WCHfnCeAC kx7fxgSXlAAIJigX+gTyHKCHCXLH0wLjAHSI15s/hScHbgLgOfgFJpyAJwCHYYARAMcFbEyUBFqo NS1Mn6bnXYyBpwTwpIEnAMrBLUwQPpheQ0xwaoPr/YC3HcCCk6UM8Ij1hzqU+Ck8duCH8BRvFiaI t/CI/TvAQQAuXYDebYi3GnsKXz4gmCUE/gJxecZKHq7N7rWCbnb/lAC+nEAEd2b8cSMf8CAAFjlr lH+K+K8GOJAqQjwFXwIQZvgyzdQ8hRnwQ7YIIhPAU/h/C/4vD6SaFDtyyOQAAAAASUVORK5CYII= "
+ id="image5984"
+ x="59"
+ y="18" />
+ <path
+ transform="matrix(1.0533428,0,0,1.0533428,-233.99431,2.4030939)"
+ d="m 31.875,25.25 a 13.5,13.5 0 1 1 -27,0 13.5,13.5 0 1 1 27,0 z"
+ sodipodi:ry="13.5"
+ sodipodi:rx="13.5"
+ sodipodi:cy="25.25"
+ sodipodi:cx="18.375"
+ id="path5987"
+ style="fill:#b6b2b3;fill-opacity:1;fill-rule:evenodd;stroke:#535353;stroke-width:1.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:nodetypes="ccccscc"
+ id="path5989"
+ inkscape:connector-curvature="0"
+ d="m -203.13913,21.75 0,-13.8750001 c 0,-1.4487088 -0.89951,-2.125 -2.25,-2.125 l -3.79688,0 c -1.14507,0 -2.06706,0.3720031 -2.06706,1.881543 0,3.9967611 -0.56146,5.6121431 -6.88606,7.4934571 -7.21859,1.934215 15,6.625 15,6.625 z"
+ style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ </g>
+ <g
+ id="g7955"
+ transform="translate(1.2374369,0)">
+ <g
+ id="g7932">
+ <rect
+ style="fill:url(#linearGradient7987);fill-opacity:1;stroke:#808080;stroke-width:1.08234084;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="rect5198"
+ width="37.925812"
+ height="45.672237"
+ x="3.7542076"
+ y="1.3552052"
+ rx="2.023422"
+ ry="2.0769122" />
+ <g
+ id="g6159"
+ transform="matrix(0.75730905,0,0,0.75730905,54.168246,10.831223)">
+ <path
+ transform="translate(0.328125,-0.453125)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6113"
+ style="opacity:0.78761058;fill:url(#radialGradient7989);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7991);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6147"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)" />
+ </g>
+ <path
+ style="fill:none;stroke:url(#linearGradient7993);stroke-width:1.08524024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 27.390286,7.3570104 c -1.053346,0 -1.897283,0.3361848 -1.897283,1.7248026 -0.349391,3.90193 -7.520699,7.432837 -12.620959,12.555943 -2.224635,2.339362 -3.592185,5.498558 -3.592185,8.981807 0,7.224449 5.884051,13.079754 13.108499,13.079754 7.224449,0 13.079754,-5.855305 13.079754,-13.079754 0,-2.864507 -0.939302,-5.492021 -2.500964,-7.646625 l 0,-13.661151 c 0,-1.3326599 -0.82745,-1.9547766 -2.069763,-1.9547766 z"
+ id="path5995"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="sccssscsss" />
+ <path
+ sodipodi:type="arc"
+ style="fill:none;stroke:url(#linearGradient7995);stroke-width:1.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6006"
+ sodipodi:cx="23"
+ sodipodi:cy="28.875"
+ sodipodi:rx="4.75"
+ sodipodi:ry="4.75"
+ d="m 27.75,28.875 c 0,2.623353 -2.126647,4.75 -4.75,4.75 -2.623353,0 -4.75,-2.126647 -4.75,-4.75 0,-2.623353 2.126647,-4.75 4.75,-4.75 2.623353,0 4.75,2.126647 4.75,4.75 z"
+ transform="matrix(0.91989475,0,0,0.91989475,1.497379,4.0676156)" />
+ <path
+ sodipodi:nodetypes="sccssscsss"
+ inkscape:connector-curvature="0"
+ id="path6020"
+ d="m 28.021241,8.388488 c -1.411541,0 -1.464632,-0.06564 -1.464632,1.087165 -0.79026,4.49681 -8.233056,8.208077 -12.926319,12.922365 -2.047112,2.152683 -3.305534,5.059779 -3.305534,8.265068 0,6.647946 5.414511,12.036004 12.062455,12.036004 6.647946,0 12.036004,-5.388058 12.036004,-12.036004 0,-2.979671 -1.176847,-5.616263 -2.52014,-7.317683 l 0,-13.626878 c 0,-1.226315 -0.261421,-1.330037 -1.404599,-1.330037 z"
+ style="fill:none;stroke:url(#linearGradient7997);stroke-width:0.99863923;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ transform="matrix(0.73157083,0,0,0.73157083,5.828829,9.5054687)"
+ d="m 27.75,28.875 c 0,2.623353 -2.126647,4.75 -4.75,4.75 -2.623353,0 -4.75,-2.126647 -4.75,-4.75 0,-2.623353 2.126647,-4.75 4.75,-4.75 2.623353,0 4.75,2.126647 4.75,4.75 z"
+ sodipodi:ry="4.75"
+ sodipodi:rx="4.75"
+ sodipodi:cy="28.875"
+ sodipodi:cx="23"
+ id="path6047"
+ style="fill:none;stroke:url(#linearGradient7999);stroke-width:1.3928932;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ <g
+ id="g6227"
+ transform="translate(59,0)">
+ <path
+ sodipodi:nodetypes="cccscsc"
+ inkscape:connector-curvature="0"
+ id="path6004"
+ d="m -49.723391,15.766028 0,-5.956679 c 0,-1.9747549 0.720085,-2.6116057 2.026623,-2.6116057 2.490645,-0.083222 6.700434,-0.024317 9.114109,-0.024317 2.952952,0 3.468191,1.6055538 0.554883,3.9038907 -2.14002,1.745447 -3.738746,3.427527 -6.742857,5.858465 -2.149829,1.739649 -4.952758,2.0649 -4.952758,-1.169754 z"
+ style="fill:none;stroke:url(#linearGradient8001);stroke-width:1.02364969px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="fill:none;stroke:url(#linearGradient8003);stroke-width:0.87717688px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m -48.747795,15.29064 -0.01563,-4.203168 c 0,-1.6921899 0.632674,-2.9566645 2.674136,-2.9566645 2.134261,-0.071314 4.996578,-0.061241 7.064884,-0.061241 2.530418,0 2.684669,0.4256423 0.188223,2.3951135 -1.833807,1.495693 -4.574945,4.040079 -7.149203,6.123178 -1.269396,1.027199 -2.762415,0.883643 -2.76241,-1.297218 z"
+ id="path6073"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscsc" />
+ </g>
+ <g
+ transform="matrix(0.75730905,0,0,0.75730905,54.168246,-25.793777)"
+ id="g6207">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:url(#radialGradient8005);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6209"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="translate(0.328125,-0.453125)" />
+ <path
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6211"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient8007);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ </g>
+ <rect
+ y="2.6214366"
+ x="4.9879036"
+ height="43.124149"
+ width="35.458416"
+ id="rect6089"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient8009);stroke-width:1.30568182;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ ry="0.98889953"
+ rx="0.97983909" />
+ <g
+ transform="matrix(0.75730905,0,0,0.75730905,25.355746,10.831223)"
+ id="g6197">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:url(#radialGradient8011);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6199"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="translate(0.328125,-0.453125)" />
+ <path
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6201"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient8013);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ </g>
+ <g
+ id="g6213"
+ transform="matrix(0.75730905,0,0,0.75730905,25.355746,-25.793777)">
+ <path
+ transform="translate(0.328125,-0.453125)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6215"
+ style="opacity:0.78761058;fill:url(#radialGradient8015);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient8017);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6217"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)" />
+ </g>
+ </g>
+ </g>
+ <g
+ id="g5090">
+ <path
+ inkscape:connector-curvature="0"
+ style="color:#000000;fill:url(#linearGradient5104);fill-opacity:1;fill-rule:nonzero;stroke:#500000;stroke-width:0.53552467;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 24.591989,11.206044 c 6.584942,-0.770701 12.687124,3.983136 12.599873,12.883605 l 3.625453,0 -6.235705,8.266645 -6.539635,-8.266645 4.181008,0 C 32.473482,18.077725 30.83358,13.506474 24.591989,11.206044 z"
+ id="path4221"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path4223"
+ d="m 27.205382,11.775821 c 4.572133,0.595276 9.523807,4.374575 9.42885,12.877559 l 2.922025,0.03381 -5.0052,6.621562 -5.109041,-6.558338 3.429405,-0.02391 c 0.08885,-4.329998 -0.420613,-10.45329 -5.666039,-12.950684 z"
+ style="opacity:0.46902651;color:#000000;fill:none;stroke:url(#linearGradient5106);stroke-width:0.69564116;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ id="g5094"
+ transform="matrix(-1,0,0,-1,49.971804,47.168727)">
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path5096"
+ d="m 24.591989,11.206044 c 6.584942,-0.770701 12.687124,3.983136 12.599873,12.883605 l 3.625453,0 -6.235705,8.266645 -6.539635,-8.266645 4.181008,0 C 32.473482,18.077725 30.83358,13.506474 24.591989,11.206044 z"
+ style="color:#000000;fill:url(#linearGradient5100);fill-opacity:1;fill-rule:nonzero;stroke:#500000;stroke-width:0.53552467;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ style="opacity:0.46902651;color:#000000;fill:none;stroke:url(#linearGradient5102);stroke-width:0.69564116;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 27.205382,11.775821 c 4.572133,0.595276 9.523807,4.374575 9.42885,12.877559 l 2.922025,0.03381 -5.0052,6.621562 -5.109041,-6.558338 3.429405,-0.02391 c 0.08885,-4.329998 -0.420613,-10.45329 -5.666039,-12.950684 z"
+ id="path5098"
+ sodipodi:nodetypes="ccccccc" />
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/download_log.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/download_log.svg
new file mode 100644
index 00000000..2ac27d12
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/download_log.svg
@@ -0,0 +1,1187 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ inkscape:export-ydpi="240.00000"
+ inkscape:export-xdpi="240.00000"
+ inkscape:export-filename="/home/jimmac/gfx/novell/pdes/trunk/docs/BIGmime-text.png"
+ sodipodi:docname="download_log.svg"
+ inkscape:version="0.48.1 "
+ sodipodi:version="0.32"
+ id="svg249"
+ height="48.000000px"
+ width="48.000000px"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective83" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5031"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5029"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient5027"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4542">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop4544" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop4546" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient15662">
+ <stop
+ id="stop15664"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop15666"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ id="aigrd3"
+ cx="20.8921"
+ cy="64.5679"
+ r="5.257"
+ fx="20.8921"
+ fy="64.5679"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#F0F0F0"
+ id="stop15573" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
+ id="stop15575" />
+ </radialGradient>
+ <radialGradient
+ id="aigrd2"
+ cx="20.8921"
+ cy="114.5684"
+ r="5.256"
+ fx="20.8921"
+ fy="114.5684"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#F0F0F0"
+ id="stop15566" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
+ id="stop15568" />
+ </radialGradient>
+ <linearGradient
+ id="linearGradient269">
+ <stop
+ id="stop270"
+ offset="0.0000000"
+ style="stop-color:#a3a3a3;stop-opacity:1.0000000;" />
+ <stop
+ id="stop271"
+ offset="1.0000000"
+ style="stop-color:#4c4c4c;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient259">
+ <stop
+ id="stop260"
+ offset="0.0000000"
+ style="stop-color:#fafafa;stop-opacity:1.0000000;" />
+ <stop
+ id="stop261"
+ offset="1.0000000"
+ style="stop-color:#bbbbbb;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient269"
+ id="radialGradient15656"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.968273,0,0,1.032767,-96.646447,0.646447)"
+ cx="8.8244190"
+ cy="3.7561285"
+ fx="8.8244190"
+ fy="3.7561285"
+ r="37.751713" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient259"
+ id="radialGradient15658"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.960493,0,0,1.041132,-100,0)"
+ cx="33.966679"
+ cy="35.736916"
+ fx="33.966679"
+ fy="35.736916"
+ r="86.708450" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15662"
+ id="radialGradient15668"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.968273,0,0,1.032767,-96.646447,0.646447)"
+ cx="8.1435566"
+ cy="7.2678967"
+ fx="8.1435566"
+ fy="7.2678967"
+ r="38.158695" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4542"
+ id="radialGradient4548"
+ cx="24.306795"
+ cy="42.07798"
+ fx="24.306795"
+ fy="42.07798"
+ r="15.821514"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.284916,0.000000,30.08928)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2251"
+ id="linearGradient2257"
+ x1="33.396004"
+ y1="36.921333"
+ x2="34.170048"
+ y2="38.070381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.1672066,1.6680446)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2251">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2253" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2255" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2224"
+ id="linearGradient2230"
+ x1="35.996582"
+ y1="40.458221"
+ x2="33.664921"
+ y2="37.770721"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(6.161836,4.033411)" />
+ <linearGradient
+ id="linearGradient2224">
+ <stop
+ style="stop-color:#7c7c7c;stop-opacity:1;"
+ offset="0"
+ id="stop2226" />
+ <stop
+ style="stop-color:#b8b8b8;stop-opacity:1;"
+ offset="1"
+ id="stop2228" />
+ </linearGradient>
+ <linearGradient
+ y2="37.770721"
+ x2="33.664921"
+ y1="40.458221"
+ x1="35.996582"
+ gradientTransform="translate(2.1672066,2.0430446)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient22486"
+ xlink:href="#linearGradient2224"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient5048-2">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050-9" />
+ <stop
+ id="stop5056-4"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052-5" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060-1">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062-6" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064-9" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060-1"
+ id="radialGradient5031-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient2206">
+ <stop
+ style="stop-color:#c3c6c0;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2208" />
+ <stop
+ style="stop-color:#e8eae6;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2210" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2214">
+ <stop
+ style="stop-color:#a9aaa7;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2216" />
+ <stop
+ style="stop-color:#676964;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2218" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2222">
+ <stop
+ style="stop-color:#5187d6;stop-opacity:1;"
+ offset="0"
+ id="stop2224" />
+ <stop
+ style="stop-color:#1e4580;stop-opacity:1;"
+ offset="1"
+ id="stop2227" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5048-2-8">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050-9-2" />
+ <stop
+ id="stop5056-4-6"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052-5-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2206-8"
+ id="linearGradient26980-6"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.66330865,-49.866678,4.4079179)"
+ x1="25.861118"
+ y1="26.133587"
+ x2="18.300278"
+ y2="19.567596" />
+ <linearGradient
+ id="linearGradient2206-8">
+ <stop
+ style="stop-color:#c3c6c0;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2208-7" />
+ <stop
+ style="stop-color:#e8eae6;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2210-2" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2214-2">
+ <stop
+ style="stop-color:#a9aaa7;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2216-2" />
+ <stop
+ style="stop-color:#676964;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2218-0" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2222-9"
+ id="radialGradient26984-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1520174,0,0,0.90350734,-62.623679,-4.288468)"
+ cx="23.994133"
+ cy="32.266911"
+ fx="23.994133"
+ fy="32.266911"
+ r="19.088932" />
+ <linearGradient
+ id="linearGradient2222-9">
+ <stop
+ style="stop-color:#5187d6;stop-opacity:1;"
+ offset="0"
+ id="stop2224-6" />
+ <stop
+ style="stop-color:#1e4580;stop-opacity:1;"
+ offset="1"
+ id="stop2227-5" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2238-7"
+ id="linearGradient26986-6"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.6615617,-49.866678,5.1018165)"
+ x1="20.338758"
+ y1="19.636894"
+ x2="46.092255"
+ y2="39.708324" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2238-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2240-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2242-5" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2180-7"
+ id="linearGradient26988-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4813991,0,0,1.1400975,-61.032972,-4.6105736)"
+ x1="8.8207808"
+ y1="12.53757"
+ x2="12.499243"
+ y2="24.238262" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2180-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2182-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2184-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2223-5"
+ id="linearGradient26990-6"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6513633,0,0,0.6513633,49.389075,5.6726225)"
+ x1="35.694206"
+ y1="37.333858"
+ x2="15.044075"
+ y2="5.9588566" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2223-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2225-2" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2229-2" />
+ </linearGradient>
+ <linearGradient
+ y2="5.9588566"
+ x2="15.044075"
+ y1="37.333858"
+ x1="35.694206"
+ gradientTransform="matrix(0.6513633,0,0,0.6513633,-50.610925,5.6726225)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27106"
+ xlink:href="#linearGradient2223-5"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient27240"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient27242"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient27244"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient259"
+ id="radialGradient27246"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.960493,0,0,-1.041132,-51.588305,51.80958)"
+ cx="33.966679"
+ cy="35.736916"
+ fx="33.966679"
+ fy="35.736916"
+ r="86.708450" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15662"
+ id="radialGradient27250"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.968273,0,0,-1.032767,-48.234752,51.163133)"
+ cx="8.1435566"
+ cy="7.2678967"
+ fx="8.1435566"
+ fy="7.2678967"
+ r="38.158695" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2224"
+ id="linearGradient27252"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.1672066,2.0430446)"
+ x1="35.996582"
+ y1="40.458221"
+ x2="33.664921"
+ y2="37.770721" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2251"
+ id="linearGradient27254"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.1672066,1.6680446)"
+ x1="33.396004"
+ y1="36.921333"
+ x2="34.170048"
+ y2="38.070381" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2206-8"
+ id="linearGradient27256"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.66330865,-52.866678,3.4079179)"
+ x1="25.861118"
+ y1="26.133587"
+ x2="18.300278"
+ y2="19.567596" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2222-9"
+ id="radialGradient27258"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1520174,0,0,0.90350734,-65.623679,-5.288468)"
+ cx="23.994133"
+ cy="32.266911"
+ fx="23.994133"
+ fy="32.266911"
+ r="19.088932" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2238-7"
+ id="linearGradient27260"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.6615617,-52.866678,4.1018165)"
+ x1="20.338758"
+ y1="19.636894"
+ x2="46.092255"
+ y2="39.708324" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2180-7"
+ id="linearGradient27262"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4813991,0,0,1.1400975,-64.032972,-5.6105736)"
+ x1="8.8207808"
+ y1="12.53757"
+ x2="12.499243"
+ y2="24.238262" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2223-5"
+ id="linearGradient27264"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6513633,0,0,0.6513633,-53.610925,4.6726225)"
+ x1="35.694206"
+ y1="37.333858"
+ x2="15.044075"
+ y2="5.9588566" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
+ r="15.644737"
+ fy="36.421127"
+ fx="24.837126"
+ cy="36.421127"
+ cx="24.837126"
+ id="radialGradient8668"
+ xlink:href="#linearGradient8662"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient8662"
+ inkscape:collect="always">
+ <stop
+ id="stop8664"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop8666"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2591">
+ <stop
+ style="stop-color:#73d216"
+ offset="0"
+ id="stop2593" />
+ <stop
+ style="stop-color:#49bd00;stop-opacity:1;"
+ offset="1"
+ id="stop2595" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2591-7"
+ id="radialGradient35310-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.41460224,-0.50172349,0,95.317847,33.968371)"
+ cx="22.291636"
+ cy="32.797512"
+ fx="22.291636"
+ fy="32.797512"
+ r="16.9562" />
+ <linearGradient
+ id="linearGradient2591-7">
+ <stop
+ style="stop-color:#73d216"
+ offset="0"
+ id="stop2593-1" />
+ <stop
+ style="stop-color:#49bd00;stop-opacity:1;"
+ offset="1"
+ id="stop2595-8" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8650-7"
+ id="radialGradient35312-6"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.98213486,-0.74742824,0,93.921351,22.917018)"
+ cx="19.701141"
+ cy="2.8969381"
+ fx="19.701141"
+ fy="2.8969381"
+ r="17.171415" />
+ <linearGradient
+ id="linearGradient8650-7"
+ inkscape:collect="always">
+ <stop
+ id="stop8652-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop8654-6"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient35425"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient35427"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient35429"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient259"
+ id="radialGradient35431"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.960493,0,0,-1.041132,-51.588305,51.80958)"
+ cx="33.966679"
+ cy="8.8006353"
+ fx="33.966679"
+ fy="8.8006353"
+ r="86.708450" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15662"
+ id="radialGradient35433"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.968273,0,0,-1.032767,-48.234752,51.163133)"
+ cx="8.1435566"
+ cy="7.2678967"
+ fx="8.1435566"
+ fy="7.2678967"
+ r="38.158695" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2224"
+ id="linearGradient35435"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.1672066,2.0430446)"
+ x1="35.996582"
+ y1="40.458221"
+ x2="33.664921"
+ y2="37.770721" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2251"
+ id="linearGradient35437"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.1672066,1.6680446)"
+ x1="33.396004"
+ y1="36.921333"
+ x2="34.170048"
+ y2="38.070381" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2206-8"
+ id="linearGradient35439"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.66330865,-52.866678,3.4079179)"
+ x1="25.861118"
+ y1="26.133587"
+ x2="18.300278"
+ y2="19.567596" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2222-9"
+ id="radialGradient35441"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1520174,0,0,0.90350734,-65.623679,-5.288468)"
+ cx="23.994133"
+ cy="32.266911"
+ fx="23.994133"
+ fy="32.266911"
+ r="19.088932" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2238-7"
+ id="linearGradient35443"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.6615617,-52.866678,4.1018165)"
+ x1="20.338758"
+ y1="19.636894"
+ x2="46.092255"
+ y2="39.708324" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2180-7"
+ id="linearGradient35445"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4813991,0,0,1.1400975,-64.032972,-5.6105736)"
+ x1="8.8207808"
+ y1="12.53757"
+ x2="12.499243"
+ y2="24.238262" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2223-5"
+ id="linearGradient35447"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6513633,0,0,0.6513633,-53.610925,4.6726225)"
+ x1="35.694206"
+ y1="37.333858"
+ x2="15.044075"
+ y2="5.9588566" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-y="-8"
+ inkscape:window-x="-8"
+ inkscape:window-height="838"
+ inkscape:window-width="1600"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ showgrid="false"
+ inkscape:current-layer="g27205"
+ inkscape:cy="42.528251"
+ inkscape:cx="29.446215"
+ inkscape:zoom="1"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="0.25490196"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:showpageshadow="false"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>document</rdf:li>
+ <rdf:li>settings</rdf:li>
+ <rdf:li>preferences</rdf:li>
+ <rdf:li>properties</rdf:li>
+ <rdf:li>tweak</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ id="layer6"
+ inkscape:label="Shadow" />
+ <g
+ style="display:inline"
+ inkscape:groupmode="layer"
+ inkscape:label="Base"
+ id="layer1" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer5"
+ inkscape:label="Text"
+ style="display:inline">
+ <g
+ style="display:inline"
+ id="g26971"
+ transform="translate(-48.411695,-4.5961942)">
+ <g
+ id="g27205"
+ transform="translate(102.5,0)">
+ <g
+ id="g35397"
+ transform="matrix(1.0365373,0,0,1.0365373,-0.03598876,-1.8688711)">
+ <g
+ style="display:inline"
+ id="g5022"
+ transform="matrix(0.02165152,0,0,0.01485743,-8.580705,46.281584)">
+ <rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect4173"
+ style="opacity:0.40206185;color:#000000;fill:url(#linearGradient35425);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path5058"
+ d="m -219.61876,-150.68038 c 0,0 0,478.33079 0,478.33079 142.874166,0.90045 345.40022,-107.16966 345.40014,-239.196175 0,-132.026537 -159.436816,-239.134595 -345.40014,-239.134615 z"
+ style="opacity:0.40206185;color:#000000;fill:url(#radialGradient35427);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.40206185;color:#000000;fill:url(#radialGradient35429);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="m -1559.2523,-150.68038 c 0,0 0,478.33079 0,478.33079 -142.8742,0.90045 -345.4002,-107.16966 -345.4002,-239.196175 0,-132.026537 159.4368,-239.134595 345.4002,-239.134615 z"
+ id="path5018"
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0" />
+ </g>
+ <path
+ style="color:#000000;fill:url(#radialGradient35431);fill-opacity:1;fill-rule:nonzero;stroke:#808080;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m -43.835704,48.163134 32.576903,0 c 0.636573,0 1.149049,-0.512476 1.149049,-1.149049 l 0,-31.105315 c -3.168864,-2.905608 -6.491445,-5.9334976 -9.871181,-8.6661296 l -23.854771,0 c -0.636573,0 -1.149048,0.512475 -1.149048,1.149048 l 0,38.6223966 c 0,0.636573 0.512475,1.149049 1.149048,1.149049 z"
+ id="rect15391"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="sssccssss" />
+ <path
+ style="color:#000000;fill:none;stroke:url(#radialGradient35433);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m -43.773203,47.225634 32.47779,0 c 0.08257,0 0.148336,-0.06648 0.149048,-0.149049 l 0.266316,-30.868047 c 0.0068,-0.783664 -8.098317,-8.1134053 -9.428891,-8.103525 l -23.464263,0.1742364 c -0.08257,6.131e-4 -0.149048,0.06648 -0.149048,0.149049 l 0,38.6482866 c 0,0.08257 0.06648,0.149049 0.149048,0.149049 z"
+ id="rect15660"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="sssssssss" />
+ <g
+ style="display:inline"
+ transform="translate(-50.963312,3.5961942)"
+ id="g2253">
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970757;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ id="rect15686"
+ width="22.000004"
+ height="1"
+ x="15.000002"
+ y="9"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970757;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ id="rect15690"
+ width="22.000004"
+ height="1"
+ x="15.000002"
+ y="13"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970757;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ id="rect15694"
+ width="22.000004"
+ height="1"
+ x="15.000002"
+ y="17"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970757;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ id="rect15698"
+ width="22.000004"
+ height="1"
+ x="15.000002"
+ y="21"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970757;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ id="rect15732"
+ width="9.9000053"
+ height="1"
+ x="14.999992"
+ y="25"
+ rx="0.068204239"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970757;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ id="rect15736"
+ width="22.000004"
+ height="1"
+ x="14.999992"
+ y="29"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970757;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ id="rect15740"
+ width="22.000004"
+ height="1"
+ x="14.999992"
+ y="33"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970757;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ id="rect15744"
+ width="15.400014"
+ height="1"
+ x="14.999992"
+ y="37"
+ rx="0.10609552"
+ ry="0.065390877" />
+ <rect
+ style="fill:#9c9c9c;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect23058"
+ width="1.875"
+ height="1.875"
+ x="10.437507"
+ y="8.5"
+ rx="0"
+ ry="0" />
+ <rect
+ ry="0"
+ rx="0"
+ y="12.4375"
+ x="10.437507"
+ height="1.875"
+ width="1.875"
+ id="rect23060"
+ style="fill:#9c9c9c;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <rect
+ style="fill:#9c9c9c;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect23062"
+ width="1.875"
+ height="1.875"
+ x="10.437507"
+ y="16.4375"
+ rx="0"
+ ry="0" />
+ <rect
+ ry="0"
+ rx="0"
+ y="20.40625"
+ x="10.437507"
+ height="1.875"
+ width="1.875"
+ id="rect23064"
+ style="fill:#9c9c9c;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <rect
+ style="fill:#9c9c9c;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect23066"
+ width="1.875"
+ height="1.875"
+ x="10.437507"
+ y="24.40625"
+ rx="0"
+ ry="0" />
+ <rect
+ ry="0"
+ rx="0"
+ y="28.383726"
+ x="10.437507"
+ height="1.875"
+ width="1.875"
+ id="rect23068"
+ style="fill:#9c9c9c;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <rect
+ style="fill:#9c9c9c;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect23070"
+ width="1.875"
+ height="1.875"
+ x="10.437507"
+ y="32.493786"
+ rx="0"
+ ry="0" />
+ <rect
+ ry="0"
+ rx="0"
+ y="36.47126"
+ x="10.437507"
+ height="1.875"
+ width="1.875"
+ id="rect23072"
+ style="fill:#9c9c9c;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ <g
+ style="display:inline"
+ id="g22515"
+ transform="matrix(1,0,0,-1,-51.588305,51.80958)">
+ <path
+ style="color:#000000;fill:url(#linearGradient35435);fill-opacity:1;fill-rule:evenodd;stroke:#808080;stroke-width:1.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="m 31.474987,44.634988 c 4.90304,-4.045325 7.776832,-6.894317 10.079906,-8.785106 -3.331029,0.964689 -4.802716,1.485612 -8.911474,1.644622 0,0 -0.355929,6.640484 -1.168432,7.140484 z"
+ id="path2210"
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path2247"
+ d="m 33.389463,42.509778 c 1.369779,-0.683829 4.825996,-2.853572 6.125377,-4.734576 -1.662385,0.469833 -3.058295,0.543813 -5.812819,0.742832 0,0 -0.03655,3.0179 -0.312558,3.991744 z"
+ style="opacity:0.57079647;color:#000000;fill:none;stroke:url(#linearGradient35437);stroke-width:0.99999982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ <g
+ id="g35368"
+ transform="translate(0,2.75)">
+ <rect
+ ry="2.9741201"
+ rx="2.9741192"
+ y="5.7539377"
+ x="-52.555748"
+ height="24.600533"
+ width="29.154917"
+ id="rect1316"
+ style="fill:url(#linearGradient35439);fill-opacity:1;fill-rule:evenodd;stroke:#4a4b49;stroke-width:0.95099998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ ry="1.1038465"
+ rx="1.1038463"
+ y="8.2431059"
+ x="-50.090176"
+ height="18.859961"
+ width="24.216297"
+ id="rect1314"
+ style="fill:url(#radialGradient35441);fill-opacity:1;fill-rule:evenodd;stroke:#173562;stroke-width:0.65136319;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <path
+ sodipodi:nodetypes="ccccccccccccccccc"
+ id="path2188"
+ d="m -45.540084,18.309074 -3.922398,0 0,0.792713 5.027733,0 0.915766,-3.85159 2.255355,8.922062 2.090044,-7.047556 1.885399,3.850732 2.531823,-2.287568 8.277804,0 0,-1.341577 -8.565102,0 -2.064963,2.04502 -2.133516,-4.337528 -1.960495,5.324829 -2.129002,-8.37899 -2.208448,6.309453 z"
+ style="fill:#ecffd9;fill-opacity:1;fill-rule:evenodd;stroke:#c3ea9b;stroke-width:0.65136331;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:0.41618497;stroke-dasharray:none"
+ inkscape:connector-curvature="0" />
+ <rect
+ ry="2.6903481"
+ rx="2.6903477"
+ y="6.4016232"
+ x="-51.947559"
+ height="23.261806"
+ width="27.94006"
+ id="rect2232"
+ style="fill:none;stroke:url(#linearGradient35443);stroke-width:0.65136319;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <path
+ style="opacity:0.38068183;fill:#ecffd9;fill-opacity:1;fill-rule:evenodd;stroke:#c3ea9b;stroke-width:0.65136355;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.41618497;stroke-dasharray:none"
+ d="m -46.110027,17.707886 -3.352455,0 0,1.985844 5.597676,-0.08142 0.427244,-1.981865 2.178589,8.277745 2.32965,-7.468945 1.641138,3.527849 2.776085,-2.67618 8.033542,-0.08142 -0.488523,-2.54653 -8.076579,-0.08142 -1.983542,2.066746 -2.214937,-5.074387 -1.716234,4.519582 -2.291843,-7.992623 -2.859811,7.607024 z"
+ id="path3088"
+ sodipodi:nodetypes="ccccccccccccccccc"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="ccsccc"
+ id="rect2178"
+ d="m -49.153157,9.211811 0,5.749142 c 2.39044,0.448207 5.040782,0.703425 7.836715,0.703425 5.820123,0 11.032308,-1.084396 14.513188,-2.786643 l 0,-3.665924 -22.349903,0 z"
+ style="opacity:0.43181817;fill:url(#linearGradient35445);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="opacity:0.57386361;fill:none;stroke:url(#linearGradient35447);stroke-width:0.65136331;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect2221"
+ width="25.63106"
+ height="19.961796"
+ x="-50.79755"
+ y="7.6921911"
+ rx="1.6737897"
+ ry="1.6737897" />
+ </g>
+ <g
+ style="display:inline"
+ id="g34701"
+ transform="translate(-102.875,8.1250002)">
+ <g
+ id="g35222"
+ transform="translate(0,-9)">
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccc"
+ id="path8643"
+ d="m 88.36601,35.962585 -8.357937,0 0,6.385498 -4.202492,0 8.314668,9.816345 8.373099,-9.874776 -4.129945,0 0.0025,-6.327067 z"
+ style="color:#000000;fill:url(#radialGradient35310-4);fill-opacity:1;fill-rule:evenodd;stroke:#3a7304;stroke-width:0.99199998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccc"
+ id="path8645"
+ d="m 91.441415,42.788147 -3.567633,0.03773 0,-6.375616 -4.294044,0.06629 c -0.959712,8.517441 3.533271,8.136381 0.414208,15.214255 z"
+ style="opacity:0.76548671;color:#000000;fill:url(#radialGradient35312-6);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+ <path
+ inkscape:connector-curvature="0"
+ style="opacity:0.48128339;color:#000000;fill:none;stroke:#ffffff;stroke-width:0.83284992;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="m 87.452889,36.935013 -6.539706,-0.06499 0.0082,6.348647 -3.162767,0.03583 6.369917,7.486212 6.307157,-7.450485 -2.945268,-0.102253 c 4.8e-4,-1.457736 -0.03771,-5.888977 -0.03757,-6.252966 z"
+ id="path8658"
+ sodipodi:nodetypes="cccccccc" />
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/high_CPU_usage.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/high_CPU_usage.svg
new file mode 100644
index 00000000..1ed67ab8
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/high_CPU_usage.svg
@@ -0,0 +1,1661 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48px"
+ height="48px"
+ id="svg6824"
+ version="1.1"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="high_CPU_usage.svg">
+ <defs
+ id="defs6826">
+ <linearGradient
+ id="linearGradient9352">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop9354" />
+ <stop
+ style="stop-color:#ffff00;stop-opacity:1;"
+ offset="1"
+ id="stop9356" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4386-6">
+ <stop
+ id="stop4388-6"
+ offset="0"
+ style="stop-color:#ebeded;stop-opacity:1;" />
+ <stop
+ id="stop4390-2"
+ offset="1.0000000"
+ style="stop-color:#dfdfdf;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5048-6">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050-8" />
+ <stop
+ id="stop5056-2"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052-6" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060-8">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062-1" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064-2" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5743">
+ <stop
+ id="stop5745"
+ offset="0"
+ style="stop-color:#ebeded;stop-opacity:1;" />
+ <stop
+ id="stop5747"
+ offset="1.0000000"
+ style="stop-color:#dfdfdf;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5750">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5752" />
+ <stop
+ id="stop5754"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5756" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060-8"
+ id="radialGradient5535"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient4386">
+ <stop
+ id="stop4388"
+ offset="0.0000000"
+ style="stop-color:#d2d2d2;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4390"
+ offset="1"
+ style="stop-color:#f0f0f0;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4420"
+ inkscape:collect="always">
+ <stop
+ id="stop4422"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4424"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4412"
+ inkscape:collect="always">
+ <stop
+ id="stop4414"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4416"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4449"
+ inkscape:collect="always">
+ <stop
+ id="stop4451"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4453"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4509">
+ <stop
+ style="stop-color:#000000;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4511" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop4513" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3352">
+ <stop
+ style="stop-color:#000000;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3354" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop3356" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3359">
+ <stop
+ style="stop-color:#000000;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3361" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop3363" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3366">
+ <stop
+ style="stop-color:#000000;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3368" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop3370" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3373">
+ <stop
+ style="stop-color:#000000;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3375" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop3377" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3380">
+ <stop
+ style="stop-color:#000000;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop3382" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop3384" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient158">
+ <stop
+ style="stop-color:#686868;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop159" />
+ <stop
+ style="stop-color:#686868;stop-opacity:1.0000000;"
+ offset="0.23762377"
+ id="stop162" />
+ <stop
+ style="stop-color:#686868;stop-opacity:1.0000000;"
+ offset="0.78109992"
+ id="stop163" />
+ <stop
+ style="stop-color:#686868;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop160" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient272">
+ <stop
+ style="stop-color:#474747;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop273" />
+ <stop
+ style="stop-color:#474747;stop-opacity:1.0000000;"
+ offset="0.10000000"
+ id="stop275" />
+ <stop
+ style="stop-color:#474747;stop-opacity:1.0000000;"
+ offset="0.89999998"
+ id="stop276" />
+ <stop
+ style="stop-color:#474747;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop274" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3415">
+ <stop
+ style="stop-color:#474747;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop3417" />
+ <stop
+ style="stop-color:#474747;stop-opacity:1.0000000;"
+ offset="0.10000000"
+ id="stop3419" />
+ <stop
+ style="stop-color:#474747;stop-opacity:1.0000000;"
+ offset="0.89999998"
+ id="stop3421" />
+ <stop
+ style="stop-color:#474747;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop3423" />
+ </linearGradient>
+ <linearGradient
+ y2="117.8271"
+ x2="15.343062"
+ y1="117.8271"
+ x1="1.6422368"
+ gradientTransform="matrix(2.740165,0,0,0.147685,31.37799,14.83313)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient5403"
+ xlink:href="#linearGradient178"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient178">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="0.0000000"
+ id="stop179" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.70658684;"
+ offset="0.10827128"
+ id="stop180" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.70658684;"
+ offset="0.92053902"
+ id="stop181" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop182" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048-1"
+ id="linearGradient6742"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ id="linearGradient5048-1">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050-1" />
+ <stop
+ id="stop5056-3"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052-8" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060-4"
+ id="radialGradient6744"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060-4">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062-2" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064-7" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060-4"
+ id="radialGradient6746"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5490"
+ id="linearGradient6748"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.73631297,0,0,0.73540004,98.096127,-1.1343951)"
+ x1="23.389418"
+ y1="43.237888"
+ x2="23.233509"
+ y2="5.0904393" />
+ <linearGradient
+ id="linearGradient5490">
+ <stop
+ style="stop-color:#d2d2d2;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop5492" />
+ <stop
+ style="stop-color:#edecec;stop-opacity:1"
+ offset="1.0000000"
+ id="stop5494" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5659"
+ id="radialGradient6750"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.03239172,5.2954902,-1.7618711,0.01064816,126.9488,-70.978556)"
+ cx="13.75"
+ cy="7.5434785"
+ fx="13.75"
+ fy="7.5434785"
+ r="7.7179914" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5659">
+ <stop
+ style="stop-color:#f8f8f8;stop-opacity:1;"
+ offset="0"
+ id="stop5661" />
+ <stop
+ style="stop-color:#f8f8f8;stop-opacity:0;"
+ offset="1"
+ id="stop5663" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4412-4"
+ id="linearGradient6752"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.70929102,0,0,0.58315574,98.21633,3.9803192)"
+ x1="27.324621"
+ y1="26.887815"
+ x2="22.311644"
+ y2="26.7868" />
+ <linearGradient
+ id="linearGradient4412-4"
+ inkscape:collect="always">
+ <stop
+ id="stop4414-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4416-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6557"
+ id="radialGradient6754"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.9906698,0.52517673,-0.07503027,0.28438637,55.26683,-11.903531)"
+ cx="27.763536"
+ cy="13.661933"
+ fx="27.763536"
+ fy="13.661933"
+ r="6.2478967" />
+ <linearGradient
+ id="linearGradient6557">
+ <stop
+ style="stop-color:#dddddf;stop-opacity:0"
+ offset="0"
+ id="stop6559" />
+ <stop
+ style="stop-color:#f2f2f2;stop-opacity:1"
+ offset="1"
+ id="stop6561" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449-7"
+ id="linearGradient6756"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,100.14559,-1.0365127)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ id="linearGradient4449-7"
+ inkscape:collect="always">
+ <stop
+ id="stop4451-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4453-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449-7"
+ id="linearGradient6758"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,101.61567,-1.0365127)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449-7"
+ id="linearGradient6760"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,103.08576,-1.0365127)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449-7"
+ id="linearGradient6762"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,104.55585,-1.0365127)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449-7"
+ id="linearGradient6764"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,106.02598,-1.0365127)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449-7"
+ id="linearGradient6766"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,107.49608,-1.0365127)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509-2"
+ id="linearGradient6768"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,99.410533,-1.0365127)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ id="linearGradient4509-2">
+ <stop
+ style="stop-color:#000000;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop4511-3" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop4513-2" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509-2"
+ id="linearGradient6770"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,100.88063,-1.0365127)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ id="linearGradient7897">
+ <stop
+ style="stop-color:#000000;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop7899" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop7901" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509-2"
+ id="linearGradient6772"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,102.35072,-1.0365127)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ id="linearGradient7904">
+ <stop
+ style="stop-color:#000000;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop7906" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop7908" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509-2"
+ id="linearGradient6774"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,103.82082,-1.0365127)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ id="linearGradient7911">
+ <stop
+ style="stop-color:#000000;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop7913" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop7915" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509-2"
+ id="linearGradient6776"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,105.2909,-1.0365127)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ id="linearGradient7918">
+ <stop
+ style="stop-color:#000000;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop7920" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop7922" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509-2"
+ id="linearGradient6778"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,106.76105,-1.0365127)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ id="linearGradient7925">
+ <stop
+ style="stop-color:#000000;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop7927" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop7929" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9352-3"
+ id="radialGradient6780"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-10.905345,0.18991967,-0.15975172,-9.1730701,143.19523,74.108699)"
+ cx="11.021463"
+ cy="7.5991845"
+ fx="11.021463"
+ fy="7.5991845"
+ r="3.4126534" />
+ <linearGradient
+ id="linearGradient9352-3">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop9354-1" />
+ <stop
+ style="stop-color:#ffff00;stop-opacity:1;"
+ offset="1"
+ id="stop9356-8" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509-2"
+ id="linearGradient8770"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,62.126634,11.975158)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509-2"
+ id="linearGradient8773"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,60.656484,11.975158)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509-2"
+ id="linearGradient8776"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,59.186404,11.975158)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509-2"
+ id="linearGradient8779"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,57.716304,11.975158)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509-2"
+ id="linearGradient8782"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,56.246214,11.975158)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509-2"
+ id="linearGradient8785"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,54.776117,11.975158)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449-7"
+ id="linearGradient8788"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,62.861664,11.975158)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449-7"
+ id="linearGradient8791"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,61.391564,11.975158)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449-7"
+ id="linearGradient8794"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,59.921434,11.975158)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449-7"
+ id="linearGradient8797"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,58.451344,11.975158)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449-7"
+ id="linearGradient8800"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,56.981254,11.975158)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449-7"
+ id="linearGradient8803"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.72765853,0,0,0.72765926,55.511174,11.975158)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6557"
+ id="radialGradient8810"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.9906698,0.52517673,-0.07503027,0.28438637,10.632414,1.10814)"
+ cx="27.763536"
+ cy="13.661933"
+ fx="27.763536"
+ fy="13.661933"
+ r="6.2478967" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4412-4"
+ id="linearGradient8816"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.70929102,0,0,0.58315574,53.581914,16.99199)"
+ x1="27.324621"
+ y1="26.887815"
+ x2="22.311644"
+ y2="26.7868" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5659"
+ id="radialGradient8820"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.03239172,5.2954902,-1.7618711,0.01064816,82.314384,-57.966885)"
+ cx="13.75"
+ cy="7.5434785"
+ fx="13.75"
+ fy="7.5434785"
+ r="7.7179914" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5490"
+ id="linearGradient8823"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.73631297,0,0,0.73540004,53.461711,11.877276)"
+ x1="23.389418"
+ y1="43.237888"
+ x2="23.233509"
+ y2="5.0904393" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient8958"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient8960"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient8962"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4386"
+ id="linearGradient8964"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.001723,0,0,1.000481,0.4070008,0.30762708)"
+ x1="23.601042"
+ y1="48.956985"
+ x2="23.233509"
+ y2="10.018264" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4420"
+ id="linearGradient8966"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.96496078,0,0,0.793359,0.52801739,5.267809)"
+ x1="27.324621"
+ y1="26.887815"
+ x2="22.311644"
+ y2="26.7868" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4412"
+ id="linearGradient8968"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.96496078,0,0,0.793359,0.52801739,5.267809)"
+ x1="27.324621"
+ y1="26.887815"
+ x2="22.311644"
+ y2="26.7868" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449"
+ id="linearGradient8970"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.989949,0,0,0.98995,3.195207,0.44079203)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449"
+ id="linearGradient8972"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.989949,0,0,0.98995,5.195197,0.44079203)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449"
+ id="linearGradient8974"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.989949,0,0,0.98995,7.195196,0.44079203)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449"
+ id="linearGradient8976"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.989949,0,0,0.98995,9.195195,0.44079203)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449"
+ id="linearGradient8978"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.989949,0,0,0.98995,11.195242,0.44079203)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449"
+ id="linearGradient8980"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.989949,0,0,0.98995,13.195242,0.44079203)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509"
+ id="linearGradient8982"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.989949,0,0,0.98995,2.1951943,0.44079203)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509"
+ id="linearGradient8984"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.989949,0,0,0.98995,4.1952063,0.44079203)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509"
+ id="linearGradient8986"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.989949,0,0,0.98995,6.1952063,0.44079203)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509"
+ id="linearGradient8988"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.989949,0,0,0.98995,8.1952063,0.44079203)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509"
+ id="linearGradient8990"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.989949,0,0,0.98995,10.195189,0.44079203)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509"
+ id="linearGradient8992"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.989949,0,0,0.98995,12.195272,0.44079203)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509-2"
+ id="linearGradient9032"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1286361,0,0,1.1286372,88.008421,-2.8066326)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509-2"
+ id="linearGradient9035"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1286361,0,0,1.1286372,85.728142,-2.8066326)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509-2"
+ id="linearGradient9038"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1286361,0,0,1.1286372,83.447972,-2.8066326)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509-2"
+ id="linearGradient9041"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1286361,0,0,1.1286372,81.16777,-2.8066326)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509-2"
+ id="linearGradient9044"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1286361,0,0,1.1286372,78.887585,-2.8066326)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509-2"
+ id="linearGradient9047"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1286361,0,0,1.1286372,76.607388,-2.8066326)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449-7"
+ id="linearGradient9050"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1286361,0,0,1.1286372,89.14849,-2.8066326)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449-7"
+ id="linearGradient9053"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1286361,0,0,1.1286372,86.868289,-2.8066326)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449-7"
+ id="linearGradient9056"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1286361,0,0,1.1286372,84.588041,-2.8066326)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449-7"
+ id="linearGradient9059"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1286361,0,0,1.1286372,82.307855,-2.8066326)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449-7"
+ id="linearGradient9062"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1286361,0,0,1.1286372,80.02767,-2.8066326)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449-7"
+ id="linearGradient9065"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1286361,0,0,1.1286372,77.747499,-2.8066326)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6557"
+ id="radialGradient9071"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.087632,0.81457631,-0.11637584,0.44109799,8.138218,-19.66194)"
+ cx="27.763536"
+ cy="13.661933"
+ fx="27.763536"
+ fy="13.661933"
+ r="6.2478967" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4412-4"
+ id="linearGradient9077"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1001471,0,0,0.90450476,74.755117,4.9747337)"
+ x1="27.324621"
+ y1="26.887815"
+ x2="22.311644"
+ y2="26.7868" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5659"
+ id="radialGradient9081"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.05024124,8.2135796,-2.7327533,0.01651585,119.32067,-111.29036)"
+ cx="13.75"
+ cy="7.5434785"
+ fx="13.75"
+ fy="7.5434785"
+ r="7.7179914" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5490"
+ id="linearGradient9084"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1420596,0,0,1.1406436,74.568676,-2.9584527)"
+ x1="23.389418"
+ y1="43.237888"
+ x2="23.233509"
+ y2="5.0904393" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9352-3"
+ id="radialGradient9092"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-10.905345,0.18991967,-0.15975172,-9.1730701,143.19523,74.108699)"
+ cx="11.021463"
+ cy="7.5991845"
+ fx="11.021463"
+ fy="7.5991845"
+ r="3.4126534" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509"
+ id="linearGradient9095"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1213098,0,0,1.1213109,10.588899,-2.6798619)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509"
+ id="linearGradient9098"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1213098,0,0,1.1213109,8.3234164,-2.6798619)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509"
+ id="linearGradient9101"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1213098,0,0,1.1213109,6.058047,-2.6798619)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509"
+ id="linearGradient9104"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1213098,0,0,1.1213109,3.792658,-2.6798619)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509"
+ id="linearGradient9107"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1213098,0,0,1.1213109,1.527269,-2.6798619)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4509"
+ id="linearGradient9110"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1213098,0,0,1.1213109,-0.73813359,-2.6798619)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449"
+ id="linearGradient9113"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1213098,0,0,1.1213109,11.72156,-2.6798619)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449"
+ id="linearGradient9116"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1213098,0,0,1.1213109,9.4561709,-2.6798619)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449"
+ id="linearGradient9119"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1213098,0,0,1.1213109,7.1907287,-2.6798619)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449"
+ id="linearGradient9122"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1213098,0,0,1.1213109,4.9253408,-2.6798619)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449"
+ id="linearGradient9125"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1213098,0,0,1.1213109,2.659953,-2.6798619)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4449"
+ id="linearGradient9128"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1213098,0,0,1.1213109,0.3945753,-2.6798619)"
+ x1="16.36447"
+ y1="39.918777"
+ x2="16.36447"
+ y2="30.928421" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4420"
+ id="linearGradient9137"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0930058,0,0,0.89863338,-2.6265357,2.7876737)"
+ x1="27.324621"
+ y1="26.887815"
+ x2="22.311644"
+ y2="26.7868" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4412"
+ id="linearGradient9139"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0930058,0,0,0.89863338,-2.6265357,2.7876737)"
+ x1="27.324621"
+ y1="26.887815"
+ x2="22.311644"
+ y2="26.7868" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4386"
+ id="linearGradient9145"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1346461,0,0,1.1332393,-2.7636105,-2.8306971)"
+ x1="23.601042"
+ y1="48.956985"
+ x2="23.233509"
+ y2="10.018264" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="27.887077"
+ inkscape:cy="29.757926"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1600"
+ inkscape:window-height="838"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata6829">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ style="display:inline"
+ transform="matrix(0.01609276,0,0,0.02363659,38.614532,40.000181)"
+ id="g6707">
+ <rect
+ style="opacity:0.40206185;color:#000000;fill:url(#linearGradient8958);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect6709"
+ width="1339.6335"
+ height="478.35718"
+ x="-1559.2523"
+ y="-150.69685" />
+ <path
+ inkscape:connector-curvature="0"
+ style="opacity:0.40206185;color:#000000;fill:url(#radialGradient8960);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="m -219.61876,-150.68038 c 0,0 0,478.33079 0,478.33079 142.874166,0.90045 345.40022,-107.16966 345.40014,-239.196175 0,-132.026537 -159.436816,-239.134595 -345.40014,-239.134615 z"
+ id="path6711"
+ sodipodi:nodetypes="cccc" />
+ <path
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccc"
+ id="path6713"
+ d="m -1559.2523,-150.68038 c 0,0 0,478.33079 0,478.33079 -142.8742,0.90045 -345.4002,-107.16966 -345.4002,-239.196175 0,-132.026537 159.4368,-239.134595 345.4002,-239.134615 z"
+ style="opacity:0.40206185;color:#000000;fill:url(#radialGradient8962);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <path
+ sodipodi:nodetypes="ccccccc"
+ id="path3626"
+ d="m 11.381703,5.7750058 0,38.0055222 24.919271,0 0,-38.234471 -4.584663,-4.8079273 -15.979178,0 -4.35543,5.0368761 z"
+ style="fill:url(#linearGradient9145);fill-opacity:1;fill-rule:evenodd;stroke:#5e5e5e;stroke-width:1.1326946px;stroke-linecap:round;stroke-linejoin:round;stroke-opacity:1"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path5791"
+ d="m 15.968317,1.3044771 -4.020266,5.6634738 23.786578,0 L 31.379342,1.4710498 15.968317,1.3044771 z"
+ style="fill:#ffffff;fill-opacity:0.65536726;fill-rule:evenodd;stroke:none"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="opacity:0.34857142;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.1326946;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect4553"
+ width="18.123119"
+ height="4.5307779"
+ x="15.346133"
+ y="9.2333364"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ style="fill:none;stroke:#ffffff;stroke-width:1.1326952;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 12.514396,6.4676632 0,36.1801618 22.6539,0 0,-36.3891087 -4.195166,-4.3878853 -14.473325,0 -3.985409,4.5968322 z"
+ id="path4394"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="opacity:0.52571429;color:#000000;fill:url(#linearGradient9137);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient9139);stroke-width:1.13269508;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect4408"
+ width="12.459645"
+ height="4.530777"
+ x="21.009605"
+ y="23.958368"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ y="23.392017"
+ x="20.443251"
+ height="4.5307779"
+ width="12.459635"
+ id="rect4398"
+ style="color:#000000;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#acacac;stroke-width:1.13269448000000010;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ y="16.029503"
+ x="15.346138"
+ height="4.5307779"
+ width="18.123119"
+ id="rect4551"
+ style="opacity:0.34857142;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#ffffff;stroke-width:1.13269448;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ style="color:#000000;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#acacac;stroke-width:1.13269471999999990;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect4430"
+ width="18.123121"
+ height="4.5307779"
+ x="14.779785"
+ y="15.463157"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ y="8.6669903"
+ x="14.779795"
+ height="4.5307779"
+ width="18.123121"
+ id="rect4436"
+ style="color:#000000;fill:#e6e6e6;fill-opacity:1;fill-rule:evenodd;stroke:#acacac;stroke-width:1.13269471999999990;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ transform="matrix(0.78239704,0,0,-0.78239158,-35.169722,46.746656)"
+ d="m 68.185294,26.231213 a 2.171828,2.171828 0 1 1 -4.343656,0 2.171828,2.171828 0 1 1 4.343656,0 z"
+ sodipodi:ry="2.171828"
+ sodipodi:rx="2.171828"
+ sodipodi:cy="26.231213"
+ sodipodi:cx="66.013466"
+ id="path4396"
+ style="color:#000000;fill:#3dfcff;fill-opacity:1;fill-rule:evenodd;stroke:#464646;stroke-width:0.57909137;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ d="m 16.667518,25.574614 a 0.50507629,0.50507629 0 1 1 -1.010153,0 0.50507629,0.50507629 0 1 1 1.010153,0 z"
+ sodipodi:ry="0.50507629"
+ sodipodi:rx="0.50507629"
+ sodipodi:cy="25.574614"
+ sodipodi:cx="16.162441"
+ id="path4445"
+ style="color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc"
+ transform="matrix(1.0119543,0,0,1.0119465,-0.43885894,-0.01434848)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ style="color:#000000;fill:url(#linearGradient9128);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect4457"
+ width="1.132694"
+ height="11.32695"
+ x="18.744215"
+ y="30.754549"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ y="30.754549"
+ x="21.009592"
+ height="11.32695"
+ width="1.132694"
+ id="rect4461"
+ style="color:#000000;fill:url(#linearGradient9125);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ style="color:#000000;fill:url(#linearGradient9122);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect4465"
+ width="1.132694"
+ height="11.32695"
+ x="23.274982"
+ y="30.754549"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ y="30.754549"
+ x="25.540369"
+ height="11.32695"
+ width="1.132694"
+ id="rect4469"
+ style="color:#000000;fill:url(#linearGradient9119);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ style="color:#000000;fill:url(#linearGradient9116);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect4473"
+ width="1.132694"
+ height="11.32695"
+ x="27.805771"
+ y="30.754549"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ y="30.754549"
+ x="30.071159"
+ height="11.32695"
+ width="1.132694"
+ id="rect4477"
+ style="opacity:0.54285709;color:#000000;fill:url(#linearGradient9113);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ style="opacity:0.3;color:#000000;fill:url(#linearGradient9110);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect4481"
+ width="1.132694"
+ height="11.32695"
+ x="17.611507"
+ y="30.754549"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ y="30.754549"
+ x="19.876911"
+ height="11.32695"
+ width="1.132694"
+ id="rect4483"
+ style="opacity:0.4;color:#000000;fill:url(#linearGradient9107);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ style="opacity:0.4;color:#000000;fill:url(#linearGradient9104);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect4485"
+ width="1.132694"
+ height="11.32695"
+ x="22.1423"
+ y="30.754549"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ y="30.754549"
+ x="24.40769"
+ height="11.32695"
+ width="1.132694"
+ id="rect4487"
+ style="opacity:0.4;color:#000000;fill:url(#linearGradient9101);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ style="opacity:0.4;color:#000000;fill:url(#linearGradient9098);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect4489"
+ width="1.132694"
+ height="11.32695"
+ x="26.673063"
+ y="30.754549"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <rect
+ y="30.754549"
+ x="28.938452"
+ height="11.32695"
+ width="1.132694"
+ id="rect4491"
+ style="opacity:0.4;color:#000000;fill:url(#linearGradient9095);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <g
+ transform="matrix(1.2863707,0,0,1.2863707,4.210915,6.0448198)"
+ id="g6563">
+ <g
+ id="g5645"
+ transform="matrix(0.75623991,0,0,0.75623991,5.79868,6.671203)">
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path5610"
+ d="M 29.98673,25.158209 22.74365,11.050118 c -0.208127,-0.378107 -0.582785,-0.588167 -0.999041,-0.588167 -0.416276,0 -0.790914,0.252073 -0.999062,0.63018 l -7.076565,14.108085 c -0.16647,0.336097 -0.16647,0.798229 0.04172,1.134322 0.208148,0.336096 0.541148,0.504145 0.957424,0.504145 l 14.319652,0 c 0.416274,0 0.790904,-0.21007 0.957426,-0.546156 0.20812,-0.336096 0.20812,-0.756214 0.04164,-1.134318 z"
+ style="fill:url(#radialGradient9092);fill-opacity:1;fill-rule:nonzero;stroke:#7d5c00;stroke-width:1.05844343;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccscccssccc" />
+ <path
+ sodipodi:nodetypes="csscccccccc"
+ style="fill-rule:evenodd;stroke:none"
+ d="m 21.80471,24.27143 c -0.591129,-0.03775 -1.263158,-0.377517 -1.258767,-1.150035 0.004,-0.691243 0.461606,-1.185194 1.264515,-1.185194 0.753848,0 1.393341,0.464971 1.388071,1.147453 0,0.429699 -0.315575,1.170197 -1.393819,1.187776 z m -0.05908,-8.150373 c 0,0 1.076907,0.0042 1.236072,-0.01 l 6.39e-4,3.505851 c -0.472165,-0.01118 -1.618774,0.0032 -2.090959,-0.0022 0.0018,-1.102868 -0.008,-2.361387 -0.02455,-3.49383 z"
+ id="path5612"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/high_memory_usage.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/high_memory_usage.svg
new file mode 100644
index 00000000..0ee3b389
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/high_memory_usage.svg
@@ -0,0 +1,589 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48px"
+ height="48px"
+ id="svg4129"
+ version="1.1"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="high_memory_usage.svg">
+ <defs
+ id="defs4131">
+ <linearGradient
+ id="linearGradient3997">
+ <stop
+ style="stop-color:#6dc26d;stop-opacity:1"
+ offset="0"
+ id="stop3999" />
+ <stop
+ style="stop-color:#3f983f;stop-opacity:1"
+ offset="1"
+ id="stop4001" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3838">
+ <stop
+ id="stop3840"
+ offset="0"
+ style="stop-color:#535353;stop-opacity:1" />
+ <stop
+ id="stop3842"
+ offset="1"
+ style="stop-color:#161616;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3937">
+ <stop
+ id="stop3939"
+ offset="0"
+ style="stop-color:#7a7a7a;stop-opacity:1" />
+ <stop
+ id="stop3941"
+ offset="1"
+ style="stop-color:#4b4b4b;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4086">
+ <stop
+ id="stop4088"
+ offset="0"
+ style="stop-color:#535353;stop-opacity:1" />
+ <stop
+ id="stop4090"
+ offset="1"
+ style="stop-color:#161616;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3955">
+ <stop
+ id="stop3957"
+ offset="0"
+ style="stop-color:#7a7a7a;stop-opacity:1" />
+ <stop
+ id="stop3959"
+ offset="1"
+ style="stop-color:#434343;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4097">
+ <stop
+ id="stop4099"
+ offset="0"
+ style="stop-color:#535353;stop-opacity:1" />
+ <stop
+ id="stop4101"
+ offset="1"
+ style="stop-color:#161616;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3961">
+ <stop
+ id="stop3963"
+ offset="0"
+ style="stop-color:#7a7a7a;stop-opacity:1" />
+ <stop
+ id="stop3965"
+ offset="1"
+ style="stop-color:#434343;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3961"
+ id="linearGradient4290"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.5759767,0,0,1.3949775,53.511974,9.3207836)"
+ x1="52.311882"
+ y1="10.663617"
+ x2="52.297894"
+ y2="4.2730722" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3838"
+ id="linearGradient4293"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.5759767,0,0,1.5759767,53.511974,-32.246623)"
+ x1="52.192741"
+ y1="10.523072"
+ x2="52.297894"
+ y2="4.2730722" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3955"
+ id="linearGradient4296"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.5759767,0,0,1.3949775,39.617421,9.3207836)"
+ x1="52.371452"
+ y1="10.663617"
+ x2="52.297894"
+ y2="4.2730722" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3838"
+ id="linearGradient4299"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.5759767,0,0,1.5759767,39.617421,-32.246623)"
+ x1="52.192741"
+ y1="10.523072"
+ x2="52.297894"
+ y2="4.2730722" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3937"
+ id="linearGradient4302"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.5759767,0,0,1.3949775,25.910634,9.3207836)"
+ x1="52.311882"
+ y1="10.733891"
+ x2="52.357464"
+ y2="4.3082085" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3838"
+ id="linearGradient4305"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.5759767,0,0,1.5759767,25.910634,-32.246623)"
+ x1="52.192741"
+ y1="10.523072"
+ x2="52.297894"
+ y2="4.2730722" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3997"
+ id="linearGradient4308"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.5159489,0,0,1.5267758,29.961041,10.03151)"
+ x1="59.896786"
+ y1="0.92264605"
+ x2="59.964867"
+ y2="13.827345" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3997"
+ id="linearGradient4906"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.5159489,0,0,1.5267758,29.961041,10.03151)"
+ x1="59.896786"
+ y1="0.92264605"
+ x2="59.964867"
+ y2="13.827345" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3838"
+ id="linearGradient4908"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.5759767,0,0,1.5759767,25.910634,-32.246623)"
+ x1="52.192741"
+ y1="10.523072"
+ x2="52.297894"
+ y2="4.2730722" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3937"
+ id="linearGradient4910"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.5759767,0,0,1.3949775,25.910634,9.3207836)"
+ x1="52.311882"
+ y1="10.733891"
+ x2="52.357464"
+ y2="4.3082085" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3838"
+ id="linearGradient4912"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.5759767,0,0,1.5759767,39.617421,-32.246623)"
+ x1="52.192741"
+ y1="10.523072"
+ x2="52.297894"
+ y2="4.2730722" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3955"
+ id="linearGradient4914"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.5759767,0,0,1.3949775,39.617421,9.3207836)"
+ x1="52.371452"
+ y1="10.663617"
+ x2="52.297894"
+ y2="4.2730722" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3838"
+ id="linearGradient4916"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.5759767,0,0,1.5759767,53.511974,-32.246623)"
+ x1="52.192741"
+ y1="10.523072"
+ x2="52.297894"
+ y2="4.2730722" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3961"
+ id="linearGradient4918"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.5759767,0,0,1.3949775,53.511974,9.3207836)"
+ x1="52.311882"
+ y1="10.663617"
+ x2="52.297894"
+ y2="4.2730722" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9352-3"
+ id="radialGradient9092"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-10.905345,0.18991967,-0.15975172,-9.1730701,143.19523,74.108699)"
+ cx="11.021463"
+ cy="7.5991845"
+ fx="11.021463"
+ fy="7.5991845"
+ r="3.4126534" />
+ <linearGradient
+ id="linearGradient9352-3">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop9354-1" />
+ <stop
+ style="stop-color:#ffff00;stop-opacity:1;"
+ offset="1"
+ id="stop9356-8" />
+ </linearGradient>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="28.856676"
+ inkscape:cy="2.049976"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1600"
+ inkscape:window-height="838"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata4134">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g4873"
+ transform="translate(-98,-0.54289322)">
+ <rect
+ transform="scale(1,-1)"
+ ry="0.90121943"
+ rx="0.90121943"
+ y="-35.333458"
+ x="98.126831"
+ height="24.848034"
+ width="47.786697"
+ id="rect3038"
+ style="fill:#1a3712;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <rect
+ style="fill:url(#linearGradient4906);fill-opacity:1;fill-rule:evenodd;stroke:#397d39;stroke-width:0.94434255;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="rect3967"
+ width="46.827473"
+ height="21.029959"
+ x="98.605278"
+ y="10.954424"
+ rx="0.31054264"
+ ry="0.31276053" />
+ <rect
+ transform="scale(1,-1)"
+ ry="0.19699708"
+ rx="0.19699708"
+ y="-25.398226"
+ x="103.24025"
+ height="10.015574"
+ width="10.015574"
+ id="rect3816"
+ style="fill:url(#linearGradient4908);fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <rect
+ style="fill:url(#linearGradient4910);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect3834"
+ width="10.015574"
+ height="8.8652954"
+ x="103.24025"
+ y="15.382652"
+ rx="0.2093094"
+ ry="0.20213868" />
+ <rect
+ style="fill:url(#linearGradient4912);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect3852"
+ width="10.015574"
+ height="10.015574"
+ x="116.94704"
+ y="-25.398226"
+ rx="0.19699708"
+ ry="0.19699708"
+ transform="scale(1,-1)" />
+ <rect
+ ry="0.20213868"
+ rx="0.2093094"
+ y="15.382652"
+ x="116.94704"
+ height="8.8652954"
+ width="10.015574"
+ id="rect3854"
+ style="fill:url(#linearGradient4914);fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <rect
+ transform="scale(1,-1)"
+ ry="0.19699708"
+ rx="0.19699708"
+ y="-25.398226"
+ x="130.84158"
+ height="10.015574"
+ width="10.015574"
+ id="rect3860"
+ style="fill:url(#linearGradient4916);fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <rect
+ style="fill:url(#linearGradient4918);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect3862"
+ width="10.015574"
+ height="8.8652954"
+ x="130.84158"
+ y="15.382652"
+ rx="0.2093094"
+ ry="0.20213868" />
+ <rect
+ transform="scale(1,-1)"
+ ry="0"
+ rx="0"
+ y="-32.471638"
+ x="103.47962"
+ height="3.6585302"
+ width="2.1475737"
+ id="rect3973"
+ style="fill:#f4d679;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <rect
+ style="opacity:0.72566373;fill:#ffdf56;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect3985"
+ width="2.1475737"
+ height="2.8619142"
+ x="103.47962"
+ y="-35.326176"
+ rx="0"
+ ry="0"
+ transform="scale(1,-1)" />
+ <g
+ transform="translate(96.59375,0.0078125)"
+ id="g4335">
+ <rect
+ transform="scale(1,-1)"
+ ry="0"
+ rx="0"
+ y="-32.471638"
+ x="11.979621"
+ height="3.6585302"
+ width="2.1475737"
+ id="rect4311"
+ style="fill:#f4d679;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <rect
+ style="opacity:0.72566373;fill:#ffdf56;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect4313"
+ width="2.1475737"
+ height="2.8619142"
+ x="11.979621"
+ y="-35.326176"
+ rx="0"
+ ry="0"
+ transform="scale(1,-1)" />
+ </g>
+ <g
+ transform="translate(95.140625,0)"
+ id="g4339">
+ <rect
+ style="fill:#f4d679;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect4315"
+ width="2.1475737"
+ height="3.6585302"
+ x="18.479622"
+ y="-32.471638"
+ rx="0"
+ ry="0"
+ transform="scale(1,-1)" />
+ <rect
+ transform="scale(1,-1)"
+ ry="0"
+ rx="0"
+ y="-35.326176"
+ x="18.479622"
+ height="2.8619142"
+ width="2.1475737"
+ id="rect4317"
+ style="opacity:0.72566373;fill:#ffdf56;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ <g
+ transform="translate(94.203125,0)"
+ id="g4343">
+ <rect
+ transform="scale(1,-1)"
+ ry="0"
+ rx="0"
+ y="-32.471638"
+ x="24.604622"
+ height="3.6585302"
+ width="2.1475737"
+ id="rect4319"
+ style="fill:#f4d679;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <rect
+ style="opacity:0.72566373;fill:#ffdf56;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect4321"
+ width="2.1475737"
+ height="2.8619142"
+ x="24.604622"
+ y="-35.326176"
+ rx="0"
+ ry="0"
+ transform="scale(1,-1)" />
+ </g>
+ <g
+ transform="translate(93.109375,0)"
+ id="g4347">
+ <rect
+ style="fill:#f4d679;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect4323"
+ width="2.1475737"
+ height="3.6585302"
+ x="30.698372"
+ y="-32.471638"
+ rx="0"
+ ry="0"
+ transform="scale(1,-1)" />
+ <rect
+ transform="scale(1,-1)"
+ ry="0"
+ rx="0"
+ y="-35.326176"
+ x="30.698372"
+ height="2.8619142"
+ width="2.1475737"
+ id="rect4325"
+ style="opacity:0.72566373;fill:#ffdf56;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ <g
+ transform="translate(92.515625,0)"
+ id="g4351">
+ <rect
+ transform="scale(1,-1)"
+ ry="0"
+ rx="0"
+ y="-32.471638"
+ x="36.229622"
+ height="3.6585302"
+ width="2.1475737"
+ id="rect4327"
+ style="fill:#f4d679;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <rect
+ style="opacity:0.72566373;fill:#ffdf56;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect4329"
+ width="2.1475737"
+ height="2.8619142"
+ x="36.229622"
+ y="-35.326176"
+ rx="0"
+ ry="0"
+ transform="scale(1,-1)" />
+ </g>
+ <g
+ transform="translate(93.1875,0)"
+ id="g4355">
+ <rect
+ style="fill:#f4d679;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect4331"
+ width="2.1475737"
+ height="3.6585302"
+ x="40.385872"
+ y="-32.471638"
+ rx="0"
+ ry="0"
+ transform="scale(1,-1)" />
+ <rect
+ transform="scale(1,-1)"
+ ry="0"
+ rx="0"
+ y="-35.326176"
+ x="40.385872"
+ height="2.8619142"
+ width="2.1475737"
+ id="rect4333"
+ style="opacity:0.72566373;fill:#ffdf56;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ <g
+ id="g4359"
+ transform="translate(98.25,0)">
+ <rect
+ transform="scale(1,-1)"
+ ry="0"
+ rx="0"
+ y="-32.471638"
+ x="40.385872"
+ height="3.6585302"
+ width="2.1475737"
+ id="rect4361"
+ style="fill:#f4d679;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <rect
+ style="opacity:0.72566373;fill:#ffdf56;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect4363"
+ width="2.1475737"
+ height="2.8619142"
+ x="40.385872"
+ y="-35.326176"
+ rx="0"
+ ry="0"
+ transform="scale(1,-1)" />
+ </g>
+ </g>
+ <g
+ transform="matrix(1.2863707,0,0,1.2863707,10.80644,3.275241)"
+ id="g6563">
+ <g
+ id="g5645"
+ transform="matrix(0.75623991,0,0,0.75623991,5.79868,6.671203)">
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path5610"
+ d="M 29.98673,25.158209 22.74365,11.050118 c -0.208127,-0.378107 -0.582785,-0.588167 -0.999041,-0.588167 -0.416276,0 -0.790914,0.252073 -0.999062,0.63018 l -7.076565,14.108085 c -0.16647,0.336097 -0.16647,0.798229 0.04172,1.134322 0.208148,0.336096 0.541148,0.504145 0.957424,0.504145 l 14.319652,0 c 0.416274,0 0.790904,-0.21007 0.957426,-0.546156 0.20812,-0.336096 0.20812,-0.756214 0.04164,-1.134318 z"
+ style="fill:url(#radialGradient9092);fill-opacity:1;fill-rule:nonzero;stroke:#7d5c00;stroke-width:1.05844343;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccscccssccc" />
+ <path
+ sodipodi:nodetypes="csscccccccc"
+ style="fill-rule:evenodd;stroke:none"
+ d="m 21.80471,24.27143 c -0.591129,-0.03775 -1.263158,-0.377517 -1.258767,-1.150035 0.004,-0.691243 0.461606,-1.185194 1.264515,-1.185194 0.753848,0 1.393341,0.464971 1.388071,1.147453 0,0.429699 -0.315575,1.170197 -1.393819,1.187776 z m -0.05908,-8.150373 c 0,0 1.076907,0.0042 1.236072,-0.01 l 6.39e-4,3.505851 c -0.472165,-0.01118 -1.618774,0.0032 -2.090959,-0.0022 0.0018,-1.102868 -0.008,-2.361387 -0.02455,-3.49383 z"
+ id="path5612"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/log.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/log.svg
new file mode 100644
index 00000000..42559766
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/log.svg
@@ -0,0 +1,1160 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ inkscape:export-ydpi="240.00000"
+ inkscape:export-xdpi="240.00000"
+ inkscape:export-filename="/home/jimmac/gfx/novell/pdes/trunk/docs/BIGmime-text.png"
+ sodipodi:docname="download_log.svg"
+ inkscape:version="0.48.1 "
+ sodipodi:version="0.32"
+ id="svg249"
+ height="48.000000px"
+ width="48.000000px"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs3">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective83" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5031"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5029"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient5027"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4542">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop4544" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop4546" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient15662">
+ <stop
+ id="stop15664"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop15666"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ id="aigrd3"
+ cx="20.8921"
+ cy="64.5679"
+ r="5.257"
+ fx="20.8921"
+ fy="64.5679"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#F0F0F0"
+ id="stop15573" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
+ id="stop15575" />
+ </radialGradient>
+ <radialGradient
+ id="aigrd2"
+ cx="20.8921"
+ cy="114.5684"
+ r="5.256"
+ fx="20.8921"
+ fy="114.5684"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#F0F0F0"
+ id="stop15566" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
+ id="stop15568" />
+ </radialGradient>
+ <linearGradient
+ id="linearGradient269">
+ <stop
+ id="stop270"
+ offset="0.0000000"
+ style="stop-color:#a3a3a3;stop-opacity:1.0000000;" />
+ <stop
+ id="stop271"
+ offset="1.0000000"
+ style="stop-color:#4c4c4c;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient259">
+ <stop
+ id="stop260"
+ offset="0.0000000"
+ style="stop-color:#fafafa;stop-opacity:1.0000000;" />
+ <stop
+ id="stop261"
+ offset="1.0000000"
+ style="stop-color:#bbbbbb;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient269"
+ id="radialGradient15656"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.968273,0,0,1.032767,-96.646447,0.646447)"
+ cx="8.8244190"
+ cy="3.7561285"
+ fx="8.8244190"
+ fy="3.7561285"
+ r="37.751713" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient259"
+ id="radialGradient15658"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.960493,0,0,1.041132,-100,0)"
+ cx="33.966679"
+ cy="35.736916"
+ fx="33.966679"
+ fy="35.736916"
+ r="86.708450" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15662"
+ id="radialGradient15668"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.968273,0,0,1.032767,-96.646447,0.646447)"
+ cx="8.1435566"
+ cy="7.2678967"
+ fx="8.1435566"
+ fy="7.2678967"
+ r="38.158695" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4542"
+ id="radialGradient4548"
+ cx="24.306795"
+ cy="42.07798"
+ fx="24.306795"
+ fy="42.07798"
+ r="15.821514"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.284916,0.000000,30.08928)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2251"
+ id="linearGradient2257"
+ x1="33.396004"
+ y1="36.921333"
+ x2="34.170048"
+ y2="38.070381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.1672066,1.6680446)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2251">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2253" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2255" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2224"
+ id="linearGradient2230"
+ x1="35.996582"
+ y1="40.458221"
+ x2="33.664921"
+ y2="37.770721"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(6.161836,4.033411)" />
+ <linearGradient
+ id="linearGradient2224">
+ <stop
+ style="stop-color:#7c7c7c;stop-opacity:1;"
+ offset="0"
+ id="stop2226" />
+ <stop
+ style="stop-color:#b8b8b8;stop-opacity:1;"
+ offset="1"
+ id="stop2228" />
+ </linearGradient>
+ <linearGradient
+ y2="37.770721"
+ x2="33.664921"
+ y1="40.458221"
+ x1="35.996582"
+ gradientTransform="translate(2.1672066,2.0430446)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient22486"
+ xlink:href="#linearGradient2224"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient5048-2">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050-9" />
+ <stop
+ id="stop5056-4"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052-5" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060-1">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062-6" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064-9" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060-1"
+ id="radialGradient5031-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient2206">
+ <stop
+ style="stop-color:#c3c6c0;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2208" />
+ <stop
+ style="stop-color:#e8eae6;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2210" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2214">
+ <stop
+ style="stop-color:#a9aaa7;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2216" />
+ <stop
+ style="stop-color:#676964;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2218" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2222">
+ <stop
+ style="stop-color:#5187d6;stop-opacity:1;"
+ offset="0"
+ id="stop2224" />
+ <stop
+ style="stop-color:#1e4580;stop-opacity:1;"
+ offset="1"
+ id="stop2227" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5048-2-8">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050-9-2" />
+ <stop
+ id="stop5056-4-6"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052-5-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2206-8"
+ id="linearGradient26980-6"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.66330865,-49.866678,4.4079179)"
+ x1="25.861118"
+ y1="26.133587"
+ x2="18.300278"
+ y2="19.567596" />
+ <linearGradient
+ id="linearGradient2206-8">
+ <stop
+ style="stop-color:#c3c6c0;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2208-7" />
+ <stop
+ style="stop-color:#e8eae6;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2210-2" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2214-2">
+ <stop
+ style="stop-color:#a9aaa7;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2216-2" />
+ <stop
+ style="stop-color:#676964;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2218-0" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2222-9"
+ id="radialGradient26984-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1520174,0,0,0.90350734,-62.623679,-4.288468)"
+ cx="23.994133"
+ cy="32.266911"
+ fx="23.994133"
+ fy="32.266911"
+ r="19.088932" />
+ <linearGradient
+ id="linearGradient2222-9">
+ <stop
+ style="stop-color:#5187d6;stop-opacity:1;"
+ offset="0"
+ id="stop2224-6" />
+ <stop
+ style="stop-color:#1e4580;stop-opacity:1;"
+ offset="1"
+ id="stop2227-5" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2238-7"
+ id="linearGradient26986-6"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.6615617,-49.866678,5.1018165)"
+ x1="20.338758"
+ y1="19.636894"
+ x2="46.092255"
+ y2="39.708324" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2238-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2240-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2242-5" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2180-7"
+ id="linearGradient26988-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4813991,0,0,1.1400975,-61.032972,-4.6105736)"
+ x1="8.8207808"
+ y1="12.53757"
+ x2="12.499243"
+ y2="24.238262" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2180-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2182-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2184-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2223-5"
+ id="linearGradient26990-6"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6513633,0,0,0.6513633,49.389075,5.6726225)"
+ x1="35.694206"
+ y1="37.333858"
+ x2="15.044075"
+ y2="5.9588566" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2223-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2225-2" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2229-2" />
+ </linearGradient>
+ <linearGradient
+ y2="5.9588566"
+ x2="15.044075"
+ y1="37.333858"
+ x1="35.694206"
+ gradientTransform="matrix(0.6513633,0,0,0.6513633,-50.610925,5.6726225)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27106"
+ xlink:href="#linearGradient2223-5"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient27240"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient27242"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient27244"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient259"
+ id="radialGradient27246"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.960493,0,0,-1.041132,-51.588305,51.80958)"
+ cx="33.966679"
+ cy="35.736916"
+ fx="33.966679"
+ fy="35.736916"
+ r="86.708450" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15662"
+ id="radialGradient27250"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.968273,0,0,-1.032767,-48.234752,51.163133)"
+ cx="8.1435566"
+ cy="7.2678967"
+ fx="8.1435566"
+ fy="7.2678967"
+ r="38.158695" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2224"
+ id="linearGradient27252"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.1672066,2.0430446)"
+ x1="35.996582"
+ y1="40.458221"
+ x2="33.664921"
+ y2="37.770721" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2251"
+ id="linearGradient27254"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.1672066,1.6680446)"
+ x1="33.396004"
+ y1="36.921333"
+ x2="34.170048"
+ y2="38.070381" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2206-8"
+ id="linearGradient27256"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.66330865,-52.866678,3.4079179)"
+ x1="25.861118"
+ y1="26.133587"
+ x2="18.300278"
+ y2="19.567596" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2222-9"
+ id="radialGradient27258"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1520174,0,0,0.90350734,-65.623679,-5.288468)"
+ cx="23.994133"
+ cy="32.266911"
+ fx="23.994133"
+ fy="32.266911"
+ r="19.088932" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2238-7"
+ id="linearGradient27260"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.6615617,-52.866678,4.1018165)"
+ x1="20.338758"
+ y1="19.636894"
+ x2="46.092255"
+ y2="39.708324" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2180-7"
+ id="linearGradient27262"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4813991,0,0,1.1400975,-64.032972,-5.6105736)"
+ x1="8.8207808"
+ y1="12.53757"
+ x2="12.499243"
+ y2="24.238262" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2223-5"
+ id="linearGradient27264"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6513633,0,0,0.6513633,-53.610925,4.6726225)"
+ x1="35.694206"
+ y1="37.333858"
+ x2="15.044075"
+ y2="5.9588566" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
+ r="15.644737"
+ fy="36.421127"
+ fx="24.837126"
+ cy="36.421127"
+ cx="24.837126"
+ id="radialGradient8668"
+ xlink:href="#linearGradient8662"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient8662"
+ inkscape:collect="always">
+ <stop
+ id="stop8664"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop8666"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2591">
+ <stop
+ style="stop-color:#73d216"
+ offset="0"
+ id="stop2593" />
+ <stop
+ style="stop-color:#49bd00;stop-opacity:1;"
+ offset="1"
+ id="stop2595" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2591-7"
+ id="radialGradient35310-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.41460224,-0.50172349,0,95.317847,33.968371)"
+ cx="22.291636"
+ cy="32.797512"
+ fx="22.291636"
+ fy="32.797512"
+ r="16.9562" />
+ <linearGradient
+ id="linearGradient2591-7">
+ <stop
+ style="stop-color:#73d216"
+ offset="0"
+ id="stop2593-1" />
+ <stop
+ style="stop-color:#49bd00;stop-opacity:1;"
+ offset="1"
+ id="stop2595-8" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8650-7"
+ id="radialGradient35312-6"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.98213486,-0.74742824,0,93.921351,22.917018)"
+ cx="19.701141"
+ cy="2.8969381"
+ fx="19.701141"
+ fy="2.8969381"
+ r="17.171415" />
+ <linearGradient
+ id="linearGradient8650-7"
+ inkscape:collect="always">
+ <stop
+ id="stop8652-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop8654-6"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient35425"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient35427"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient35429"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient259"
+ id="radialGradient35431"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.960493,0,0,-1.041132,-51.588305,51.80958)"
+ cx="33.966679"
+ cy="8.8006353"
+ fx="33.966679"
+ fy="8.8006353"
+ r="86.708450" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15662"
+ id="radialGradient35433"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.968273,0,0,-1.032767,-48.234752,51.163133)"
+ cx="8.1435566"
+ cy="7.2678967"
+ fx="8.1435566"
+ fy="7.2678967"
+ r="38.158695" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2224"
+ id="linearGradient35435"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.1672066,2.0430446)"
+ x1="35.996582"
+ y1="40.458221"
+ x2="33.664921"
+ y2="37.770721" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2251"
+ id="linearGradient35437"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.1672066,1.6680446)"
+ x1="33.396004"
+ y1="36.921333"
+ x2="34.170048"
+ y2="38.070381" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2206-8"
+ id="linearGradient35439"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.66330865,-52.866678,3.4079179)"
+ x1="25.861118"
+ y1="26.133587"
+ x2="18.300278"
+ y2="19.567596" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2222-9"
+ id="radialGradient35441"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1520174,0,0,0.90350734,-65.623679,-5.288468)"
+ cx="23.994133"
+ cy="32.266911"
+ fx="23.994133"
+ fy="32.266911"
+ r="19.088932" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2238-7"
+ id="linearGradient35443"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.6615617,-52.866678,4.1018165)"
+ x1="20.338758"
+ y1="19.636894"
+ x2="46.092255"
+ y2="39.708324" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2180-7"
+ id="linearGradient35445"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4813991,0,0,1.1400975,-64.032972,-5.6105736)"
+ x1="8.8207808"
+ y1="12.53757"
+ x2="12.499243"
+ y2="24.238262" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2223-5"
+ id="linearGradient35447"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6513633,0,0,0.6513633,-53.610925,4.6726225)"
+ x1="35.694206"
+ y1="37.333858"
+ x2="15.044075"
+ y2="5.9588566" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-y="-8"
+ inkscape:window-x="-8"
+ inkscape:window-height="838"
+ inkscape:window-width="1600"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ showgrid="false"
+ inkscape:current-layer="g27205"
+ inkscape:cy="21.815829"
+ inkscape:cx="33.871222"
+ inkscape:zoom="1"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="0.25490196"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:showpageshadow="false"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>document</rdf:li>
+ <rdf:li>settings</rdf:li>
+ <rdf:li>preferences</rdf:li>
+ <rdf:li>properties</rdf:li>
+ <rdf:li>tweak</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ id="layer6"
+ inkscape:label="Shadow" />
+ <g
+ style="display:inline"
+ inkscape:groupmode="layer"
+ inkscape:label="Base"
+ id="layer1" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer5"
+ inkscape:label="Text"
+ style="display:inline">
+ <g
+ style="display:inline"
+ id="g26971"
+ transform="translate(-48.411695,-4.5961942)">
+ <g
+ id="g27205"
+ transform="translate(102.5,0)">
+ <g
+ id="g35397"
+ transform="matrix(1.0365373,0,0,1.0365373,-0.03598876,-1.8688711)">
+ <g
+ style="display:inline"
+ id="g5022"
+ transform="matrix(0.02165152,0,0,0.01485743,-8.580705,46.281584)">
+ <rect
+ y="-150.69685"
+ x="-1559.2523"
+ height="478.35718"
+ width="1339.6335"
+ id="rect4173"
+ style="opacity:0.40206185;color:#000000;fill:url(#linearGradient35425);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path5058"
+ d="m -219.61876,-150.68038 c 0,0 0,478.33079 0,478.33079 142.874166,0.90045 345.40022,-107.16966 345.40014,-239.196175 0,-132.026537 -159.436816,-239.134595 -345.40014,-239.134615 z"
+ style="opacity:0.40206185;color:#000000;fill:url(#radialGradient35427);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:connector-curvature="0" />
+ <path
+ style="opacity:0.40206185;color:#000000;fill:url(#radialGradient35429);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="m -1559.2523,-150.68038 c 0,0 0,478.33079 0,478.33079 -142.8742,0.90045 -345.4002,-107.16966 -345.4002,-239.196175 0,-132.026537 159.4368,-239.134595 345.4002,-239.134615 z"
+ id="path5018"
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0" />
+ </g>
+ <path
+ style="color:#000000;fill:url(#radialGradient35431);fill-opacity:1;fill-rule:nonzero;stroke:#808080;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m -43.835704,48.163134 32.576903,0 c 0.636573,0 1.149049,-0.512476 1.149049,-1.149049 l 0,-31.105315 c -3.168864,-2.905608 -6.491445,-5.9334976 -9.871181,-8.6661296 l -23.854771,0 c -0.636573,0 -1.149048,0.512475 -1.149048,1.149048 l 0,38.6223966 c 0,0.636573 0.512475,1.149049 1.149048,1.149049 z"
+ id="rect15391"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="sssccssss" />
+ <path
+ style="color:#000000;fill:none;stroke:url(#radialGradient35433);stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m -43.773203,47.225634 32.47779,0 c 0.08257,0 0.148336,-0.06648 0.149048,-0.149049 l 0.266316,-30.868047 c 0.0068,-0.783664 -8.098317,-8.1134053 -9.428891,-8.103525 l -23.464263,0.1742364 c -0.08257,6.131e-4 -0.149048,0.06648 -0.149048,0.149049 l 0,38.6482866 c 0,0.08257 0.06648,0.149049 0.149048,0.149049 z"
+ id="rect15660"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="sssssssss" />
+ <g
+ style="display:inline"
+ transform="translate(-50.963312,3.5961942)"
+ id="g2253">
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970757;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ id="rect15686"
+ width="22.000004"
+ height="1"
+ x="15.000002"
+ y="9"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970757;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ id="rect15690"
+ width="22.000004"
+ height="1"
+ x="15.000002"
+ y="13"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970757;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ id="rect15694"
+ width="22.000004"
+ height="1"
+ x="15.000002"
+ y="17"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970757;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ id="rect15698"
+ width="22.000004"
+ height="1"
+ x="15.000002"
+ y="21"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970757;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ id="rect15732"
+ width="9.9000053"
+ height="1"
+ x="14.999992"
+ y="25"
+ rx="0.068204239"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970757;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ id="rect15736"
+ width="22.000004"
+ height="1"
+ x="14.999992"
+ y="29"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970757;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ id="rect15740"
+ width="22.000004"
+ height="1"
+ x="14.999992"
+ y="33"
+ rx="0.15156493"
+ ry="0.065390877" />
+ <rect
+ style="color:#000000;fill:#9b9b9b;fill-opacity:0.54970757;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ id="rect15744"
+ width="15.400014"
+ height="1"
+ x="14.999992"
+ y="37"
+ rx="0.10609552"
+ ry="0.065390877" />
+ <rect
+ style="fill:#9c9c9c;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect23058"
+ width="1.875"
+ height="1.875"
+ x="10.437507"
+ y="8.5"
+ rx="0"
+ ry="0" />
+ <rect
+ ry="0"
+ rx="0"
+ y="12.4375"
+ x="10.437507"
+ height="1.875"
+ width="1.875"
+ id="rect23060"
+ style="fill:#9c9c9c;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <rect
+ style="fill:#9c9c9c;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect23062"
+ width="1.875"
+ height="1.875"
+ x="10.437507"
+ y="16.4375"
+ rx="0"
+ ry="0" />
+ <rect
+ ry="0"
+ rx="0"
+ y="20.40625"
+ x="10.437507"
+ height="1.875"
+ width="1.875"
+ id="rect23064"
+ style="fill:#9c9c9c;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <rect
+ style="fill:#9c9c9c;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect23066"
+ width="1.875"
+ height="1.875"
+ x="10.437507"
+ y="24.40625"
+ rx="0"
+ ry="0" />
+ <rect
+ ry="0"
+ rx="0"
+ y="28.383726"
+ x="10.437507"
+ height="1.875"
+ width="1.875"
+ id="rect23068"
+ style="fill:#9c9c9c;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <rect
+ style="fill:#9c9c9c;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="rect23070"
+ width="1.875"
+ height="1.875"
+ x="10.437507"
+ y="32.493786"
+ rx="0"
+ ry="0" />
+ <rect
+ ry="0"
+ rx="0"
+ y="36.47126"
+ x="10.437507"
+ height="1.875"
+ width="1.875"
+ id="rect23072"
+ style="fill:#9c9c9c;fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ </g>
+ <g
+ style="display:inline"
+ id="g22515"
+ transform="matrix(1,0,0,-1,-51.588305,51.80958)">
+ <path
+ style="color:#000000;fill:url(#linearGradient35435);fill-opacity:1;fill-rule:evenodd;stroke:#808080;stroke-width:1.00000024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="m 31.474987,44.634988 c 4.90304,-4.045325 7.776832,-6.894317 10.079906,-8.785106 -3.331029,0.964689 -4.802716,1.485612 -8.911474,1.644622 0,0 -0.355929,6.640484 -1.168432,7.140484 z"
+ id="path2210"
+ sodipodi:nodetypes="cccc"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="cccc"
+ id="path2247"
+ d="m 33.389463,42.509778 c 1.369779,-0.683829 4.825996,-2.853572 6.125377,-4.734576 -1.662385,0.469833 -3.058295,0.543813 -5.812819,0.742832 0,0 -0.03655,3.0179 -0.312558,3.991744 z"
+ style="opacity:0.57079647;color:#000000;fill:none;stroke:url(#linearGradient35437);stroke-width:0.99999982;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ <g
+ id="g35368"
+ transform="translate(0,2.75)">
+ <rect
+ ry="2.9741201"
+ rx="2.9741192"
+ y="5.7539377"
+ x="-52.555748"
+ height="24.600533"
+ width="29.154917"
+ id="rect1316"
+ style="fill:url(#linearGradient35439);fill-opacity:1;fill-rule:evenodd;stroke:#4a4b49;stroke-width:0.95099998;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <rect
+ ry="1.1038465"
+ rx="1.1038463"
+ y="8.2431059"
+ x="-50.090176"
+ height="18.859961"
+ width="24.216297"
+ id="rect1314"
+ style="fill:url(#radialGradient35441);fill-opacity:1;fill-rule:evenodd;stroke:#173562;stroke-width:0.65136319;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <path
+ sodipodi:nodetypes="ccccccccccccccccc"
+ id="path2188"
+ d="m -45.540084,18.309074 -3.922398,0 0,0.792713 5.027733,0 0.915766,-3.85159 2.255355,8.922062 2.090044,-7.047556 1.885399,3.850732 2.531823,-2.287568 8.277804,0 0,-1.341577 -8.565102,0 -2.064963,2.04502 -2.133516,-4.337528 -1.960495,5.324829 -2.129002,-8.37899 -2.208448,6.309453 z"
+ style="fill:#ecffd9;fill-opacity:1;fill-rule:evenodd;stroke:#c3ea9b;stroke-width:0.65136331;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:0.41618497;stroke-dasharray:none"
+ inkscape:connector-curvature="0" />
+ <rect
+ ry="2.6903481"
+ rx="2.6903477"
+ y="6.4016232"
+ x="-51.947559"
+ height="23.261806"
+ width="27.94006"
+ id="rect2232"
+ style="fill:none;stroke:url(#linearGradient35443);stroke-width:0.65136319;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0" />
+ <path
+ style="opacity:0.38068183;fill:#ecffd9;fill-opacity:1;fill-rule:evenodd;stroke:#c3ea9b;stroke-width:0.65136355;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.41618497;stroke-dasharray:none"
+ d="m -46.110027,17.707886 -3.352455,0 0,1.985844 5.597676,-0.08142 0.427244,-1.981865 2.178589,8.277745 2.32965,-7.468945 1.641138,3.527849 2.776085,-2.67618 8.033542,-0.08142 -0.488523,-2.54653 -8.076579,-0.08142 -1.983542,2.066746 -2.214937,-5.074387 -1.716234,4.519582 -2.291843,-7.992623 -2.859811,7.607024 z"
+ id="path3088"
+ sodipodi:nodetypes="ccccccccccccccccc"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="ccsccc"
+ id="rect2178"
+ d="m -49.153157,9.211811 0,5.749142 c 2.39044,0.448207 5.040782,0.703425 7.836715,0.703425 5.820123,0 11.032308,-1.084396 14.513188,-2.786643 l 0,-3.665924 -22.349903,0 z"
+ style="opacity:0.43181817;fill:url(#linearGradient35445);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ inkscape:connector-curvature="0" />
+ <rect
+ style="opacity:0.57386361;fill:none;stroke:url(#linearGradient35447);stroke-width:0.65136331;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ id="rect2221"
+ width="25.63106"
+ height="19.961796"
+ x="-50.79755"
+ y="7.6921911"
+ rx="1.6737897"
+ ry="1.6737897" />
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/low_diskspace.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/low_diskspace.svg
new file mode 100644
index 00000000..dc5faa1b
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/low_diskspace.svg
@@ -0,0 +1,1790 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48.000000px"
+ height="48.000000px"
+ id="svg3077"
+ sodipodi:version="0.32"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="low_diskspace.svg"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs3">
+ <linearGradient
+ id="linearGradient4247"
+ inkscape:collect="always">
+ <stop
+ id="stop4249"
+ offset="0"
+ style="stop-color:#0045bd;stop-opacity:1" />
+ <stop
+ id="stop4251"
+ offset="1"
+ style="stop-color:#fcb500;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient35212">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop35214" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop35216" />
+ </linearGradient>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective91" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient23419">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop23421" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop23423" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3435"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#ffffc8;stop-opacity:1.0000000;"
+ id="stop3437" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a91ef;stop-opacity:0.0000000;"
+ id="stop3439" />
+ </linearGradient>
+ <linearGradient
+ y2="14.2033"
+ x2="35.3912"
+ y1="32.4165"
+ x1="12.2744"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3421">
+ <stop
+ id="stop3423"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000" />
+ <stop
+ id="stop3427"
+ style="stop-color:#b8c04c;stop-opacity:0.0000000;"
+ offset="1.0000000" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3406"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033">
+ <stop
+ offset="0.0000000"
+ style="stop-color:#b307ff;stop-opacity:0.82178217;"
+ id="stop3408" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#f0ff8b;stop-opacity:0.64356434;"
+ id="stop3410" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ id="stop3412" />
+ </linearGradient>
+ <linearGradient
+ y2="14.2033"
+ x2="35.3912"
+ y1="32.4165"
+ x1="12.2744"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3394">
+ <stop
+ id="stop3396"
+ style="stop-color:#fff307;stop-opacity:1.0000000;"
+ offset="0.0000000" />
+ <stop
+ id="stop3398"
+ style="stop-color:#166eff;stop-opacity:1.0000000;"
+ offset="0.50000000" />
+ <stop
+ id="stop3400"
+ style="stop-color:#ffffff;stop-opacity:0.0000000;"
+ offset="1.0000000" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6036">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop6038" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop6040" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6028">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop6030" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop6032" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4236">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.32673267;"
+ offset="0.0000000"
+ id="stop4238" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.60396039;"
+ offset="1.0000000"
+ id="stop4240" />
+ </linearGradient>
+ <linearGradient
+ id="aigrd2"
+ gradientUnits="userSpaceOnUse"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033">
+ <stop
+ offset="0"
+ style="stop-color:#FBFBFB"
+ id="stop3043" />
+ <stop
+ offset="0.5"
+ style="stop-color:#B6B6B6"
+ id="stop3045" />
+ <stop
+ offset="1"
+ style="stop-color:#E4E4E4"
+ id="stop3047" />
+ </linearGradient>
+ <linearGradient
+ id="aigrd1"
+ gradientUnits="userSpaceOnUse"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075">
+ <stop
+ offset="0"
+ style="stop-color:#EBEBEB"
+ id="stop3034" />
+ <stop
+ offset="0.5"
+ style="stop-color:#FFFFFF"
+ id="stop3036" />
+ <stop
+ offset="1"
+ style="stop-color:#EBEBEB"
+ id="stop3038" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient3912"
+ gradientUnits="userSpaceOnUse"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075"
+ gradientTransform="matrix(1.190476,0.000000,0.000000,1.190476,-4.224424,-2.500000)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient4222"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.250000,0.000000,0.000000,1.250000,-5.652995,-2.604165)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient4224"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.250000,0.000000,0.000000,1.250000,-5.652995,-2.604165)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="linearGradient4242"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0.000000,0.000000,1.190476,-4.224424,-2.500001)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6028"
+ id="linearGradient6034"
+ x1="28.702885"
+ y1="31.494707"
+ x2="17.742729"
+ y2="18.366575"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036"
+ id="linearGradient6042"
+ x1="10.501720"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ gradientTransform="matrix(0.848684,0.958020,-0.782119,0.692834,18.69147,-20.52578)"
+ gradientUnits="userSpaceOnUse"
+ r="21.333334"
+ fy="27.569166"
+ fx="37.751469"
+ cy="27.569166"
+ cx="37.751469"
+ id="radialGradient3392"
+ xlink:href="#linearGradient3394"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="48.238270"
+ fx="53.556889"
+ cy="48.238270"
+ cx="53.556889"
+ gradientTransform="matrix(0.158450,-0.158988,0.432907,0.431441,-2.723645,15.00107)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3429"
+ xlink:href="#linearGradient3421"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="33.377594"
+ fx="16.885271"
+ cy="33.377594"
+ cx="16.885271"
+ gradientTransform="matrix(5.184267e-3,-0.122860,0.544548,2.297824e-2,0.957234,26.30756)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3433"
+ xlink:href="#linearGradient3435"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="21.618015"
+ fx="35.511295"
+ cy="21.618015"
+ cx="35.511295"
+ gradientTransform="matrix(0.105916,-1.914240e-2,0.104789,0.579807,17.13693,7.115158)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3443"
+ xlink:href="#linearGradient3435"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientTransform="matrix(-5.048220e-2,1.387847e-2,-0.128440,-0.467196,35.41257,39.44172)"
+ r="21.333334"
+ fy="23.914305"
+ fx="133.84108"
+ cy="23.914305"
+ cx="133.84108"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3447"
+ xlink:href="#linearGradient3435"
+ inkscape:collect="always" />
+ <radialGradient
+ r="21.333334"
+ fy="38.807304"
+ fx="26.137741"
+ cy="38.807304"
+ cx="26.137741"
+ gradientTransform="matrix(0.769501,-1.242500,0.670300,0.415141,-21.77857,41.36563)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient3449"
+ xlink:href="#linearGradient3406"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient23343"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.5)"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="linearGradient23345"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.500001)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23347"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23349"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036"
+ id="linearGradient23351"
+ gradientUnits="userSpaceOnUse"
+ x1="10.501720"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6028"
+ id="linearGradient23353"
+ gradientUnits="userSpaceOnUse"
+ x1="28.702885"
+ y1="31.494707"
+ x2="17.742729"
+ y2="18.366575" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3394"
+ id="radialGradient23355"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.848684,0.95802,-0.782119,0.692834,18.69147,-20.52578)"
+ cx="37.751469"
+ cy="27.569166"
+ fx="37.751469"
+ fy="27.569166"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3406"
+ id="radialGradient23357"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.769501,-1.2425,0.6703,0.415141,-21.77857,41.36563)"
+ cx="26.137741"
+ cy="38.807304"
+ fx="26.137741"
+ fy="38.807304"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3421"
+ id="radialGradient23359"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.15845,-0.158988,0.432907,0.431441,-2.723645,15.00107)"
+ cx="53.556889"
+ cy="48.238270"
+ fx="53.556889"
+ fy="48.238270"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23361"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(5.184267e-3,-0.12286,0.544548,2.297824e-2,0.957234,26.30756)"
+ cx="16.885271"
+ cy="33.377594"
+ fx="16.885271"
+ fy="33.377594"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23363"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.105916,-1.91424e-2,0.104789,0.579807,17.13693,7.115158)"
+ cx="35.511295"
+ cy="21.618015"
+ fx="35.511295"
+ fy="21.618015"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23365"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-5.04822e-2,1.387847e-2,-0.12844,-0.467196,35.41257,39.44172)"
+ cx="133.84108"
+ cy="23.914305"
+ fx="133.84108"
+ fy="23.914305"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23368"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-5.04822e-2,1.387847e-2,-0.12844,-0.467196,35.41257,39.44172)"
+ cx="133.84108"
+ cy="23.914305"
+ fx="133.84108"
+ fy="23.914305"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23371"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.105916,-1.91424e-2,0.104789,0.579807,17.13693,7.115158)"
+ cx="35.511295"
+ cy="21.618015"
+ fx="35.511295"
+ fy="21.618015"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3435"
+ id="radialGradient23374"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(5.184267e-3,-0.12286,0.544548,2.297824e-2,0.957234,26.30756)"
+ cx="16.885271"
+ cy="33.377594"
+ fx="16.885271"
+ fy="33.377594"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3421"
+ id="radialGradient23377"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.15845,-0.158988,0.432907,0.431441,-2.723645,15.00107)"
+ cx="53.556889"
+ cy="48.238270"
+ fx="53.556889"
+ fy="48.238270"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3406"
+ id="radialGradient23380"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.769501,-1.2425,0.6703,0.415141,-21.77857,41.36563)"
+ cx="26.137741"
+ cy="38.807304"
+ fx="26.137741"
+ fy="38.807304"
+ r="21.333334" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3394"
+ id="radialGradient23383"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.848684,0.95802,-0.782119,0.692834,18.69147,-20.52578)"
+ cx="37.751469"
+ cy="27.569166"
+ fx="37.751469"
+ fy="27.569166"
+ r="21.333334" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6036"
+ id="linearGradient23387"
+ gradientUnits="userSpaceOnUse"
+ x1="10.501720"
+ y1="3.6100161"
+ x2="48.798885"
+ y2="54.698483" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23390"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4236"
+ id="linearGradient23393"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.25,0,0,1.25,-5.652995,-2.604165)"
+ x1="21.125000"
+ y1="14.625000"
+ x2="29.000000"
+ y2="28.000000" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd2"
+ id="linearGradient23397"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.500001)"
+ x1="12.2744"
+ y1="32.4165"
+ x2="35.3912"
+ y2="14.2033" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#aigrd1"
+ id="linearGradient23400"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.190476,0,0,1.190476,-4.224424,-2.5)"
+ x1="14.9966"
+ y1="11.1885"
+ x2="32.511"
+ y2="34.3075" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient23419"
+ id="radialGradient23425"
+ cx="23.334524"
+ cy="41.63604"
+ fx="23.334524"
+ fy="41.63604"
+ r="22.627417"
+ gradientTransform="matrix(1,0,0,0.25,0,31.22703)"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient8662"
+ id="radialGradient8668"
+ cx="24.837126"
+ cy="36.421127"
+ fx="24.837126"
+ fy="36.421127"
+ r="15.644737"
+ gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient8662">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop8664" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop8666" />
+ </linearGradient>
+ <linearGradient
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ inkscape:collect="always"
+ xlink:href="#linearGradient4247"
+ id="linearGradient2314"
+ x1="90.61982"
+ y1="52.190975"
+ x2="-57.421551"
+ y2="-5.4606466"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2308">
+ <stop
+ style="stop-color:#aa4400;stop-opacity:1"
+ offset="0"
+ id="stop2310" />
+ <stop
+ style="stop-color:#fcb500;stop-opacity:1"
+ offset="1"
+ id="stop2312" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316">
+ <stop
+ style="stop-color:#aa4400;stop-opacity:1"
+ offset="0"
+ id="stop2318" />
+ <stop
+ style="stop-color:#d89b00;stop-opacity:1"
+ offset="1"
+ id="stop2320" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2187"
+ id="linearGradient1764"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-1.171926,-1.171926,0,112.4458,23.78835)"
+ x1="17.060806"
+ y1="11.39502"
+ x2="12.624337"
+ y2="12.583769" />
+ <linearGradient
+ id="linearGradient2187"
+ inkscape:collect="always">
+ <stop
+ id="stop2189"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2191"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2326"
+ id="radialGradient2332"
+ cx="15.09403"
+ cy="13.282721"
+ fx="15.09403"
+ fy="13.282721"
+ r="10.16466"
+ gradientTransform="matrix(2.496031,0,0,2.300689,41.14738,-48.13912)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2326">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2328" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2330" />
+ </linearGradient>
+ <radialGradient
+ r="15.644737"
+ fy="36.421127"
+ fx="24.837126"
+ cy="36.421127"
+ cx="24.837126"
+ gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient31709"
+ xlink:href="#linearGradient8662"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2308-0"
+ id="linearGradient3485"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.47369448,-0.47369448,0,99.704257,8.7500421)"
+ x1="27.027767"
+ y1="13.535172"
+ x2="19.751877"
+ y2="395.62497" />
+ <linearGradient
+ id="linearGradient2308-0"
+ inkscape:collect="always">
+ <stop
+ id="stop2310-5"
+ offset="0"
+ style="stop-color:#edd400;stop-opacity:1;" />
+ <stop
+ id="stop2312-2"
+ offset="1"
+ style="stop-color:#edd400;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2316-0"
+ id="linearGradient3487"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.47369448,-0.47369448,0,99.704257,8.7500421)"
+ x1="27.027767"
+ y1="13.535172"
+ x2="19.751877"
+ y2="395.62497" />
+ <linearGradient
+ id="linearGradient2316-0">
+ <stop
+ id="stop2318-7"
+ offset="0"
+ style="stop-color:#c4a000;stop-opacity:1;" />
+ <stop
+ id="stop2320-5"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2187-6"
+ id="linearGradient3489"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.55513488,0,0,-0.55513488,74.07686,30.6226)"
+ x1="17.060806"
+ y1="11.39502"
+ x2="-0.99847859"
+ y2="8.6995773" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2187-6">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2189-1" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2191-8" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2326-1"
+ id="radialGradient3491"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,1.1823561,-1.0898237,0,108.1485,-3.1510675)"
+ cx="15.09403"
+ cy="13.282721"
+ fx="15.09403"
+ fy="13.282721"
+ r="10.16466" />
+ <linearGradient
+ id="linearGradient2326-1"
+ inkscape:collect="always">
+ <stop
+ id="stop2328-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <radialGradient
+ r="10.16466"
+ fy="13.282721"
+ fx="15.09403"
+ cy="13.282721"
+ cx="15.09403"
+ gradientTransform="matrix(0,0.78187591,-0.61655067,0,79.03229,4.8548625)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient34355"
+ xlink:href="#linearGradient2326-1"
+ inkscape:collect="always" />
+ <radialGradient
+ r="10.16466"
+ fy="13.282721"
+ fx="15.09403"
+ cy="13.282721"
+ cx="15.09403"
+ gradientTransform="matrix(0,0.78187591,-0.61655067,0,79.03229,4.8548625)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient34355-3"
+ xlink:href="#linearGradient2326-1-7"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2326-1-7"
+ inkscape:collect="always">
+ <stop
+ id="stop2328-8-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2308"
+ id="linearGradient3908"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="90.61982"
+ y1="52.190975"
+ x2="-57.421551"
+ y2="-5.4606466" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212"
+ id="linearGradient3910"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient16236"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5">
+ <stop
+ id="stop4136-4-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2" />
+ <stop
+ id="stop4138-2-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient16238"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7">
+ <stop
+ id="stop4208-5-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient16240"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient16242"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7">
+ <stop
+ id="stop7212-33"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient16244"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3805">
+ <stop
+ id="stop3807"
+ offset="0"
+ style="stop-color:#ffff00;stop-opacity:1" />
+ <stop
+ id="stop3809"
+ offset="1"
+ style="stop-color:#ff0000;stop-opacity:1" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3805"
+ id="radialGradient3633"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-5.4639021,0.0659146,-0.13183442,-10.928213,172.2856,87.181205)"
+ cx="11.021463"
+ cy="7.5991845"
+ fx="11.021463"
+ fy="7.5991845"
+ r="3.4126534" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient4586"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="56.619678"
+ y1="38.098812"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ id="linearGradient4255">
+ <stop
+ style="stop-color:#2a5285;stop-opacity:1;"
+ offset="0"
+ id="stop4257" />
+ <stop
+ style="stop-color:#9acbff;stop-opacity:1;"
+ offset="1"
+ id="stop4259" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-1"
+ id="linearGradient4588"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient35212-1">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop35214-2" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop35216-6" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient4253"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="51.064072"
+ y1="36.929211"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ id="linearGradient6262">
+ <stop
+ style="stop-color:#2a5285;stop-opacity:1;"
+ offset="0"
+ id="stop6264" />
+ <stop
+ style="stop-color:#9acbff;stop-opacity:1;"
+ offset="1"
+ id="stop6266" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212-1"
+ id="linearGradient35218"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6223"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ id="linearGradient6123">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6125" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop6127" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6225"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6151">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop6153" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6155" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6203"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ id="linearGradient6284">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6286" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop6288" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6205"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6091"
+ id="linearGradient6097"
+ x1="40.854774"
+ y1="46.025497"
+ x2="6.7298694"
+ y2="3.0208516"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98990282,0,0,0.98990282,-61.730511,4.7162442)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6091">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6093" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6095" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6219"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ id="linearGradient6302">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6304" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop6306" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6221"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6083"
+ id="linearGradient6071"
+ x1="14.967111"
+ y1="2.3855319"
+ x2="14.967111"
+ y2="16.640585"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60,0)" />
+ <linearGradient
+ id="linearGradient6083">
+ <stop
+ id="stop6085"
+ offset="0"
+ style="stop-color:#737373;stop-opacity:1" />
+ <stop
+ id="stop6087"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6065"
+ id="linearGradient6075"
+ gradientUnits="userSpaceOnUse"
+ x1="18.104832"
+ y1="18.316957"
+ x2="18.040327"
+ y2="6.9715528"
+ gradientTransform="matrix(0.85691123,0,0,0.85691123,-57.553937,1.9004806)" />
+ <linearGradient
+ id="linearGradient6065">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6067" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6069" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6049"
+ id="linearGradient6055"
+ x1="23.114971"
+ y1="34.086388"
+ x2="23.354908"
+ y2="23.578178"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6049">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6051" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6053" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6008"
+ id="linearGradient6035"
+ gradientUnits="userSpaceOnUse"
+ x1="19.211605"
+ y1="41.081333"
+ x2="18.27038"
+ y2="6.1793666"
+ gradientTransform="matrix(0.92020109,0,0,0.92020109,-60.104768,8.7993922)" />
+ <linearGradient
+ id="linearGradient6008">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6010" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6012" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6057"
+ id="linearGradient6063"
+ x1="22.717751"
+ y1="23.575481"
+ x2="22.806652"
+ y2="34.106575"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ id="linearGradient6057">
+ <stop
+ style="stop-color:#737373;stop-opacity:1"
+ offset="0"
+ id="stop6059" />
+ <stop
+ id="stop6107"
+ offset="0.5"
+ style="stop-color:#b9b9b9;stop-opacity:1;" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6061" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6077"
+ id="linearGradient6045"
+ gradientUnits="userSpaceOnUse"
+ x1="28.311356"
+ y1="6.6647797"
+ x2="27.936356"
+ y2="42.119865"
+ gradientTransform="translate(-61.969987,6.4720582)" />
+ <linearGradient
+ id="linearGradient6077">
+ <stop
+ id="stop6079"
+ offset="0"
+ style="stop-color:#8c8c8c;stop-opacity:1" />
+ <stop
+ id="stop6081"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient6193"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ id="linearGradient6341">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6343" />
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="1"
+ id="stop6345" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient6195"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5968"
+ id="linearGradient5974"
+ x1="29.308222"
+ y1="45.924133"
+ x2="29.308222"
+ y2="0.78541183"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.97424531,0,0,1,-59.877557,0.1875)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5968">
+ <stop
+ style="stop-color:#b4b4b4;stop-opacity:1"
+ offset="0"
+ id="stop5970" />
+ <stop
+ id="stop6111"
+ offset="0.57293677"
+ style="stop-color:#e9e9e9;stop-opacity:1" />
+ <stop
+ style="stop-color:#e7e7e7;stop-opacity:1"
+ offset="1"
+ id="stop5972" />
+ </linearGradient>
+ <linearGradient
+ y2="0.78541183"
+ x2="29.308222"
+ y1="45.924133"
+ x1="29.308222"
+ gradientTransform="matrix(0.97424531,0,0,1,-61.847544,4.6595592)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient6388"
+ xlink:href="#linearGradient5968"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5968"
+ id="linearGradient7852"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.97424531,0,0,1,-61.847544,4.6595592)"
+ x1="29.308222"
+ y1="45.924133"
+ x2="29.308222"
+ y2="0.78541183" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient7854"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient7856"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6077"
+ id="linearGradient7858"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-61.969987,6.4720582)"
+ x1="28.311356"
+ y1="6.6647797"
+ x2="27.936356"
+ y2="42.119865" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6057"
+ id="linearGradient7860"
+ gradientUnits="userSpaceOnUse"
+ x1="22.717751"
+ y1="23.575481"
+ x2="22.806652"
+ y2="34.106575" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6008"
+ id="linearGradient7862"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.92020109,0,0,0.92020109,-60.104768,8.7993922)"
+ x1="19.211605"
+ y1="41.081333"
+ x2="18.27038"
+ y2="6.1793666" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6049"
+ id="linearGradient7864"
+ gradientUnits="userSpaceOnUse"
+ x1="23.114971"
+ y1="34.086388"
+ x2="23.354908"
+ y2="23.578178" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6083"
+ id="linearGradient7866"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-60,0)"
+ x1="14.967111"
+ y1="2.3855319"
+ x2="14.967111"
+ y2="16.640585" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6065"
+ id="linearGradient7868"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.85691123,0,0,0.85691123,-57.553937,1.9004806)"
+ x1="18.104832"
+ y1="18.316957"
+ x2="18.040327"
+ y2="6.9715528" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient7870"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient7872"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6091"
+ id="linearGradient7874"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.98990282,0,0,0.98990282,-61.730511,4.7162442)"
+ x1="40.854774"
+ y1="46.025497"
+ x2="6.7298694"
+ y2="3.0208516" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient7876"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient7878"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6123"
+ id="radialGradient7880"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.6784478,0.00755212,-0.00736342,1.6365099,15.638792,-26.321639)"
+ cx="-22.599112"
+ cy="41.621208"
+ fx="-22.599112"
+ fy="41.621208"
+ r="2.122" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6151"
+ id="linearGradient7882"
+ gradientUnits="userSpaceOnUse"
+ x1="-23.007668"
+ y1="39.638775"
+ x2="-22.91139"
+ y2="42.627743" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="0.25490196"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="46.553769"
+ inkscape:cy="20.905152"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1600"
+ inkscape:window-height="838"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:showpageshadow="false"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>cdrom</rdf:li>
+ <rdf:li>media</rdf:li>
+ <rdf:li>removable</rdf:li>
+ <rdf:li>cd</rdf:li>
+ <rdf:li>audio</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g5409">
+ <g
+ transform="translate(62.495332,-4.2036125)"
+ id="g7829">
+ <rect
+ style="fill:url(#linearGradient7852);fill-opacity:1;stroke:#808080;stroke-width:1.08234084;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="rect5198"
+ width="37.925812"
+ height="45.672237"
+ x="-57.215778"
+ y="5.8272643"
+ rx="2.023422"
+ ry="2.0769122" />
+ <g
+ id="g6159"
+ transform="matrix(0.75730905,0,0,0.75730905,-6.8017413,15.303281)">
+ <path
+ transform="translate(0.328125,-0.453125)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6113"
+ style="opacity:0.78761058;fill:url(#radialGradient7854);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7856);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6147"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)" />
+ </g>
+ <path
+ style="fill:none;stroke:url(#linearGradient7858);stroke-width:1.08524024;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m -33.579701,11.829069 c -1.053346,0 -1.897283,0.336185 -1.897283,1.724802 -0.349391,3.90193 -7.520699,7.432837 -12.620959,12.555943 -2.224635,2.339362 -3.592185,5.498558 -3.592185,8.981807 0,7.224449 5.884051,13.079754 13.108499,13.079754 7.224449,0 13.079754,-5.855305 13.079754,-13.079754 0,-2.864507 -0.939302,-5.492021 -2.500964,-7.646625 l 0,-13.661151 c 0,-1.332659 -0.82745,-1.954776 -2.069763,-1.954776 z"
+ id="path5995"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="sccssscsss" />
+ <path
+ sodipodi:type="arc"
+ style="fill:none;stroke:url(#linearGradient7860);stroke-width:1.12;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6006"
+ sodipodi:cx="23"
+ sodipodi:cy="28.875"
+ sodipodi:rx="4.75"
+ sodipodi:ry="4.75"
+ d="m 27.75,28.875 c 0,2.623353 -2.126647,4.75 -4.75,4.75 -2.623353,0 -4.75,-2.126647 -4.75,-4.75 0,-2.623353 2.126647,-4.75 4.75,-4.75 2.623353,0 4.75,2.126647 4.75,4.75 z"
+ transform="matrix(0.91989475,0,0,0.91989475,-59.472608,8.5396742)" />
+ <path
+ sodipodi:nodetypes="sccssscsss"
+ inkscape:connector-curvature="0"
+ id="path6020"
+ d="m -32.948746,12.860546 c -1.411541,0 -1.464632,-0.06564 -1.464632,1.087165 -0.79026,4.49681 -8.233056,8.208077 -12.926319,12.922365 -2.047112,2.152683 -3.305534,5.059779 -3.305534,8.265068 0,6.647946 5.414511,12.036004 12.062455,12.036004 6.647946,0 12.036004,-5.388058 12.036004,-12.036004 0,-2.979671 -1.176847,-5.616263 -2.52014,-7.317683 l 0,-13.626878 c 0,-1.226315 -0.261421,-1.330037 -1.404599,-1.330037 z"
+ style="fill:none;stroke:url(#linearGradient7862);stroke-width:0.99863923;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none" />
+ <path
+ transform="matrix(0.73157083,0,0,0.73157083,-55.141158,13.977527)"
+ d="m 27.75,28.875 c 0,2.623353 -2.126647,4.75 -4.75,4.75 -2.623353,0 -4.75,-2.126647 -4.75,-4.75 0,-2.623353 2.126647,-4.75 4.75,-4.75 2.623353,0 4.75,2.126647 4.75,4.75 z"
+ sodipodi:ry="4.75"
+ sodipodi:rx="4.75"
+ sodipodi:cy="28.875"
+ sodipodi:cx="23"
+ id="path6047"
+ style="fill:none;stroke:url(#linearGradient7864);stroke-width:1.3928932;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ <g
+ transform="translate(-1.9699873,4.4720592)"
+ id="g6227">
+ <path
+ sodipodi:nodetypes="cccscsc"
+ inkscape:connector-curvature="0"
+ id="path6004"
+ d="m -49.723391,15.766028 0,-5.956679 c 0,-1.9747549 0.720085,-2.6116057 2.026623,-2.6116057 2.490645,-0.083222 6.700434,-0.024317 9.114109,-0.024317 2.952952,0 3.468191,1.6055538 0.554883,3.9038907 -2.14002,1.745447 -3.738746,3.427527 -6.742857,5.858465 -2.149829,1.739649 -4.952758,2.0649 -4.952758,-1.169754 z"
+ style="fill:none;stroke:url(#linearGradient7866);stroke-width:1.02364969px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ style="fill:none;stroke:url(#linearGradient7868);stroke-width:0.87717688px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m -48.747795,15.29064 -0.01563,-4.203168 c 0,-1.6921899 0.632674,-2.9566645 2.674136,-2.9566645 2.134261,-0.071314 4.996578,-0.061241 7.064884,-0.061241 2.530418,0 2.684669,0.4256423 0.188223,2.3951135 -1.833807,1.495693 -4.574945,4.040079 -7.149203,6.123178 -1.269396,1.027199 -2.762415,0.883643 -2.76241,-1.297218 z"
+ id="path6073"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccscsc" />
+ </g>
+ <g
+ transform="matrix(0.75730905,0,0,0.75730905,-6.8017413,-21.321719)"
+ id="g6207">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:url(#radialGradient7870);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6209"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="translate(0.328125,-0.453125)" />
+ <path
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6211"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7872);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ </g>
+ <rect
+ y="7.0934958"
+ x="-55.982082"
+ height="43.124149"
+ width="35.458416"
+ id="rect6089"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7874);stroke-width:1.30568182;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ ry="0.98889953"
+ rx="0.97983909" />
+ <g
+ transform="matrix(0.75730905,0,0,0.75730905,-35.614241,15.303281)"
+ id="g6197">
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:url(#radialGradient7876);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ id="path6199"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="translate(0.328125,-0.453125)" />
+ <path
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6201"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7878);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:type="arc" />
+ </g>
+ <g
+ id="g6213"
+ transform="matrix(0.75730905,0,0,0.75730905,-35.614241,-21.321719)">
+ <path
+ transform="translate(0.328125,-0.453125)"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ sodipodi:ry="1.8125"
+ sodipodi:rx="1.8125"
+ sodipodi:cy="42.25"
+ sodipodi:cx="-22.8125"
+ id="path6215"
+ style="opacity:0.78761058;fill:url(#radialGradient7880);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.78761058;fill:none;stroke:url(#linearGradient7882);stroke-width:0.31617358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path6217"
+ sodipodi:cx="-22.8125"
+ sodipodi:cy="42.25"
+ sodipodi:rx="1.8125"
+ sodipodi:ry="1.8125"
+ d="m -21,42.25 c 0,1.001016 -0.811484,1.8125 -1.8125,1.8125 -1.001016,0 -1.8125,-0.811484 -1.8125,-1.8125 0,-1.001016 0.811484,-1.8125 1.8125,-1.8125 1.001016,0 1.8125,0.811484 1.8125,1.8125 z"
+ transform="matrix(1.0627074,0,0,1.0627074,1.758638,-3.1025133)" />
+ </g>
+ </g>
+ <g
+ transform="matrix(2.3379104,0,0,2.3379104,-226.56606,12.167522)"
+ id="g3568">
+ <path
+ sodipodi:nodetypes="ccscccssccc"
+ inkscape:connector-curvature="0"
+ style="fill:url(#radialGradient3633);fill-opacity:1;fill-rule:nonzero;stroke:#7d5c00;stroke-width:0.5302698;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 115.17086,14.212738 -3.62872,-7.0680146 c -0.10427,-0.1894281 -0.29196,-0.2946651 -0.50051,-0.2946651 -0.20855,0 -0.39624,0.1262851 -0.50051,0.315713 l -3.5453,7.0680127 c -0.0834,0.168381 -0.0834,0.399905 0.0209,0.568283 0.10428,0.168382 0.27111,0.252573 0.47966,0.252573 l 7.17401,0 c 0.20855,0 0.39624,-0.105244 0.47966,-0.273619 0.10427,-0.168381 0.10427,-0.378856 0.0209,-0.568283 z"
+ id="path3570"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path3572"
+ d="m 111.04216,11.696776 c 0,0 0.53952,-0.0021 0.61926,0.005 l 3.2e-4,-1.7563966 c -0.23655,0.0056 -0.81098,-0.0016 -1.04754,10e-4 9e-4,0.5525256 -0.004,1.1830316 -0.0123,1.7503746 z"
+ style="fill-rule:evenodd;stroke:none"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ sodipodi:nodetypes="cccccc"
+ style="fill-rule:evenodd;stroke:none"
+ d="m 111.04216,13.839581 c 0,0 0.53952,-0.0012 0.61926,0.0028 l 3.2e-4,-0.990772 c -0.23655,0.0032 -0.81098,-9.03e-4 -1.04754,5.64e-4 9e-4,0.311676 -0.004,0.667341 -0.0123,0.987375 z"
+ id="path3574"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ inkscape:connector-curvature="0" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/offline-8x8.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/offline-8x8.svg
new file mode 100644
index 00000000..fb587339
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/offline-8x8.svg
@@ -0,0 +1,154 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="8"
+ height="8"
+ id="svg7758"
+ version="1.1"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="New document 5">
+ <defs
+ id="defs7760">
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient16160"
+ id="linearGradient15646"
+ gradientUnits="userSpaceOnUse"
+ x1="163.7662"
+ y1="17.207424"
+ x2="149.96054"
+ y2="31.430309" />
+ <linearGradient
+ id="linearGradient16160">
+ <stop
+ id="stop16162"
+ offset="0"
+ style="stop-color:#7e7e7e;stop-opacity:1" />
+ <stop
+ id="stop16164"
+ offset="1"
+ style="stop-color:#8f8f8f;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9161"
+ id="linearGradient15648"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.97826791,0,0,0.97826791,-43.31507,-24.680206)"
+ x1="154.35303"
+ y1="32.55246"
+ x2="168.44971"
+ y2="18.328709" />
+ <linearGradient
+ id="linearGradient9161">
+ <stop
+ id="stop9163"
+ offset="0"
+ style="stop-color:#e70707;stop-opacity:1" />
+ <stop
+ id="stop9165"
+ offset="1"
+ style="stop-color:#de6161;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9141"
+ id="linearGradient15650"
+ gradientUnits="userSpaceOnUse"
+ x1="168.55324"
+ y1="16.400097"
+ x2="146.0383"
+ y2="38.830738" />
+ <linearGradient
+ id="linearGradient9141">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop9143-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop9145" />
+ </linearGradient>
+ <linearGradient
+ y2="38.830738"
+ x2="146.0383"
+ y1="19.486309"
+ x1="165.46703"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7793"
+ xlink:href="#linearGradient9141"
+ inkscape:collect="always" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="0.77928946"
+ inkscape:cy="2.3946304"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ inkscape:window-width="1600"
+ inkscape:window-height="838"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata7763">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-1044.3622)">
+ <g
+ style="display:inline"
+ id="g15640"
+ transform="matrix(0.28566057,-0.28566057,0.28566057,0.28566057,-28.601984,1080.2329)">
+ <path
+ sodipodi:type="inkscape:offset"
+ inkscape:radius="0"
+ inkscape:original="M 157.59375 17.71875 L 157.59375 24.59375 L 150.75 24.59375 L 150.75 29 L 157.59375 29 L 157.59375 35.875 L 162.03125 35.875 L 162.03125 29 L 168.875 29 L 168.875 24.59375 L 162.03125 24.59375 L 162.03125 17.71875 L 157.59375 17.71875 z "
+ style="fill:none;stroke:#750000;stroke-width:2.60776544;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path9157"
+ d="m 157.59375,17.71875 0,6.875 -6.84375,0 0,4.40625 6.84375,0 0,6.875 4.4375,0 0,-6.875 6.84375,0 0,-4.40625 -6.84375,0 0,-6.875 -4.4375,0 z"
+ transform="matrix(0.97826791,0,0,0.97826791,-43.31507,-24.680206)" />
+ <path
+ style="fill:url(#linearGradient15648);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 110.85382,-7.3465257 0,6.7255927 -6.69502,0 0,4.3104936 6.69502,0 0,6.7255914 4.34107,0 0,-6.7255914 6.69502,0 0,-4.3104936 -6.69502,0 0,-6.7255927 -4.34107,0 z"
+ id="rect8616"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:type="inkscape:offset"
+ inkscape:radius="-1.1428397"
+ inkscape:original="M 157.59375 17.71875 L 157.59375 24.59375 L 150.75 24.59375 L 150.75 29 L 157.59375 29 L 157.59375 35.875 L 162.03125 35.875 L 162.03125 29 L 168.875 29 L 168.875 24.59375 L 162.03125 24.59375 L 162.03125 17.71875 L 157.59375 17.71875 z "
+ style="fill:none;stroke:url(#linearGradient7793);stroke-width:1.12121379;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="path9149"
+ d="m 158.75,18.875 0,5.71875 A 1.142954,1.142954 0 0 1 157.59375,25.75 l -5.6875,0 0,2.09375 5.6875,0 A 1.142954,1.142954 0 0 1 158.75,29 l 0,5.71875 2.125,0 0,-5.71875 a 1.142954,1.142954 0 0 1 1.15625,-1.15625 l 5.6875,0 0,-2.09375 -5.6875,0 A 1.142954,1.142954 0 0 1 160.875,24.59375 l 0,-5.71875 -2.125,0 z"
+ transform="matrix(0.97826791,0,0,0.97826791,-43.31507,-24.680206)" />
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/offline.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/offline.svg
new file mode 100644
index 00000000..9ee10367
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/offline.svg
@@ -0,0 +1,1637 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ inkscape:export-ydpi="240.00000"
+ inkscape:export-xdpi="240.00000"
+ inkscape:export-filename="/home/jimmac/gfx/novell/pdes/trunk/docs/BIGmime-text.png"
+ sodipodi:docname="task_status_error.svg"
+ inkscape:version="0.48.1 "
+ sodipodi:version="0.32"
+ id="svg249"
+ height="48.000000px"
+ width="48.000000px"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs3">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient13792">
+ <stop
+ style="stop-color:#8f8f8f;stop-opacity:1;"
+ offset="0"
+ id="stop13794" />
+ <stop
+ style="stop-color:#8f8f8f;stop-opacity:0;"
+ offset="1"
+ id="stop13796" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9161">
+ <stop
+ id="stop9163"
+ offset="0"
+ style="stop-color:#e70707;stop-opacity:1" />
+ <stop
+ id="stop9165"
+ offset="1"
+ style="stop-color:#de6161;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9141">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop9143" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop9145" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9129">
+ <stop
+ style="stop-color:#1a8f23;stop-opacity:1"
+ offset="0"
+ id="stop9131" />
+ <stop
+ style="stop-color:#58dd68;stop-opacity:1"
+ offset="1"
+ id="stop9133" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11007">
+ <stop
+ style="stop-color:#8ab9ed;stop-opacity:1"
+ offset="0"
+ id="stop11009" />
+ <stop
+ style="stop-color:#2a5285;stop-opacity:1"
+ offset="1"
+ id="stop11011" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11001">
+ <stop
+ style="stop-color:#3a71b6;stop-opacity:1"
+ offset="0"
+ id="stop11003" />
+ <stop
+ style="stop-color:#203f66;stop-opacity:1"
+ offset="1"
+ id="stop11005" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9056">
+ <stop
+ style="stop-color:#6acd11;stop-opacity:1"
+ offset="0"
+ id="stop9058" />
+ <stop
+ style="stop-color:#4cbe01;stop-opacity:1"
+ offset="1"
+ id="stop9060" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9050">
+ <stop
+ id="stop9052"
+ offset="0"
+ style="stop-color:#428405;stop-opacity:1" />
+ <stop
+ id="stop9054"
+ offset="1"
+ style="stop-color:#356804;stop-opacity:1" />
+ </linearGradient>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective83" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5031"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5029"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient5027"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4542">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop4544" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop4546" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient15662">
+ <stop
+ id="stop15664"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop15666"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ id="aigrd3"
+ cx="20.8921"
+ cy="64.5679"
+ r="5.257"
+ fx="20.8921"
+ fy="64.5679"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#F0F0F0"
+ id="stop15573" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
+ id="stop15575" />
+ </radialGradient>
+ <radialGradient
+ id="aigrd2"
+ cx="20.8921"
+ cy="114.5684"
+ r="5.256"
+ fx="20.8921"
+ fy="114.5684"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#F0F0F0"
+ id="stop15566" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
+ id="stop15568" />
+ </radialGradient>
+ <linearGradient
+ id="linearGradient269">
+ <stop
+ id="stop270"
+ offset="0.0000000"
+ style="stop-color:#a3a3a3;stop-opacity:1.0000000;" />
+ <stop
+ id="stop271"
+ offset="1.0000000"
+ style="stop-color:#4c4c4c;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient259">
+ <stop
+ id="stop260"
+ offset="0.0000000"
+ style="stop-color:#fafafa;stop-opacity:1.0000000;" />
+ <stop
+ id="stop261"
+ offset="1.0000000"
+ style="stop-color:#bbbbbb;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient269"
+ id="radialGradient15656"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.968273,0,0,1.032767,-96.646447,0.646447)"
+ cx="8.8244190"
+ cy="3.7561285"
+ fx="8.8244190"
+ fy="3.7561285"
+ r="37.751713" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient259"
+ id="radialGradient15658"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.960493,0,0,1.041132,-100,0)"
+ cx="33.966679"
+ cy="35.736916"
+ fx="33.966679"
+ fy="35.736916"
+ r="86.708450" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15662"
+ id="radialGradient15668"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.968273,0,0,1.032767,-96.646447,0.646447)"
+ cx="8.1435566"
+ cy="7.2678967"
+ fx="8.1435566"
+ fy="7.2678967"
+ r="38.158695" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4542"
+ id="radialGradient4548"
+ cx="24.306795"
+ cy="42.07798"
+ fx="24.306795"
+ fy="42.07798"
+ r="15.821514"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.284916,0.000000,30.08928)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2251"
+ id="linearGradient2257"
+ x1="33.396004"
+ y1="36.921333"
+ x2="34.170048"
+ y2="38.070381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.1672066,1.6680446)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2251">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2253" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2255" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2224"
+ id="linearGradient2230"
+ x1="35.996582"
+ y1="40.458221"
+ x2="33.664921"
+ y2="37.770721"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(6.161836,4.033411)" />
+ <linearGradient
+ id="linearGradient2224">
+ <stop
+ style="stop-color:#7c7c7c;stop-opacity:1;"
+ offset="0"
+ id="stop2226" />
+ <stop
+ style="stop-color:#b8b8b8;stop-opacity:1;"
+ offset="1"
+ id="stop2228" />
+ </linearGradient>
+ <linearGradient
+ y2="37.770721"
+ x2="33.664921"
+ y1="40.458221"
+ x1="35.996582"
+ gradientTransform="translate(2.1672066,2.0430446)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient22486"
+ xlink:href="#linearGradient2224"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient5048-2">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050-9" />
+ <stop
+ id="stop5056-4"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052-5" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060-1">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062-6" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064-9" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060-1"
+ id="radialGradient5031-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient2206">
+ <stop
+ style="stop-color:#c3c6c0;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2208" />
+ <stop
+ style="stop-color:#e8eae6;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2210" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2214">
+ <stop
+ style="stop-color:#a9aaa7;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2216" />
+ <stop
+ style="stop-color:#676964;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2218" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2222">
+ <stop
+ style="stop-color:#5187d6;stop-opacity:1;"
+ offset="0"
+ id="stop2224" />
+ <stop
+ style="stop-color:#1e4580;stop-opacity:1;"
+ offset="1"
+ id="stop2227" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5048-2-8">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050-9-2" />
+ <stop
+ id="stop5056-4-6"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052-5-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2206-8"
+ id="linearGradient26980-6"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.66330865,-49.866678,4.4079179)"
+ x1="25.861118"
+ y1="26.133587"
+ x2="18.300278"
+ y2="19.567596" />
+ <linearGradient
+ id="linearGradient2206-8">
+ <stop
+ style="stop-color:#c3c6c0;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2208-7" />
+ <stop
+ style="stop-color:#e8eae6;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2210-2" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2214-2">
+ <stop
+ style="stop-color:#a9aaa7;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2216-2" />
+ <stop
+ style="stop-color:#676964;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2218-0" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2222-9"
+ id="radialGradient26984-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1520174,0,0,0.90350734,-62.623679,-4.288468)"
+ cx="23.994133"
+ cy="32.266911"
+ fx="23.994133"
+ fy="32.266911"
+ r="19.088932" />
+ <linearGradient
+ id="linearGradient2222-9">
+ <stop
+ style="stop-color:#5187d6;stop-opacity:1;"
+ offset="0"
+ id="stop2224-6" />
+ <stop
+ style="stop-color:#1e4580;stop-opacity:1;"
+ offset="1"
+ id="stop2227-5" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2238-7"
+ id="linearGradient26986-6"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.6615617,-49.866678,5.1018165)"
+ x1="20.338758"
+ y1="19.636894"
+ x2="46.092255"
+ y2="39.708324" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2238-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2240-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2242-5" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2180-7"
+ id="linearGradient26988-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4813991,0,0,1.1400975,-61.032972,-4.6105736)"
+ x1="8.8207808"
+ y1="12.53757"
+ x2="12.499243"
+ y2="24.238262" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2180-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2182-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2184-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2223-5"
+ id="linearGradient26990-6"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6513633,0,0,0.6513633,49.389075,5.6726225)"
+ x1="35.694206"
+ y1="37.333858"
+ x2="15.044075"
+ y2="5.9588566" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2223-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2225-2" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2229-2" />
+ </linearGradient>
+ <linearGradient
+ y2="5.9588566"
+ x2="15.044075"
+ y1="37.333858"
+ x1="35.694206"
+ gradientTransform="matrix(0.6513633,0,0,0.6513633,-50.610925,5.6726225)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27106"
+ xlink:href="#linearGradient2223-5"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient27240"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient27242"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient27244"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient259"
+ id="radialGradient27246"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.960493,0,0,-1.041132,-51.588305,51.80958)"
+ cx="33.966679"
+ cy="35.736916"
+ fx="33.966679"
+ fy="35.736916"
+ r="86.708450" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15662"
+ id="radialGradient27250"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.968273,0,0,-1.032767,-48.234752,51.163133)"
+ cx="8.1435566"
+ cy="7.2678967"
+ fx="8.1435566"
+ fy="7.2678967"
+ r="38.158695" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2224"
+ id="linearGradient27252"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.1672066,2.0430446)"
+ x1="35.996582"
+ y1="40.458221"
+ x2="33.664921"
+ y2="37.770721" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2251"
+ id="linearGradient27254"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.1672066,1.6680446)"
+ x1="33.396004"
+ y1="36.921333"
+ x2="34.170048"
+ y2="38.070381" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2206-8"
+ id="linearGradient27256"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.66330865,-52.866678,3.4079179)"
+ x1="25.861118"
+ y1="26.133587"
+ x2="18.300278"
+ y2="19.567596" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2222-9"
+ id="radialGradient27258"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1520174,0,0,0.90350734,-65.623679,-5.288468)"
+ cx="23.994133"
+ cy="32.266911"
+ fx="23.994133"
+ fy="32.266911"
+ r="19.088932" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2238-7"
+ id="linearGradient27260"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.6615617,-52.866678,4.1018165)"
+ x1="20.338758"
+ y1="19.636894"
+ x2="46.092255"
+ y2="39.708324" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2180-7"
+ id="linearGradient27262"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4813991,0,0,1.1400975,-64.032972,-5.6105736)"
+ x1="8.8207808"
+ y1="12.53757"
+ x2="12.499243"
+ y2="24.238262" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2223-5"
+ id="linearGradient27264"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6513633,0,0,0.6513633,-53.610925,4.6726225)"
+ x1="35.694206"
+ y1="37.333858"
+ x2="15.044075"
+ y2="5.9588566" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
+ r="15.644737"
+ fy="36.421127"
+ fx="24.837126"
+ cy="36.421127"
+ cx="24.837126"
+ id="radialGradient8668"
+ xlink:href="#linearGradient8662"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient8662"
+ inkscape:collect="always">
+ <stop
+ id="stop8664"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop8666"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2591">
+ <stop
+ style="stop-color:#73d216"
+ offset="0"
+ id="stop2593" />
+ <stop
+ style="stop-color:#49bd00;stop-opacity:1;"
+ offset="1"
+ id="stop2595" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2591-7">
+ <stop
+ style="stop-color:#73d216"
+ offset="0"
+ id="stop2593-1" />
+ <stop
+ style="stop-color:#49bd00;stop-opacity:1;"
+ offset="1"
+ id="stop2595-8" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient35425"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient35427"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient35429"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient259"
+ id="radialGradient35431"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.960493,0,0,-1.041132,-51.588305,51.80958)"
+ cx="33.966679"
+ cy="8.8006353"
+ fx="33.966679"
+ fy="8.8006353"
+ r="86.708450" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15662"
+ id="radialGradient35433"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.968273,0,0,-1.032767,-48.234752,51.163133)"
+ cx="8.1435566"
+ cy="7.2678967"
+ fx="8.1435566"
+ fy="7.2678967"
+ r="38.158695" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2224"
+ id="linearGradient35435"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.1672066,2.0430446)"
+ x1="35.996582"
+ y1="40.458221"
+ x2="33.664921"
+ y2="37.770721" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2251"
+ id="linearGradient35437"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.1672066,1.6680446)"
+ x1="33.396004"
+ y1="36.921333"
+ x2="34.170048"
+ y2="38.070381" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2206-8"
+ id="linearGradient35439"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.66330865,-52.866678,3.4079179)"
+ x1="25.861118"
+ y1="26.133587"
+ x2="18.300278"
+ y2="19.567596" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2222-9"
+ id="radialGradient35441"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1520174,0,0,0.90350734,-65.623679,-5.288468)"
+ cx="23.994133"
+ cy="32.266911"
+ fx="23.994133"
+ fy="32.266911"
+ r="19.088932" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2238-7"
+ id="linearGradient35443"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.6615617,-52.866678,4.1018165)"
+ x1="20.338758"
+ y1="19.636894"
+ x2="46.092255"
+ y2="39.708324" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2180-7"
+ id="linearGradient35445"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4813991,0,0,1.1400975,-64.032972,-5.6105736)"
+ x1="8.8207808"
+ y1="12.53757"
+ x2="12.499243"
+ y2="24.238262" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2223-5"
+ id="linearGradient35447"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6513633,0,0,0.6513633,-53.610925,4.6726225)"
+ x1="35.694206"
+ y1="37.333858"
+ x2="15.044075"
+ y2="5.9588566" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5075"
+ id="linearGradient2306"
+ gradientUnits="userSpaceOnUse"
+ x1="71.288956"
+ y1="124.11652"
+ x2="70.826942"
+ y2="95"
+ gradientTransform="translate(-56.000421,-79.094251)" />
+ <linearGradient
+ id="linearGradient5075">
+ <stop
+ style="stop-color:#adb0a8;stop-opacity:1;"
+ offset="0"
+ id="stop5077" />
+ <stop
+ style="stop-color:#464744;stop-opacity:1"
+ offset="1"
+ id="stop5079" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2691"
+ id="radialGradient2314"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.05324342,-0.836238,2.019473,0.128568,-162.9195,100.0768)"
+ cx="107.5884"
+ cy="83.990814"
+ fx="107.5884"
+ fy="83.990814"
+ r="12.551644" />
+ <linearGradient
+ id="linearGradient2691">
+ <stop
+ id="stop2693"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop2695"
+ offset="1"
+ style="stop-color:#d3d7cf" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2684"
+ id="linearGradient2690"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.128181,0,0,1.128181,-53.99314,-83.36009)"
+ x1="70.913956"
+ y1="101.74152"
+ x2="70.951942"
+ y2="88.923729" />
+ <linearGradient
+ id="linearGradient2684">
+ <stop
+ id="stop2686"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2688"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ y2="88.923729"
+ x2="70.951942"
+ y1="101.74152"
+ x1="70.913956"
+ gradientTransform="matrix(1.128181,0,0,1.128181,-64.993141,-91.360091)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8168"
+ xlink:href="#linearGradient2684"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2684"
+ id="linearGradient8252"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.128181,0,0,1.128181,-108.08145,-78.763896)"
+ x1="70.913956"
+ y1="101.74152"
+ x2="70.951942"
+ y2="88.923729" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2691"
+ id="radialGradient8254"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.05324342,-0.836238,2.019473,0.128568,-206.0078,112.67299)"
+ cx="107.5884"
+ cy="83.990814"
+ fx="107.5884"
+ fy="83.990814"
+ r="12.551644" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5075"
+ id="linearGradient8256"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-99.088729,-66.498056)"
+ x1="71.288956"
+ y1="124.11652"
+ x2="70.826942"
+ y2="95" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2684"
+ id="linearGradient8265"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.128181,0,0,1.128181,-108.08145,-78.763896)"
+ x1="70.913956"
+ y1="101.74152"
+ x2="70.951942"
+ y2="88.923729" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9056"
+ id="radialGradient8267"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.05324342,-0.836238,2.019473,0.128568,-206.0078,112.67299)"
+ cx="107.5884"
+ cy="83.990814"
+ fx="107.5884"
+ fy="83.990814"
+ r="12.551644" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9050"
+ id="linearGradient8269"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-99.088729,-66.498056)"
+ x1="71.288956"
+ y1="124.11652"
+ x2="70.826942"
+ y2="95" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient8019"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="51.064072"
+ y1="36.929211"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ id="linearGradient4255">
+ <stop
+ style="stop-color:#2a5285;stop-opacity:1;"
+ offset="0"
+ id="stop4257" />
+ <stop
+ style="stop-color:#9acbff;stop-opacity:1;"
+ offset="1"
+ id="stop4259" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212"
+ id="linearGradient8021"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient35212">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop35214" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop35216" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2817">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2819" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.48453608;"
+ offset="1"
+ id="stop2821" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2679">
+ <stop
+ id="stop2681"
+ offset="0"
+ style="stop-color:#74a2d6;stop-opacity:1" />
+ <stop
+ id="stop2683"
+ offset="1"
+ style="stop-color:#2a5285;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2697">
+ <stop
+ id="stop2699"
+ offset="0"
+ style="stop-color:#3364a1;stop-opacity:1" />
+ <stop
+ id="stop2701"
+ offset="1"
+ style="stop-color:#203f66;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3081">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop3083" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop3085" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10869">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop10871" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.48453608;"
+ offset="1"
+ id="stop10873" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10883">
+ <stop
+ id="stop10885"
+ offset="0"
+ style="stop-color:#babdb6" />
+ <stop
+ id="stop10887"
+ offset="1"
+ style="stop-color:#555753" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2817"
+ id="linearGradient11079"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.103262,0,0,1.054917,-163.1228,-76.31138)"
+ x1="174.83363"
+ y1="84.263489"
+ x2="174.74524"
+ y2="105.49083" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2679"
+ id="radialGradient11081"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.562309e-6,-1.07205,1.992104,-1.250658e-6,-175.6121,212.6949)"
+ cx="170.2664"
+ cy="102.3308"
+ fx="170.2664"
+ fy="102.3308"
+ r="11" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11001"
+ id="linearGradient11083"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.004384,-145.0004,-71.4625)"
+ x1="169"
+ y1="110.33805"
+ x2="169"
+ y2="93.204849" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3081"
+ id="linearGradient11085"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-4e-4,-0.09426)"
+ x1="15.089521"
+ y1="15.291994"
+ x2="14"
+ y2="52.510574" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2817"
+ id="linearGradient11087"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.103262,0,0,1.054917,-163.1228,-76.31138)"
+ x1="174.83363"
+ y1="84.263489"
+ x2="174.74524"
+ y2="105.49083" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11007"
+ id="radialGradient11089"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.562309e-6,-1.07205,1.992104,-1.250658e-6,-175.6121,212.6949)"
+ cx="169.77171"
+ cy="100.20107"
+ fx="169.77171"
+ fy="100.20107"
+ r="11" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2697"
+ id="linearGradient11091"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.004384,-145.0004,-71.4625)"
+ x1="169"
+ y1="110.33805"
+ x2="169"
+ y2="93.204849" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3081"
+ id="linearGradient11093"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-4e-4,-0.09426)"
+ x1="15.089521"
+ y1="15.291994"
+ x2="14"
+ y2="52.510574" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3892"
+ id="linearGradient3898"
+ x1="429.15128"
+ y1="599.56494"
+ x2="433.13641"
+ y2="610.92285"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-413.32707,-580.0333)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3892">
+ <stop
+ style="stop-color:#fffff8;stop-opacity:1;"
+ offset="0"
+ id="stop3894" />
+ <stop
+ style="stop-color:#fffff8;stop-opacity:0;"
+ offset="1"
+ id="stop3896" />
+ </linearGradient>
+ <linearGradient
+ y2="610.92285"
+ x2="433.13641"
+ y1="599.56494"
+ x1="429.15128"
+ gradientTransform="translate(-467.41538,-559.43711)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient6730"
+ xlink:href="#linearGradient3892"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3892-7"
+ id="linearGradient3898-1"
+ x1="429.15128"
+ y1="599.56494"
+ x2="433.13641"
+ y2="610.92285"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3379015,0,0,1.3379015,-570.79911,-780.96842)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3892-7">
+ <stop
+ style="stop-color:#fffff8;stop-opacity:1;"
+ offset="0"
+ id="stop3894-4" />
+ <stop
+ style="stop-color:#fffff8;stop-opacity:0;"
+ offset="1"
+ id="stop3896-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3872"
+ id="linearGradient3908"
+ gradientUnits="userSpaceOnUse"
+ x1="434.15228"
+ y1="610.42682"
+ x2="432.16248"
+ y2="601.80182"
+ gradientTransform="matrix(1.3379015,0,0,1.3379015,-570.79912,-780.96845)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3872">
+ <stop
+ style="stop-color:#1a8f23;stop-opacity:1"
+ offset="0"
+ id="stop3874" />
+ <stop
+ style="stop-color:#66ee77;stop-opacity:1"
+ offset="1"
+ id="stop3876" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2817-4"
+ id="linearGradient13377"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.624525,0,0,1.054917,-530.24846,-71.839329)"
+ x1="174.83363"
+ y1="84.263489"
+ x2="174.74524"
+ y2="105.49083" />
+ <linearGradient
+ id="linearGradient2817-4">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2819-6" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.48453608;"
+ offset="1"
+ id="stop2821-0" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient13364"
+ id="radialGradient13379"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(8.905772e-6,-1.07205,4.98026,-1.250658e-6,-584.92577,217.16695)"
+ cx="169.77171"
+ cy="100.20107"
+ fx="169.77171"
+ fy="100.20107"
+ r="11" />
+ <linearGradient
+ id="linearGradient13364">
+ <stop
+ style="stop-color:#f10a0a;stop-opacity:1"
+ offset="0"
+ id="stop13366" />
+ <stop
+ style="stop-color:#cd0101;stop-opacity:1"
+ offset="1"
+ id="stop13368" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient13358"
+ id="linearGradient13381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.498884,0,0,1.004384,-508.20837,-66.990449)"
+ x1="169"
+ y1="110.33805"
+ x2="169"
+ y2="93.204849" />
+ <linearGradient
+ id="linearGradient13358">
+ <stop
+ style="stop-color:#bd0000;stop-opacity:1"
+ offset="0"
+ id="stop13360" />
+ <stop
+ style="stop-color:#970000;stop-opacity:1"
+ offset="1"
+ id="stop13362" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3081-5"
+ id="linearGradient13383"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.8933072,0,0,0.96437208,-157.89239,5.2328667)"
+ x1="15.089521"
+ y1="15.291994"
+ x2="14"
+ y2="52.510574" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3081-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop3083-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop3085-4" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient52493"
+ id="linearGradient52499"
+ x1="-72.303078"
+ y1="20.700233"
+ x2="-71.390366"
+ y2="31.757452"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient52493">
+ <stop
+ style="stop-color:#f7f7f7;stop-opacity:1;"
+ offset="0"
+ id="stop52495" />
+ <stop
+ style="stop-color:#f7f7f7;stop-opacity:0;"
+ offset="1"
+ id="stop52497" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5048-4">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050-4" />
+ <stop
+ id="stop5056-3"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052-6" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient259-6">
+ <stop
+ id="stop260-3"
+ offset="0.0000000"
+ style="stop-color:#fafafa;stop-opacity:1.0000000;" />
+ <stop
+ id="stop261-5"
+ offset="1.0000000"
+ style="stop-color:#bbbbbb;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient15662-9">
+ <stop
+ id="stop15664-1"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop15666-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2224-2">
+ <stop
+ style="stop-color:#7c7c7c;stop-opacity:1;"
+ offset="0"
+ id="stop2226-2" />
+ <stop
+ style="stop-color:#b8b8b8;stop-opacity:1;"
+ offset="1"
+ id="stop2228-6" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2817-9">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2819-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.48453608;"
+ offset="1"
+ id="stop2821-05" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2679-3">
+ <stop
+ id="stop2681-9"
+ offset="0"
+ style="stop-color:#74a2d6;stop-opacity:1" />
+ <stop
+ id="stop2683-7"
+ offset="1"
+ style="stop-color:#2a5285;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11001-4">
+ <stop
+ style="stop-color:#3a71b6;stop-opacity:1"
+ offset="0"
+ id="stop11003-3" />
+ <stop
+ style="stop-color:#203f66;stop-opacity:1"
+ offset="1"
+ id="stop11005-5" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient13513">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop13515" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.48453608;"
+ offset="1"
+ id="stop13517" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11007-0">
+ <stop
+ style="stop-color:#8ab9ed;stop-opacity:1"
+ offset="0"
+ id="stop11009-4" />
+ <stop
+ style="stop-color:#2a5285;stop-opacity:1"
+ offset="1"
+ id="stop11011-7" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2697-2">
+ <stop
+ id="stop2699-7"
+ offset="0"
+ style="stop-color:#3364a1;stop-opacity:1" />
+ <stop
+ id="stop2701-1"
+ offset="1"
+ style="stop-color:#203f66;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9161"
+ id="linearGradient13786"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-9.2175077,12.197592)"
+ x1="159.45625"
+ y1="34.133106"
+ x2="159.41743"
+ y2="19.593225" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9141"
+ id="linearGradient13788"
+ gradientUnits="userSpaceOnUse"
+ x1="159.25"
+ y1="18.296875"
+ x2="159.8125"
+ y2="47.546875" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient13792"
+ id="linearGradient13798"
+ x1="164.49797"
+ y1="17.406996"
+ x2="149.96054"
+ y2="31.430309"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-y="-8"
+ inkscape:window-x="-8"
+ inkscape:window-height="838"
+ inkscape:window-width="1600"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ showgrid="false"
+ inkscape:current-layer="g13781"
+ inkscape:cy="28.881723"
+ inkscape:cx="22.912917"
+ inkscape:zoom="1"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="0.25490196"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:showpageshadow="false"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>document</rdf:li>
+ <rdf:li>settings</rdf:li>
+ <rdf:li>preferences</rdf:li>
+ <rdf:li>properties</rdf:li>
+ <rdf:li>tweak</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ id="layer6"
+ inkscape:label="Shadow" />
+ <g
+ style="display:inline"
+ inkscape:groupmode="layer"
+ inkscape:label="Base"
+ id="layer1" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer5"
+ inkscape:label="Text"
+ style="display:inline">
+ <g
+ style="display:inline"
+ id="g26971"
+ transform="translate(-48.411695,-4.5961942)">
+ <g
+ id="g2837"
+ style="display:inline"
+ transform="translate(128.41169,4.596194)" />
+ <g
+ transform="translate(248.41168,4.5961937)"
+ style="display:inline"
+ id="g2837-3" />
+ <g
+ id="g13781"
+ transform="matrix(1.5058933,-1.5058933,1.5058933,1.5058933,-212.85247,197.53341)">
+ <path
+ sodipodi:type="inkscape:offset"
+ inkscape:radius="0"
+ inkscape:original="M 157.59375 17.71875 L 157.59375 24.59375 L 150.75 24.59375 L 150.75 29 L 157.59375 29 L 157.59375 35.875 L 162.03125 35.875 L 162.03125 29 L 168.875 29 L 168.875 24.59375 L 162.03125 24.59375 L 162.03125 17.71875 L 157.59375 17.71875 z "
+ style="fill:none;stroke:url(#linearGradient13798);stroke-width:4.24102353999999960;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-linejoin:round"
+ id="path13790"
+ d="m 157.59375,17.71875 0,6.875 -6.84375,0 0,4.40625 6.84375,0 0,6.875 4.4375,0 0,-6.875 6.84375,0 0,-4.40625 -6.84375,0 0,-6.875 -4.4375,0 z"
+ transform="translate(-9.2175077,12.197592)" />
+ <path
+ transform="translate(-9.2175077,12.197592)"
+ d="m 157.59375,17.71875 0,6.875 -6.84375,0 0,4.40625 6.84375,0 0,6.875 4.4375,0 0,-6.875 6.84375,0 0,-4.40625 -6.84375,0 0,-6.875 -4.4375,0 z"
+ id="path9157"
+ style="fill:none;stroke:#750000;stroke-width:2.20000004999999990;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-linejoin:round"
+ inkscape:original="M 157.59375 17.71875 L 157.59375 24.59375 L 150.75 24.59375 L 150.75 29 L 157.59375 29 L 157.59375 35.875 L 162.03125 35.875 L 162.03125 29 L 168.875 29 L 168.875 24.59375 L 162.03125 24.59375 L 162.03125 17.71875 L 157.59375 17.71875 z "
+ inkscape:radius="0"
+ sodipodi:type="inkscape:offset" />
+ <path
+ inkscape:connector-curvature="0"
+ id="rect8616"
+ d="m 148.37624,29.916342 0,6.875 -6.84375,0 0,4.40625 6.84375,0 0,6.875 4.4375,0 0,-6.875 6.84375,0 0,-4.40625 -6.84375,0 0,-6.875 -4.4375,0 z"
+ style="fill:url(#linearGradient13786);fill-opacity:1;fill-rule:evenodd;stroke:none" />
+ <path
+ transform="translate(-9.2175077,12.197592)"
+ style="opacity:0.49557519000000000;fill:none;stroke:url(#linearGradient13788);stroke-opacity:1;stroke-width:1.00016213000000010;stroke-miterlimit:4;stroke-dasharray:none;stroke-linejoin:round"
+ d="m 158.09375,18.21875 0,6.375 a 0.50828383,0.50828383 0 0 1 -0.5,0.5 l -6.34375,0 0,3.40625 6.34375,0 a 0.50828383,0.50828383 0 0 1 0.5,0.5 l 0,6.375 3.4375,0 0,-6.375 a 0.50828383,0.50828383 0 0 1 0.5,-0.5 l 6.34375,0 0,-3.40625 -6.34375,0 a 0.50828383,0.50828383 0 0 1 -0.5,-0.5 l 0,-6.375 -3.4375,0 z"
+ id="path9149" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/offline_brick.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/offline_brick.svg
new file mode 100644
index 00000000..bf1963df
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/offline_brick.svg
@@ -0,0 +1,4413 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48px"
+ height="48px"
+ id="svg3373"
+ version="1.1"
+ inkscape:version="0.47pre4 r22446"
+ sodipodi:docname="offline_brick.svg">
+ <defs
+ id="defs3375">
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective855" />
+ <linearGradient
+ id="linearGradient11720">
+ <stop
+ style="stop-color:#397303;stop-opacity:1"
+ offset="0"
+ id="stop11722" />
+ <stop
+ style="stop-color:#3a7304;stop-opacity:1"
+ offset="1"
+ id="stop11724" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11703">
+ <stop
+ id="stop11705"
+ offset="0"
+ style="stop-color:#428504;stop-opacity:1" />
+ <stop
+ id="stop11707"
+ offset="1"
+ style="stop-color:#428504;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11691">
+ <stop
+ id="stop11693"
+ offset="0.0000000"
+ style="stop-color:#adff5e;stop-opacity:1" />
+ <stop
+ id="stop11695"
+ offset="1.0000000"
+ style="stop-color:#428504;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6230">
+ <stop
+ style="stop-color:#b4fb71;stop-opacity:1"
+ offset="0"
+ id="stop6232" />
+ <stop
+ style="stop-color:#3fa617;stop-opacity:1"
+ offset="1"
+ id="stop6234" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6214">
+ <stop
+ style="stop-color:#38a111;stop-opacity:1"
+ offset="0"
+ id="stop6216" />
+ <stop
+ style="stop-color:#baff76;stop-opacity:1"
+ offset="1"
+ id="stop6218" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3">
+ <stop
+ id="stop6490-82"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5">
+ <stop
+ id="stop7723-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455"
+ xlink:href="#linearGradient6817-4"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9">
+ <stop
+ id="stop4136-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8" />
+ <stop
+ id="stop4138-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4">
+ <stop
+ id="stop4208-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452">
+ <stop
+ id="stop3454"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458" />
+ <stop
+ id="stop3460"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463">
+ <stop
+ id="stop3465"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210">
+ <stop
+ id="stop7212"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551">
+ <stop
+ id="stop4553"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545">
+ <stop
+ id="stop4547"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721">
+ <stop
+ id="stop7723"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0">
+ <stop
+ id="stop4136-4-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8" />
+ <stop
+ id="stop4138-2-9"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5">
+ <stop
+ id="stop4208-5-7"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3">
+ <stop
+ id="stop7212-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5">
+ <stop
+ id="stop2318-7-1"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9">
+ <stop
+ id="stop2328-8-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3-8">
+ <stop
+ id="stop6490-82-0"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-1"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4-7">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-4" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-6" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09-0">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-7" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5-2">
+ <stop
+ id="stop7723-5-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-7" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-1" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-7"
+ xlink:href="#linearGradient6817-4-5"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-8">
+ <stop
+ id="stop4136-4-2"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-3" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-0" />
+ <stop
+ id="stop4138-2-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-8">
+ <stop
+ id="stop4208-5-8"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-1">
+ <stop
+ id="stop3454-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-2" />
+ <stop
+ id="stop3460-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-3">
+ <stop
+ id="stop3465-3"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-0"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-1">
+ <stop
+ id="stop7212-3"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-9">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-8" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-3">
+ <stop
+ id="stop4553-9"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-3"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-3">
+ <stop
+ id="stop4547-6"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-5"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-4">
+ <stop
+ id="stop7723-0"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-50"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-6">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-2"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-5" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-5">
+ <stop
+ id="stop4136-4-1-2"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-6" />
+ <stop
+ id="stop4138-2-9-7"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-8">
+ <stop
+ id="stop4208-5-7-0"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-0"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-4">
+ <stop
+ id="stop7212-2-3"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-7"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-1">
+ <stop
+ id="stop2318-7-1-8"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-5"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-5">
+ <stop
+ id="stop2328-8-2-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-3"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3-9">
+ <stop
+ id="stop6490-82-08"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-0"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4-5">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-1" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09-9">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-5" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5-6">
+ <stop
+ id="stop7723-5-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-6">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-8" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-9"
+ xlink:href="#linearGradient6817-4-6"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-02">
+ <stop
+ id="stop4136-4-5"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-5" />
+ <stop
+ id="stop4138-2-7"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-4">
+ <stop
+ id="stop4208-5-1"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-7"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-13">
+ <stop
+ id="stop3454-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-5" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-1" />
+ <stop
+ id="stop3460-5"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-5">
+ <stop
+ id="stop3465-1"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-2"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-5">
+ <stop
+ id="stop7212-5"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-38"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-8">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-4" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-2" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-5">
+ <stop
+ id="stop4553-8"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-4"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-9">
+ <stop
+ id="stop4547-4"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-4"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-58">
+ <stop
+ id="stop7723-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-5">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-6"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-9">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-8" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-3" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-7">
+ <stop
+ id="stop4136-4-1-9"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-04" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-8" />
+ <stop
+ id="stop4138-2-9-74"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-2">
+ <stop
+ id="stop4208-5-7-3"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-5"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-5">
+ <stop
+ id="stop7212-2-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-9"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-8">
+ <stop
+ id="stop2318-7-1-7"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-8"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-0">
+ <stop
+ id="stop2328-8-2-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-32"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7"
+ id="linearGradient9924-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ id="linearGradient6488-3-7">
+ <stop
+ id="stop6490-82-6"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-17"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6359-4-0"
+ id="linearGradient9926-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-78.034668"
+ y1="19.883467"
+ x2="-56.572613"
+ y2="25.997072" />
+ <linearGradient
+ id="linearGradient6359-4-0">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-6" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-02" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6367-09-6"
+ id="linearGradient9928-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-66.404778"
+ y1="21.769932"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient6367-09-6">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-0" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-5-0"
+ id="linearGradient9930-2"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2623645,0.01939786,-0.01991094,1.2957544,342.35808,-20.945388)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-5-0">
+ <stop
+ id="stop7723-5-9"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-54"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-4-56"
+ id="linearGradient9932-32"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.672406,0.05643127,-0.00707387,0.46034998,484.35486,0.66073804)"
+ x1="-60.176182"
+ y1="48.328663"
+ x2="-60.225922"
+ y2="23.254047" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-56">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-88" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-4-56"
+ id="linearGradient9934-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.2159587,-2.5583937,0.50170579,-0.23845183,183.14808,-136.98861)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-5"
+ xlink:href="#linearGradient6817-4-56"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-5">
+ <stop
+ id="stop4136-4-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2" />
+ <stop
+ id="stop4138-2-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-7">
+ <stop
+ id="stop4208-5-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4176-3"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6924-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-3">
+ <stop
+ id="stop3454-8"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-50" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-9" />
+ <stop
+ id="stop3460-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-33">
+ <stop
+ id="stop3465-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-29"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-7">
+ <stop
+ id="stop7212-33"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-3">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-2" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-8">
+ <stop
+ id="stop4553-1"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-8"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-2">
+ <stop
+ id="stop4547-8"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-9"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-3">
+ <stop
+ id="stop7723-02"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-8">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-27"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-9" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-50" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-4">
+ <stop
+ id="stop4136-4-1-0"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-5" />
+ <stop
+ id="stop4138-2-9-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-23">
+ <stop
+ id="stop4208-5-7-2"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-9"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-44">
+ <stop
+ id="stop7212-2-9"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-2">
+ <stop
+ id="stop2318-7-1-9"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-3"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-02">
+ <stop
+ id="stop2328-8-2-0"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3612-21"
+ xlink:href="#linearGradient6817-4-56"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient5410"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient5412"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient5414"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient5418"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.724623,-0.46920261)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6220"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6236"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7"
+ id="linearGradient6258"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0296406,0.01582176,-0.01582176,1.0296406,53.400982,-41.023689)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7-9"
+ id="linearGradient6258-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0296406,0.01582176,-0.01582176,1.0296406,53.400982,-41.023689)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ id="linearGradient6488-3-7-9">
+ <stop
+ id="stop6490-82-6-6"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-17-3"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6300"
+ gradientUnits="userSpaceOnUse"
+ x1="24.595747"
+ y1="14.996862"
+ x2="24.595747"
+ y2="4.670352"
+ gradientTransform="translate(79.25,0)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6302"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-127.25,0)"
+ x1="22.807631"
+ y1="14.75276"
+ x2="22.82798"
+ y2="17.890547" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6323"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6325"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6337"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6339"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6364"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6366"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6368"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6370"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6372"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6374"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6391"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6393"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6566">
+ <path
+ sodipodi:nodetypes="sssssss"
+ inkscape:connector-curvature="0"
+ id="path6568"
+ d="m 437.13691,15.625187 c 0,3.922069 -8.57373,7.101535 -19.14997,7.101535 -10.57623,0 -19.14997,-3.179466 -19.14997,-7.101535 0,-2.453312 -2.97639,-9.339638 2.1246,-10.615427 3.05388,-0.763794 13.06472,-4.48610801 17.02537,-4.48610801 4.65593,0 15.23964,3.20196201 18.55878,4.22641201 4.22049,1.302653 0.59119,8.679649 0.59119,10.875123 z"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ clip-path="none" />
+ </clipPath>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient6639"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient6641"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient6643"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient6645"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient6647"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6649"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6651"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6653"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6655"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6657"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6659"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-4"
+ id="linearGradient7322-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-4">
+ <stop
+ id="stop4136-4-75"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-3" />
+ <stop
+ id="stop4138-2-20"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-88"
+ id="linearGradient7324-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-88">
+ <stop
+ id="stop4208-5-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-9"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-0"
+ id="linearGradient7326-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-0"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-9"
+ id="linearGradient7328-7"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-9">
+ <stop
+ id="stop7212-59"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-06"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-7"
+ id="linearGradient7330-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.724623,-0.46920261)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-7"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-69"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4539-1"
+ id="linearGradient7332-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-79.963799"
+ y1="31.954889"
+ x2="-52.985451"
+ y2="21.220755" />
+ <linearGradient
+ id="linearGradient4539-1">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-7" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-9" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4551-59"
+ id="linearGradient7334-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ id="linearGradient4551-59">
+ <stop
+ id="stop4553-0"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-40"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4545-25"
+ id="linearGradient7336-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient4545-25">
+ <stop
+ id="stop4547-80"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-7"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9"
+ id="linearGradient7338-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0222085,0.01570755,-0.01612302,1.0492462,138.00792,5.5809119)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-9">
+ <stop
+ id="stop7723-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-4"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7340-01"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9737564,0.04569561,-0.00572812,0.37277161,252.99081,23.076623)"
+ x1="-60.273727"
+ y1="52.962711"
+ x2="-60.231167"
+ y2="20.531628" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-1">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7342-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.98463104,-2.0716772,0.40625977,-0.19308803,9.0865162,-88.385897)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7344-0"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.16708703,-2.2876683,-0.44861606,-0.03276611,97.273845,-105.01052)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-64">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-3"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5455-2-0"
+ id="linearGradient7346-8"
+ gradientUnits="userSpaceOnUse"
+ x1="54.71489"
+ y1="5.4645443"
+ x2="72.233635"
+ y2="5.4645443" />
+ <linearGradient
+ id="linearGradient5455-2-0">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-1" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient6925"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient6927"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient6929"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient6931"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient6933"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-0"
+ id="linearGradient6925-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-0">
+ <stop
+ id="stop4136-4-7-3"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-0" />
+ <stop
+ id="stop4138-2-3-9"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-2"
+ id="linearGradient6927-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-2">
+ <stop
+ id="stop4208-5-9-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-6"
+ id="linearGradient6929-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-6"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1"
+ id="linearGradient6931-7"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1">
+ <stop
+ id="stop7212-33-7"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-3"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient31475"
+ xlink:href="#linearGradient6924-6-7"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-7"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient5597"
+ xlink:href="#linearGradient6924-6-7"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient9470"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6">
+ <stop
+ id="stop4136-4-7-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02" />
+ <stop
+ id="stop4138-2-3-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient9472"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-8">
+ <stop
+ id="stop4208-5-9-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient9474"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-2"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient9476"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-8">
+ <stop
+ id="stop7212-33-6"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient9478"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6-1"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517"
+ xlink:href="#linearGradient6924-6-1"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient9647">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop9649" />
+ <stop
+ style="stop-color:#dbdbdb;stop-opacity:1;"
+ offset="1"
+ id="stop9651" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2256">
+ <stop
+ style="stop-color:#ff0202;stop-opacity:1;"
+ offset="0"
+ id="stop2258" />
+ <stop
+ style="stop-color:#ff9b9b;stop-opacity:1;"
+ offset="1"
+ id="stop2260" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2248">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2250" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2252" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11780">
+ <stop
+ style="stop-color:#ff8b8b;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop11782" />
+ <stop
+ style="stop-color:#ec1b1b;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop11784" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4981">
+ <stop
+ style="stop-color:#cc0000;stop-opacity:1;"
+ offset="0"
+ id="stop4983" />
+ <stop
+ style="stop-color:#b30000;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop4985" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient21644"
+ id="radialGradient21650"
+ cx="25.125"
+ cy="36.75"
+ fx="25.125"
+ fy="36.75"
+ r="15.75"
+ gradientTransform="matrix(1,0,0,0.595238,0,14.875)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient21644">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop21646" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop21648" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3957">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11691"
+ id="linearGradient11663"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91724819,0,0,0.91907213,302.29549,5.732139)"
+ x1="15.737001"
+ y1="12.5036"
+ x2="53.570126"
+ y2="47.374317" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2248"
+ id="radialGradient11665"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.838984,0,0,2.961346,253.30758,-14.714265)"
+ cx="16.75"
+ cy="10.666344"
+ fx="16.75"
+ fy="10.666344"
+ r="21.25" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11720"
+ id="linearGradient11718"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.87782436,0.99037957,-0.87782433,0.99037953,319.93281,-20.25021)"
+ x1="21.75"
+ y1="15.80225"
+ x2="24.30225"
+ y2="35.05225" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11691"
+ id="linearGradient22637"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91724819,0,0,0.91907213,302.29549,5.732139)"
+ x1="15.737001"
+ y1="12.5036"
+ x2="53.570126"
+ y2="47.374317" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2248"
+ id="radialGradient22639"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.838984,0,0,2.961346,253.30758,-14.714265)"
+ cx="16.75"
+ cy="10.666344"
+ fx="16.75"
+ fy="10.666344"
+ r="21.25" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11720"
+ id="linearGradient22641"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.87782436,0.99037957,-0.87782433,0.99037953,319.93281,-20.25021)"
+ x1="21.75"
+ y1="15.80225"
+ x2="24.30225"
+ y2="35.05225" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2684-1"
+ id="linearGradient8265"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.128181,0,0,1.128181,-108.08145,-78.763896)"
+ x1="70.913956"
+ y1="101.74152"
+ x2="70.951942"
+ y2="88.923729" />
+ <linearGradient
+ id="linearGradient2684-1">
+ <stop
+ id="stop2686-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2688-4"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9056"
+ id="radialGradient8267"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.05324342,-0.836238,2.019473,0.128568,-206.0078,112.67299)"
+ cx="107.5884"
+ cy="83.990814"
+ fx="107.5884"
+ fy="83.990814"
+ r="12.551644" />
+ <linearGradient
+ id="linearGradient9056">
+ <stop
+ style="stop-color:#6acd11;stop-opacity:1"
+ offset="0"
+ id="stop9058" />
+ <stop
+ style="stop-color:#4cbe01;stop-opacity:1"
+ offset="1"
+ id="stop9060" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9050"
+ id="linearGradient8269"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-99.088729,-66.498056)"
+ x1="71.288956"
+ y1="124.11652"
+ x2="70.826942"
+ y2="95" />
+ <linearGradient
+ id="linearGradient9050">
+ <stop
+ id="stop9052"
+ offset="0"
+ style="stop-color:#428405;stop-opacity:1" />
+ <stop
+ id="stop9054"
+ offset="1"
+ style="stop-color:#264a03;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient17969"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient17971"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient17973"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient17975"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient17977"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient17986"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient17988"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient17990"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient17992"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient17994"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-6-2"
+ id="linearGradient10212"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.329484,6.9416806)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-6-2">
+ <stop
+ id="stop4136-4-9-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-9-7" />
+ <stop
+ id="stop4138-2-8-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-8-2"
+ id="linearGradient10214"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.329484,6.9416806)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-8-2">
+ <stop
+ id="stop4208-5-3-8"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-8-2"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-9-0"
+ id="linearGradient10216"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.45408812,0,0,0.45408812,32.774075,7.2711045)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-9-0"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-6-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-7-9"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-8-1"
+ id="linearGradient10218"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="-5.456851" />
+ <linearGradient
+ id="linearGradient7210-8-1">
+ <stop
+ id="stop7212-7-8"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-5-6"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-1-0"
+ id="linearGradient10220"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.448286,7.8656215)"
+ x1="15.972866"
+ y1="16.641634"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-1-0"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-3-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-9-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-6-2"
+ id="linearGradient13412"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.884513,6.8263032)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient9325">
+ <stop
+ id="stop9327"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop9329" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop9331" />
+ <stop
+ id="stop9333"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-8-2"
+ id="linearGradient13414"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.884513,6.8263032)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient9336">
+ <stop
+ id="stop9338"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop9340"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-9-0"
+ id="linearGradient13416"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.45408812,0,0,0.45408812,-19.439922,7.2711048)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-8-1"
+ id="linearGradient13418"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient9350">
+ <stop
+ id="stop9352"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop9354"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-1-0"
+ id="linearGradient13421"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.765711,7.8656218)"
+ x1="15.972866"
+ y1="16.641634"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-7"
+ id="linearGradient9470-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-7">
+ <stop
+ id="stop4136-4-7-1-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02-9" />
+ <stop
+ id="stop4138-2-3-6-4"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8-8"
+ id="linearGradient9472-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-8-8">
+ <stop
+ id="stop4208-5-9-9-2"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6-4"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2-5"
+ id="linearGradient9474-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-2-5"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8-1"
+ id="linearGradient9476-1"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-8-1">
+ <stop
+ id="stop7212-33-6-5"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6-2"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517-7"
+ xlink:href="#linearGradient6924-6-1-6"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-1-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7-4"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9529"
+ xlink:href="#linearGradient6924-6-1-6"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-7"
+ id="linearGradient9602"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8-8"
+ id="linearGradient9604"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2-5"
+ id="linearGradient9606"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8-1"
+ id="linearGradient9608"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1-6"
+ id="linearGradient9610"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512"
+ id="radialGradient22609"
+ gradientUnits="userSpaceOnUse"
+ cx="55"
+ cy="125"
+ fx="55"
+ fy="125"
+ r="14.375" />
+ <linearGradient
+ id="linearGradient12512">
+ <stop
+ id="stop12513"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512-7"
+ id="radialGradient22609-1"
+ gradientUnits="userSpaceOnUse"
+ cx="55"
+ cy="125"
+ fx="55"
+ fy="125"
+ r="14.375" />
+ <linearGradient
+ id="linearGradient12512-7">
+ <stop
+ id="stop12513-4"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517-0"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514-9"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-5-6-8">
+ <stop
+ id="stop4136-4-7-3-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-3" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-3" />
+ <stop
+ id="stop4138-2-3-6-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-7-1">
+ <stop
+ id="stop4208-5-9-0"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-4"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-7-1-3">
+ <stop
+ id="stop7212-33-15"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-7"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517-2"
+ xlink:href="#linearGradient6924-6-2"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-2"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3957-4">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-2" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3957-1">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-25" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2684-1-6"
+ id="linearGradient8265-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.128181,0,0,1.128181,-108.08145,-78.763896)"
+ x1="70.913956"
+ y1="101.74152"
+ x2="70.951942"
+ y2="88.923729" />
+ <linearGradient
+ id="linearGradient2684-1-6">
+ <stop
+ id="stop2686-7-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2688-4-5"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9056-6"
+ id="radialGradient8267-7"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.05324342,-0.836238,2.019473,0.128568,-206.0078,112.67299)"
+ cx="107.5884"
+ cy="83.990814"
+ fx="107.5884"
+ fy="83.990814"
+ r="12.551644" />
+ <linearGradient
+ id="linearGradient9056-6">
+ <stop
+ style="stop-color:#6acd11;stop-opacity:1"
+ offset="0"
+ id="stop9058-1" />
+ <stop
+ style="stop-color:#4cbe01;stop-opacity:1"
+ offset="1"
+ id="stop9060-8" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9050-2"
+ id="linearGradient8269-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-99.088729,-66.498056)"
+ x1="71.288956"
+ y1="124.11652"
+ x2="70.826942"
+ y2="95" />
+ <linearGradient
+ id="linearGradient9050-2">
+ <stop
+ id="stop9052-7"
+ offset="0"
+ style="stop-color:#428405;stop-opacity:1" />
+ <stop
+ id="stop9054-9"
+ offset="1"
+ style="stop-color:#264a03;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2817-4"
+ id="linearGradient13377"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.624525,0,0,1.054917,-530.24846,-71.839329)"
+ x1="174.83363"
+ y1="84.263489"
+ x2="174.74524"
+ y2="105.49083" />
+ <linearGradient
+ id="linearGradient2817-4">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2819-6" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.48453608;"
+ offset="1"
+ id="stop2821-0" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient13364"
+ id="radialGradient13379"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(8.905772e-6,-1.07205,4.98026,-1.250658e-6,-584.92577,217.16695)"
+ cx="169.77171"
+ cy="100.20107"
+ fx="169.77171"
+ fy="100.20107"
+ r="11" />
+ <linearGradient
+ id="linearGradient13364">
+ <stop
+ style="stop-color:#f10a0a;stop-opacity:1"
+ offset="0"
+ id="stop13366" />
+ <stop
+ style="stop-color:#cd0101;stop-opacity:1"
+ offset="1"
+ id="stop13368" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient13358"
+ id="linearGradient13381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.498884,0,0,1.004384,-508.20837,-66.990449)"
+ x1="169"
+ y1="110.33805"
+ x2="169"
+ y2="93.204849" />
+ <linearGradient
+ id="linearGradient13358">
+ <stop
+ style="stop-color:#bd0000;stop-opacity:1"
+ offset="0"
+ id="stop13360" />
+ <stop
+ style="stop-color:#970000;stop-opacity:1"
+ offset="1"
+ id="stop13362" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3081-5"
+ id="linearGradient13383"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.8933072,0,0,0.96437208,-157.89239,5.2328667)"
+ x1="15.089521"
+ y1="15.291994"
+ x2="14"
+ y2="52.510574" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3081-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop3083-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop3085-4" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient52493"
+ id="linearGradient52499"
+ x1="-72.303078"
+ y1="20.700233"
+ x2="-71.390366"
+ y2="31.757452"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient52493">
+ <stop
+ style="stop-color:#f7f7f7;stop-opacity:1;"
+ offset="0"
+ id="stop52495" />
+ <stop
+ style="stop-color:#f7f7f7;stop-opacity:0;"
+ offset="1"
+ id="stop52497" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4499"
+ id="linearGradient4566"
+ gradientUnits="userSpaceOnUse"
+ x1="31.480057"
+ y1="30.844528"
+ x2="32.374863"
+ y2="40.750778" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4499">
+ <stop
+ style="stop-color:#333334;stop-opacity:1;"
+ offset="0"
+ id="stop4501" />
+ <stop
+ style="stop-color:#333334;stop-opacity:0;"
+ offset="1"
+ id="stop4503" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4515"
+ id="radialGradient4568"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.910961,0.03332579,-4.099092e-8,1.3460695,51.082256,-3.4189674)"
+ cx="-54.743732"
+ cy="21.368473"
+ fx="-54.743732"
+ fy="21.368473"
+ r="8.1875" />
+ <linearGradient
+ id="linearGradient4515">
+ <stop
+ style="stop-color:#fbfbfb;stop-opacity:1"
+ offset="0"
+ id="stop4517" />
+ <stop
+ style="stop-color:#729bc6;stop-opacity:1"
+ offset="1"
+ id="stop4519" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4507"
+ id="linearGradient4570"
+ gradientUnits="userSpaceOnUse"
+ x1="30.907085"
+ y1="30.457268"
+ x2="30.937366"
+ y2="39.051018" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4507">
+ <stop
+ style="stop-color:#333334;stop-opacity:1;"
+ offset="0"
+ id="stop4509" />
+ <stop
+ style="stop-color:#333334;stop-opacity:0;"
+ offset="1"
+ id="stop4511" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4523"
+ id="linearGradient4546"
+ gradientUnits="userSpaceOnUse"
+ x1="32.778126"
+ y1="21.726969"
+ x2="33.368801"
+ y2="37.633221"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,69.53661,-3.4691061)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4523">
+ <stop
+ style="stop-color:#3a3a3b;stop-opacity:1;"
+ offset="0"
+ id="stop4525" />
+ <stop
+ style="stop-color:#3a3a3b;stop-opacity:0;"
+ offset="1"
+ id="stop4527" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4409"
+ id="linearGradient4476"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-9.402963)"
+ x1="23.710672"
+ y1="27.421602"
+ x2="23.710672"
+ y2="45.734699" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4409">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop4411" />
+ <stop
+ style="stop-color:#6e96c1;stop-opacity:1"
+ offset="1"
+ id="stop4413" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4499"
+ id="linearGradient4554"
+ gradientUnits="userSpaceOnUse"
+ x1="31.480057"
+ y1="30.844528"
+ x2="32.374863"
+ y2="40.750778" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4515"
+ id="radialGradient4556"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.910961,0.03332579,-4.099092e-8,1.3460695,51.082256,-3.4189674)"
+ cx="-54.743732"
+ cy="21.368473"
+ fx="-54.743732"
+ fy="21.368473"
+ r="8.1875" />
+ <linearGradient
+ id="linearGradient14544">
+ <stop
+ style="stop-color:#fbfbfb;stop-opacity:1"
+ offset="0"
+ id="stop14546" />
+ <stop
+ style="stop-color:#729bc6;stop-opacity:1"
+ offset="1"
+ id="stop14548" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4507"
+ id="linearGradient4572"
+ gradientUnits="userSpaceOnUse"
+ x1="30.907085"
+ y1="30.457268"
+ x2="30.937366"
+ y2="39.051018" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4523"
+ id="linearGradient4529"
+ x1="32.778126"
+ y1="21.726969"
+ x2="33.368801"
+ y2="37.633221"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-3.4691061)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4409"
+ id="linearGradient4471"
+ gradientUnits="userSpaceOnUse"
+ x1="23.710672"
+ y1="25.234375"
+ x2="23.710672"
+ y2="43.673359"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-9.402963)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4417"
+ id="linearGradient4473"
+ gradientUnits="userSpaceOnUse"
+ x1="23.710672"
+ y1="25.234375"
+ x2="23.710672"
+ y2="43.673359"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-9.402963)" />
+ <linearGradient
+ id="linearGradient4417">
+ <stop
+ style="stop-color:#333333;stop-opacity:1;"
+ offset="0"
+ id="stop4419" />
+ <stop
+ style="stop-color:#6e96c1;stop-opacity:1"
+ offset="1"
+ id="stop4421" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-5"
+ id="linearGradient22552"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-5">
+ <stop
+ id="stop4136-4-7-1-43"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02-2" />
+ <stop
+ id="stop4138-2-3-6-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8-3"
+ id="linearGradient22554"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-8-3">
+ <stop
+ id="stop4208-5-9-9-4"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6-1"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2-1"
+ id="linearGradient22556"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-2-1"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8-7"
+ id="linearGradient22558"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-8-7">
+ <stop
+ id="stop7212-33-6-4"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6-27"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1-7"
+ id="linearGradient22560"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6-1-7"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6-9"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7-3"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4409"
+ id="linearGradient14805"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-9.402963)"
+ x1="23.710672"
+ y1="25.234375"
+ x2="23.710672"
+ y2="43.673359" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4417"
+ id="linearGradient14807"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-9.402963)"
+ x1="23.710672"
+ y1="25.234375"
+ x2="23.710672"
+ y2="43.673359" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4523"
+ id="linearGradient14809"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-3.4691061)"
+ x1="32.778126"
+ y1="21.726969"
+ x2="33.368801"
+ y2="37.633221" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4499"
+ id="linearGradient14811"
+ gradientUnits="userSpaceOnUse"
+ x1="31.480057"
+ y1="30.844528"
+ x2="32.374863"
+ y2="40.750778" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4515"
+ id="radialGradient14813"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.910961,0.03332579,-4.099092e-8,1.3460695,51.082256,-3.4189674)"
+ cx="-54.743732"
+ cy="21.368473"
+ fx="-54.743732"
+ fy="21.368473"
+ r="8.1875" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4507"
+ id="linearGradient14815"
+ gradientUnits="userSpaceOnUse"
+ x1="30.907085"
+ y1="30.457268"
+ x2="30.937366"
+ y2="39.051018" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4409"
+ id="linearGradient14817"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-9.402963)"
+ x1="23.710672"
+ y1="27.421602"
+ x2="23.710672"
+ y2="45.734699" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4523"
+ id="linearGradient14819"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,69.53661,-3.4691061)"
+ x1="32.778126"
+ y1="21.726969"
+ x2="33.368801"
+ y2="37.633221" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4499"
+ id="linearGradient14821"
+ gradientUnits="userSpaceOnUse"
+ x1="31.480057"
+ y1="30.844528"
+ x2="32.374863"
+ y2="40.750778" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4515"
+ id="radialGradient14823"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.910961,0.03332579,-4.099092e-8,1.3460695,51.082256,-3.4189674)"
+ cx="-54.743732"
+ cy="21.368473"
+ fx="-54.743732"
+ fy="21.368473"
+ r="8.1875" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4507"
+ id="linearGradient14825"
+ gradientUnits="userSpaceOnUse"
+ x1="30.907085"
+ y1="30.457268"
+ x2="30.937366"
+ y2="39.051018" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-0"
+ id="linearGradient9602-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-0">
+ <stop
+ id="stop4136-4-7-3-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-6" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-2" />
+ <stop
+ id="stop4138-2-3-4"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-5"
+ id="linearGradient9604-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-5">
+ <stop
+ id="stop4208-5-9-8"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-8"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-1"
+ id="linearGradient9606-7"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-1"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-4"
+ id="linearGradient9608-3"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-4">
+ <stop
+ id="stop7212-33-9"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-2-0"
+ id="linearGradient9610-0"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6-2-0"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20490"
+ id="linearGradient9612"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,120.12809,-4.1871001)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.581718"
+ y2="19.79685" />
+ <linearGradient
+ id="linearGradient20490">
+ <stop
+ id="stop20492"
+ offset="0"
+ style="stop-color:#4dbb14;stop-opacity:1" />
+ <stop
+ id="stop20494"
+ offset="1"
+ style="stop-color:#99ea58;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient21771"
+ id="linearGradient9614"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,120.12809,-4.1871001)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ id="linearGradient21771">
+ <stop
+ id="stop21773"
+ offset="0"
+ style="stop-color:#7ad73c;stop-opacity:1" />
+ <stop
+ id="stop21775"
+ offset="1"
+ style="stop-color:#52be18;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20502"
+ id="linearGradient9616"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,120.12809,-4.1871001)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient20502">
+ <stop
+ style="stop-color:#98ea57;stop-opacity:1"
+ offset="0"
+ id="stop20504" />
+ <stop
+ style="stop-color:#60a81a;stop-opacity:1"
+ offset="1"
+ id="stop20506" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9-1"
+ id="linearGradient9618"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91004274,0.01398398,-0.01435387,0.93411362,120.29077,-4.7056724)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-9-1">
+ <stop
+ id="stop7723-2-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient9620"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6474497,0.04068148,-0.00509958,0.33186783,222.65672,10.870257)"
+ x1="-60.134838"
+ y1="70.540863"
+ x2="-60.135002"
+ y2="32.559666" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-38" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-2" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient9622"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.87658866,-1.8443545,0.36168137,-0.17190071,5.515756,-88.361616)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient9624"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.14875277,-2.0366452,-0.39938996,-0.02917073,84.026391,-103.16204)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-48"
+ id="linearGradient9626"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.38087698,0,0,0.35432336,78.684959,0.87746894)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ id="linearGradient3957-48">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-3" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-01" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20490-4"
+ id="linearGradient9612-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,120.12809,-4.1871001)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.581718"
+ y2="19.79685" />
+ <linearGradient
+ id="linearGradient20490-4">
+ <stop
+ id="stop20492-3"
+ offset="0"
+ style="stop-color:#4dbb14;stop-opacity:1" />
+ <stop
+ id="stop20494-5"
+ offset="1"
+ style="stop-color:#99ea58;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient21771-2"
+ id="linearGradient9614-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,120.12809,-4.1871001)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ id="linearGradient21771-2">
+ <stop
+ id="stop21773-6"
+ offset="0"
+ style="stop-color:#7ad73c;stop-opacity:1" />
+ <stop
+ id="stop21775-8"
+ offset="1"
+ style="stop-color:#52be18;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20502-2"
+ id="linearGradient9616-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,120.12809,-4.1871001)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient20502-2">
+ <stop
+ style="stop-color:#98ea57;stop-opacity:1"
+ offset="0"
+ id="stop20504-9" />
+ <stop
+ style="stop-color:#60a81a;stop-opacity:1"
+ offset="1"
+ id="stop20506-5" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9-1-4"
+ id="linearGradient9618-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91004274,0.01398398,-0.01435387,0.93411362,120.29077,-4.7056724)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-9-1-4">
+ <stop
+ id="stop7723-2-7-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-0-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7-8"
+ id="linearGradient9620-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6474497,0.04068148,-0.00509958,0.33186783,222.65672,10.870257)"
+ x1="-60.134838"
+ y1="70.540863"
+ x2="-60.135002"
+ y2="32.559666" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-7-8">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-38-8" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-2-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7-8"
+ id="linearGradient9622-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.87658866,-1.8443545,0.36168137,-0.17190071,5.515756,-88.361616)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7-8"
+ id="linearGradient9624-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.14875277,-2.0366452,-0.39938996,-0.02917073,84.026391,-103.16204)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.14875277,-2.0366452,-0.39938996,-0.02917073,84.026391,-103.16204)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient16256"
+ xlink:href="#linearGradient6817-7-8"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-1-3"
+ id="linearGradient16439"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.38087698,0,0,0.35432336,78.684959,0.87746894)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ id="linearGradient3957-1-3">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-25-4" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-7-3" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-5-1"
+ id="linearGradient24412"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-5-1">
+ <stop
+ id="stop4136-4-7-9"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-7" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-2-7" />
+ <stop
+ id="stop4138-2-3-0"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-86"
+ id="linearGradient24414"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-86">
+ <stop
+ id="stop4208-5-9-7"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-08"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-8"
+ id="linearGradient24416"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-8"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-6"
+ id="linearGradient24418"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-6">
+ <stop
+ id="stop7212-33-20"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-2"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-4"
+ id="linearGradient24420"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6-4"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-83"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10197-6"
+ id="linearGradient24422"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,220.14387,8.0702099)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.581718"
+ y2="19.79685" />
+ <linearGradient
+ id="linearGradient10197-6">
+ <stop
+ style="stop-color:#ca1c0a;stop-opacity:1"
+ offset="0"
+ id="stop10199-3" />
+ <stop
+ style="stop-color:#f05034;stop-opacity:1"
+ offset="1"
+ id="stop10201-4" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10203-8"
+ id="linearGradient24424"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,220.14387,8.0702099)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ id="linearGradient10203-8">
+ <stop
+ id="stop10205-8"
+ offset="0"
+ style="stop-color:#e13c24;stop-opacity:1" />
+ <stop
+ id="stop10207-3"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10209-7"
+ id="linearGradient24426"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,220.14387,8.0702099)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient10209-7">
+ <stop
+ id="stop10211-3"
+ offset="0"
+ style="stop-color:#e64229;stop-opacity:1" />
+ <stop
+ id="stop10213-5"
+ offset="1"
+ style="stop-color:#cc1f0d;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9-1-40"
+ id="linearGradient24428"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91004274,0.01398398,-0.01435387,0.93411362,220.30655,7.5516376)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-9-1-40">
+ <stop
+ id="stop7723-2-7-9"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-0-4"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7-0"
+ id="linearGradient24430"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6474497,0.04068148,-0.00509958,0.33186783,322.6725,23.127567)"
+ x1="-60.134838"
+ y1="70.540863"
+ x2="-60.225922"
+ y2="23.254047" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-7-0">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-38-6" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-2-2" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7-0"
+ id="linearGradient24432"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.87658866,-1.8443545,0.36168137,-0.17190071,105.53154,-76.104306)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7-0"
+ id="linearGradient24434"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.14875277,-2.0366452,-0.39938996,-0.02917073,184.04217,-90.904731)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11503-8"
+ id="linearGradient24436"
+ gradientUnits="userSpaceOnUse"
+ x1="31.542158"
+ y1="27.633146"
+ x2="39.232777"
+ y2="40.738911" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient11503-8">
+ <stop
+ style="stop-color:#ef2929"
+ offset="0"
+ id="stop11505-6" />
+ <stop
+ style="stop-color:#cc0000"
+ offset="1"
+ id="stop11507-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-4-4"
+ id="linearGradient24438"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.509273,0,0,0.473768,23.78749,24.00915)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ id="linearGradient3957-4-4">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-2-8" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-0-8" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7311"
+ xlink:href="#linearGradient6924-6-4"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11503-8-2"
+ id="linearGradient10186"
+ gradientUnits="userSpaceOnUse"
+ x1="31.542158"
+ y1="27.633146"
+ x2="39.232777"
+ y2="40.738911" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient11503-8-2">
+ <stop
+ style="stop-color:#ef2929"
+ offset="0"
+ id="stop11505-6-4" />
+ <stop
+ style="stop-color:#cc0000"
+ offset="1"
+ id="stop11507-7-5" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-4-5"
+ id="linearGradient10188"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.509273,0,0,0.473768,23.78749,24.00915)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ id="linearGradient3957-4-5">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-2-1" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-0-7" />
+ </linearGradient>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="5.6568542"
+ inkscape:cx="-2.9690127"
+ inkscape:cy="24.028461"
+ inkscape:current-layer="g6615"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1280"
+ inkscape:window-height="726"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata3378">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g7697"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-0"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-1"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-3"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g6615"
+ transform="translate(-95.5,0)">
+ <g
+ transform="matrix(-1.1587832,0,0,1.1525756,303.96805,-13.576042)"
+ id="g21727">
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path21671"
+ d="m 145.52989,27.793162 0.0371,7.30215 20.44526,3.589106 0.12181,-7.865513 z"
+ style="fill:url(#linearGradient24422);fill-opacity:1;stroke:none" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path21673"
+ d="m 145.52409,27.795211 8.14425,-3.354298 20.08286,2.920461 -7.6184,3.460248 z"
+ style="fill:url(#linearGradient24424);fill-opacity:1;stroke:none" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path21675"
+ d="m 166.12008,30.824956 -0.085,7.896819 7.27053,-4.892126 0.39827,-6.510014 z"
+ style="fill:url(#linearGradient24426);fill-opacity:1;stroke:none" />
+ <path
+ sodipodi:nodetypes="ccccccccccccccc"
+ inkscape:connector-curvature="0"
+ id="path21677"
+ d="m 153.66438,25.02508 c -2.66643,1.074217 -7.32161,2.796413 -7.32161,2.796413 l 0.007,7.017683 19.71847,3.95873 6.77264,-4.707984 0.15268,-6.238945 c 0,0 -13.41372,-2.731117 -19.32909,-2.825895 z m 0.0979,0.544614 18.40297,2.436419 -0.0738,5.846804 -6.00725,3.776425 -18.74242,-3.469609 0.0867,-6.320942 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.41150441;color:#000000;fill:url(#linearGradient24428);fill-opacity:1;stroke:none;stroke-width:1.53600001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <path
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0"
+ id="path21679"
+ d="m 166.079,30.820784 -0.13165,8.30955"
+ style="opacity:0.37168142;fill:#cedcc2;fill-opacity:1;stroke:url(#linearGradient24430);stroke-width:0.9374491px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="ccccccccccccccccc"
+ inkscape:connector-curvature="0"
+ id="path21681"
+ d="m 153.64666,24.402076 c 0,0 -5.31325,1.954668 -7.88129,3.047675 l -0.24781,0.09011 0,0.270339 0.0451,7.389259 20.6208,4.033511 7.49315,-4.875522 0.0873,-7.075886 -20.11718,-2.87949 z m 0.0505,0.617405 19.30082,2.847517 -0.0873,6.268968 -6.9074,4.30852 -19.65048,-3.605476 -0.01,-7.017191 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;color:#000000;fill:#840100;fill-opacity:1;stroke:#840100;stroke-width:0.13527358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0"
+ id="path21683"
+ d="m 171.841,27.965939 -6.22788,2.836559 0.91532,0.0092 -0.002,0.231976 5.63042,-2.700313 -0.005,-0.346342 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.5;color:#000000;fill:url(#linearGradient24432);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25439572px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <path
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;opacity:0.5;color:#000000;fill:url(#linearGradient24434);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25439572px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+ d="m 148.22573,27.608798 17.80115,3.017916 -0.40616,0.180949 -0.009,0.38622 -18.12861,-2.83368 0.0446,-0.458495 z"
+ id="path21685"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" />
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/offline_brick_alert.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/offline_brick_alert.svg
new file mode 100644
index 00000000..5bc030db
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/offline_brick_alert.svg
@@ -0,0 +1,713 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ sodipodi:docname="brick.svg"
+ inkscape:version="0.48.1 "
+ sodipodi:version="0.32"
+ id="svg11300"
+ height="48px"
+ width="48px"
+ inkscape:export-filename="/home/jimmac/Desktop/wi-fi.png"
+ inkscape:export-xdpi="90.000000"
+ inkscape:export-ydpi="90.000000"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs3">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient15423">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop15425" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop15427" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6807">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="0"
+ id="stop6809" />
+ <stop
+ style="stop-color:#356a04;stop-opacity:1"
+ offset="1"
+ id="stop6811" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488">
+ <stop
+ id="stop6490"
+ offset="0"
+ style="stop-color:#3a7304;stop-opacity:1" />
+ <stop
+ id="stop6492"
+ offset="1"
+ style="stop-color:#6dcc11;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367">
+ <stop
+ style="stop-color:#66bd11;stop-opacity:1"
+ offset="0"
+ id="stop6369" />
+ <stop
+ style="stop-color:#3b7504;stop-opacity:1"
+ offset="1"
+ id="stop6371" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359">
+ <stop
+ style="stop-color:#3c7604;stop-opacity:1"
+ offset="0"
+ id="stop6361" />
+ <stop
+ style="stop-color:#67bf11;stop-opacity:1"
+ offset="1"
+ id="stop6363" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6351">
+ <stop
+ style="stop-color:#3a7304;stop-opacity:1"
+ offset="0"
+ id="stop6353" />
+ <stop
+ style="stop-color:#67bf11;stop-opacity:1"
+ offset="1"
+ id="stop6355" />
+ </linearGradient>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective24" />
+ <linearGradient
+ id="linearGradient1442">
+ <stop
+ id="stop1444"
+ offset="0"
+ style="stop-color:#73d216" />
+ <stop
+ id="stop1446"
+ offset="1.0000000"
+ style="stop-color:#4e9a06" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5048-8">
+ <stop
+ id="stop5050-4"
+ offset="0"
+ style="stop-color:black;stop-opacity:0;" />
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0.5"
+ id="stop5056-6" />
+ <stop
+ id="stop5052-2"
+ offset="1"
+ style="stop-color:black;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1789-2">
+ <stop
+ id="stop1790-0"
+ offset="0.0000000"
+ style="stop-color:#202020;stop-opacity:1.0000000;" />
+ <stop
+ id="stop1791-9"
+ offset="1.0000000"
+ style="stop-color:#b9b9b9;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3096-0">
+ <stop
+ style="stop-color:#424242;stop-opacity:1;"
+ offset="0"
+ id="stop3098-7" />
+ <stop
+ style="stop-color:#777777;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop3100-2" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3983-4">
+ <stop
+ id="stop3984-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.87628865;" />
+ <stop
+ id="stop3985-0"
+ offset="1.0000000"
+ style="stop-color:#fffffe;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9766-1">
+ <stop
+ id="stop9768-3"
+ offset="0"
+ style="stop-color:#6194cb;stop-opacity:1;" />
+ <stop
+ id="stop9770-9"
+ offset="1"
+ style="stop-color:#729fcf;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.5,0,20)"
+ r="17.142857"
+ fy="40"
+ fx="23.857143"
+ cy="40"
+ cx="23.857143"
+ id="radialGradient4132"
+ xlink:href="#linearGradient4126"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4126"
+ inkscape:collect="always">
+ <stop
+ id="stop4128"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop4130"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134">
+ <stop
+ id="stop4136"
+ offset="0.0000000"
+ style="stop-color:#7e807a;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#babbb8;stop-opacity:1.0000000;"
+ offset="0.25000000"
+ id="stop4148" />
+ <stop
+ style="stop-color:#a5a6a3;stop-opacity:1.0000000;"
+ offset="0.50000000"
+ id="stop4142" />
+ <stop
+ id="stop4138"
+ offset="1.0000000"
+ style="stop-color:#333432;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206">
+ <stop
+ id="stop4208"
+ offset="0.0000000"
+ style="stop-color:#7d4b01;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4210"
+ offset="1.0000000"
+ style="stop-color:#535353;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4162">
+ <stop
+ id="stop4164"
+ offset="0.0000000"
+ style="stop-color:#f79403;stop-opacity:1.0000000;" />
+ <stop
+ style="stop-color:#fdb343;stop-opacity:1.0000000;"
+ offset="0.18691589"
+ id="stop4170" />
+ <stop
+ id="stop4172"
+ offset="0.43008122"
+ style="stop-color:#fdb74f;stop-opacity:1.0000000;" />
+ <stop
+ id="stop4166"
+ offset="1.0000000"
+ style="stop-color:#8f5601;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6932">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop6934" />
+ <stop
+ style="stop-color:#e7e6ae;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop6936" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient18457">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop18459" />
+ <stop
+ style="stop-color:#e7e6ae;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop18461" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6359"
+ id="linearGradient18765"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.2592685,149.05613,1.2101819)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488"
+ id="linearGradient18769"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.2592685,149.05613,-9.1411511)"
+ x1="-60.01569"
+ y1="39.306713"
+ x2="-80.529015"
+ y2="22.945917" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6359"
+ id="linearGradient18771"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.2592685,149.05613,-9.1411511)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6367"
+ id="linearGradient18773"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2592685,0,0,1.2592685,149.05613,-9.1411511)"
+ x1="-61.079266"
+ y1="23.91073"
+ x2="-45.920662"
+ y2="27.888205" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6807"
+ id="linearGradient18775"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2625135,0,0,1.2959074,149.2707,-9.8638701)"
+ x1="-85.607483"
+ y1="17.738201"
+ x2="-36.531059"
+ y2="44.132229" />
+ <linearGradient
+ id="linearGradient6351-0">
+ <stop
+ style="stop-color:#3a7304;stop-opacity:1"
+ offset="0"
+ id="stop6353-2" />
+ <stop
+ style="stop-color:#67bf11;stop-opacity:1"
+ offset="1"
+ id="stop6355-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-9">
+ <stop
+ style="stop-color:#3c7604;stop-opacity:1"
+ offset="0"
+ id="stop6361-0" />
+ <stop
+ style="stop-color:#67bf11;stop-opacity:1"
+ offset="1"
+ id="stop6363-1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-0">
+ <stop
+ style="stop-color:#66bd11;stop-opacity:1"
+ offset="0"
+ id="stop6369-2" />
+ <stop
+ style="stop-color:#3b7504;stop-opacity:1"
+ offset="1"
+ id="stop6371-9" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient18810">
+ <stop
+ style="stop-color:#3a7304;stop-opacity:1"
+ offset="0"
+ id="stop18812" />
+ <stop
+ style="stop-color:#67bf11;stop-opacity:1"
+ offset="1"
+ id="stop18814" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient18817">
+ <stop
+ style="stop-color:#3c7604;stop-opacity:1"
+ offset="0"
+ id="stop18819" />
+ <stop
+ style="stop-color:#67bf11;stop-opacity:1"
+ offset="1"
+ id="stop18821" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient18824">
+ <stop
+ style="stop-color:#66bd11;stop-opacity:1"
+ offset="0"
+ id="stop18826" />
+ <stop
+ style="stop-color:#3b7504;stop-opacity:1"
+ offset="1"
+ id="stop18828" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-0">
+ <stop
+ id="stop6490-8"
+ offset="0"
+ style="stop-color:#3a7304;stop-opacity:1" />
+ <stop
+ id="stop6492-9"
+ offset="1"
+ style="stop-color:#6dcc11;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient18835">
+ <stop
+ style="stop-color:#3c7604;stop-opacity:1"
+ offset="0"
+ id="stop18837" />
+ <stop
+ style="stop-color:#67bf11;stop-opacity:1"
+ offset="1"
+ id="stop18839" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient18842">
+ <stop
+ style="stop-color:#66bd11;stop-opacity:1"
+ offset="0"
+ id="stop18844" />
+ <stop
+ style="stop-color:#3b7504;stop-opacity:1"
+ offset="1"
+ id="stop18846" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817"
+ id="linearGradient19572"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.2551236,-2.5394091,0.49798288,-0.24613213,-11.703445,-123.44722)"
+ x1="-60.693653"
+ y1="43.615685"
+ x2="-60.739853"
+ y2="22.826736" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817"
+ id="linearGradient19576"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.16291119,-2.8279664,-0.55456952,-0.03194723,96.874184,-145.64847)"
+ x1="-60.888218"
+ y1="67.751678"
+ x2="-60.739853"
+ y2="22.826736" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817"
+ id="linearGradient4701"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3076164,0,0,1.3076164,151.78565,-10.281384)"
+ x1="-60.1875"
+ y1="58.0625"
+ x2="-61.1875"
+ y2="18.5625" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3805"
+ id="radialGradient3633"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-5.4642997,-3.2465757e-8,0,-2.4610411,171.31008,24.972619)"
+ cx="11.025476"
+ cy="7.4328628"
+ fx="11.025476"
+ fy="7.4328628"
+ r="3.4126534" />
+ <linearGradient
+ id="linearGradient3805">
+ <stop
+ id="stop3807"
+ offset="0"
+ style="stop-color:#ff8867;stop-opacity:1;" />
+ <stop
+ id="stop3809"
+ offset="1"
+ style="stop-color:#cc0000;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11503-8"
+ id="linearGradient17098"
+ gradientUnits="userSpaceOnUse"
+ x1="31.542158"
+ y1="27.633146"
+ x2="39.232777"
+ y2="40.738911" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient11503-8">
+ <stop
+ style="stop-color:#ef2929"
+ offset="0"
+ id="stop11505-6" />
+ <stop
+ style="stop-color:#cc0000"
+ offset="1"
+ id="stop11507-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-4"
+ id="linearGradient17100"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.509273,0,0,0.473768,23.78749,24.00915)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ id="linearGradient3957-4">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-2" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15423"
+ id="linearGradient15429"
+ x1="111.08561"
+ y1="-32.077675"
+ x2="111.16148"
+ y2="35.495441"
+ gradientUnits="userSpaceOnUse" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-y="-8"
+ inkscape:window-x="-8"
+ inkscape:window-height="838"
+ inkscape:window-width="1600"
+ inkscape:showpageshadow="false"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ showgrid="false"
+ inkscape:current-layer="g19006"
+ inkscape:cy="16.627412"
+ inkscape:cx="33.578938"
+ inkscape:zoom="1"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="0.25490196"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ fill="#4e9a06"
+ stroke="#4e9a06"
+ inkscape:window-maximized="1"
+ showguides="false"
+ inkscape:guide-bbox="true">
+ <sodipodi:guide
+ orientation="0,1"
+ position="53.75,63.5"
+ id="guide18739" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:title></dc:title>
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>go</rdf:li>
+ <rdf:li>lower</rdf:li>
+ <rdf:li>down</rdf:li>
+ <rdf:li>arrow</rdf:li>
+ <rdf:li>pointer</rdf:li>
+ <rdf:li>&gt;</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <dc:contributor>
+ <cc:Agent>
+ <dc:title>Andreas Nilsson</dc:title>
+ </cc:Agent>
+ </dc:contributor>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ inkscape:label="Layer 1"
+ id="layer1">
+ <g
+ id="g6867">
+ <g
+ transform="matrix(0.97573585,0,0,0.97573585,97.72645,0.08879789)"
+ id="g6825">
+ <g
+ id="g18741"
+ transform="matrix(1.1601271,0,0,1.1601271,14.0986,-0.3151082)">
+ <g
+ id="g19006"
+ transform="translate(-143.11238,-0.55213107)">
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path6458"
+ d="m 45.975097,30.173574 17.895456,-4.72919 21.729141,-0.07904 -10.96161,5.656956 z"
+ style="fill:url(#linearGradient18765);fill-opacity:1;stroke:none" />
+ <path
+ style="fill:url(#linearGradient18769);fill-opacity:1;stroke:none"
+ d="m 45.988016,19.804519 0,10.130362 28.751189,1.468976 -0.158139,-11.066262 z"
+ id="path5569"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:url(#linearGradient18771);fill-opacity:1;stroke:none"
+ d="M 45.980011,19.807485 57.021665,14.763477 86.368978,15.973328 74.578943,20.34139 z"
+ id="path5571"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="fill:url(#linearGradient18773);fill-opacity:1;stroke:none"
+ d="m 74.561362,20.346284 0.12765,11.053685 11.18606,-6.284761 0.206623,-9.088337 z"
+ id="path5573"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccc" />
+ <path
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.7522124;color:#000000;fill:url(#linearGradient18775);fill-opacity:1;stroke:none;stroke-width:1.53600001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+ d="m 57.211426,15.865066 c -3.675387,1.54675 -7.253333,2.763201 -10.428502,4.13983 0.04504,10.862047 0.0717,-0.304471 0.07019,9.277997 l 0,0.739662 0.720602,0.03216 c 9.003583,0.30778 18.075547,1.085135 27.079889,1.361156 3.562748,-2.129314 10.151752,-5.76997 10.151752,-5.76997 0,0 -0.03225,0.412259 -0.02564,-9.289081 C 75.641044,16.145474 65.41798,15.870451 57.211426,15.865066 z m 0.147359,0.680081 25.812582,0.607531 c 0.07788,9.21881 0.0076,-2.799025 0.09997,7.589309 l -8.620422,5.025156 -25.986537,-1.20431 -0.03974,-8.583675 z"
+ id="path6805"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccccccccccc" />
+ <path
+ style="opacity:0.70796461;fill:#cedcc2;fill-opacity:1;stroke:url(#linearGradient4701);stroke-width:1.30761635px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 74.500696,20.344991 -0.0041,9.40464"
+ id="path6815"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cc" />
+ <path
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#2b5603;fill-opacity:1;stroke:none;stroke-width:1.70742929;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+ d="m 85.581122,15.018191 -28.46603,-0.682587 c -0.106851,0.0011 -0.213471,0.02299 -0.3125,0.06427 l -11.12772,4.303646 c -0.318722,0.133588 -0.540061,0.481685 -0.53125,0.835489 8.69e-4,3.450201 0,-1.681444 0,1.543543 -1.91e-4,0.01071 -1.91e-4,0.02142 0,0.03214 0.06644,1.362787 0.07971,3.92099 0.0625,6.169771 -0.01721,2.248782 -0.0625,4.743886 -0.0625,4.434524 l 0,-0.839161 c 0.0046,0.442424 0.382728,0.846247 0.8125,0.867624 l 28.78125,1.418711 c 0.150685,0.0083 0.303385,-0.02526 0.4375,-0.0964 l 10.875,-6.095404 c 0.274456,-0.157247 0.45053,-0.480562 0.4375,-0.803356 -0.139056,-11.398711 -0.03125,-10.253039 -0.03125,-10.253039 0.0116,-0.474268 -0.413782,-0.911688 -0.875,-0.899771 z m -0.84375,1.394784 c -0.0048,1.075601 -0.09556,-1.996134 0.03125,9.276001 l -10.053413,5.697443 -27.884087,-1.342092 0,1.674649 c 0,0.112423 0.04521,-2.143164 0.0625,-4.40239 0.01712,-2.236174 0.0069,-4.75904 -0.0625,-6.234039 0,-0.01949 0,-0.04473 0,-0.06427 10e-6,-3.038207 6.46e-4,2.233558 0,-1.058048 l 10.40625,-4.113408 z"
+ id="path6498"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="cccccccssccccccccccccsscsccc" />
+ <path
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.83628319;color:#000000;fill:url(#linearGradient19572);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25439572px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+ d="m 82.423759,17.140214 -8.566013,3.185728 1.269725,-0.0069 0.0019,0.321791 8.003261,-3.003952 -4.21e-4,-0.488424 z"
+ id="path19564"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0"
+ id="path19574"
+ d="m 49.723171,19.491353 24.704708,0.58196 -0.559498,0.25963 -0.0035,0.53587 -25.154943,-0.319451 0.05199,-0.636873 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.79646014;color:#000000;fill:url(#linearGradient19576);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25439572px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <g
+ transform="matrix(2.0653327,0,0,2.0653327,-155.36829,1.4802006)"
+ id="g3568">
+ <path
+ sodipodi:nodetypes="ccscccssccc"
+ inkscape:connector-curvature="0"
+ style="fill:url(#radialGradient3633);fill-opacity:1;fill-rule:nonzero;stroke:#760000;stroke-width:0.5302698;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 115.17086,14.212738 -3.62872,-7.0680146 c -0.10427,-0.1894281 -0.29196,-0.2946651 -0.50051,-0.2946651 -0.20855,0 -0.39624,0.1262851 -0.50051,0.315713 l -3.5453,7.0680127 c -0.0834,0.168381 -0.0834,0.399905 0.0209,0.568283 0.10428,0.168382 0.27111,0.252573 0.47966,0.252573 l 7.17401,0 c 0.20855,0 0.39624,-0.105244 0.47966,-0.273619 0.10427,-0.168381 0.10427,-0.378856 0.0209,-0.568283 z"
+ id="path3570"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path3572"
+ d="m 111.03193,11.674284 c 0,0 0.60109,-0.0023 0.68992,0.0056 l 3.6e-4,-1.9568264 c -0.26354,0.00624 -0.90352,-0.00178 -1.16708,0.00111 10e-4,0.6155764 -0.004,1.3180324 -0.0137,1.9501174 z"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#760000;stroke-width:0.13815756;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ sodipodi:nodetypes="cccccc" />
+ <path
+ sodipodi:nodetypes="cccccc"
+ style="fill:#ffffff;fill-opacity:1;fill-rule:evenodd;stroke:#760000;stroke-width:0.13815756;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 111.03193,13.75418 c 0,0 0.60109,-0.0013 0.68992,0.0031 l 3.6e-4,-1.103833 c -0.26354,0.0036 -0.90352,-10e-4 -1.16708,6.28e-4 10e-4,0.347243 -0.004,0.743494 -0.0137,1.100049 z"
+ id="path3574"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path15417"
+ d="m 114.24513,13.474328 -2.80216,-5.5145147 c -0.0807,-0.1465266 -0.32026,-0.6390759 -0.39662,-0.6390759 -0.1,0 -0.29704,0.5088303 -0.37769,0.6553569 L 107.6711,13.93956 c -0.0645,0.130246 -0.30079,0.526723 -0.27208,0.590805 0.0287,0.06881 0.49799,0.04414 0.65931,0.04414 l 6.05019,0 c 0.16131,0 0.59242,0.04151 0.6333,-0.03207 0.0662,-0.09158 -0.28379,-0.733176 -0.49669,-1.068107 z"
+ style="fill:none;stroke:url(#linearGradient15429);stroke-width:0.4101747;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccscccsscc" />
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/offline_server.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/offline_server.svg
new file mode 100644
index 00000000..f1f50c40
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/offline_server.svg
@@ -0,0 +1,838 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48px"
+ height="48px"
+ id="svg3809"
+ version="1.1"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="New document 8">
+ <defs
+ id="defs3811">
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2253"
+ id="linearGradient1413"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.104397,0.905471)"
+ x1="10.390738"
+ y1="5.3817744"
+ x2="32.536823"
+ y2="31.246054" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2752"
+ id="linearGradient1411"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(2.309851,0.432928)"
+ x1="8.1134243"
+ y1="88.509071"
+ x2="8.1134233"
+ y2="100.20015" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2752"
+ id="linearGradient1409"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(2.309851,0.432928)"
+ x1="8.1134243"
+ y1="88.509071"
+ x2="8.1134233"
+ y2="100.20015" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2985"
+ id="linearGradient2991"
+ gradientTransform="scale(1.492875,0.669848)"
+ x1="-23.885700"
+ y1="49.953003"
+ x2="-23.885700"
+ y2="44.878883"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2245"
+ id="linearGradient2981"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.129863,0.885063)"
+ x1="18.316999"
+ y1="48.643234"
+ x2="18.176752"
+ y2="52.536461" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2253"
+ id="linearGradient2979"
+ gradientTransform="scale(1.104397,0.905471)"
+ x1="10.390738"
+ y1="5.3817744"
+ x2="32.536823"
+ y2="31.246054"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2752"
+ id="linearGradient2758"
+ gradientTransform="scale(2.309851,0.432928)"
+ x1="8.1134243"
+ y1="88.509071"
+ x2="8.1134233"
+ y2="100.20015"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2635"
+ id="linearGradient2741"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.143634,0,0,0.466498,1,-0.508826)"
+ x1="13.628710"
+ y1="101.28460"
+ x2="8.6485014"
+ y2="74.098007" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient2733"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient2729"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient2725"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient2721"
+ gradientUnits="userSpaceOnUse"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2711"
+ id="linearGradient2717"
+ x1="34.300991"
+ y1="3.9384086"
+ x2="35.520542"
+ y2="3.8451097"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2701"
+ id="linearGradient2707"
+ gradientTransform="scale(1.816345,0.550556)"
+ x1="12.206709"
+ y1="53.535141"
+ x2="12.127711"
+ y2="64.892525"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2683"
+ id="linearGradient2689"
+ gradientTransform="matrix(5.705159,0,0,0.17528,1,-0.679373)"
+ x1="3.7069976"
+ y1="171.29134"
+ x2="3.7069974"
+ y2="162.45061"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2675"
+ id="linearGradient2681"
+ gradientTransform="matrix(1.174139,0,0,0.945431,0.721825,-1.331524)"
+ x1="19.150396"
+ y1="32.622238"
+ x2="16.315819"
+ y2="8.8666229"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2667"
+ id="linearGradient2673"
+ gradientTransform="matrix(1.238977,0,0,0.895955,0.590553,-1.331524)"
+ x1="11.492236"
+ y1="1.6537577"
+ x2="17.199417"
+ y2="26.729263"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2454"
+ id="radialGradient2659"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.925808,0.519262)"
+ cx="12.575710"
+ cy="67.501709"
+ fx="12.575710"
+ fy="67.501709"
+ r="8.7662794" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2635"
+ id="linearGradient2655"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(2.143634,0.466498)"
+ x1="13.628710"
+ y1="101.28460"
+ x2="8.6485014"
+ y2="74.098007" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2623"
+ id="linearGradient2653"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="scale(1.983556,0.504145)"
+ x1="10.728384"
+ y1="84.029198"
+ x2="10.728384"
+ y2="92.570930" />
+ <radialGradient
+ r="8.7662794"
+ fy="67.501709"
+ fx="12.575710"
+ cy="67.501709"
+ cx="12.575710"
+ gradientTransform="scale(1.925808,0.519262)"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient2464"
+ xlink:href="#linearGradient2454"
+ inkscape:collect="always" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ r="8.7662794"
+ fy="67.501709"
+ fx="12.575710"
+ cy="67.501709"
+ cx="12.575710"
+ gradientTransform="scale(1.925808,0.519262)"
+ id="radialGradient2460"
+ xlink:href="#linearGradient2454"
+ inkscape:collect="always" />
+ <linearGradient
+ y2="-1.3221773"
+ x2="19.994572"
+ y1="30.078255"
+ x1="21.356108"
+ gradientTransform="matrix(1.027870,0.000000,0.000000,0.822296,1.523986,1.001198)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient2445"
+ xlink:href="#linearGradient2379"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="55.200756"
+ x2="34.974548"
+ y1="13.004725"
+ x1="17.698339"
+ gradientTransform="matrix(1.108069,0,0,0.902471,1,1)"
+ id="linearGradient2421"
+ xlink:href="#linearGradient2415"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="39.031910"
+ x2="27.289009"
+ y1="10.842293"
+ x1="16.119127"
+ gradientTransform="matrix(1.289166,0.000000,0.000000,0.922731,-0.789284,-0.503380)"
+ id="linearGradient2334"
+ xlink:href="#linearGradient2328"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="53.734985"
+ x2="24.418941"
+ y1="9.3235140"
+ x1="16.851954"
+ gradientTransform="matrix(1.208393,0.000000,0.000000,0.984410,-0.789284,-0.503380)"
+ id="linearGradient2313"
+ xlink:href="#linearGradient2307"
+ inkscape:collect="always" />
+ <linearGradient
+ gradientUnits="userSpaceOnUse"
+ y2="33.339787"
+ x2="34.784473"
+ y1="7.2293582"
+ x1="8.6116238"
+ gradientTransform="matrix(1.129863,0,0,0.885063,-1.625,-1.304372)"
+ id="linearGradient2251"
+ xlink:href="#linearGradient2245"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient2245">
+ <stop
+ id="stop2247"
+ offset="0.0000000"
+ style="stop-color:#dde1d9;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2249"
+ offset="1.0000000"
+ style="stop-color:#cacdc6;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2253">
+ <stop
+ id="stop2255"
+ offset="0.0000000"
+ style="stop-color:#8f8f8f;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2257"
+ offset="1.0000000"
+ style="stop-color:#494949;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2307"
+ inkscape:collect="always">
+ <stop
+ id="stop2309"
+ offset="0"
+ style="stop-color:#5a7aa4;stop-opacity:1;" />
+ <stop
+ id="stop2311"
+ offset="1"
+ style="stop-color:#5a7aa4;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2328"
+ inkscape:collect="always">
+ <stop
+ id="stop2330"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2332"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2379">
+ <stop
+ id="stop2381"
+ offset="0.0000000"
+ style="stop-color:#1a4876;stop-opacity:1.0000000;" />
+ <stop
+ id="stop2383"
+ offset="1.0000000"
+ style="stop-color:#3f54a3;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2415"
+ inkscape:collect="always">
+ <stop
+ id="stop2417"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2419"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2454"
+ inkscape:collect="always">
+ <stop
+ id="stop2456"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop2458"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2623">
+ <stop
+ style="stop-color:#dfdfde;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2625" />
+ <stop
+ style="stop-color:#9d9f9a;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2627" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2635">
+ <stop
+ style="stop-color:#f9fff5;stop-opacity:1;"
+ offset="0"
+ id="stop2637" />
+ <stop
+ style="stop-color:#f9fff5;stop-opacity:0;"
+ offset="1"
+ id="stop2639" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2667">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2669" />
+ <stop
+ style="stop-color:#fcfcff;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop2671" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2675">
+ <stop
+ style="stop-color:#5b5b97;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2677" />
+ <stop
+ style="stop-color:#1b1b43;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2679" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2683">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2685" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop2687" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2691">
+ <stop
+ style="stop-color:#868686;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2693" />
+ <stop
+ style="stop-color:#e9e9e9;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2695" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2701">
+ <stop
+ style="stop-color:#585956;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2703" />
+ <stop
+ style="stop-color:#bbbeb8;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2705" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2711">
+ <stop
+ style="stop-color:#909090;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2713" />
+ <stop
+ style="stop-color:#bebebe;stop-opacity:0.0000000;"
+ offset="1.0000000"
+ id="stop2715" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2752">
+ <stop
+ style="stop-color:#9d9d9d;stop-opacity:1;"
+ offset="0"
+ id="stop2754" />
+ <stop
+ style="stop-color:#b9b9b9;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2756" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2985">
+ <stop
+ style="stop-color:#d8dfd6;stop-opacity:1;"
+ offset="0"
+ id="stop2987" />
+ <stop
+ style="stop-color:#d8dfd6;stop-opacity:0;"
+ offset="1"
+ id="stop2989" />
+ </linearGradient>
+ <inkscape:perspective
+ id="perspective112"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 24 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <linearGradient
+ id="linearGradient5048-8">
+ <stop
+ id="stop5050-4"
+ offset="0"
+ style="stop-color:black;stop-opacity:0;" />
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0.5"
+ id="stop5056-6" />
+ <stop
+ id="stop5052-2"
+ offset="1"
+ style="stop-color:black;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient1789-2">
+ <stop
+ id="stop1790-0"
+ offset="0.0000000"
+ style="stop-color:#202020;stop-opacity:1.0000000;" />
+ <stop
+ id="stop1791-9"
+ offset="1.0000000"
+ style="stop-color:#b9b9b9;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3096-0">
+ <stop
+ style="stop-color:#424242;stop-opacity:1;"
+ offset="0"
+ id="stop3098-7" />
+ <stop
+ style="stop-color:#777777;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop3100-2" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3983-4">
+ <stop
+ id="stop3984-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:0.87628865;" />
+ <stop
+ id="stop3985-0"
+ offset="1.0000000"
+ style="stop-color:#fffffe;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9766-1">
+ <stop
+ id="stop9768-3"
+ offset="0"
+ style="stop-color:#6194cb;stop-opacity:1;" />
+ <stop
+ id="stop9770-9"
+ offset="1"
+ style="stop-color:#729fcf;stop-opacity:1;" />
+ </linearGradient>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="123.80854"
+ inkscape:cy="24.729487"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1600"
+ inkscape:window-height="838"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata3814">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ inkscape:label="Layer 1"
+ id="layer1-2"
+ transform="matrix(1.0625142,0,0,1.0307826,-2.01765,-0.6640928)">
+ <path
+ transform="matrix(1,0,0,1.368932,-1.978553,-13.61713)"
+ d="m 41.10058,35.051105 c 0,2.514001 -7.558406,4.552001 -16.882173,4.552001 -9.323767,0 -16.8821739,-2.038 -16.8821739,-4.552001 0,-2.514 7.5584069,-4.552 16.8821739,-4.552 9.323767,0 16.882173,2.038 16.882173,4.552 z"
+ sodipodi:ry="4.552"
+ sodipodi:rx="16.882174"
+ sodipodi:cy="35.051105"
+ sodipodi:cx="24.218407"
+ id="path2452"
+ style="color:#000000;fill:url(#radialGradient2460);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ transform="translate(57.53339,3.203427)"
+ d="m -26.263968,29.716238 c 0,2.175778 -4.206024,3.939595 -9.394418,3.939595 -5.188394,0 -9.394419,-1.763817 -9.394419,-3.939595 0,-2.175778 4.206025,-3.939595 9.394419,-3.939595 5.188394,0 9.394418,1.763817 9.394418,3.939595 z"
+ sodipodi:ry="3.939595"
+ sodipodi:rx="9.3944187"
+ sodipodi:cy="29.716238"
+ sodipodi:cx="-35.658386"
+ id="path2407"
+ style="color:#000000;fill:#adb0aa;fill-opacity:1;fill-rule:evenodd;stroke:#4b4d4a;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:none;stroke:#7b7f7a;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path1825"
+ sodipodi:cx="-35.658386"
+ sodipodi:cy="29.716238"
+ sodipodi:rx="9.3944187"
+ sodipodi:ry="3.939595"
+ d="m -26.263968,29.716238 c 0,2.175778 -4.206024,3.939595 -9.394418,3.939595 -5.188394,0 -9.394419,-1.763817 -9.394419,-3.939595 0,-2.175778 4.206025,-3.939595 9.394419,-3.939595 5.188394,0 9.394418,1.763817 9.394418,3.939595 z"
+ transform="matrix(0.940273,0,0,0.940273,55.40361,4.271194)" />
+ <path
+ transform="matrix(0.940273,0,0,0.940273,55.40361,3.521194)"
+ d="m -26.263968,29.716238 c 0,2.175778 -4.206024,3.939595 -9.394418,3.939595 -5.188394,0 -9.394419,-1.763817 -9.394419,-3.939595 0,-2.175778 4.206025,-3.939595 9.394419,-3.939595 5.188394,0 9.394418,1.763817 9.394418,3.939595 z"
+ sodipodi:ry="3.939595"
+ sodipodi:rx="9.3944187"
+ sodipodi:cy="29.716238"
+ sodipodi:cx="-35.658386"
+ id="path2983"
+ style="color:#000000;fill:none;stroke:url(#linearGradient2991);stroke-width:0.68065339;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ id="path2411"
+ d="m 25.6875,28.766243 -0.0625,1 c 0,0 4.324108,3.599166 9,4.202507 2.337946,0.30167 4.753675,0.702412 6.75,1.1875 1.996325,0.485088 3.588356,1.119606 4.125,1.65625 0.310411,0.310411 0.451063,0.573639 0.5,0.78125 0.04894,0.207611 0.03822,0.354815 -0.09375,0.5625 -0.263933,0.41537 -1.079857,0.967652 -2.46875,1.40625 C 40.659715,40.439695 35.717076,41 28.875,41 l 0,1 c 6.895998,0 11.863665,-0.527671 14.84375,-1.46875 1.490042,-0.47054 2.524942,-1.015687 3.03125,-1.8125 C 47.003154,38.320344 47.107321,37.830301 47,37.375 46.892679,36.919699 46.615445,36.490445 46.21875,36.09375 45.34118,35.21618 43.681912,34.68731 41.625,34.1875 39.568088,33.68769 37.109264,33.273171 34.75,32.96875 30.031473,32.359908 25.6875,28.766243 25.6875,28.766243 z"
+ style="fill:#d0d0d0;fill-opacity:1;fill-rule:evenodd;stroke:#979797;stroke-width:0.40000001;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1"
+ sodipodi:nodetypes="ccccccccccccccccc"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#radialGradient2464);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path2462"
+ sodipodi:cx="24.218407"
+ sodipodi:cy="35.051105"
+ sodipodi:rx="16.882174"
+ sodipodi:ry="4.552"
+ d="m 41.10058,35.051105 c 0,2.514001 -7.558406,4.552001 -16.882173,4.552001 -9.323767,0 -16.8821739,-2.038 -16.8821739,-4.552001 0,-2.514 7.5584069,-4.552 16.8821739,-4.552 9.323767,0 16.882173,2.038 16.882173,4.552 z"
+ transform="matrix(1,0,0,1.368932,-1.978553,-19.02126)" />
+ <rect
+ style="color:#000000;fill:url(#linearGradient2707);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.60872948;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect2699"
+ width="9.0396729"
+ height="2.7400389"
+ x="17.472397"
+ y="30.703611" />
+ <path
+ sodipodi:nodetypes="cssssssss"
+ id="rect2404"
+ d="m 7.0809024,1.6956221 29.5881946,0 c 0.911342,0 1.624147,0.5834818 1.666752,1.401587 l 1.332044,25.5781139 c 0.05821,1.117735 -0.901056,2.020305 -2.020305,2.020305 l -31.545176,0 c -1.1192491,0 -2.078514,-0.90257 -2.0203052,-2.020305 L 5.4141506,3.0972091 c 0.040284,-0.7735346 0.5475027,-1.401587 1.6667518,-1.401587 z"
+ style="color:#000000;fill:url(#linearGradient2251);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient2979);stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:url(#linearGradient2681);fill-opacity:1;fill-rule:evenodd;stroke:#000079;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ d="m 8.4105348,4.3058272 -1.242195,22.0453168 27.6503892,0 L 33.483712,4.3992558 8.4105348,4.3058272 z"
+ id="path2377"
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path2393"
+ d="m 6.1774331,28.735789 31.4284769,0"
+ style="fill:none;stroke:url(#linearGradient2689);stroke-width:0.99618119;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.24840764"
+ inkscape:connector-curvature="0" />
+ <path
+ style="color:#000000;fill:none;stroke:url(#linearGradient2421);stroke-width:0.99999964;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:0.70063692;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="M 6.9145985,2.7063396 36.760101,2.6685383 c 0.283697,-3.593e-4 0.559302,0.2372498 0.582105,0.6525438 L 38.704098,28.12433 c 0.05804,1.057031 -0.539749,1.785871 -1.598371,1.785871 l -30.5239687,0 c -1.0586228,0 -1.5930144,-0.728791 -1.5358714,-1.785871 L 6.3699773,3.6301633 C 6.4086732,2.9143326 6.5363627,2.7068187 6.9145985,2.7063396 z"
+ id="path2397"
+ sodipodi:nodetypes="cssssssss"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path2443"
+ d="M 8.7115364,4.7463626 7.9090069,22.616693 C 18.953645,20.216063 19.33047,12.124494 33.063039,9.4699426 L 32.901567,4.8124267 8.7115364,4.7463626 z"
+ style="opacity:0.53142856;fill:url(#linearGradient2673);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#radialGradient2659);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path2657"
+ sodipodi:cx="24.218407"
+ sodipodi:cy="35.051105"
+ sodipodi:rx="16.882174"
+ sodipodi:ry="4.552"
+ d="m 41.10058,35.051105 c 0,2.514001 -7.558406,4.552001 -16.882173,4.552001 -9.323767,0 -16.8821739,-2.038 -16.8821739,-4.552001 0,-2.514 7.5584069,-4.552 16.8821739,-4.552 9.323767,0 16.882173,2.038 16.882173,4.552 z"
+ transform="matrix(1.264398,0,0,1.291262,-6.216332,-4.000423)" />
+ <path
+ style="color:#000000;fill:url(#linearGradient2981);fill-opacity:1;fill-rule:evenodd;stroke:url(#linearGradient1413);stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="m 6.4621839,36.817452 31.0024061,0 c 1.119249,0 0.977355,0.271438 1.092227,0.612846 l 2.834646,8.42481 c 0.114872,0.341409 0.02702,0.612846 -1.092227,0.612846 l -36.6716978,0 c -1.1192491,0 -1.2070995,-0.271437 -1.0922275,-0.612846 l 2.8346457,-8.42481 c 0.114872,-0.341409 -0.027022,-0.612846 1.0922275,-0.612846 z"
+ id="path2409"
+ sodipodi:nodetypes="cssssssss"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#7a7d77;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 6.3916892,38.829113 -1.7677669,5.126525 5.4800777,0 0.53033,-2.032932 14.849242,0 0.549679,2.075114 6.167835,0 -1.679378,-5.168707 -24.1300188,0 z"
+ id="path2611"
+ sodipodi:nodetypes="ccccccccc"
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#777874;fill-opacity:1;fill-rule:evenodd;stroke:none"
+ d="m 11.076272,42.27626 -0.441942,1.679379 14.760854,0 -0.441942,-1.767767 -13.87697,0.08839 z"
+ id="path2613"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path2619"
+ d="m 37.592776,38.829114 1.679379,5.038136 -5.480078,-0.08839 -1.502602,-4.861359 5.303301,-0.08839 z"
+ style="color:#000000;fill:#777a75;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:connector-curvature="0" />
+ <path
+ style="color:#000000;fill:url(#linearGradient2758);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="m 37.592776,38.298786 1.679379,5.038136 -5.480078,-0.08839 -1.502602,-4.861359 5.303301,-0.08839 z"
+ id="path2615"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ id="path2617"
+ d="m 6.3916892,38.210397 -1.7677669,5.126525 5.4800777,0 0.53033,-2.032932 14.849242,0 0.549679,2.075114 6.167835,0 -1.679378,-5.168707 -24.1300188,0 z"
+ style="fill:url(#linearGradient1411);fill-opacity:1;fill-rule:evenodd;stroke:none"
+ inkscape:connector-curvature="0" />
+ <path
+ id="path2621"
+ d="m 11.076272,41.745932 -0.441942,1.679379 14.760854,0 -0.441942,-1.767767 -13.87697,0.08839 z"
+ style="color:#000000;fill:url(#linearGradient1409);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.25pt;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ id="path2631"
+ d="m 6.1278189,37.578116 31.8258151,0 2.637179,8.092563 -37.2610701,0 2.798076,-8.092563 z"
+ style="color:#000000;fill:none;stroke:url(#linearGradient2741);stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#linearGradient2717);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.5;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path2709"
+ sodipodi:cx="34.780815"
+ sodipodi:cy="3.9384086"
+ sodipodi:rx="0.83968931"
+ sodipodi:ry="0.83968931"
+ d="m 35.620504,3.9384086 c 0,0.4637476 -0.375941,0.8396893 -0.839689,0.8396893 -0.463747,0 -0.839689,-0.3759417 -0.839689,-0.8396893 0,-0.4637476 0.375942,-0.8396893 0.839689,-0.8396893 0.463748,0 0.839689,0.3759417 0.839689,0.8396893 z"
+ transform="matrix(1.331237,0,0,0.658449,-10.41933,2.853866)" />
+ <path
+ transform="matrix(1.331237,0,0,0.658449,-10.30573,4.959651)"
+ d="m 35.620504,3.9384086 c 0,0.4637476 -0.375941,0.8396893 -0.839689,0.8396893 -0.463747,0 -0.839689,-0.3759417 -0.839689,-0.8396893 0,-0.4637476 0.375942,-0.8396893 0.839689,-0.8396893 0.463748,0 0.839689,0.3759417 0.839689,0.8396893 z"
+ sodipodi:ry="0.83968931"
+ sodipodi:rx="0.83968931"
+ sodipodi:cy="3.9384086"
+ sodipodi:cx="34.780815"
+ id="path2719"
+ style="color:#000000;fill:url(#linearGradient2721);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.5;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#linearGradient2725);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.5;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path2723"
+ sodipodi:cx="34.780815"
+ sodipodi:cy="3.9384086"
+ sodipodi:rx="0.83968931"
+ sodipodi:ry="0.83968931"
+ d="m 35.620504,3.9384086 c 0,0.4637476 -0.375941,0.8396893 -0.839689,0.8396893 -0.463747,0 -0.839689,-0.3759417 -0.839689,-0.8396893 0,-0.4637476 0.375942,-0.8396893 0.839689,-0.8396893 0.463748,0 0.839689,0.3759417 0.839689,0.8396893 z"
+ transform="matrix(1.331237,0,0,0.658449,-10.19213,6.959651)" />
+ <path
+ transform="matrix(1.331237,0,0,0.658449,-10.07853,8.959651)"
+ d="m 35.620504,3.9384086 c 0,0.4637476 -0.375941,0.8396893 -0.839689,0.8396893 -0.463747,0 -0.839689,-0.3759417 -0.839689,-0.8396893 0,-0.4637476 0.375942,-0.8396893 0.839689,-0.8396893 0.463748,0 0.839689,0.3759417 0.839689,0.8396893 z"
+ sodipodi:ry="0.83968931"
+ sodipodi:rx="0.83968931"
+ sodipodi:cy="3.9384086"
+ sodipodi:cx="34.780815"
+ id="path2727"
+ style="color:#000000;fill:url(#linearGradient2729);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.5;marker:none;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:url(#linearGradient2733);fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.5;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="path2731"
+ sodipodi:cx="34.780815"
+ sodipodi:cy="3.9384086"
+ sodipodi:rx="0.83968931"
+ sodipodi:ry="0.83968931"
+ d="m 35.620504,3.9384086 c 0,0.4637476 -0.375941,0.8396893 -0.839689,0.8396893 -0.463747,0 -0.839689,-0.3759417 -0.839689,-0.8396893 0,-0.4637476 0.375942,-0.8396893 0.839689,-0.8396893 0.463748,0 0.839689,0.3759417 0.839689,0.8396893 z"
+ transform="matrix(1.331237,0,0,0.658449,-9.96493,10.95965)" />
+ <path
+ style="font-size:0.9029026px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;writing-mode:lr-tb;text-anchor:start;fill:#4a4a4a;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ d="m 20,27.317666 0.281716,0 c 0.08376,1e-6 0.147985,0.01866 0.19266,0.05599 0.04497,0.03703 0.06745,0.08994 0.06745,0.158714 -1e-6,0.06907 -0.02248,0.122268 -0.06745,0.159595 -0.04467,0.03703 -0.108895,0.05555 -0.19266,0.05555 l -0.111981,0 0,0.22837 -0.169735,0 0,-0.658219 m 0.169735,0.123003 0,0.183843 0.0939,0 c 0.03292,0 0.05834,-0.0079 0.07627,-0.02381 0.01793,-0.01617 0.02689,-0.03894 0.02689,-0.06834 0,-0.02939 -0.009,-0.05202 -0.02689,-0.06789 -0.01793,-0.01587 -0.04335,-0.02381 -0.07627,-0.02381 l -0.0939,0 m 0.792244,-0.0119 c -0.05173,1e-6 -0.09185,0.01911 -0.120358,0.05731 -0.02851,0.03821 -0.04276,0.092 -0.04276,0.161359 0,0.06907 0.01425,0.122709 0.04276,0.160918 0.02851,0.03821 0.06863,0.05731 0.120358,0.05731 0.05202,0 0.09229,-0.0191 0.120799,-0.05731 0.02851,-0.03821 0.04276,-0.09185 0.04276,-0.160918 -10e-7,-0.06936 -0.01425,-0.123149 -0.04276,-0.161359 -0.02851,-0.03821 -0.06878,-0.05731 -0.120799,-0.05731 m 0,-0.123003 c 0.105808,1e-6 0.188692,0.03027 0.248651,0.09082 0.05996,0.06055 0.08994,0.144165 0.08994,0.250855 -1e-6,0.106397 -0.02998,0.189868 -0.08994,0.250414 -0.05996,0.06055 -0.142843,0.09082 -0.248651,0.09082 -0.105515,0 -0.188399,-0.03027 -0.248651,-0.09082 -0.05996,-0.06055 -0.08994,-0.144017 -0.08994,-0.250414 0,-0.10669 0.02998,-0.190309 0.08994,-0.250855 0.06025,-0.06055 0.143136,-0.09082 0.248651,-0.09082 m 0.466441,0.0119 0.189574,0 0.239393,0.451451 0,-0.451451 0.160918,0 0,0.658219 -0.189575,0 -0.239392,-0.451451 0,0.451451 -0.160918,0 0,-0.658219 m 0.663069,0 0.185606,0 0.149896,0.234543 0.149896,-0.234543 0.186048,0 -0.250856,0.380912 0,0.277307 -0.169735,0 0,-0.277307 -0.250855,-0.380912"
+ id="text2735"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ id="g3147"
+ transform="matrix(0.60010708,0,0,0.61562516,10.58204,18.767021)">
+ <rect
+ ry="2.2097087"
+ rx="2.2097087"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ y="27.5"
+ x="28.5"
+ height="19"
+ width="20"
+ id="rect1686"
+ style="color:#000000;fill:#cc0000;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+ <g
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ transform="matrix(0.779029,0,0,0.779029,28.87262,8.175921)"
+ id="g2254">
+ <path
+ inkscape:connector-curvature="0"
+ style="color:#000000;fill:none;stroke:#ffffff;stroke-width:2.56729817;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="M 8,32 18,42"
+ id="path1377"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true" />
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path2252"
+ d="M 18,32 8,42"
+ style="color:#000000;fill:none;stroke:#ffffff;stroke-width:2.56729817;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <rect
+ style="opacity:0.4;color:#000000;fill:none;stroke:#ffffff;stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect2258"
+ width="18.09524"
+ height="17.190477"
+ x="29.452381"
+ y="28.404764"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ rx="1.5847089"
+ ry="1.5847089" />
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/offline_volume.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/offline_volume.svg
new file mode 100644
index 00000000..8146a910
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/offline_volume.svg
@@ -0,0 +1,3171 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48px"
+ height="48px"
+ id="svg3373"
+ version="1.1"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="create_volume.svg">
+ <defs
+ id="defs3375">
+ <linearGradient
+ id="linearGradient11720">
+ <stop
+ style="stop-color:#397303;stop-opacity:1"
+ offset="0"
+ id="stop11722" />
+ <stop
+ style="stop-color:#3a7304;stop-opacity:1"
+ offset="1"
+ id="stop11724" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11703">
+ <stop
+ id="stop11705"
+ offset="0"
+ style="stop-color:#428504;stop-opacity:1" />
+ <stop
+ id="stop11707"
+ offset="1"
+ style="stop-color:#428504;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11691">
+ <stop
+ id="stop11693"
+ offset="0.0000000"
+ style="stop-color:#adff5e;stop-opacity:1" />
+ <stop
+ id="stop11695"
+ offset="1.0000000"
+ style="stop-color:#428504;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6230">
+ <stop
+ style="stop-color:#b4fb71;stop-opacity:1"
+ offset="0"
+ id="stop6232" />
+ <stop
+ style="stop-color:#3fa617;stop-opacity:1"
+ offset="1"
+ id="stop6234" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6214">
+ <stop
+ style="stop-color:#38a111;stop-opacity:1"
+ offset="0"
+ id="stop6216" />
+ <stop
+ style="stop-color:#baff76;stop-opacity:1"
+ offset="1"
+ id="stop6218" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3">
+ <stop
+ id="stop6490-82"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5">
+ <stop
+ id="stop7723-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455"
+ xlink:href="#linearGradient6817-4"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9">
+ <stop
+ id="stop4136-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8" />
+ <stop
+ id="stop4138-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4">
+ <stop
+ id="stop4208-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452">
+ <stop
+ id="stop3454"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458" />
+ <stop
+ id="stop3460"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463">
+ <stop
+ id="stop3465"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210">
+ <stop
+ id="stop7212"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551">
+ <stop
+ id="stop4553"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545">
+ <stop
+ id="stop4547"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721">
+ <stop
+ id="stop7723"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0">
+ <stop
+ id="stop4136-4-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8" />
+ <stop
+ id="stop4138-2-9"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5">
+ <stop
+ id="stop4208-5-7"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3">
+ <stop
+ id="stop7212-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5">
+ <stop
+ id="stop2318-7-1"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9">
+ <stop
+ id="stop2328-8-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3-8">
+ <stop
+ id="stop6490-82-0"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-1"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4-7">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-4" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-6" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09-0">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-7" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5-2">
+ <stop
+ id="stop7723-5-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-7" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-1" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-7"
+ xlink:href="#linearGradient6817-4-5"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-8">
+ <stop
+ id="stop4136-4-2"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-3" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-0" />
+ <stop
+ id="stop4138-2-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-8">
+ <stop
+ id="stop4208-5-8"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-1">
+ <stop
+ id="stop3454-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-2" />
+ <stop
+ id="stop3460-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-3">
+ <stop
+ id="stop3465-3"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-0"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-1">
+ <stop
+ id="stop7212-3"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-9">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-8" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-3">
+ <stop
+ id="stop4553-9"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-3"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-3">
+ <stop
+ id="stop4547-6"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-5"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-4">
+ <stop
+ id="stop7723-0"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-50"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-6">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-2"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-5" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-5">
+ <stop
+ id="stop4136-4-1-2"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-6" />
+ <stop
+ id="stop4138-2-9-7"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-8">
+ <stop
+ id="stop4208-5-7-0"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-0"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-4">
+ <stop
+ id="stop7212-2-3"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-7"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-1">
+ <stop
+ id="stop2318-7-1-8"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-5"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-5">
+ <stop
+ id="stop2328-8-2-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-3"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3-9">
+ <stop
+ id="stop6490-82-08"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-0"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4-5">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-1" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09-9">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-5" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5-6">
+ <stop
+ id="stop7723-5-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-6">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-8" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-9"
+ xlink:href="#linearGradient6817-4-6"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-02">
+ <stop
+ id="stop4136-4-5"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-5" />
+ <stop
+ id="stop4138-2-7"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-4">
+ <stop
+ id="stop4208-5-1"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-7"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-13">
+ <stop
+ id="stop3454-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-5" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-1" />
+ <stop
+ id="stop3460-5"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-5">
+ <stop
+ id="stop3465-1"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-2"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-5">
+ <stop
+ id="stop7212-5"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-38"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-8">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-4" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-2" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-5">
+ <stop
+ id="stop4553-8"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-4"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-9">
+ <stop
+ id="stop4547-4"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-4"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-58">
+ <stop
+ id="stop7723-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-5">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-6"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-9">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-8" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-3" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-7">
+ <stop
+ id="stop4136-4-1-9"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-04" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-8" />
+ <stop
+ id="stop4138-2-9-74"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-2">
+ <stop
+ id="stop4208-5-7-3"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-5"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-5">
+ <stop
+ id="stop7212-2-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-9"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-8">
+ <stop
+ id="stop2318-7-1-7"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-8"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-0">
+ <stop
+ id="stop2328-8-2-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-32"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7"
+ id="linearGradient9924-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ id="linearGradient6488-3-7">
+ <stop
+ id="stop6490-82-6"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-17"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6359-4-0"
+ id="linearGradient9926-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-78.034668"
+ y1="19.883467"
+ x2="-56.572613"
+ y2="25.997072" />
+ <linearGradient
+ id="linearGradient6359-4-0">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-6" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-02" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6367-09-6"
+ id="linearGradient9928-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-66.404778"
+ y1="21.769932"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient6367-09-6">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-0" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-5-0"
+ id="linearGradient9930-2"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2623645,0.01939786,-0.01991094,1.2957544,342.35808,-20.945388)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-5-0">
+ <stop
+ id="stop7723-5-9"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-54"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-4-56"
+ id="linearGradient9932-32"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.672406,0.05643127,-0.00707387,0.46034998,484.35486,0.66073804)"
+ x1="-60.176182"
+ y1="48.328663"
+ x2="-60.225922"
+ y2="23.254047" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-56">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-88" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-4-56"
+ id="linearGradient9934-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.2159587,-2.5583937,0.50170579,-0.23845183,183.14808,-136.98861)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-5"
+ xlink:href="#linearGradient6817-4-56"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-5">
+ <stop
+ id="stop4136-4-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2" />
+ <stop
+ id="stop4138-2-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-7">
+ <stop
+ id="stop4208-5-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4176-3"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6924-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-3">
+ <stop
+ id="stop3454-8"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-50" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-9" />
+ <stop
+ id="stop3460-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-33">
+ <stop
+ id="stop3465-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-29"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-7">
+ <stop
+ id="stop7212-33"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-3">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-2" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-8">
+ <stop
+ id="stop4553-1"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-8"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-2">
+ <stop
+ id="stop4547-8"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-9"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-3">
+ <stop
+ id="stop7723-02"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-8">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-27"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-9" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-50" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-4">
+ <stop
+ id="stop4136-4-1-0"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-5" />
+ <stop
+ id="stop4138-2-9-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-23">
+ <stop
+ id="stop4208-5-7-2"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-9"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-44">
+ <stop
+ id="stop7212-2-9"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-2">
+ <stop
+ id="stop2318-7-1-9"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-3"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-02">
+ <stop
+ id="stop2328-8-2-0"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3612-21"
+ xlink:href="#linearGradient6817-4-56"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient5410"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient5412"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient5414"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient5418"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.724623,-0.46920261)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6220"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6236"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7"
+ id="linearGradient6258"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0296406,0.01582176,-0.01582176,1.0296406,53.400982,-41.023689)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7-9"
+ id="linearGradient6258-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0296406,0.01582176,-0.01582176,1.0296406,53.400982,-41.023689)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ id="linearGradient6488-3-7-9">
+ <stop
+ id="stop6490-82-6-6"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-17-3"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6300"
+ gradientUnits="userSpaceOnUse"
+ x1="24.595747"
+ y1="14.996862"
+ x2="24.595747"
+ y2="4.670352"
+ gradientTransform="translate(79.25,0)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6302"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-127.25,0)"
+ x1="22.807631"
+ y1="14.75276"
+ x2="22.82798"
+ y2="17.890547" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6323"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6325"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6337"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6339"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6364"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6366"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6368"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6370"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6372"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6374"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6391"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6393"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6566">
+ <path
+ sodipodi:nodetypes="sssssss"
+ inkscape:connector-curvature="0"
+ id="path6568"
+ d="m 437.13691,15.625187 c 0,3.922069 -8.57373,7.101535 -19.14997,7.101535 -10.57623,0 -19.14997,-3.179466 -19.14997,-7.101535 0,-2.453312 -2.97639,-9.339638 2.1246,-10.615427 3.05388,-0.763794 13.06472,-4.48610801 17.02537,-4.48610801 4.65593,0 15.23964,3.20196201 18.55878,4.22641201 4.22049,1.302653 0.59119,8.679649 0.59119,10.875123 z"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ clip-path="none" />
+ </clipPath>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient6639"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient6641"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient6643"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient6645"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient6647"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6649"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6651"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6653"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6655"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6657"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6659"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-4"
+ id="linearGradient7322-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-4">
+ <stop
+ id="stop4136-4-75"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-3" />
+ <stop
+ id="stop4138-2-20"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-88"
+ id="linearGradient7324-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-88">
+ <stop
+ id="stop4208-5-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-9"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-0"
+ id="linearGradient7326-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-0"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-9"
+ id="linearGradient7328-7"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-9">
+ <stop
+ id="stop7212-59"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-06"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-7"
+ id="linearGradient7330-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.724623,-0.46920261)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-7"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-69"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4539-1"
+ id="linearGradient7332-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-79.963799"
+ y1="31.954889"
+ x2="-52.985451"
+ y2="21.220755" />
+ <linearGradient
+ id="linearGradient4539-1">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-7" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-9" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4551-59"
+ id="linearGradient7334-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ id="linearGradient4551-59">
+ <stop
+ id="stop4553-0"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-40"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4545-25"
+ id="linearGradient7336-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient4545-25">
+ <stop
+ id="stop4547-80"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-7"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9"
+ id="linearGradient7338-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0222085,0.01570755,-0.01612302,1.0492462,138.00792,5.5809119)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-9">
+ <stop
+ id="stop7723-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-4"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7340-01"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9737564,0.04569561,-0.00572812,0.37277161,252.99081,23.076623)"
+ x1="-60.273727"
+ y1="52.962711"
+ x2="-60.231167"
+ y2="20.531628" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-1">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7342-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.98463104,-2.0716772,0.40625977,-0.19308803,9.0865162,-88.385897)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7344-0"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.16708703,-2.2876683,-0.44861606,-0.03276611,97.273845,-105.01052)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-64">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-3"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5455-2-0"
+ id="linearGradient7346-8"
+ gradientUnits="userSpaceOnUse"
+ x1="54.71489"
+ y1="5.4645443"
+ x2="72.233635"
+ y2="5.4645443" />
+ <linearGradient
+ id="linearGradient5455-2-0">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-1" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient6925"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient6927"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient6929"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient6931"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient6933"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-0"
+ id="linearGradient6925-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-0">
+ <stop
+ id="stop4136-4-7-3"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-0" />
+ <stop
+ id="stop4138-2-3-9"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-2"
+ id="linearGradient6927-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-2">
+ <stop
+ id="stop4208-5-9-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-6"
+ id="linearGradient6929-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-6"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1"
+ id="linearGradient6931-7"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1">
+ <stop
+ id="stop7212-33-7"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-3"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient31475"
+ xlink:href="#linearGradient6924-6-7"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-7"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient5597"
+ xlink:href="#linearGradient6924-6-7"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient9470"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6">
+ <stop
+ id="stop4136-4-7-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02" />
+ <stop
+ id="stop4138-2-3-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient9472"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-8">
+ <stop
+ id="stop4208-5-9-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient9474"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-2"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient9476"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-8">
+ <stop
+ id="stop7212-33-6"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient9478"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6-1"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517"
+ xlink:href="#linearGradient6924-6-1"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient9647">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop9649" />
+ <stop
+ style="stop-color:#dbdbdb;stop-opacity:1;"
+ offset="1"
+ id="stop9651" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2256">
+ <stop
+ style="stop-color:#ff0202;stop-opacity:1;"
+ offset="0"
+ id="stop2258" />
+ <stop
+ style="stop-color:#ff9b9b;stop-opacity:1;"
+ offset="1"
+ id="stop2260" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2248">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2250" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2252" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11780">
+ <stop
+ style="stop-color:#ff8b8b;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop11782" />
+ <stop
+ style="stop-color:#ec1b1b;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop11784" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4981">
+ <stop
+ style="stop-color:#cc0000;stop-opacity:1;"
+ offset="0"
+ id="stop4983" />
+ <stop
+ style="stop-color:#b30000;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop4985" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient21644"
+ id="radialGradient21650"
+ cx="25.125"
+ cy="36.75"
+ fx="25.125"
+ fy="36.75"
+ r="15.75"
+ gradientTransform="matrix(1,0,0,0.595238,0,14.875)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient21644">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop21646" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop21648" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3957">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11691"
+ id="linearGradient11663"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91724819,0,0,0.91907213,302.29549,5.732139)"
+ x1="15.737001"
+ y1="12.5036"
+ x2="53.570126"
+ y2="47.374317" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2248"
+ id="radialGradient11665"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.838984,0,0,2.961346,253.30758,-14.714265)"
+ cx="16.75"
+ cy="10.666344"
+ fx="16.75"
+ fy="10.666344"
+ r="21.25" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11720"
+ id="linearGradient11718"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.87782436,0.99037957,-0.87782433,0.99037953,319.93281,-20.25021)"
+ x1="21.75"
+ y1="15.80225"
+ x2="24.30225"
+ y2="35.05225" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11691"
+ id="linearGradient22637"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91724819,0,0,0.91907213,302.29549,5.732139)"
+ x1="15.737001"
+ y1="12.5036"
+ x2="53.570126"
+ y2="47.374317" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2248"
+ id="radialGradient22639"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.838984,0,0,2.961346,253.30758,-14.714265)"
+ cx="16.75"
+ cy="10.666344"
+ fx="16.75"
+ fy="10.666344"
+ r="21.25" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11720"
+ id="linearGradient22641"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.87782436,0.99037957,-0.87782433,0.99037953,319.93281,-20.25021)"
+ x1="21.75"
+ y1="15.80225"
+ x2="24.30225"
+ y2="35.05225" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2684-1"
+ id="linearGradient8265"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.128181,0,0,1.128181,-108.08145,-78.763896)"
+ x1="70.913956"
+ y1="101.74152"
+ x2="70.951942"
+ y2="88.923729" />
+ <linearGradient
+ id="linearGradient2684-1">
+ <stop
+ id="stop2686-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2688-4"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9056"
+ id="radialGradient8267"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.05324342,-0.836238,2.019473,0.128568,-206.0078,112.67299)"
+ cx="107.5884"
+ cy="83.990814"
+ fx="107.5884"
+ fy="83.990814"
+ r="12.551644" />
+ <linearGradient
+ id="linearGradient9056">
+ <stop
+ style="stop-color:#6acd11;stop-opacity:1"
+ offset="0"
+ id="stop9058" />
+ <stop
+ style="stop-color:#4cbe01;stop-opacity:1"
+ offset="1"
+ id="stop9060" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9050"
+ id="linearGradient8269"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-99.088729,-66.498056)"
+ x1="71.288956"
+ y1="124.11652"
+ x2="70.826942"
+ y2="95" />
+ <linearGradient
+ id="linearGradient9050">
+ <stop
+ id="stop9052"
+ offset="0"
+ style="stop-color:#428405;stop-opacity:1" />
+ <stop
+ id="stop9054"
+ offset="1"
+ style="stop-color:#264a03;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient17969"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient17971"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient17973"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient17975"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient17977"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient17986"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient17988"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient17990"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient17992"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient17994"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-6-2"
+ id="linearGradient10212"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.329484,6.9416806)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-6-2">
+ <stop
+ id="stop4136-4-9-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-9-7" />
+ <stop
+ id="stop4138-2-8-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-8-2"
+ id="linearGradient10214"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.329484,6.9416806)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-8-2">
+ <stop
+ id="stop4208-5-3-8"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-8-2"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-9-0"
+ id="linearGradient10216"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.45408812,0,0,0.45408812,32.774075,7.2711045)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-9-0"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-6-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-7-9"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-8-1"
+ id="linearGradient10218"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="-5.456851" />
+ <linearGradient
+ id="linearGradient7210-8-1">
+ <stop
+ id="stop7212-7-8"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-5-6"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-1-0"
+ id="linearGradient10220"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.448286,7.8656215)"
+ x1="15.972866"
+ y1="16.641634"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-1-0"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-3-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-9-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-6-2"
+ id="linearGradient13412"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.884513,6.8263032)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient9325">
+ <stop
+ id="stop9327"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop9329" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop9331" />
+ <stop
+ id="stop9333"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-8-2"
+ id="linearGradient13414"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.884513,6.8263032)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient9336">
+ <stop
+ id="stop9338"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop9340"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-9-0"
+ id="linearGradient13416"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.45408812,0,0,0.45408812,-19.439922,7.2711048)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-8-1"
+ id="linearGradient13418"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient9350">
+ <stop
+ id="stop9352"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop9354"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-1-0"
+ id="linearGradient13421"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.765711,7.8656218)"
+ x1="15.972866"
+ y1="16.641634"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-7"
+ id="linearGradient9470-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-7">
+ <stop
+ id="stop4136-4-7-1-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02-9" />
+ <stop
+ id="stop4138-2-3-6-4"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8-8"
+ id="linearGradient9472-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-8-8">
+ <stop
+ id="stop4208-5-9-9-2"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6-4"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2-5"
+ id="linearGradient9474-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-2-5"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8-1"
+ id="linearGradient9476-1"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-8-1">
+ <stop
+ id="stop7212-33-6-5"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6-2"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517-7"
+ xlink:href="#linearGradient6924-6-1-6"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-1-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7-4"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9529"
+ xlink:href="#linearGradient6924-6-1-6"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-7"
+ id="linearGradient9602"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8-8"
+ id="linearGradient9604"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2-5"
+ id="linearGradient9606"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8-1"
+ id="linearGradient9608"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1-6"
+ id="linearGradient9610"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512"
+ id="radialGradient22609"
+ gradientUnits="userSpaceOnUse"
+ cx="55"
+ cy="125"
+ fx="55"
+ fy="125"
+ r="14.375" />
+ <linearGradient
+ id="linearGradient12512">
+ <stop
+ id="stop12513"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <radialGradient
+ r="14.375"
+ fy="125"
+ fx="55"
+ cy="125"
+ cx="55"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient6674"
+ xlink:href="#linearGradient12512"
+ inkscape:collect="always" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512-7"
+ id="radialGradient22609-1"
+ gradientUnits="userSpaceOnUse"
+ cx="55"
+ cy="125"
+ fx="55"
+ fy="125"
+ r="14.375" />
+ <linearGradient
+ id="linearGradient12512-7">
+ <stop
+ id="stop12513-4"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517-0"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514-9"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <radialGradient
+ r="14.375"
+ fy="125"
+ fx="55"
+ cy="125"
+ cx="55"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient6674-4"
+ xlink:href="#linearGradient12512-7"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-8"
+ id="linearGradient9470-2"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-8">
+ <stop
+ id="stop4136-4-7-3-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-3" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-3" />
+ <stop
+ id="stop4138-2-3-6-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-1"
+ id="linearGradient9472-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-1">
+ <stop
+ id="stop4208-5-9-0"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-4"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-7"
+ id="linearGradient9474-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-7"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-42"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-3"
+ id="linearGradient9476-2"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-3">
+ <stop
+ id="stop7212-33-15"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-7"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517-2"
+ xlink:href="#linearGradient6924-6-2"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-2"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8553"
+ xlink:href="#linearGradient6924-6-2"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-2"
+ id="linearGradient8705"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="21.314445"
+ inkscape:cy="20.494409"
+ inkscape:current-layer="g6615"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1600"
+ inkscape:window-height="838"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata3378">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g7697"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-0"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-1"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-3"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g6615"
+ transform="translate(-95.5,0)">
+ <g
+ id="g9464-2"
+ transform="matrix(1.2573708,0,0,1.2573709,61.06861,-12.320192)">
+ <path
+ style="color:#000000;fill:url(#linearGradient9470-1);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient9472-8);stroke-width:1.07960427;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 46.071102,14.389965 c -8.507118,0 -15.424338,3.017755 -15.424338,6.730038 0,0.266382 0,19.239684 0,19.51711 0,3.712296 6.91722,6.730038 15.424338,6.730038 8.507125,0 15.69978,-3.017742 15.69978,-6.730038 0,-0.219733 0,-19.297376 0,-19.51711 0,-3.712295 -7.192655,-6.730038 -15.69978,-6.730038 z"
+ id="path21753-3"
+ sodipodi:nodetypes="zsszssz"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="zsszssz"
+ id="path21755-2"
+ d="m 46.080432,15.126006 c -7.931631,0 -14.380916,2.822639 -14.380916,6.294907 0,0.249165 0,18.241368 0,18.500853 0,3.472269 6.449285,6.294908 14.380916,6.294908 7.931638,0 14.637742,-2.822639 14.637727,-6.294908 0,-0.205521 0,-18.295331 0,-18.500853 0,-3.472268 -6.706089,-6.294907 -14.637727,-6.294907 z"
+ style="opacity:0.70796461;color:#000000;fill:none;stroke:url(#linearGradient9474-5);stroke-width:1.08133531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient9476-1);stroke-width:1.00492704;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ id="path21757-2"
+ sodipodi:cx="24"
+ sodipodi:cy="14.071428"
+ sodipodi:rx="12.857142"
+ sodipodi:ry="5.5"
+ d="m 36.857142,14.071428 c 0,3.037566 -5.756338,5.5 -12.857142,5.5 -7.100804,0 -12.857142,-2.462434 -12.857142,-5.5 0,-3.037566 5.756338,-5.4999997 12.857142,-5.4999997 7.100804,0 12.857142,2.4624337 12.857142,5.4999997 z"
+ transform="matrix(1.1227741,0,0,1.0919883,19.192176,5.7605912)" />
+ <path
+ style="opacity:0.49367083;color:#000000;fill:url(#linearGradient9529);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 34.928081,25.959639 0.38657,12.731652 4.948172,1.388917 -0.154644,-12.654504 c 0,0 2.242138,0 5.875949,-0.231482 -5.645572,-0.251781 -12.104991,-2.673295 -14.303272,-4.243888 1.533656,2.260099 3.247225,3.009305 3.247225,3.009305 z"
+ id="path21759-1"
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ id="g24782"
+ transform="matrix(1.2643053,0,0,1.2617963,-411.89392,-7.4206218)">
+ <g
+ transform="matrix(0.64269293,0,0,0.64397092,404.68338,13.590367)"
+ id="g3147-1">
+ <rect
+ style="color:#000000;fill:#cc0000;fill-opacity:1;fill-rule:evenodd;stroke:#a40000;stroke-width:1;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ id="rect1686-7"
+ width="20"
+ height="19"
+ x="28.5"
+ y="27.5"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ rx="2.2097087"
+ ry="2.2097087" />
+ <g
+ id="g2254-4"
+ transform="matrix(0.779029,0,0,0.779029,28.87262,8.175921)"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true">
+ <path
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ id="path1377-0"
+ d="M 8,32 18,42"
+ style="color:#000000;fill:none;stroke:#ffffff;stroke-width:2.56729817;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ inkscape:connector-curvature="0" />
+ <path
+ style="color:#000000;fill:none;stroke:#ffffff;stroke-width:2.56729817;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible"
+ d="M 18,32 8,42"
+ id="path2252-9"
+ inkscape:r_cx="true"
+ inkscape:r_cy="true"
+ inkscape:connector-curvature="0" />
+ </g>
+ <rect
+ ry="1.5847089"
+ rx="1.5847089"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ y="28.404764"
+ x="29.452381"
+ height="17.190477"
+ width="18.09524"
+ id="rect2258-4"
+ style="opacity:0.4;color:#000000;fill:none;stroke:#ffffff;stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/online-8x8.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/online-8x8.svg
new file mode 100644
index 00000000..8cef7653
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/online-8x8.svg
@@ -0,0 +1,246 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="8"
+ height="8"
+ id="svg5773"
+ version="1.1"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="New document 3">
+ <defs
+ id="defs5775">
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12594-2"
+ id="linearGradient12613-1"
+ gradientUnits="userSpaceOnUse"
+ x1="71.093597"
+ y1="6.9915824"
+ x2="71.10437"
+ y2="33.801258" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient12594-2">
+ <stop
+ style="stop-color:#60615f;stop-opacity:1;"
+ offset="0"
+ id="stop12596-00" />
+ <stop
+ style="stop-color:#60615f;stop-opacity:0;"
+ offset="1"
+ id="stop12598-1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3872-6-6"
+ id="linearGradient12615-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4547571,0,0,1.4547571,-558.97946,-858.05668)"
+ x1="434.15228"
+ y1="610.42682"
+ x2="432.16248"
+ y2="601.80182" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3872-6-6">
+ <stop
+ style="stop-color:#1a8f23;stop-opacity:1"
+ offset="0"
+ id="stop3874-2-0" />
+ <stop
+ style="stop-color:#66ee77;stop-opacity:1"
+ offset="1"
+ id="stop3876-8-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3892-7"
+ id="linearGradient12617-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4127494,0,0,1.4127494,-540.74245,-832.64472)"
+ x1="429.58878"
+ y1="600.72119"
+ x2="433.19891"
+ y2="611.6416" />
+ <linearGradient
+ id="linearGradient3892-7">
+ <stop
+ style="stop-color:#fffff8;stop-opacity:1;"
+ offset="0"
+ id="stop3894-7" />
+ <stop
+ style="stop-color:#fffff8;stop-opacity:0;"
+ offset="1"
+ id="stop3896-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12594-2-4"
+ id="linearGradient12613-1-3"
+ gradientUnits="userSpaceOnUse"
+ x1="71.093597"
+ y1="6.9915824"
+ x2="71.10437"
+ y2="33.801258" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient12594-2-4">
+ <stop
+ style="stop-color:#60615f;stop-opacity:1;"
+ offset="0"
+ id="stop12596-00-4" />
+ <stop
+ style="stop-color:#60615f;stop-opacity:0;"
+ offset="1"
+ id="stop12598-1-9" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3872-6-6-8"
+ id="linearGradient12615-4-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4547571,0,0,1.4547571,-558.97946,-858.05668)"
+ x1="434.15228"
+ y1="610.42682"
+ x2="432.16248"
+ y2="601.80182" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3872-6-6-8">
+ <stop
+ style="stop-color:#1a8f23;stop-opacity:1"
+ offset="0"
+ id="stop3874-2-0-3" />
+ <stop
+ style="stop-color:#66ee77;stop-opacity:1"
+ offset="1"
+ id="stop3876-8-7-8" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3892-7-9"
+ id="linearGradient12617-1-7"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4127494,0,0,1.4127494,-540.74245,-832.64472)"
+ x1="429.58878"
+ y1="600.72119"
+ x2="433.19891"
+ y2="611.6416" />
+ <linearGradient
+ id="linearGradient3892-7-9">
+ <stop
+ style="stop-color:#fffff8;stop-opacity:1;"
+ offset="0"
+ id="stop3894-7-7" />
+ <stop
+ style="stop-color:#fffff8;stop-opacity:0;"
+ offset="1"
+ id="stop3896-7-1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3872-6-6"
+ id="linearGradient5867"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4547571,0,0,1.4547571,-558.97946,-858.05668)"
+ x1="434.15228"
+ y1="610.42682"
+ x2="432.16248"
+ y2="601.80182" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3892-7"
+ id="linearGradient5869"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4127494,0,0,1.4127494,-540.74245,-832.64472)"
+ x1="429.58878"
+ y1="600.72119"
+ x2="433.19891"
+ y2="611.6416" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12594-2"
+ id="linearGradient5871"
+ gradientUnits="userSpaceOnUse"
+ x1="71.093597"
+ y1="6.9915824"
+ x2="71.10437"
+ y2="33.801258" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="4.5875149"
+ inkscape:cy="-93.81893"
+ inkscape:document-units="px"
+ inkscape:current-layer="g12606-9"
+ showgrid="false"
+ inkscape:window-width="1600"
+ inkscape:window-height="838"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata5778">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0,-1044.3622)">
+ <g
+ style="display:inline"
+ id="g34701-8"
+ transform="matrix(0.29892623,0,0,0.29892623,-117.68564,1041.5927)">
+ <g
+ id="g12606-9"
+ transform="translate(0,0.9092232)">
+ <g
+ id="g11972-4"
+ transform="matrix(1.0880416,0,0,1.0880416,328.14579,-1.9287467)">
+ <path
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#115911;fill-opacity:1;stroke:#115915;stroke-width:0.43642715;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+ d="m 79.804038,12.378054 -9.415972,10.346378 -5.73134,-5.017312 -4.0915,4.818883 10.410602,8.910387 13.50197,-14.820337 z"
+ id="path3102-8-1"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" />
+ <path
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:url(#linearGradient5867);fill-opacity:1;stroke:none;stroke-width:3.9000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+ d="m 79.929058,13.879945 -9.276022,10.173844 -5.67808,-4.891912 -3.00044,3.318592 7.00102,5.864562 2.091212,1.772913 1.81845,-2.04568 10.27422,-11.319901 z"
+ id="path3880-1-4"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccccc" />
+ <path
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:none;stroke:url(#linearGradient5869);stroke-width:1.32627869;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+ d="m 79.941375,14.833749 -9.182999,10.184938 -5.697581,-4.956704 -2.128813,2.35989 8.064506,6.766646 11.200427,-12.37491 z"
+ id="path3884-9-3"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" />
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/online.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/online.svg
new file mode 100644
index 00000000..c25a4232
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/online.svg
@@ -0,0 +1,1410 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ inkscape:export-ydpi="240.00000"
+ inkscape:export-xdpi="240.00000"
+ inkscape:export-filename="/home/jimmac/gfx/novell/pdes/trunk/docs/BIGmime-text.png"
+ sodipodi:docname="online.svg"
+ inkscape:version="0.48.1 "
+ sodipodi:version="0.32"
+ id="svg249"
+ height="48.000000px"
+ width="48.000000px"
+ inkscape:output_extension="org.inkscape.output.svg.inkscape"
+ version="1.1">
+ <defs
+ id="defs3">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient7580">
+ <stop
+ style="stop-color:#808080;stop-opacity:1;"
+ offset="0"
+ id="stop7582" />
+ <stop
+ style="stop-color:#808080;stop-opacity:0;"
+ offset="1"
+ id="stop7584" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11007">
+ <stop
+ style="stop-color:#8ab9ed;stop-opacity:1"
+ offset="0"
+ id="stop11009" />
+ <stop
+ style="stop-color:#2a5285;stop-opacity:1"
+ offset="1"
+ id="stop11011" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11001">
+ <stop
+ style="stop-color:#3a71b6;stop-opacity:1"
+ offset="0"
+ id="stop11003" />
+ <stop
+ style="stop-color:#203f66;stop-opacity:1"
+ offset="1"
+ id="stop11005" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9056">
+ <stop
+ style="stop-color:#6acd11;stop-opacity:1"
+ offset="0"
+ id="stop9058" />
+ <stop
+ style="stop-color:#4cbe01;stop-opacity:1"
+ offset="1"
+ id="stop9060" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient9050">
+ <stop
+ id="stop9052"
+ offset="0"
+ style="stop-color:#428405;stop-opacity:1" />
+ <stop
+ id="stop9054"
+ offset="1"
+ style="stop-color:#356804;stop-opacity:1" />
+ </linearGradient>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 24 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="48 : 24 : 1"
+ inkscape:persp3d-origin="24 : 16 : 1"
+ id="perspective83" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5031"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient5029"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient5048">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050" />
+ <stop
+ id="stop5056"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient5027"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4542">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop4544" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop4546" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient15662">
+ <stop
+ id="stop15664"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop15666"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ id="aigrd3"
+ cx="20.8921"
+ cy="64.5679"
+ r="5.257"
+ fx="20.8921"
+ fy="64.5679"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#F0F0F0"
+ id="stop15573" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
+ id="stop15575" />
+ </radialGradient>
+ <radialGradient
+ id="aigrd2"
+ cx="20.8921"
+ cy="114.5684"
+ r="5.256"
+ fx="20.8921"
+ fy="114.5684"
+ gradientUnits="userSpaceOnUse">
+ <stop
+ offset="0"
+ style="stop-color:#F0F0F0"
+ id="stop15566" />
+ <stop
+ offset="1.0000000"
+ style="stop-color:#9a9a9a;stop-opacity:1.0000000;"
+ id="stop15568" />
+ </radialGradient>
+ <linearGradient
+ id="linearGradient269">
+ <stop
+ id="stop270"
+ offset="0.0000000"
+ style="stop-color:#a3a3a3;stop-opacity:1.0000000;" />
+ <stop
+ id="stop271"
+ offset="1.0000000"
+ style="stop-color:#4c4c4c;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient259">
+ <stop
+ id="stop260"
+ offset="0.0000000"
+ style="stop-color:#fafafa;stop-opacity:1.0000000;" />
+ <stop
+ id="stop261"
+ offset="1.0000000"
+ style="stop-color:#bbbbbb;stop-opacity:1.0000000;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient269"
+ id="radialGradient15656"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.968273,0,0,1.032767,-96.646447,0.646447)"
+ cx="8.8244190"
+ cy="3.7561285"
+ fx="8.8244190"
+ fy="3.7561285"
+ r="37.751713" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient259"
+ id="radialGradient15658"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.960493,0,0,1.041132,-100,0)"
+ cx="33.966679"
+ cy="35.736916"
+ fx="33.966679"
+ fy="35.736916"
+ r="86.708450" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15662"
+ id="radialGradient15668"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.968273,0,0,1.032767,-96.646447,0.646447)"
+ cx="8.1435566"
+ cy="7.2678967"
+ fx="8.1435566"
+ fy="7.2678967"
+ r="38.158695" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4542"
+ id="radialGradient4548"
+ cx="24.306795"
+ cy="42.07798"
+ fx="24.306795"
+ fy="42.07798"
+ r="15.821514"
+ gradientTransform="matrix(1.000000,0.000000,0.000000,0.284916,0.000000,30.08928)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2251"
+ id="linearGradient2257"
+ x1="33.396004"
+ y1="36.921333"
+ x2="34.170048"
+ y2="38.070381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.1672066,1.6680446)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2251">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2253" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2255" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2224"
+ id="linearGradient2230"
+ x1="35.996582"
+ y1="40.458221"
+ x2="33.664921"
+ y2="37.770721"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(6.161836,4.033411)" />
+ <linearGradient
+ id="linearGradient2224">
+ <stop
+ style="stop-color:#7c7c7c;stop-opacity:1;"
+ offset="0"
+ id="stop2226" />
+ <stop
+ style="stop-color:#b8b8b8;stop-opacity:1;"
+ offset="1"
+ id="stop2228" />
+ </linearGradient>
+ <linearGradient
+ y2="37.770721"
+ x2="33.664921"
+ y1="40.458221"
+ x1="35.996582"
+ gradientTransform="translate(2.1672066,2.0430446)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient22486"
+ xlink:href="#linearGradient2224"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient5048-2">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050-9" />
+ <stop
+ id="stop5056-4"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052-5" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient5060-1">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop5062-6" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5064-9" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060-1"
+ id="radialGradient5031-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <linearGradient
+ id="linearGradient2206">
+ <stop
+ style="stop-color:#c3c6c0;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2208" />
+ <stop
+ style="stop-color:#e8eae6;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2210" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2214">
+ <stop
+ style="stop-color:#a9aaa7;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2216" />
+ <stop
+ style="stop-color:#676964;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2218" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2222">
+ <stop
+ style="stop-color:#5187d6;stop-opacity:1;"
+ offset="0"
+ id="stop2224" />
+ <stop
+ style="stop-color:#1e4580;stop-opacity:1;"
+ offset="1"
+ id="stop2227" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient5048-2-8">
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="0"
+ id="stop5050-9-2" />
+ <stop
+ id="stop5056-4-6"
+ offset="0.5"
+ style="stop-color:black;stop-opacity:1;" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop5052-5-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2206-8"
+ id="linearGradient26980-6"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.66330865,-49.866678,4.4079179)"
+ x1="25.861118"
+ y1="26.133587"
+ x2="18.300278"
+ y2="19.567596" />
+ <linearGradient
+ id="linearGradient2206-8">
+ <stop
+ style="stop-color:#c3c6c0;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2208-7" />
+ <stop
+ style="stop-color:#e8eae6;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2210-2" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2214-2">
+ <stop
+ style="stop-color:#a9aaa7;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop2216-2" />
+ <stop
+ style="stop-color:#676964;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop2218-0" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2222-9"
+ id="radialGradient26984-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1520174,0,0,0.90350734,-62.623679,-4.288468)"
+ cx="23.994133"
+ cy="32.266911"
+ fx="23.994133"
+ fy="32.266911"
+ r="19.088932" />
+ <linearGradient
+ id="linearGradient2222-9">
+ <stop
+ style="stop-color:#5187d6;stop-opacity:1;"
+ offset="0"
+ id="stop2224-6" />
+ <stop
+ style="stop-color:#1e4580;stop-opacity:1;"
+ offset="1"
+ id="stop2227-5" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2238-7"
+ id="linearGradient26986-6"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.6615617,-49.866678,5.1018165)"
+ x1="20.338758"
+ y1="19.636894"
+ x2="46.092255"
+ y2="39.708324" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2238-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2240-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2242-5" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2180-7"
+ id="linearGradient26988-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4813991,0,0,1.1400975,-61.032972,-4.6105736)"
+ x1="8.8207808"
+ y1="12.53757"
+ x2="12.499243"
+ y2="24.238262" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2180-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2182-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2184-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2223-5"
+ id="linearGradient26990-6"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6513633,0,0,0.6513633,49.389075,5.6726225)"
+ x1="35.694206"
+ y1="37.333858"
+ x2="15.044075"
+ y2="5.9588566" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2223-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2225-2" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2229-2" />
+ </linearGradient>
+ <linearGradient
+ y2="5.9588566"
+ x2="15.044075"
+ y1="37.333858"
+ x1="35.694206"
+ gradientTransform="matrix(0.6513633,0,0,0.6513633,-50.610925,5.6726225)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient27106"
+ xlink:href="#linearGradient2223-5"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient27240"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient27242"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient27244"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient259"
+ id="radialGradient27246"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.960493,0,0,-1.041132,-51.588305,51.80958)"
+ cx="33.966679"
+ cy="35.736916"
+ fx="33.966679"
+ fy="35.736916"
+ r="86.708450" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15662"
+ id="radialGradient27250"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.968273,0,0,-1.032767,-48.234752,51.163133)"
+ cx="8.1435566"
+ cy="7.2678967"
+ fx="8.1435566"
+ fy="7.2678967"
+ r="38.158695" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2224"
+ id="linearGradient27252"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.1672066,2.0430446)"
+ x1="35.996582"
+ y1="40.458221"
+ x2="33.664921"
+ y2="37.770721" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2251"
+ id="linearGradient27254"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.1672066,1.6680446)"
+ x1="33.396004"
+ y1="36.921333"
+ x2="34.170048"
+ y2="38.070381" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2206-8"
+ id="linearGradient27256"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.66330865,-52.866678,3.4079179)"
+ x1="25.861118"
+ y1="26.133587"
+ x2="18.300278"
+ y2="19.567596" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2222-9"
+ id="radialGradient27258"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1520174,0,0,0.90350734,-65.623679,-5.288468)"
+ cx="23.994133"
+ cy="32.266911"
+ fx="23.994133"
+ fy="32.266911"
+ r="19.088932" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2238-7"
+ id="linearGradient27260"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.6615617,-52.866678,4.1018165)"
+ x1="20.338758"
+ y1="19.636894"
+ x2="46.092255"
+ y2="39.708324" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2180-7"
+ id="linearGradient27262"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4813991,0,0,1.1400975,-64.032972,-5.6105736)"
+ x1="8.8207808"
+ y1="12.53757"
+ x2="12.499243"
+ y2="24.238262" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2223-5"
+ id="linearGradient27264"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6513633,0,0,0.6513633,-53.610925,4.6726225)"
+ x1="35.694206"
+ y1="37.333858"
+ x2="15.044075"
+ y2="5.9588566" />
+ <radialGradient
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.536723,0,16.87306)"
+ r="15.644737"
+ fy="36.421127"
+ fx="24.837126"
+ cy="36.421127"
+ cx="24.837126"
+ id="radialGradient8668"
+ xlink:href="#linearGradient8662"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient8662"
+ inkscape:collect="always">
+ <stop
+ id="stop8664"
+ offset="0"
+ style="stop-color:#000000;stop-opacity:1;" />
+ <stop
+ id="stop8666"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2591">
+ <stop
+ style="stop-color:#73d216"
+ offset="0"
+ id="stop2593" />
+ <stop
+ style="stop-color:#49bd00;stop-opacity:1;"
+ offset="1"
+ id="stop2595" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2591-7">
+ <stop
+ style="stop-color:#73d216"
+ offset="0"
+ id="stop2593-1" />
+ <stop
+ style="stop-color:#49bd00;stop-opacity:1;"
+ offset="1"
+ id="stop2595-8" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5048"
+ id="linearGradient35425"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1892.179,-872.8854)"
+ x1="302.85715"
+ y1="366.64789"
+ x2="302.85715"
+ y2="609.50507" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient35427"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.774389,0,0,1.969706,-1891.633,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5060"
+ id="radialGradient35429"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-2.774389,0,0,1.969706,112.7623,-872.8854)"
+ cx="605.71429"
+ cy="486.64789"
+ fx="605.71429"
+ fy="486.64789"
+ r="117.14286" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient259"
+ id="radialGradient35431"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.960493,0,0,-1.041132,-51.588305,51.80958)"
+ cx="33.966679"
+ cy="8.8006353"
+ fx="33.966679"
+ fy="8.8006353"
+ r="86.708450" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient15662"
+ id="radialGradient35433"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.968273,0,0,-1.032767,-48.234752,51.163133)"
+ cx="8.1435566"
+ cy="7.2678967"
+ fx="8.1435566"
+ fy="7.2678967"
+ r="38.158695" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2224"
+ id="linearGradient35435"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.1672066,2.0430446)"
+ x1="35.996582"
+ y1="40.458221"
+ x2="33.664921"
+ y2="37.770721" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2251"
+ id="linearGradient35437"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(2.1672066,1.6680446)"
+ x1="33.396004"
+ y1="36.921333"
+ x2="34.170048"
+ y2="38.070381" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2206-8"
+ id="linearGradient35439"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.66330865,-52.866678,3.4079179)"
+ x1="25.861118"
+ y1="26.133587"
+ x2="18.300278"
+ y2="19.567596" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2222-9"
+ id="radialGradient35441"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.1520174,0,0,0.90350734,-65.623679,-5.288468)"
+ cx="23.994133"
+ cy="32.266911"
+ fx="23.994133"
+ fy="32.266911"
+ r="19.088932" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2238-7"
+ id="linearGradient35443"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.62034994,0,0,0.6615617,-52.866678,4.1018165)"
+ x1="20.338758"
+ y1="19.636894"
+ x2="46.092255"
+ y2="39.708324" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2180-7"
+ id="linearGradient35445"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.4813991,0,0,1.1400975,-64.032972,-5.6105736)"
+ x1="8.8207808"
+ y1="12.53757"
+ x2="12.499243"
+ y2="24.238262" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2223-5"
+ id="linearGradient35447"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.6513633,0,0,0.6513633,-53.610925,4.6726225)"
+ x1="35.694206"
+ y1="37.333858"
+ x2="15.044075"
+ y2="5.9588566" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5075"
+ id="linearGradient2306"
+ gradientUnits="userSpaceOnUse"
+ x1="71.288956"
+ y1="124.11652"
+ x2="70.826942"
+ y2="95"
+ gradientTransform="translate(-56.000421,-79.094251)" />
+ <linearGradient
+ id="linearGradient5075">
+ <stop
+ style="stop-color:#adb0a8;stop-opacity:1;"
+ offset="0"
+ id="stop5077" />
+ <stop
+ style="stop-color:#464744;stop-opacity:1"
+ offset="1"
+ id="stop5079" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2691"
+ id="radialGradient2314"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.05324342,-0.836238,2.019473,0.128568,-162.9195,100.0768)"
+ cx="107.5884"
+ cy="83.990814"
+ fx="107.5884"
+ fy="83.990814"
+ r="12.551644" />
+ <linearGradient
+ id="linearGradient2691">
+ <stop
+ id="stop2693"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop2695"
+ offset="1"
+ style="stop-color:#d3d7cf" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2684"
+ id="linearGradient2690"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.128181,0,0,1.128181,-53.99314,-83.36009)"
+ x1="70.913956"
+ y1="101.74152"
+ x2="70.951942"
+ y2="88.923729" />
+ <linearGradient
+ id="linearGradient2684">
+ <stop
+ id="stop2686"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2688"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ y2="88.923729"
+ x2="70.951942"
+ y1="101.74152"
+ x1="70.913956"
+ gradientTransform="matrix(1.128181,0,0,1.128181,-64.993141,-91.360091)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8168"
+ xlink:href="#linearGradient2684"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2684"
+ id="linearGradient8252"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.128181,0,0,1.128181,-108.08145,-78.763896)"
+ x1="70.913956"
+ y1="101.74152"
+ x2="70.951942"
+ y2="88.923729" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2691"
+ id="radialGradient8254"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.05324342,-0.836238,2.019473,0.128568,-206.0078,112.67299)"
+ cx="107.5884"
+ cy="83.990814"
+ fx="107.5884"
+ fy="83.990814"
+ r="12.551644" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5075"
+ id="linearGradient8256"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-99.088729,-66.498056)"
+ x1="71.288956"
+ y1="124.11652"
+ x2="70.826942"
+ y2="95" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2684"
+ id="linearGradient8265"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.128181,0,0,1.128181,-108.08145,-78.763896)"
+ x1="70.913956"
+ y1="101.74152"
+ x2="70.951942"
+ y2="88.923729" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9056"
+ id="radialGradient8267"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.05324342,-0.836238,2.019473,0.128568,-206.0078,112.67299)"
+ cx="107.5884"
+ cy="83.990814"
+ fx="107.5884"
+ fy="83.990814"
+ r="12.551644" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9050"
+ id="linearGradient8269"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-99.088729,-66.498056)"
+ x1="71.288956"
+ y1="124.11652"
+ x2="70.826942"
+ y2="95" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4255"
+ id="linearGradient8019"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,0.39514626,-0.39514626,0,44.916158,15.340618)"
+ x1="51.064072"
+ y1="36.929211"
+ x2="2.973438"
+ y2="15.565757" />
+ <linearGradient
+ id="linearGradient4255">
+ <stop
+ style="stop-color:#2a5285;stop-opacity:1;"
+ offset="0"
+ id="stop4257" />
+ <stop
+ style="stop-color:#9acbff;stop-opacity:1;"
+ offset="1"
+ id="stop4259" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient35212"
+ id="linearGradient8021"
+ gradientUnits="userSpaceOnUse"
+ x1="38.434811"
+ y1="17.814163"
+ x2="36.937714"
+ y2="44.153889" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient35212">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop35214" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop35216" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2817">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2819" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.48453608;"
+ offset="1"
+ id="stop2821" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2679">
+ <stop
+ id="stop2681"
+ offset="0"
+ style="stop-color:#74a2d6;stop-opacity:1" />
+ <stop
+ id="stop2683"
+ offset="1"
+ style="stop-color:#2a5285;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2697">
+ <stop
+ id="stop2699"
+ offset="0"
+ style="stop-color:#3364a1;stop-opacity:1" />
+ <stop
+ id="stop2701"
+ offset="1"
+ style="stop-color:#203f66;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3081">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop3083" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop3085" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10869">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop10871" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.48453608;"
+ offset="1"
+ id="stop10873" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient10883">
+ <stop
+ id="stop10885"
+ offset="0"
+ style="stop-color:#babdb6" />
+ <stop
+ id="stop10887"
+ offset="1"
+ style="stop-color:#555753" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2817"
+ id="linearGradient11079"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.103262,0,0,1.054917,-163.1228,-76.31138)"
+ x1="174.83363"
+ y1="84.263489"
+ x2="174.74524"
+ y2="105.49083" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2679"
+ id="radialGradient11081"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.562309e-6,-1.07205,1.992104,-1.250658e-6,-175.6121,212.6949)"
+ cx="170.2664"
+ cy="102.3308"
+ fx="170.2664"
+ fy="102.3308"
+ r="11" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11001"
+ id="linearGradient11083"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.004384,-145.0004,-71.4625)"
+ x1="169"
+ y1="110.33805"
+ x2="169"
+ y2="93.204849" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3081"
+ id="linearGradient11085"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-4e-4,-0.09426)"
+ x1="15.089521"
+ y1="15.291994"
+ x2="14"
+ y2="52.510574" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2817"
+ id="linearGradient11087"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.103262,0,0,1.054917,-163.1228,-76.31138)"
+ x1="174.83363"
+ y1="84.263489"
+ x2="174.74524"
+ y2="105.49083" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11007"
+ id="radialGradient11089"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.562309e-6,-1.07205,1.992104,-1.250658e-6,-175.6121,212.6949)"
+ cx="169.77171"
+ cy="100.20107"
+ fx="169.77171"
+ fy="100.20107"
+ r="11" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2697"
+ id="linearGradient11091"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.004384,-145.0004,-71.4625)"
+ x1="169"
+ y1="110.33805"
+ x2="169"
+ y2="93.204849" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3081"
+ id="linearGradient11093"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-4e-4,-0.09426)"
+ x1="15.089521"
+ y1="15.291994"
+ x2="14"
+ y2="52.510574" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3892"
+ id="linearGradient3898"
+ x1="429.15128"
+ y1="599.56494"
+ x2="433.13641"
+ y2="610.92285"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-413.32707,-580.0333)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3892">
+ <stop
+ style="stop-color:#fffff8;stop-opacity:1;"
+ offset="0"
+ id="stop3894" />
+ <stop
+ style="stop-color:#fffff8;stop-opacity:0;"
+ offset="1"
+ id="stop3896" />
+ </linearGradient>
+ <linearGradient
+ y2="610.92285"
+ x2="433.13641"
+ y1="599.56494"
+ x1="429.15128"
+ gradientTransform="translate(-467.41538,-559.43711)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient6730"
+ xlink:href="#linearGradient3892"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3892-7"
+ id="linearGradient3898-1"
+ x1="429.15128"
+ y1="599.56494"
+ x2="433.13641"
+ y2="610.92285"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3379015,0,0,1.3379015,-570.79911,-780.96842)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3892-7">
+ <stop
+ style="stop-color:#fffff8;stop-opacity:1;"
+ offset="0"
+ id="stop3894-4" />
+ <stop
+ style="stop-color:#fffff8;stop-opacity:0;"
+ offset="1"
+ id="stop3896-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3872"
+ id="linearGradient3908"
+ gradientUnits="userSpaceOnUse"
+ x1="434.15228"
+ y1="610.42682"
+ x2="432.16248"
+ y2="601.80182"
+ gradientTransform="matrix(1.3379015,0,0,1.3379015,-570.79912,-780.96845)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3872">
+ <stop
+ style="stop-color:#1a8f23;stop-opacity:1"
+ offset="0"
+ id="stop3874" />
+ <stop
+ style="stop-color:#66ee77;stop-opacity:1"
+ offset="1"
+ id="stop3876" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3872"
+ id="linearGradient6802"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3379015,0,0,1.3379015,-570.79912,-780.96845)"
+ x1="434.15228"
+ y1="610.42682"
+ x2="432.16248"
+ y2="601.80182" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3892-7"
+ id="linearGradient6804"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3379015,0,0,1.3379015,-570.79911,-780.96842)"
+ x1="429.15128"
+ y1="599.56494"
+ x2="433.13641"
+ y2="610.92285" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7580"
+ id="linearGradient7586"
+ x1="9.4567318"
+ y1="5.060648"
+ x2="9.1648064"
+ y2="44.43565"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7580"
+ id="linearGradient16564"
+ gradientUnits="userSpaceOnUse"
+ x1="9.4567318"
+ y1="5.060648"
+ x2="9.1648064"
+ y2="44.43565" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3872"
+ id="linearGradient16566"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3379015,0,0,1.3379015,-570.79912,-780.96845)"
+ x1="434.15228"
+ y1="610.42682"
+ x2="432.16248"
+ y2="601.80182" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3892-7"
+ id="linearGradient16568"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.3379015,0,0,1.3379015,-570.79911,-780.96842)"
+ x1="429.15128"
+ y1="599.56494"
+ x2="433.13641"
+ y2="610.92285" />
+ </defs>
+ <sodipodi:namedview
+ inkscape:window-y="-8"
+ inkscape:window-x="-8"
+ inkscape:window-height="838"
+ inkscape:window-width="1600"
+ inkscape:document-units="px"
+ inkscape:grid-bbox="true"
+ showgrid="false"
+ inkscape:current-layer="g27205"
+ inkscape:cy="15.744429"
+ inkscape:cx="32.365849"
+ inkscape:zoom="4"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="0.25490196"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ inkscape:showpageshadow="false"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata4">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title />
+ <dc:subject>
+ <rdf:Bag>
+ <rdf:li>document</rdf:li>
+ <rdf:li>settings</rdf:li>
+ <rdf:li>preferences</rdf:li>
+ <rdf:li>properties</rdf:li>
+ <rdf:li>tweak</rdf:li>
+ </rdf:Bag>
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/publicdomain/" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Jakub Steiner</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:source>http://jimmac.musichall.cz</dc:source>
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/publicdomain/">
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Reproduction" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#Distribution" />
+ <cc:permits
+ rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:groupmode="layer"
+ id="layer6"
+ inkscape:label="Shadow" />
+ <g
+ style="display:inline"
+ inkscape:groupmode="layer"
+ inkscape:label="Base"
+ id="layer1" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer5"
+ inkscape:label="Text"
+ style="display:inline">
+ <g
+ style="display:inline"
+ id="g26971"
+ transform="translate(-48.411695,-4.5961942)">
+ <g
+ id="g27205"
+ transform="translate(102.5,0)">
+ <g
+ transform="translate(25.911695,4.596194)"
+ style="display:inline"
+ id="g2837" />
+ <g
+ id="g6797"
+ transform="matrix(1.891997,0,0,1.891997,-48.844276,-24.503012)">
+ <path
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.75663715;color:#000000;fill:url(#linearGradient16564);fill-opacity:1;stroke:none;stroke-width:0.40099999;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+ d="m 16.5,18.375 a 1.1892626,1.1892626 0 0 0 -0.6875,0.375 l -7.90625,8.625 -4.375,-3.84375 a 1.1892626,1.1892626 0 0 0 -1.6875,0.125 l -3.78125,4.4375 a 1.1892626,1.1892626 0 0 0 0.125,1.6875 l 9.59375,8.1875 A 1.1892626,1.1892626 0 0 0 9.4375,37.875 L 21.84375,24.25 a 1.1892626,1.1892626 0 0 0 -0.0625,-1.6875 L 17.5,18.6875 a 1.1892626,1.1892626 0 0 0 -1,-0.3125 z"
+ id="path7576"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0"
+ id="path3102"
+ d="M 16.673107,19.547272 8.013486,29.062561 2.742529,24.448272 -1.020319,28.880071 8.554039,37.074718 20.971437,23.444847 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#1a8f23;fill-opacity:1;stroke:#1a8f23;stroke-width:0.40137047;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <path
+ sodipodi:nodetypes="ccccccccc"
+ inkscape:connector-curvature="0"
+ id="path3880"
+ d="m 16.788086,20.928521 -8.530914,9.356615 -5.221977,-4.498962 -2.759421,3.052021 6.43865,5.393482 1.923234,1.630501 1.672377,-1.881357 9.448928,-10.410613 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:url(#linearGradient16566);fill-opacity:1;stroke:none;stroke-width:3.9000001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0"
+ id="path3884"
+ d="M 16.810636,21.547 8.304205,30.907259 3.035188,26.371539 0.892458,28.796452 8.529702,35.204599 19.1684,23.612017 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:none;stroke:url(#linearGradient16568);stroke-width:0.86294645;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/com.gluster.storage.management.gui/icons/tango/scalable/remove-server.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/remove-server.svg
index 4280df60..4280df60 100644
--- a/src/com.gluster.storage.management.gui/icons/tango/scalable/remove-server.svg
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/remove-server.svg
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/remove_brick.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/remove_brick.svg
new file mode 100644
index 00000000..450b24c8
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/remove_brick.svg
@@ -0,0 +1,4483 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48px"
+ height="48px"
+ id="svg3373"
+ version="1.1"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="add_brick.svg">
+ <defs
+ id="defs3375">
+ <linearGradient
+ id="linearGradient11720">
+ <stop
+ style="stop-color:#397303;stop-opacity:1"
+ offset="0"
+ id="stop11722" />
+ <stop
+ style="stop-color:#3a7304;stop-opacity:1"
+ offset="1"
+ id="stop11724" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11703">
+ <stop
+ id="stop11705"
+ offset="0"
+ style="stop-color:#428504;stop-opacity:1" />
+ <stop
+ id="stop11707"
+ offset="1"
+ style="stop-color:#428504;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11691">
+ <stop
+ id="stop11693"
+ offset="0.0000000"
+ style="stop-color:#adff5e;stop-opacity:1" />
+ <stop
+ id="stop11695"
+ offset="1.0000000"
+ style="stop-color:#428504;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6230">
+ <stop
+ style="stop-color:#b4fb71;stop-opacity:1"
+ offset="0"
+ id="stop6232" />
+ <stop
+ style="stop-color:#3fa617;stop-opacity:1"
+ offset="1"
+ id="stop6234" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6214">
+ <stop
+ style="stop-color:#38a111;stop-opacity:1"
+ offset="0"
+ id="stop6216" />
+ <stop
+ style="stop-color:#baff76;stop-opacity:1"
+ offset="1"
+ id="stop6218" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3">
+ <stop
+ id="stop6490-82"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5">
+ <stop
+ id="stop7723-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455"
+ xlink:href="#linearGradient6817-4"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9">
+ <stop
+ id="stop4136-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8" />
+ <stop
+ id="stop4138-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4">
+ <stop
+ id="stop4208-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452">
+ <stop
+ id="stop3454"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458" />
+ <stop
+ id="stop3460"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463">
+ <stop
+ id="stop3465"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210">
+ <stop
+ id="stop7212"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551">
+ <stop
+ id="stop4553"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545">
+ <stop
+ id="stop4547"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721">
+ <stop
+ id="stop7723"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0">
+ <stop
+ id="stop4136-4-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8" />
+ <stop
+ id="stop4138-2-9"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5">
+ <stop
+ id="stop4208-5-7"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3">
+ <stop
+ id="stop7212-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5">
+ <stop
+ id="stop2318-7-1"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9">
+ <stop
+ id="stop2328-8-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3-8">
+ <stop
+ id="stop6490-82-0"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-1"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4-7">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-4" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-6" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09-0">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-7" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5-2">
+ <stop
+ id="stop7723-5-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-7" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-1" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-7"
+ xlink:href="#linearGradient6817-4-5"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-8">
+ <stop
+ id="stop4136-4-2"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-3" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-0" />
+ <stop
+ id="stop4138-2-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-8">
+ <stop
+ id="stop4208-5-8"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-1">
+ <stop
+ id="stop3454-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-2" />
+ <stop
+ id="stop3460-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-3">
+ <stop
+ id="stop3465-3"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-0"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-1">
+ <stop
+ id="stop7212-3"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-9">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-8" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-3">
+ <stop
+ id="stop4553-9"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-3"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-3">
+ <stop
+ id="stop4547-6"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-5"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-4">
+ <stop
+ id="stop7723-0"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-50"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-6">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-2"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-5" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-5">
+ <stop
+ id="stop4136-4-1-2"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-6" />
+ <stop
+ id="stop4138-2-9-7"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-8">
+ <stop
+ id="stop4208-5-7-0"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-0"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-4">
+ <stop
+ id="stop7212-2-3"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-7"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-1">
+ <stop
+ id="stop2318-7-1-8"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-5"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-5">
+ <stop
+ id="stop2328-8-2-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-3"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3-9">
+ <stop
+ id="stop6490-82-08"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-0"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4-5">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-1" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09-9">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-5" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5-6">
+ <stop
+ id="stop7723-5-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-6">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-8" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-9"
+ xlink:href="#linearGradient6817-4-6"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-02">
+ <stop
+ id="stop4136-4-5"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-5" />
+ <stop
+ id="stop4138-2-7"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-4">
+ <stop
+ id="stop4208-5-1"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-7"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-13">
+ <stop
+ id="stop3454-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-5" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-1" />
+ <stop
+ id="stop3460-5"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-5">
+ <stop
+ id="stop3465-1"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-2"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-5">
+ <stop
+ id="stop7212-5"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-38"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-8">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-4" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-2" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-5">
+ <stop
+ id="stop4553-8"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-4"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-9">
+ <stop
+ id="stop4547-4"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-4"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-58">
+ <stop
+ id="stop7723-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-5">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-6"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-9">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-8" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-3" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-7">
+ <stop
+ id="stop4136-4-1-9"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-04" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-8" />
+ <stop
+ id="stop4138-2-9-74"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-2">
+ <stop
+ id="stop4208-5-7-3"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-5"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-5">
+ <stop
+ id="stop7212-2-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-9"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-8">
+ <stop
+ id="stop2318-7-1-7"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-8"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-0">
+ <stop
+ id="stop2328-8-2-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-32"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7"
+ id="linearGradient9924-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ id="linearGradient6488-3-7">
+ <stop
+ id="stop6490-82-6"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-17"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6359-4-0"
+ id="linearGradient9926-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-78.034668"
+ y1="19.883467"
+ x2="-56.572613"
+ y2="25.997072" />
+ <linearGradient
+ id="linearGradient6359-4-0">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-6" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-02" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6367-09-6"
+ id="linearGradient9928-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-66.404778"
+ y1="21.769932"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient6367-09-6">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-0" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-5-0"
+ id="linearGradient9930-2"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2623645,0.01939786,-0.01991094,1.2957544,342.35808,-20.945388)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-5-0">
+ <stop
+ id="stop7723-5-9"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-54"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-4-56"
+ id="linearGradient9932-32"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.672406,0.05643127,-0.00707387,0.46034998,484.35486,0.66073804)"
+ x1="-60.176182"
+ y1="48.328663"
+ x2="-60.225922"
+ y2="23.254047" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-56">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-88" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-4-56"
+ id="linearGradient9934-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.2159587,-2.5583937,0.50170579,-0.23845183,183.14808,-136.98861)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-5"
+ xlink:href="#linearGradient6817-4-56"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-5">
+ <stop
+ id="stop4136-4-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2" />
+ <stop
+ id="stop4138-2-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-7">
+ <stop
+ id="stop4208-5-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4176-3"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6924-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-3">
+ <stop
+ id="stop3454-8"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-50" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-9" />
+ <stop
+ id="stop3460-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-33">
+ <stop
+ id="stop3465-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-29"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-7">
+ <stop
+ id="stop7212-33"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-3">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-2" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-8">
+ <stop
+ id="stop4553-1"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-8"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-2">
+ <stop
+ id="stop4547-8"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-9"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-3">
+ <stop
+ id="stop7723-02"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-8">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-27"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-9" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-50" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-4">
+ <stop
+ id="stop4136-4-1-0"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-5" />
+ <stop
+ id="stop4138-2-9-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-23">
+ <stop
+ id="stop4208-5-7-2"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-9"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-44">
+ <stop
+ id="stop7212-2-9"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-2">
+ <stop
+ id="stop2318-7-1-9"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-3"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-02">
+ <stop
+ id="stop2328-8-2-0"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3612-21"
+ xlink:href="#linearGradient6817-4-56"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient5410"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient5412"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient5414"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient5418"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.724623,-0.46920261)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6220"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6236"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7"
+ id="linearGradient6258"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0296406,0.01582176,-0.01582176,1.0296406,53.400982,-41.023689)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7-9"
+ id="linearGradient6258-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0296406,0.01582176,-0.01582176,1.0296406,53.400982,-41.023689)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ id="linearGradient6488-3-7-9">
+ <stop
+ id="stop6490-82-6-6"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-17-3"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6300"
+ gradientUnits="userSpaceOnUse"
+ x1="24.595747"
+ y1="14.996862"
+ x2="24.595747"
+ y2="4.670352"
+ gradientTransform="translate(79.25,0)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6302"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-127.25,0)"
+ x1="22.807631"
+ y1="14.75276"
+ x2="22.82798"
+ y2="17.890547" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6323"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6325"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6337"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6339"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6364"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6366"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6368"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6370"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6372"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6374"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6391"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6393"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6566">
+ <path
+ sodipodi:nodetypes="sssssss"
+ inkscape:connector-curvature="0"
+ id="path6568"
+ d="m 437.13691,15.625187 c 0,3.922069 -8.57373,7.101535 -19.14997,7.101535 -10.57623,0 -19.14997,-3.179466 -19.14997,-7.101535 0,-2.453312 -2.97639,-9.339638 2.1246,-10.615427 3.05388,-0.763794 13.06472,-4.48610801 17.02537,-4.48610801 4.65593,0 15.23964,3.20196201 18.55878,4.22641201 4.22049,1.302653 0.59119,8.679649 0.59119,10.875123 z"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ clip-path="none" />
+ </clipPath>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient6639"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient6641"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient6643"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient6645"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient6647"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6649"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6651"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6653"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6655"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6657"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6659"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-4"
+ id="linearGradient7322-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-4">
+ <stop
+ id="stop4136-4-75"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-3" />
+ <stop
+ id="stop4138-2-20"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-88"
+ id="linearGradient7324-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-88">
+ <stop
+ id="stop4208-5-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-9"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-0"
+ id="linearGradient7326-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-0"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-9"
+ id="linearGradient7328-7"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-9">
+ <stop
+ id="stop7212-59"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-06"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-7"
+ id="linearGradient7330-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.724623,-0.46920261)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-7"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-69"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4539-1"
+ id="linearGradient7332-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-79.963799"
+ y1="31.954889"
+ x2="-52.985451"
+ y2="21.220755" />
+ <linearGradient
+ id="linearGradient4539-1">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-7" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-9" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4551-59"
+ id="linearGradient7334-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ id="linearGradient4551-59">
+ <stop
+ id="stop4553-0"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-40"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4545-25"
+ id="linearGradient7336-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient4545-25">
+ <stop
+ id="stop4547-80"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-7"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9"
+ id="linearGradient7338-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0222085,0.01570755,-0.01612302,1.0492462,138.00792,5.5809119)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-9">
+ <stop
+ id="stop7723-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-4"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7340-01"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9737564,0.04569561,-0.00572812,0.37277161,252.99081,23.076623)"
+ x1="-60.273727"
+ y1="52.962711"
+ x2="-60.231167"
+ y2="20.531628" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-1">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7342-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.98463104,-2.0716772,0.40625977,-0.19308803,9.0865162,-88.385897)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7344-0"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.16708703,-2.2876683,-0.44861606,-0.03276611,97.273845,-105.01052)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-64">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-3"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5455-2-0"
+ id="linearGradient7346-8"
+ gradientUnits="userSpaceOnUse"
+ x1="54.71489"
+ y1="5.4645443"
+ x2="72.233635"
+ y2="5.4645443" />
+ <linearGradient
+ id="linearGradient5455-2-0">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-1" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient6925"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient6927"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient6929"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient6931"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient6933"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-0"
+ id="linearGradient6925-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-0">
+ <stop
+ id="stop4136-4-7-3"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-0" />
+ <stop
+ id="stop4138-2-3-9"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-2"
+ id="linearGradient6927-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-2">
+ <stop
+ id="stop4208-5-9-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-6"
+ id="linearGradient6929-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-6"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1"
+ id="linearGradient6931-7"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1">
+ <stop
+ id="stop7212-33-7"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-3"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient31475"
+ xlink:href="#linearGradient6924-6-7"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-7"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient5597"
+ xlink:href="#linearGradient6924-6-7"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient9470"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6">
+ <stop
+ id="stop4136-4-7-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02" />
+ <stop
+ id="stop4138-2-3-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient9472"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-8">
+ <stop
+ id="stop4208-5-9-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient9474"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-2"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient9476"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-8">
+ <stop
+ id="stop7212-33-6"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient9478"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6-1"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517"
+ xlink:href="#linearGradient6924-6-1"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient9647">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop9649" />
+ <stop
+ style="stop-color:#dbdbdb;stop-opacity:1;"
+ offset="1"
+ id="stop9651" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2256">
+ <stop
+ style="stop-color:#ff0202;stop-opacity:1;"
+ offset="0"
+ id="stop2258" />
+ <stop
+ style="stop-color:#ff9b9b;stop-opacity:1;"
+ offset="1"
+ id="stop2260" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2248">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2250" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2252" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11780">
+ <stop
+ style="stop-color:#ff8b8b;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop11782" />
+ <stop
+ style="stop-color:#ec1b1b;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop11784" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4981">
+ <stop
+ style="stop-color:#cc0000;stop-opacity:1;"
+ offset="0"
+ id="stop4983" />
+ <stop
+ style="stop-color:#b30000;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop4985" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient21644"
+ id="radialGradient21650"
+ cx="25.125"
+ cy="36.75"
+ fx="25.125"
+ fy="36.75"
+ r="15.75"
+ gradientTransform="matrix(1,0,0,0.595238,0,14.875)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient21644">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop21646" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop21648" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3957">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11691"
+ id="linearGradient11663"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91724819,0,0,0.91907213,302.29549,5.732139)"
+ x1="15.737001"
+ y1="12.5036"
+ x2="53.570126"
+ y2="47.374317" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2248"
+ id="radialGradient11665"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.838984,0,0,2.961346,253.30758,-14.714265)"
+ cx="16.75"
+ cy="10.666344"
+ fx="16.75"
+ fy="10.666344"
+ r="21.25" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11720"
+ id="linearGradient11718"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.87782436,0.99037957,-0.87782433,0.99037953,319.93281,-20.25021)"
+ x1="21.75"
+ y1="15.80225"
+ x2="24.30225"
+ y2="35.05225" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11691"
+ id="linearGradient22637"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91724819,0,0,0.91907213,302.29549,5.732139)"
+ x1="15.737001"
+ y1="12.5036"
+ x2="53.570126"
+ y2="47.374317" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2248"
+ id="radialGradient22639"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.838984,0,0,2.961346,253.30758,-14.714265)"
+ cx="16.75"
+ cy="10.666344"
+ fx="16.75"
+ fy="10.666344"
+ r="21.25" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11720"
+ id="linearGradient22641"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.87782436,0.99037957,-0.87782433,0.99037953,319.93281,-20.25021)"
+ x1="21.75"
+ y1="15.80225"
+ x2="24.30225"
+ y2="35.05225" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2684-1"
+ id="linearGradient8265"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.128181,0,0,1.128181,-108.08145,-78.763896)"
+ x1="70.913956"
+ y1="101.74152"
+ x2="70.951942"
+ y2="88.923729" />
+ <linearGradient
+ id="linearGradient2684-1">
+ <stop
+ id="stop2686-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2688-4"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9056"
+ id="radialGradient8267"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.05324342,-0.836238,2.019473,0.128568,-206.0078,112.67299)"
+ cx="107.5884"
+ cy="83.990814"
+ fx="107.5884"
+ fy="83.990814"
+ r="12.551644" />
+ <linearGradient
+ id="linearGradient9056">
+ <stop
+ style="stop-color:#6acd11;stop-opacity:1"
+ offset="0"
+ id="stop9058" />
+ <stop
+ style="stop-color:#4cbe01;stop-opacity:1"
+ offset="1"
+ id="stop9060" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9050"
+ id="linearGradient8269"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-99.088729,-66.498056)"
+ x1="71.288956"
+ y1="124.11652"
+ x2="70.826942"
+ y2="95" />
+ <linearGradient
+ id="linearGradient9050">
+ <stop
+ id="stop9052"
+ offset="0"
+ style="stop-color:#428405;stop-opacity:1" />
+ <stop
+ id="stop9054"
+ offset="1"
+ style="stop-color:#264a03;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient17969"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient17971"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient17973"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient17975"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient17977"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient17986"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient17988"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient17990"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient17992"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient17994"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-6-2"
+ id="linearGradient10212"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.329484,6.9416806)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-6-2">
+ <stop
+ id="stop4136-4-9-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-9-7" />
+ <stop
+ id="stop4138-2-8-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-8-2"
+ id="linearGradient10214"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.329484,6.9416806)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-8-2">
+ <stop
+ id="stop4208-5-3-8"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-8-2"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-9-0"
+ id="linearGradient10216"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.45408812,0,0,0.45408812,32.774075,7.2711045)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-9-0"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-6-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-7-9"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-8-1"
+ id="linearGradient10218"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="-5.456851" />
+ <linearGradient
+ id="linearGradient7210-8-1">
+ <stop
+ id="stop7212-7-8"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-5-6"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-1-0"
+ id="linearGradient10220"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.448286,7.8656215)"
+ x1="15.972866"
+ y1="16.641634"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-1-0"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-3-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-9-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-6-2"
+ id="linearGradient13412"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.884513,6.8263032)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient9325">
+ <stop
+ id="stop9327"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop9329" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop9331" />
+ <stop
+ id="stop9333"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-8-2"
+ id="linearGradient13414"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.884513,6.8263032)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient9336">
+ <stop
+ id="stop9338"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop9340"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-9-0"
+ id="linearGradient13416"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.45408812,0,0,0.45408812,-19.439922,7.2711048)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-8-1"
+ id="linearGradient13418"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient9350">
+ <stop
+ id="stop9352"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop9354"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-1-0"
+ id="linearGradient13421"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.765711,7.8656218)"
+ x1="15.972866"
+ y1="16.641634"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-7"
+ id="linearGradient9470-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-7">
+ <stop
+ id="stop4136-4-7-1-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02-9" />
+ <stop
+ id="stop4138-2-3-6-4"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8-8"
+ id="linearGradient9472-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-8-8">
+ <stop
+ id="stop4208-5-9-9-2"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6-4"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2-5"
+ id="linearGradient9474-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-2-5"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8-1"
+ id="linearGradient9476-1"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-8-1">
+ <stop
+ id="stop7212-33-6-5"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6-2"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517-7"
+ xlink:href="#linearGradient6924-6-1-6"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-1-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7-4"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9529"
+ xlink:href="#linearGradient6924-6-1-6"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-7"
+ id="linearGradient9602"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8-8"
+ id="linearGradient9604"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2-5"
+ id="linearGradient9606"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8-1"
+ id="linearGradient9608"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1-6"
+ id="linearGradient9610"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512"
+ id="radialGradient22609"
+ gradientUnits="userSpaceOnUse"
+ cx="55"
+ cy="125"
+ fx="55"
+ fy="125"
+ r="14.375" />
+ <linearGradient
+ id="linearGradient12512">
+ <stop
+ id="stop12513"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512-7"
+ id="radialGradient22609-1"
+ gradientUnits="userSpaceOnUse"
+ cx="55"
+ cy="125"
+ fx="55"
+ fy="125"
+ r="14.375" />
+ <linearGradient
+ id="linearGradient12512-7">
+ <stop
+ id="stop12513-4"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517-0"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514-9"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-5-6-8">
+ <stop
+ id="stop4136-4-7-3-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-3" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-3" />
+ <stop
+ id="stop4138-2-3-6-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-7-1">
+ <stop
+ id="stop4208-5-9-0"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-4"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-7-1-3">
+ <stop
+ id="stop7212-33-15"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-7"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517-2"
+ xlink:href="#linearGradient6924-6-2"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-2"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3957-4">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-2" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3957-1">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-25" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2684-1-6"
+ id="linearGradient8265-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.128181,0,0,1.128181,-108.08145,-78.763896)"
+ x1="70.913956"
+ y1="101.74152"
+ x2="70.951942"
+ y2="88.923729" />
+ <linearGradient
+ id="linearGradient2684-1-6">
+ <stop
+ id="stop2686-7-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2688-4-5"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9056-6"
+ id="radialGradient8267-7"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.05324342,-0.836238,2.019473,0.128568,-206.0078,112.67299)"
+ cx="107.5884"
+ cy="83.990814"
+ fx="107.5884"
+ fy="83.990814"
+ r="12.551644" />
+ <linearGradient
+ id="linearGradient9056-6">
+ <stop
+ style="stop-color:#6acd11;stop-opacity:1"
+ offset="0"
+ id="stop9058-1" />
+ <stop
+ style="stop-color:#4cbe01;stop-opacity:1"
+ offset="1"
+ id="stop9060-8" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9050-2"
+ id="linearGradient8269-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-99.088729,-66.498056)"
+ x1="71.288956"
+ y1="124.11652"
+ x2="70.826942"
+ y2="95" />
+ <linearGradient
+ id="linearGradient9050-2">
+ <stop
+ id="stop9052-7"
+ offset="0"
+ style="stop-color:#428405;stop-opacity:1" />
+ <stop
+ id="stop9054-9"
+ offset="1"
+ style="stop-color:#264a03;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2817-4"
+ id="linearGradient13377"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.624525,0,0,1.054917,-530.24846,-71.839329)"
+ x1="174.83363"
+ y1="84.263489"
+ x2="174.74524"
+ y2="105.49083" />
+ <linearGradient
+ id="linearGradient2817-4">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2819-6" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0.48453608;"
+ offset="1"
+ id="stop2821-0" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient13364"
+ id="radialGradient13379"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(8.905772e-6,-1.07205,4.98026,-1.250658e-6,-584.92577,217.16695)"
+ cx="169.77171"
+ cy="100.20107"
+ fx="169.77171"
+ fy="100.20107"
+ r="11" />
+ <linearGradient
+ id="linearGradient13364">
+ <stop
+ style="stop-color:#f10a0a;stop-opacity:1"
+ offset="0"
+ id="stop13366" />
+ <stop
+ style="stop-color:#cd0101;stop-opacity:1"
+ offset="1"
+ id="stop13368" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient13358"
+ id="linearGradient13381"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.498884,0,0,1.004384,-508.20837,-66.990449)"
+ x1="169"
+ y1="110.33805"
+ x2="169"
+ y2="93.204849" />
+ <linearGradient
+ id="linearGradient13358">
+ <stop
+ style="stop-color:#bd0000;stop-opacity:1"
+ offset="0"
+ id="stop13360" />
+ <stop
+ style="stop-color:#970000;stop-opacity:1"
+ offset="1"
+ id="stop13362" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3081-5"
+ id="linearGradient13383"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.8933072,0,0,0.96437208,-157.89239,5.2328667)"
+ x1="15.089521"
+ y1="15.291994"
+ x2="14"
+ y2="52.510574" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3081-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop3083-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop3085-4" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient52493"
+ id="linearGradient52499"
+ x1="-72.303078"
+ y1="20.700233"
+ x2="-71.390366"
+ y2="31.757452"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient52493">
+ <stop
+ style="stop-color:#f7f7f7;stop-opacity:1;"
+ offset="0"
+ id="stop52495" />
+ <stop
+ style="stop-color:#f7f7f7;stop-opacity:0;"
+ offset="1"
+ id="stop52497" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4499"
+ id="linearGradient4566"
+ gradientUnits="userSpaceOnUse"
+ x1="31.480057"
+ y1="30.844528"
+ x2="32.374863"
+ y2="40.750778" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4499">
+ <stop
+ style="stop-color:#333334;stop-opacity:1;"
+ offset="0"
+ id="stop4501" />
+ <stop
+ style="stop-color:#333334;stop-opacity:0;"
+ offset="1"
+ id="stop4503" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4515"
+ id="radialGradient4568"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.910961,0.03332579,-4.099092e-8,1.3460695,51.082256,-3.4189674)"
+ cx="-54.743732"
+ cy="21.368473"
+ fx="-54.743732"
+ fy="21.368473"
+ r="8.1875" />
+ <linearGradient
+ id="linearGradient4515">
+ <stop
+ style="stop-color:#fbfbfb;stop-opacity:1"
+ offset="0"
+ id="stop4517" />
+ <stop
+ style="stop-color:#729bc6;stop-opacity:1"
+ offset="1"
+ id="stop4519" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4507"
+ id="linearGradient4570"
+ gradientUnits="userSpaceOnUse"
+ x1="30.907085"
+ y1="30.457268"
+ x2="30.937366"
+ y2="39.051018" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4507">
+ <stop
+ style="stop-color:#333334;stop-opacity:1;"
+ offset="0"
+ id="stop4509" />
+ <stop
+ style="stop-color:#333334;stop-opacity:0;"
+ offset="1"
+ id="stop4511" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4523"
+ id="linearGradient4546"
+ gradientUnits="userSpaceOnUse"
+ x1="32.778126"
+ y1="21.726969"
+ x2="33.368801"
+ y2="37.633221"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,69.53661,-3.4691061)" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4523">
+ <stop
+ style="stop-color:#3a3a3b;stop-opacity:1;"
+ offset="0"
+ id="stop4525" />
+ <stop
+ style="stop-color:#3a3a3b;stop-opacity:0;"
+ offset="1"
+ id="stop4527" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4409"
+ id="linearGradient4476"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-9.402963)"
+ x1="23.710672"
+ y1="27.421602"
+ x2="23.710672"
+ y2="45.734699" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient4409">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop4411" />
+ <stop
+ style="stop-color:#6e96c1;stop-opacity:1"
+ offset="1"
+ id="stop4413" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4499"
+ id="linearGradient4554"
+ gradientUnits="userSpaceOnUse"
+ x1="31.480057"
+ y1="30.844528"
+ x2="32.374863"
+ y2="40.750778" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4515"
+ id="radialGradient4556"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.910961,0.03332579,-4.099092e-8,1.3460695,51.082256,-3.4189674)"
+ cx="-54.743732"
+ cy="21.368473"
+ fx="-54.743732"
+ fy="21.368473"
+ r="8.1875" />
+ <linearGradient
+ id="linearGradient14544">
+ <stop
+ style="stop-color:#fbfbfb;stop-opacity:1"
+ offset="0"
+ id="stop14546" />
+ <stop
+ style="stop-color:#729bc6;stop-opacity:1"
+ offset="1"
+ id="stop14548" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4507"
+ id="linearGradient4572"
+ gradientUnits="userSpaceOnUse"
+ x1="30.907085"
+ y1="30.457268"
+ x2="30.937366"
+ y2="39.051018" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4523"
+ id="linearGradient4529"
+ x1="32.778126"
+ y1="21.726969"
+ x2="33.368801"
+ y2="37.633221"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-3.4691061)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4409"
+ id="linearGradient4471"
+ gradientUnits="userSpaceOnUse"
+ x1="23.710672"
+ y1="25.234375"
+ x2="23.710672"
+ y2="43.673359"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-9.402963)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4417"
+ id="linearGradient4473"
+ gradientUnits="userSpaceOnUse"
+ x1="23.710672"
+ y1="25.234375"
+ x2="23.710672"
+ y2="43.673359"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-9.402963)" />
+ <linearGradient
+ id="linearGradient4417">
+ <stop
+ style="stop-color:#333333;stop-opacity:1;"
+ offset="0"
+ id="stop4419" />
+ <stop
+ style="stop-color:#6e96c1;stop-opacity:1"
+ offset="1"
+ id="stop4421" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-5"
+ id="linearGradient22552"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-5">
+ <stop
+ id="stop4136-4-7-1-43"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02-2" />
+ <stop
+ id="stop4138-2-3-6-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8-3"
+ id="linearGradient22554"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-8-3">
+ <stop
+ id="stop4208-5-9-9-4"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6-1"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2-1"
+ id="linearGradient22556"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-2-1"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8-7"
+ id="linearGradient22558"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-8-7">
+ <stop
+ id="stop7212-33-6-4"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6-27"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1-7"
+ id="linearGradient22560"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6-1-7"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6-9"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7-3"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4409"
+ id="linearGradient14805"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-9.402963)"
+ x1="23.710672"
+ y1="25.234375"
+ x2="23.710672"
+ y2="43.673359" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4417"
+ id="linearGradient14807"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-9.402963)"
+ x1="23.710672"
+ y1="25.234375"
+ x2="23.710672"
+ y2="43.673359" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4523"
+ id="linearGradient14809"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-3.4691061)"
+ x1="32.778126"
+ y1="21.726969"
+ x2="33.368801"
+ y2="37.633221" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4499"
+ id="linearGradient14811"
+ gradientUnits="userSpaceOnUse"
+ x1="31.480057"
+ y1="30.844528"
+ x2="32.374863"
+ y2="40.750778" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4515"
+ id="radialGradient14813"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.910961,0.03332579,-4.099092e-8,1.3460695,51.082256,-3.4189674)"
+ cx="-54.743732"
+ cy="21.368473"
+ fx="-54.743732"
+ fy="21.368473"
+ r="8.1875" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4507"
+ id="linearGradient14815"
+ gradientUnits="userSpaceOnUse"
+ x1="30.907085"
+ y1="30.457268"
+ x2="30.937366"
+ y2="39.051018" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4409"
+ id="linearGradient14817"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,88.9159,-9.402963)"
+ x1="23.710672"
+ y1="27.421602"
+ x2="23.710672"
+ y2="45.734699" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4523"
+ id="linearGradient14819"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2528671,0,0,1.2528671,69.53661,-3.4691061)"
+ x1="32.778126"
+ y1="21.726969"
+ x2="33.368801"
+ y2="37.633221" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4499"
+ id="linearGradient14821"
+ gradientUnits="userSpaceOnUse"
+ x1="31.480057"
+ y1="30.844528"
+ x2="32.374863"
+ y2="40.750778" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4515"
+ id="radialGradient14823"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.910961,0.03332579,-4.099092e-8,1.3460695,51.082256,-3.4189674)"
+ cx="-54.743732"
+ cy="21.368473"
+ fx="-54.743732"
+ fy="21.368473"
+ r="8.1875" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4507"
+ id="linearGradient14825"
+ gradientUnits="userSpaceOnUse"
+ x1="30.907085"
+ y1="30.457268"
+ x2="30.937366"
+ y2="39.051018" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-0"
+ id="linearGradient9602-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-0">
+ <stop
+ id="stop4136-4-7-3-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-6" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-2" />
+ <stop
+ id="stop4138-2-3-4"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-5"
+ id="linearGradient9604-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-5">
+ <stop
+ id="stop4208-5-9-8"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-8"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-1"
+ id="linearGradient9606-7"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-1"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-4"
+ id="linearGradient9608-3"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-4">
+ <stop
+ id="stop7212-33-9"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-2-0"
+ id="linearGradient9610-0"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6-2-0"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20490"
+ id="linearGradient9612"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,120.12809,-4.1871001)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.581718"
+ y2="19.79685" />
+ <linearGradient
+ id="linearGradient20490">
+ <stop
+ id="stop20492"
+ offset="0"
+ style="stop-color:#4dbb14;stop-opacity:1" />
+ <stop
+ id="stop20494"
+ offset="1"
+ style="stop-color:#99ea58;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient21771"
+ id="linearGradient9614"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,120.12809,-4.1871001)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ id="linearGradient21771">
+ <stop
+ id="stop21773"
+ offset="0"
+ style="stop-color:#7ad73c;stop-opacity:1" />
+ <stop
+ id="stop21775"
+ offset="1"
+ style="stop-color:#52be18;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20502"
+ id="linearGradient9616"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,120.12809,-4.1871001)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient20502">
+ <stop
+ style="stop-color:#98ea57;stop-opacity:1"
+ offset="0"
+ id="stop20504" />
+ <stop
+ style="stop-color:#60a81a;stop-opacity:1"
+ offset="1"
+ id="stop20506" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9-1"
+ id="linearGradient9618"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91004274,0.01398398,-0.01435387,0.93411362,120.29077,-4.7056724)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-9-1">
+ <stop
+ id="stop7723-2-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient9620"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6474497,0.04068148,-0.00509958,0.33186783,222.65672,10.870257)"
+ x1="-60.134838"
+ y1="70.540863"
+ x2="-60.135002"
+ y2="32.559666" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-38" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-2" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient9622"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.87658866,-1.8443545,0.36168137,-0.17190071,5.515756,-88.361616)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7"
+ id="linearGradient9624"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.14875277,-2.0366452,-0.39938996,-0.02917073,84.026391,-103.16204)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-48"
+ id="linearGradient9626"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.38087698,0,0,0.35432336,78.684959,0.87746894)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ id="linearGradient3957-48">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-3" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-01" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20490-4"
+ id="linearGradient9612-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,120.12809,-4.1871001)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.581718"
+ y2="19.79685" />
+ <linearGradient
+ id="linearGradient20490-4">
+ <stop
+ id="stop20492-3"
+ offset="0"
+ style="stop-color:#4dbb14;stop-opacity:1" />
+ <stop
+ id="stop20494-5"
+ offset="1"
+ style="stop-color:#99ea58;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient21771-2"
+ id="linearGradient9614-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,120.12809,-4.1871001)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ id="linearGradient21771-2">
+ <stop
+ id="stop21773-6"
+ offset="0"
+ style="stop-color:#7ad73c;stop-opacity:1" />
+ <stop
+ id="stop21775-8"
+ offset="1"
+ style="stop-color:#52be18;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient20502-2"
+ id="linearGradient9616-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,120.12809,-4.1871001)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient20502-2">
+ <stop
+ style="stop-color:#98ea57;stop-opacity:1"
+ offset="0"
+ id="stop20504-9" />
+ <stop
+ style="stop-color:#60a81a;stop-opacity:1"
+ offset="1"
+ id="stop20506-5" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9-1-4"
+ id="linearGradient9618-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91004274,0.01398398,-0.01435387,0.93411362,120.29077,-4.7056724)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-9-1-4">
+ <stop
+ id="stop7723-2-7-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-0-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7-8"
+ id="linearGradient9620-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6474497,0.04068148,-0.00509958,0.33186783,222.65672,10.870257)"
+ x1="-60.134838"
+ y1="70.540863"
+ x2="-60.135002"
+ y2="32.559666" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-7-8">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-38-8" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-2-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7-8"
+ id="linearGradient9622-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.87658866,-1.8443545,0.36168137,-0.17190071,5.515756,-88.361616)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7-8"
+ id="linearGradient9624-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.14875277,-2.0366452,-0.39938996,-0.02917073,84.026391,-103.16204)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.14875277,-2.0366452,-0.39938996,-0.02917073,84.026391,-103.16204)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient16256"
+ xlink:href="#linearGradient6817-7-8"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-1-3"
+ id="linearGradient16439"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.38087698,0,0,0.35432336,78.684959,0.87746894)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ id="linearGradient3957-1-3">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-25-4" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-7-3" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-5-1"
+ id="linearGradient24412"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-5-1">
+ <stop
+ id="stop4136-4-7-9"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-7" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-2-7" />
+ <stop
+ id="stop4138-2-3-0"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-86"
+ id="linearGradient24414"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-86">
+ <stop
+ id="stop4208-5-9-7"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-08"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-8"
+ id="linearGradient24416"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-8"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-6"
+ id="linearGradient24418"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-6">
+ <stop
+ id="stop7212-33-20"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-2"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-4"
+ id="linearGradient24420"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6-4"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-83"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10197-6"
+ id="linearGradient24422"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,220.14387,8.0702099)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.581718"
+ y2="19.79685" />
+ <linearGradient
+ id="linearGradient10197-6">
+ <stop
+ style="stop-color:#ca1c0a;stop-opacity:1"
+ offset="0"
+ id="stop10199-3" />
+ <stop
+ style="stop-color:#f05034;stop-opacity:1"
+ offset="1"
+ id="stop10201-4" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10203-8"
+ id="linearGradient24424"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,220.14387,8.0702099)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ id="linearGradient10203-8">
+ <stop
+ id="stop10205-8"
+ offset="0"
+ style="stop-color:#e13c24;stop-opacity:1" />
+ <stop
+ id="stop10207-3"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient10209-7"
+ id="linearGradient24426"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.90770374,0.01394805,-0.01394805,0.90770374,220.14387,8.0702099)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient10209-7">
+ <stop
+ id="stop10211-3"
+ offset="0"
+ style="stop-color:#e64229;stop-opacity:1" />
+ <stop
+ id="stop10213-5"
+ offset="1"
+ style="stop-color:#cc1f0d;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9-1-40"
+ id="linearGradient24428"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91004274,0.01398398,-0.01435387,0.93411362,220.30655,7.5516376)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-9-1-40">
+ <stop
+ id="stop7723-2-7-9"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-0-4"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7-0"
+ id="linearGradient24430"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.6474497,0.04068148,-0.00509958,0.33186783,322.6725,23.127567)"
+ x1="-60.134838"
+ y1="70.540863"
+ x2="-60.225922"
+ y2="23.254047" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-7-0">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-38-6" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-2-2" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7-0"
+ id="linearGradient24432"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.87658866,-1.8443545,0.36168137,-0.17190071,105.53154,-76.104306)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-7-0"
+ id="linearGradient24434"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.14875277,-2.0366452,-0.39938996,-0.02917073,184.04217,-90.904731)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11503-8"
+ id="linearGradient24436"
+ gradientUnits="userSpaceOnUse"
+ x1="31.542158"
+ y1="27.633146"
+ x2="39.232777"
+ y2="40.738911" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient11503-8">
+ <stop
+ style="stop-color:#ef2929"
+ offset="0"
+ id="stop11505-6" />
+ <stop
+ style="stop-color:#cc0000"
+ offset="1"
+ id="stop11507-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-4-4"
+ id="linearGradient24438"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.509273,0,0,0.473768,23.78749,24.00915)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ id="linearGradient3957-4-4">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-2-8" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-0-8" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7311"
+ xlink:href="#linearGradient6924-6-4"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11503-8-2"
+ id="linearGradient10186"
+ gradientUnits="userSpaceOnUse"
+ x1="31.542158"
+ y1="27.633146"
+ x2="39.232777"
+ y2="40.738911" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient11503-8-2">
+ <stop
+ style="stop-color:#ef2929"
+ offset="0"
+ id="stop11505-6-4" />
+ <stop
+ style="stop-color:#cc0000"
+ offset="1"
+ id="stop11507-7-5" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-4-5"
+ id="linearGradient10188"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.509273,0,0,0.473768,23.78749,24.00915)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ id="linearGradient3957-4-5">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-2-1" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-0-7" />
+ </linearGradient>
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="74.663605"
+ inkscape:cy="33.715199"
+ inkscape:current-layer="g6615"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1600"
+ inkscape:window-height="838"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata3378">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g7697"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-0"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-1"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-3"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g6615"
+ transform="translate(-95.5,0)">
+ <g
+ id="g9464-2"
+ transform="matrix(1.2573708,0,0,1.2573709,57.798241,-12.320192)">
+ <path
+ style="color:#000000;fill:url(#linearGradient9470-1);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient9472-8);stroke-width:1.07960427;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 46.071102,14.389965 c -8.507118,0 -15.424338,3.017755 -15.424338,6.730038 0,0.266382 0,19.239684 0,19.51711 0,3.712296 6.91722,6.730038 15.424338,6.730038 8.507125,0 15.69978,-3.017742 15.69978,-6.730038 0,-0.219733 0,-19.297376 0,-19.51711 0,-3.712295 -7.192655,-6.730038 -15.69978,-6.730038 z"
+ id="path21753-3"
+ sodipodi:nodetypes="zsszssz"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="zsszssz"
+ id="path21755-2"
+ d="m 46.080432,15.126006 c -7.931631,0 -14.380916,2.822639 -14.380916,6.294907 0,0.249165 0,18.241368 0,18.500853 0,3.472269 6.449285,6.294908 14.380916,6.294908 7.931638,0 14.637742,-2.822639 14.637727,-6.294908 0,-0.205521 0,-18.295331 0,-18.500853 0,-3.472268 -6.706089,-6.294907 -14.637727,-6.294907 z"
+ style="opacity:0.70796461;color:#000000;fill:none;stroke:url(#linearGradient9474-5);stroke-width:1.08133531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient9476-1);stroke-width:1.00492704;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ id="path21757-2"
+ sodipodi:cx="24"
+ sodipodi:cy="14.071428"
+ sodipodi:rx="12.857142"
+ sodipodi:ry="5.5"
+ d="m 36.857142,14.071428 c 0,3.037566 -5.756338,5.5 -12.857142,5.5 -7.100804,0 -12.857142,-2.462434 -12.857142,-5.5 0,-3.037566 5.756338,-5.4999997 12.857142,-5.4999997 7.100804,0 12.857142,2.4624337 12.857142,5.4999997 z"
+ transform="matrix(1.1227741,0,0,1.0919883,19.192176,5.7605912)" />
+ <path
+ style="opacity:0.49367083;color:#000000;fill:url(#linearGradient9529);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 34.928081,25.959639 0.38657,12.731652 4.948172,1.388917 -0.154644,-12.654504 c 0,0 2.242138,0 5.875949,-0.231482 -5.645572,-0.251781 -12.104991,-2.673295 -14.303272,-4.243888 1.533656,2.260099 3.247225,3.009305 3.247225,3.009305 z"
+ id="path21759-1"
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ transform="matrix(-1.1587832,0,0,1.1525756,312.27655,2.5106371)"
+ id="g21727">
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path21671"
+ d="m 145.52989,27.793162 0.0371,7.30215 20.44526,3.589106 0.12181,-7.865513 z"
+ style="fill:url(#linearGradient24422);fill-opacity:1;stroke:none" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path21673"
+ d="m 145.52409,27.795211 8.14425,-3.354298 20.08286,2.920461 -7.6184,3.460248 z"
+ style="fill:url(#linearGradient24424);fill-opacity:1;stroke:none" />
+ <path
+ sodipodi:nodetypes="ccccc"
+ inkscape:connector-curvature="0"
+ id="path21675"
+ d="m 166.12008,30.824956 -0.085,7.896819 7.27053,-4.892126 0.39827,-6.510014 z"
+ style="fill:url(#linearGradient24426);fill-opacity:1;stroke:none" />
+ <path
+ sodipodi:nodetypes="ccccccccccccccc"
+ inkscape:connector-curvature="0"
+ id="path21677"
+ d="m 153.66438,25.02508 c -2.66643,1.074217 -7.32161,2.796413 -7.32161,2.796413 l 0.007,7.017683 19.71847,3.95873 6.77264,-4.707984 0.15268,-6.238945 c 0,0 -13.41372,-2.731117 -19.32909,-2.825895 z m 0.0979,0.544614 18.40297,2.436419 -0.0738,5.846804 -6.00725,3.776425 -18.74242,-3.469609 0.0867,-6.320942 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.41150441;color:#000000;fill:url(#linearGradient24428);fill-opacity:1;stroke:none;stroke-width:1.53600001;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <path
+ sodipodi:nodetypes="cc"
+ inkscape:connector-curvature="0"
+ id="path21679"
+ d="m 166.079,30.820784 -0.13165,8.30955"
+ style="opacity:0.37168142;fill:#cedcc2;fill-opacity:1;stroke:url(#linearGradient24430);stroke-width:0.9374491px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ sodipodi:nodetypes="ccccccccccccccccc"
+ inkscape:connector-curvature="0"
+ id="path21681"
+ d="m 153.64666,24.402076 c 0,0 -5.31325,1.954668 -7.88129,3.047675 l -0.24781,0.09011 0,0.270339 0.0451,7.389259 20.6208,4.033511 7.49315,-4.875522 0.0873,-7.075886 -20.11718,-2.87949 z m 0.0505,0.617405 19.30082,2.847517 -0.0873,6.268968 -6.9074,4.30852 -19.65048,-3.605476 -0.01,-7.017191 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#840100;fill-opacity:1;stroke:#840100;stroke-width:0.13527358;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <path
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0"
+ id="path21683"
+ d="m 171.841,27.965939 -6.22788,2.836559 0.91532,0.0092 -0.002,0.231976 5.63042,-2.700313 -0.005,-0.346342 z"
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.5;color:#000000;fill:url(#linearGradient24432);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25439572px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+ <path
+ style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.5;color:#000000;fill:url(#linearGradient24434);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25439572px;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+ d="m 148.22573,27.608798 17.80115,3.017916 -0.40616,0.180949 -0.009,0.38622 -18.12861,-2.83368 0.0446,-0.458495 z"
+ id="path21685"
+ inkscape:connector-curvature="0"
+ sodipodi:nodetypes="ccccccc" />
+ </g>
+ <g
+ transform="matrix(0.91844143,0,0,0.9135214,109.86934,-23.288235)"
+ id="g16411">
+ <g
+ transform="matrix(0.84658759,0,0,0.84658759,-3.1691781,11.057179)"
+ id="g16413">
+ <path
+ transform="matrix(1.292963,0,0,1.298265,-11.62357,-12.79906)"
+ d="m 44.857088,36.818874 c 0,4.466622 -3.620912,8.087534 -8.087534,8.087534 -4.466622,0 -8.087534,-3.620912 -8.087534,-8.087534 0,-4.466621 3.620912,-8.087534 8.087534,-8.087534 4.466622,0 8.087534,3.620913 8.087534,8.087534 z"
+ sodipodi:ry="8.087534"
+ sodipodi:rx="8.087534"
+ sodipodi:cy="36.818874"
+ sodipodi:cx="36.769554"
+ id="path16415"
+ style="fill:url(#linearGradient10186);fill-opacity:1;stroke:#a40000;stroke-width:0.77183652;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <rect
+ ry="0"
+ rx="0"
+ y="33.001602"
+ x="29.875"
+ height="4"
+ width="12"
+ id="rect16417"
+ style="fill:#eeeeec;fill-opacity:1;stroke:none" />
+ <path
+ transform="matrix(1.172757,0,0,1.174351,-7.233043,-8.235886)"
+ d="m 44.857088,36.818874 c 0,4.466622 -3.620912,8.087534 -8.087534,8.087534 -4.466622,0 -8.087534,-3.620912 -8.087534,-8.087534 0,-4.466621 3.620912,-8.087534 8.087534,-8.087534 4.466622,0 8.087534,3.620913 8.087534,8.087534 z"
+ sodipodi:ry="8.087534"
+ sodipodi:rx="8.087534"
+ sodipodi:cy="36.818874"
+ sodipodi:cx="36.769554"
+ id="path16419"
+ style="opacity:0.3;fill:none;stroke:#ffffff;stroke-width:0.85211307;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="fill:url(#linearGradient10188);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 45.875,34.297252 c 0,5.131198 -5.273176,-2.968777 -9.510532,0.183057 C 32.225956,37.558622 25.875,40.2558 25.875,35.124602 c 0,-5.251269 4.428326,-10.123 9.944064,-10.123 5.515736,0 10.055936,4.164451 10.055936,9.29565 z"
+ id="path16421"
+ sodipodi:nodetypes="czssc" />
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/remove_volume.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/remove_volume.svg
new file mode 100644
index 00000000..83055628
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/remove_volume.svg
@@ -0,0 +1,3248 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48px"
+ height="48px"
+ id="svg3373"
+ version="1.1"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="add_volume.svg">
+ <defs
+ id="defs3375">
+ <linearGradient
+ id="linearGradient11720">
+ <stop
+ style="stop-color:#397303;stop-opacity:1"
+ offset="0"
+ id="stop11722" />
+ <stop
+ style="stop-color:#3a7304;stop-opacity:1"
+ offset="1"
+ id="stop11724" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11703">
+ <stop
+ id="stop11705"
+ offset="0"
+ style="stop-color:#428504;stop-opacity:1" />
+ <stop
+ id="stop11707"
+ offset="1"
+ style="stop-color:#428504;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11691">
+ <stop
+ id="stop11693"
+ offset="0.0000000"
+ style="stop-color:#adff5e;stop-opacity:1" />
+ <stop
+ id="stop11695"
+ offset="1.0000000"
+ style="stop-color:#428504;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6230">
+ <stop
+ style="stop-color:#b4fb71;stop-opacity:1"
+ offset="0"
+ id="stop6232" />
+ <stop
+ style="stop-color:#3fa617;stop-opacity:1"
+ offset="1"
+ id="stop6234" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6214">
+ <stop
+ style="stop-color:#38a111;stop-opacity:1"
+ offset="0"
+ id="stop6216" />
+ <stop
+ style="stop-color:#baff76;stop-opacity:1"
+ offset="1"
+ id="stop6218" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3">
+ <stop
+ id="stop6490-82"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5">
+ <stop
+ id="stop7723-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455"
+ xlink:href="#linearGradient6817-4"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9">
+ <stop
+ id="stop4136-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8" />
+ <stop
+ id="stop4138-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4">
+ <stop
+ id="stop4208-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452">
+ <stop
+ id="stop3454"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458" />
+ <stop
+ id="stop3460"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463">
+ <stop
+ id="stop3465"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210">
+ <stop
+ id="stop7212"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551">
+ <stop
+ id="stop4553"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545">
+ <stop
+ id="stop4547"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721">
+ <stop
+ id="stop7723"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0">
+ <stop
+ id="stop4136-4-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8" />
+ <stop
+ id="stop4138-2-9"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5">
+ <stop
+ id="stop4208-5-7"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3">
+ <stop
+ id="stop7212-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5">
+ <stop
+ id="stop2318-7-1"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9">
+ <stop
+ id="stop2328-8-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3-8">
+ <stop
+ id="stop6490-82-0"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-1"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4-7">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-4" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-6" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09-0">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-7" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5-2">
+ <stop
+ id="stop7723-5-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-7" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-1" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-7"
+ xlink:href="#linearGradient6817-4-5"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-8">
+ <stop
+ id="stop4136-4-2"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-3" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-0" />
+ <stop
+ id="stop4138-2-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-8">
+ <stop
+ id="stop4208-5-8"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-1">
+ <stop
+ id="stop3454-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-2" />
+ <stop
+ id="stop3460-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-3">
+ <stop
+ id="stop3465-3"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-0"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-1">
+ <stop
+ id="stop7212-3"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-9">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-8" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-3">
+ <stop
+ id="stop4553-9"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-3"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-3">
+ <stop
+ id="stop4547-6"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-5"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-4">
+ <stop
+ id="stop7723-0"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-50"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-6">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-2"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-5" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-5">
+ <stop
+ id="stop4136-4-1-2"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-6" />
+ <stop
+ id="stop4138-2-9-7"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-8">
+ <stop
+ id="stop4208-5-7-0"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-0"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-4">
+ <stop
+ id="stop7212-2-3"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-7"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-1">
+ <stop
+ id="stop2318-7-1-8"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-5"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-5">
+ <stop
+ id="stop2328-8-2-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-3"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3-9">
+ <stop
+ id="stop6490-82-08"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-0"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4-5">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-1" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09-9">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-5" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5-6">
+ <stop
+ id="stop7723-5-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-6">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-8" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-9"
+ xlink:href="#linearGradient6817-4-6"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-02">
+ <stop
+ id="stop4136-4-5"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-5" />
+ <stop
+ id="stop4138-2-7"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-4">
+ <stop
+ id="stop4208-5-1"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-7"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-13">
+ <stop
+ id="stop3454-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-5" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-1" />
+ <stop
+ id="stop3460-5"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-5">
+ <stop
+ id="stop3465-1"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-2"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-5">
+ <stop
+ id="stop7212-5"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-38"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-8">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-4" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-2" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-5">
+ <stop
+ id="stop4553-8"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-4"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-9">
+ <stop
+ id="stop4547-4"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-4"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-58">
+ <stop
+ id="stop7723-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-5">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-6"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-9">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-8" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-3" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-7">
+ <stop
+ id="stop4136-4-1-9"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-04" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-8" />
+ <stop
+ id="stop4138-2-9-74"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-2">
+ <stop
+ id="stop4208-5-7-3"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-5"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-5">
+ <stop
+ id="stop7212-2-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-9"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-8">
+ <stop
+ id="stop2318-7-1-7"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-8"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-0">
+ <stop
+ id="stop2328-8-2-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-32"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7"
+ id="linearGradient9924-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ id="linearGradient6488-3-7">
+ <stop
+ id="stop6490-82-6"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-17"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6359-4-0"
+ id="linearGradient9926-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-78.034668"
+ y1="19.883467"
+ x2="-56.572613"
+ y2="25.997072" />
+ <linearGradient
+ id="linearGradient6359-4-0">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-6" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-02" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6367-09-6"
+ id="linearGradient9928-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2591199,0.01934801,-0.01934801,1.2591199,342.13243,-20.226051)"
+ x1="-66.404778"
+ y1="21.769932"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient6367-09-6">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-0" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-5-0"
+ id="linearGradient9930-2"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.2623645,0.01939786,-0.01991094,1.2957544,342.35808,-20.945388)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-5-0">
+ <stop
+ id="stop7723-5-9"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-54"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-4-56"
+ id="linearGradient9932-32"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.672406,0.05643127,-0.00707387,0.46034998,484.35486,0.66073804)"
+ x1="-60.176182"
+ y1="48.328663"
+ x2="-60.225922"
+ y2="23.254047" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-56">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-88" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-4-56"
+ id="linearGradient9934-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-1.2159587,-2.5583937,0.50170579,-0.23845183,183.14808,-136.98861)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-5"
+ xlink:href="#linearGradient6817-4-56"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-5">
+ <stop
+ id="stop4136-4-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2" />
+ <stop
+ id="stop4138-2-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-7">
+ <stop
+ id="stop4208-5-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4176-3"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6924-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-3">
+ <stop
+ id="stop3454-8"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-50" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-9" />
+ <stop
+ id="stop3460-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-33">
+ <stop
+ id="stop3465-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-29"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-7">
+ <stop
+ id="stop7212-33"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-3">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-2" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-8">
+ <stop
+ id="stop4553-1"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-8"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-2">
+ <stop
+ id="stop4547-8"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-9"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-3">
+ <stop
+ id="stop7723-02"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-8">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-27"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-7">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-9" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-50" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-4">
+ <stop
+ id="stop4136-4-1-0"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-5" />
+ <stop
+ id="stop4138-2-9-3"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-23">
+ <stop
+ id="stop4208-5-7-2"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-9"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-44">
+ <stop
+ id="stop7212-2-9"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-2">
+ <stop
+ id="stop2318-7-1-9"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-3"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-02">
+ <stop
+ id="stop2328-8-2-0"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-1"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient3612-21"
+ xlink:href="#linearGradient6817-4-56"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient5410"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient5412"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient5414"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient5418"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.724623,-0.46920261)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6220"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6236"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7"
+ id="linearGradient6258"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0296406,0.01582176,-0.01582176,1.0296406,53.400982,-41.023689)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6488-3-7-9"
+ id="linearGradient6258-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0296406,0.01582176,-0.01582176,1.0296406,53.400982,-41.023689)"
+ x1="-78.977859"
+ y1="31.32707"
+ x2="-48.390697"
+ y2="18.317263" />
+ <linearGradient
+ id="linearGradient6488-3-7-9">
+ <stop
+ id="stop6490-82-6-6"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-17-3"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6300"
+ gradientUnits="userSpaceOnUse"
+ x1="24.595747"
+ y1="14.996862"
+ x2="24.595747"
+ y2="4.670352"
+ gradientTransform="translate(79.25,0)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6302"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-127.25,0)"
+ x1="22.807631"
+ y1="14.75276"
+ x2="22.82798"
+ y2="17.890547" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6323"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6325"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6337"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6339"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6364"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6366"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6368"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6370"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6372"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6374"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6391"
+ gradientUnits="userSpaceOnUse"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6393"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,1.6296297,-48,-11.353009)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath6566">
+ <path
+ sodipodi:nodetypes="sssssss"
+ inkscape:connector-curvature="0"
+ id="path6568"
+ d="m 437.13691,15.625187 c 0,3.922069 -8.57373,7.101535 -19.14997,7.101535 -10.57623,0 -19.14997,-3.179466 -19.14997,-7.101535 0,-2.453312 -2.97639,-9.339638 2.1246,-10.615427 3.05388,-0.763794 13.06472,-4.48610801 17.02537,-4.48610801 4.65593,0 15.23964,3.20196201 18.55878,4.22641201 4.22049,1.302653 0.59119,8.679649 0.59119,10.875123 z"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ clip-path="none" />
+ </clipPath>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient6639"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient6641"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient6643"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient6645"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient6647"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6649"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6651"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6653"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6655"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6214"
+ id="linearGradient6657"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(394,0)"
+ x1="28.158247"
+ y1="13.121862"
+ x2="21.283247"
+ y2="4.670352" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6230"
+ id="linearGradient6659"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,3.0700325,-442,-31.270668)"
+ x1="19.120131"
+ y1="20.965828"
+ x2="28.07798"
+ y2="14.630604" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-4"
+ id="linearGradient7322-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-4">
+ <stop
+ id="stop4136-4-75"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-3" />
+ <stop
+ id="stop4138-2-20"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-88"
+ id="linearGradient7324-3"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-88">
+ <stop
+ id="stop4208-5-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-9"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-0"
+ id="linearGradient7326-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.850823,-2.8039326)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-0"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-9"
+ id="linearGradient7328-7"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-9">
+ <stop
+ id="stop7212-59"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-06"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-7"
+ id="linearGradient7330-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.88340971,0,0,0.88340971,41.724623,-0.46920261)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-7"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-69"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-0"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4539-1"
+ id="linearGradient7332-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-79.963799"
+ y1="31.954889"
+ x2="-52.985451"
+ y2="21.220755" />
+ <linearGradient
+ id="linearGradient4539-1">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-7" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-9" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4551-59"
+ id="linearGradient7334-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-60.971153"
+ y1="26.995193"
+ x2="-63.190922"
+ y2="18.49259" />
+ <linearGradient
+ id="linearGradient4551-59">
+ <stop
+ id="stop4553-0"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-40"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4545-25"
+ id="linearGradient7336-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0195811,0.01566719,-0.01566719,1.0195811,137.8252,6.1634)"
+ x1="-60.379169"
+ y1="23.812271"
+ x2="-51.339279"
+ y2="26.261297" />
+ <linearGradient
+ id="linearGradient4545-25">
+ <stop
+ id="stop4547-80"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-7"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7721-9"
+ id="linearGradient7338-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.0222085,0.01570755,-0.01612302,1.0492462,138.00792,5.5809119)"
+ x1="-80.638779"
+ y1="22.180561"
+ x2="-45.592064"
+ y2="65.951057" />
+ <linearGradient
+ id="linearGradient7721-9">
+ <stop
+ id="stop7723-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-4"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7340-01"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(2.9737564,0.04569561,-0.00572812,0.37277161,252.99081,23.076623)"
+ x1="-60.273727"
+ y1="52.962711"
+ x2="-60.231167"
+ y2="20.531628" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-1">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7342-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(-0.98463104,-2.0716772,0.40625977,-0.19308803,9.0865162,-88.385897)"
+ x1="-60.43829"
+ y1="49.03693"
+ x2="-60.549427"
+ y2="26.612957" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6817-1"
+ id="linearGradient7344-0"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.16708703,-2.2876683,-0.44861606,-0.03276611,97.273845,-105.01052)"
+ x1="-61.105808"
+ y1="85.233597"
+ x2="-60.5989"
+ y2="26.726358" />
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-64">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-3"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient5455-2-0"
+ id="linearGradient7346-8"
+ gradientUnits="userSpaceOnUse"
+ x1="54.71489"
+ y1="5.4645443"
+ x2="72.233635"
+ y2="5.4645443" />
+ <linearGradient
+ id="linearGradient5455-2-0">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-1" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5"
+ id="linearGradient6925"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7"
+ id="linearGradient6927"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3"
+ id="linearGradient6929"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7"
+ id="linearGradient6931"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6"
+ id="linearGradient6933"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-0"
+ id="linearGradient6925-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-0">
+ <stop
+ id="stop4136-4-7-3"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-0" />
+ <stop
+ id="stop4138-2-3-9"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-2"
+ id="linearGradient6927-9"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4906315,382.15258,-11.973727)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-2">
+ <stop
+ id="stop4208-5-9-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-6"
+ id="linearGradient6929-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,382.15258,-12.162834)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-6"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-4"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1"
+ id="linearGradient6931-7"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1">
+ <stop
+ id="stop7212-33-7"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-3"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient31475"
+ xlink:href="#linearGradient6924-6-7"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-7"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-3"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.4954152,0,0,1.4954152,381.93895,-8.2106577)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient5597"
+ xlink:href="#linearGradient6924-6-7"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient9470"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6">
+ <stop
+ id="stop4136-4-7-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02" />
+ <stop
+ id="stop4138-2-3-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient9472"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-8">
+ <stop
+ id="stop4208-5-9-9"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient9474"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-2"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient9476"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-8">
+ <stop
+ id="stop7212-33-6"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient9478"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-6-1"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517"
+ xlink:href="#linearGradient6924-6-1"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient9647">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop9649" />
+ <stop
+ style="stop-color:#dbdbdb;stop-opacity:1;"
+ offset="1"
+ id="stop9651" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2256">
+ <stop
+ style="stop-color:#ff0202;stop-opacity:1;"
+ offset="0"
+ id="stop2258" />
+ <stop
+ style="stop-color:#ff9b9b;stop-opacity:1;"
+ offset="1"
+ id="stop2260" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2248">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1;"
+ offset="0"
+ id="stop2250" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0;"
+ offset="1"
+ id="stop2252" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11780">
+ <stop
+ style="stop-color:#ff8b8b;stop-opacity:1.0000000;"
+ offset="0.0000000"
+ id="stop11782" />
+ <stop
+ style="stop-color:#ec1b1b;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop11784" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4981">
+ <stop
+ style="stop-color:#cc0000;stop-opacity:1;"
+ offset="0"
+ id="stop4983" />
+ <stop
+ style="stop-color:#b30000;stop-opacity:1.0000000;"
+ offset="1.0000000"
+ id="stop4985" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient21644"
+ id="radialGradient21650"
+ cx="25.125"
+ cy="36.75"
+ fx="25.125"
+ fy="36.75"
+ r="15.75"
+ gradientTransform="matrix(1,0,0,0.595238,0,14.875)"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient21644">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop21646" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop21648" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3957">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11691"
+ id="linearGradient11663"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91724819,0,0,0.91907213,302.29549,5.732139)"
+ x1="15.737001"
+ y1="12.5036"
+ x2="53.570126"
+ y2="47.374317" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2248"
+ id="radialGradient11665"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.838984,0,0,2.961346,253.30758,-14.714265)"
+ cx="16.75"
+ cy="10.666344"
+ fx="16.75"
+ fy="10.666344"
+ r="21.25" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11720"
+ id="linearGradient11718"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.87782436,0.99037957,-0.87782433,0.99037953,319.93281,-20.25021)"
+ x1="21.75"
+ y1="15.80225"
+ x2="24.30225"
+ y2="35.05225" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11691"
+ id="linearGradient22637"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.91724819,0,0,0.91907213,302.29549,5.732139)"
+ x1="15.737001"
+ y1="12.5036"
+ x2="53.570126"
+ y2="47.374317" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2248"
+ id="radialGradient22639"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(3.838984,0,0,2.961346,253.30758,-14.714265)"
+ cx="16.75"
+ cy="10.666344"
+ fx="16.75"
+ fy="10.666344"
+ r="21.25" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11720"
+ id="linearGradient22641"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.87782436,0.99037957,-0.87782433,0.99037953,319.93281,-20.25021)"
+ x1="21.75"
+ y1="15.80225"
+ x2="24.30225"
+ y2="35.05225" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2684-1"
+ id="linearGradient8265"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.128181,0,0,1.128181,-108.08145,-78.763896)"
+ x1="70.913956"
+ y1="101.74152"
+ x2="70.951942"
+ y2="88.923729" />
+ <linearGradient
+ id="linearGradient2684-1">
+ <stop
+ id="stop2686-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2688-4"
+ offset="1"
+ style="stop-color:#000000;stop-opacity:1;" />
+ </linearGradient>
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9056"
+ id="radialGradient8267"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.05324342,-0.836238,2.019473,0.128568,-206.0078,112.67299)"
+ cx="107.5884"
+ cy="83.990814"
+ fx="107.5884"
+ fy="83.990814"
+ r="12.551644" />
+ <linearGradient
+ id="linearGradient9056">
+ <stop
+ style="stop-color:#6acd11;stop-opacity:1"
+ offset="0"
+ id="stop9058" />
+ <stop
+ style="stop-color:#4cbe01;stop-opacity:1"
+ offset="1"
+ id="stop9060" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient9050"
+ id="linearGradient8269"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(-99.088729,-66.498056)"
+ x1="71.288956"
+ y1="124.11652"
+ x2="70.826942"
+ y2="95" />
+ <linearGradient
+ id="linearGradient9050">
+ <stop
+ id="stop9052"
+ offset="0"
+ style="stop-color:#428405;stop-opacity:1" />
+ <stop
+ id="stop9054"
+ offset="1"
+ style="stop-color:#264a03;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient17969"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient17971"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient17973"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient17975"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient17977"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6"
+ id="linearGradient17986"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8"
+ id="linearGradient17988"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2"
+ id="linearGradient17990"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8"
+ id="linearGradient17992"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1"
+ id="linearGradient17994"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-6-2"
+ id="linearGradient10212"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.329484,6.9416806)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-6-2">
+ <stop
+ id="stop4136-4-9-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-9" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-9-7" />
+ <stop
+ id="stop4138-2-8-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-8-2"
+ id="linearGradient10214"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.329484,6.9416806)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-8-2">
+ <stop
+ id="stop4208-5-3-8"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-8-2"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-9-0"
+ id="linearGradient10216"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.45408812,0,0,0.45408812,32.774075,7.2711045)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-9-0"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-6-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-7-9"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-8-1"
+ id="linearGradient10218"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="-5.456851" />
+ <linearGradient
+ id="linearGradient7210-8-1">
+ <stop
+ id="stop7212-7-8"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-5-6"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-1-0"
+ id="linearGradient10220"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,32.448286,7.8656215)"
+ x1="15.972866"
+ y1="16.641634"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ id="linearGradient6924-1-0"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-3-7"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-9-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-6-2"
+ id="linearGradient13412"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.884513,6.8263032)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient9325">
+ <stop
+ id="stop9327"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop9329" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop9331" />
+ <stop
+ id="stop9333"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-8-2"
+ id="linearGradient13414"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.884513,6.8263032)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient9336">
+ <stop
+ id="stop9338"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop9340"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-9-0"
+ id="linearGradient13416"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.45408812,0,0,0.45408812,-19.439922,7.2711048)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-8-1"
+ id="linearGradient13418"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient9350">
+ <stop
+ id="stop9352"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop9354"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-1-0"
+ id="linearGradient13421"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.47256308,0,0,0.47256308,-19.765711,7.8656218)"
+ x1="15.972866"
+ y1="16.641634"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-7"
+ id="linearGradient9470-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-7">
+ <stop
+ id="stop4136-4-7-1-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-02-9" />
+ <stop
+ id="stop4138-2-3-6-4"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8-8"
+ id="linearGradient9472-8"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-8-8">
+ <stop
+ id="stop4208-5-9-9-2"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-6-4"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2-5"
+ id="linearGradient9474-5"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-2-5"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-5-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-8-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8-1"
+ id="linearGradient9476-1"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-8-1">
+ <stop
+ id="stop7212-33-6-5"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-6-2"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517-7"
+ xlink:href="#linearGradient6924-6-1-6"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-1-6"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-6-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7-4"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9529"
+ xlink:href="#linearGradient6924-6-1-6"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-7"
+ id="linearGradient9602"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-8-8"
+ id="linearGradient9604"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-2-5"
+ id="linearGradient9606"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-8-1"
+ id="linearGradient9608"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-1-6"
+ id="linearGradient9610"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512"
+ id="radialGradient22609"
+ gradientUnits="userSpaceOnUse"
+ cx="55"
+ cy="125"
+ fx="55"
+ fy="125"
+ r="14.375" />
+ <linearGradient
+ id="linearGradient12512">
+ <stop
+ id="stop12513"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <radialGradient
+ r="14.375"
+ fy="125"
+ fx="55"
+ cy="125"
+ cx="55"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient6674"
+ xlink:href="#linearGradient12512"
+ inkscape:collect="always" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient12512-7"
+ id="radialGradient22609-1"
+ gradientUnits="userSpaceOnUse"
+ cx="55"
+ cy="125"
+ fx="55"
+ fy="125"
+ r="14.375" />
+ <linearGradient
+ id="linearGradient12512-7">
+ <stop
+ id="stop12513-4"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop12517-0"
+ offset="0.50000000"
+ style="stop-color:#fff520;stop-opacity:0.89108908;" />
+ <stop
+ id="stop12514-9"
+ offset="1.0000000"
+ style="stop-color:#fff300;stop-opacity:0.0000000;" />
+ </linearGradient>
+ <radialGradient
+ r="14.375"
+ fy="125"
+ fx="55"
+ cy="125"
+ cx="55"
+ gradientUnits="userSpaceOnUse"
+ id="radialGradient6674-4"
+ xlink:href="#linearGradient12512-7"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4134-9-5-6-8"
+ id="linearGradient9470-2"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="9.9747334"
+ y1="31.09375"
+ x2="37.077564"
+ y2="31.09375" />
+ <linearGradient
+ id="linearGradient4134-9-5-6-8">
+ <stop
+ id="stop4136-4-7-3-7"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-9-9-3" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-2-3" />
+ <stop
+ id="stop4138-2-3-6-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4206-4-7-1"
+ id="linearGradient9472-1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0768062,20.160914,4.7996577)"
+ x1="25.064732"
+ y1="21.857143"
+ x2="25.207588"
+ y2="25.428572" />
+ <linearGradient
+ id="linearGradient4206-4-7-1">
+ <stop
+ id="stop4208-5-9-0"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-3-4"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient4176-3-7"
+ id="linearGradient9474-4"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.160914,4.6630501)"
+ x1="17.160095"
+ y1="14.004482"
+ x2="37.969398"
+ y2="56.575912" />
+ <linearGradient
+ id="linearGradient4176-3-7"
+ inkscape:collect="always">
+ <stop
+ id="stop4178-8-42"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop4180-1-7"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient7210-7-1-3"
+ id="linearGradient9476-2"
+ gradientUnits="userSpaceOnUse"
+ x1="24"
+ y1="16.525082"
+ x2="24"
+ y2="13.284962" />
+ <linearGradient
+ id="linearGradient7210-7-1-3">
+ <stop
+ id="stop7212-33-15"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-0-7"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient9517-2"
+ xlink:href="#linearGradient6924-6-2"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient6924-6-2"
+ inkscape:collect="always">
+ <stop
+ id="stop6926-8-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop6928-76-7-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ y2="30"
+ x2="15.785715"
+ y1="19.5"
+ x1="16.07143"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient8553"
+ xlink:href="#linearGradient6924-6-2"
+ inkscape:collect="always" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient6924-6-2"
+ id="linearGradient8705"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.08241,0,0,1.0802618,20.006284,7.5180332)"
+ x1="16.07143"
+ y1="19.5"
+ x2="15.785715"
+ y2="30" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11503-8"
+ id="linearGradient16423"
+ gradientUnits="userSpaceOnUse"
+ x1="31.542158"
+ y1="27.633146"
+ x2="39.232777"
+ y2="40.738911" />
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient11503-8">
+ <stop
+ style="stop-color:#ef2929"
+ offset="0"
+ id="stop11505-6" />
+ <stop
+ style="stop-color:#cc0000"
+ offset="1"
+ id="stop11507-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-4"
+ id="linearGradient16425"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.509273,0,0,0.473768,23.78749,24.00915)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ id="linearGradient3957-4">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-2" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-1"
+ id="linearGradient16439"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.38087698,0,0,0.35432336,78.684959,0.87746894)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ <linearGradient
+ id="linearGradient3957-1">
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.33333334;"
+ offset="0"
+ id="stop3959-25" />
+ <stop
+ style="stop-color:#fffeff;stop-opacity:0.21568628;"
+ offset="1"
+ id="stop3961-7" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient11503-8"
+ id="linearGradient10186"
+ gradientUnits="userSpaceOnUse"
+ x1="31.542158"
+ y1="27.633146"
+ x2="39.232777"
+ y2="40.738911" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3957-4"
+ id="linearGradient10188"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0.509273,0,0,0.473768,23.78749,24.00915)"
+ x1="21.993773"
+ y1="33.955299"
+ x2="20.917078"
+ y2="15.814602" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="1"
+ inkscape:cx="31.750258"
+ inkscape:cy="8.8004291"
+ inkscape:current-layer="g6615"
+ showgrid="true"
+ inkscape:grid-bbox="true"
+ inkscape:document-units="px"
+ inkscape:window-width="1600"
+ inkscape:window-height="838"
+ inkscape:window-x="-8"
+ inkscape:window-y="-8"
+ inkscape:window-maximized="1" />
+ <metadata
+ id="metadata3378">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ id="layer1"
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer">
+ <g
+ id="g7697"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-0"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-1"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g7697-3"
+ transform="matrix(0.67445281,0,0,0.67445281,-191.41209,85.380144)" />
+ <g
+ id="g6615"
+ transform="translate(-95.5,0)">
+ <g
+ id="g9464-2"
+ transform="matrix(1.2573708,0,0,1.2573709,61.06861,-12.320192)">
+ <path
+ style="color:#000000;fill:url(#linearGradient9470-1);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient9472-8);stroke-width:1.07960427;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 46.071102,14.389965 c -8.507118,0 -15.424338,3.017755 -15.424338,6.730038 0,0.266382 0,19.239684 0,19.51711 0,3.712296 6.91722,6.730038 15.424338,6.730038 8.507125,0 15.69978,-3.017742 15.69978,-6.730038 0,-0.219733 0,-19.297376 0,-19.51711 0,-3.712295 -7.192655,-6.730038 -15.69978,-6.730038 z"
+ id="path21753-3"
+ sodipodi:nodetypes="zsszssz"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:nodetypes="zsszssz"
+ id="path21755-2"
+ d="m 46.080432,15.126006 c -7.931631,0 -14.380916,2.822639 -14.380916,6.294907 0,0.249165 0,18.241368 0,18.500853 0,3.472269 6.449285,6.294908 14.380916,6.294908 7.931638,0 14.637742,-2.822639 14.637727,-6.294908 0,-0.205521 0,-18.295331 0,-18.500853 0,-3.472268 -6.706089,-6.294907 -14.637727,-6.294907 z"
+ style="opacity:0.70796461;color:#000000;fill:none;stroke:url(#linearGradient9474-5);stroke-width:1.08133531;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ inkscape:connector-curvature="0" />
+ <path
+ sodipodi:type="arc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient9476-1);stroke-width:1.00492704;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:10;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0;marker:none;visibility:visible;display:block;overflow:visible"
+ id="path21757-2"
+ sodipodi:cx="24"
+ sodipodi:cy="14.071428"
+ sodipodi:rx="12.857142"
+ sodipodi:ry="5.5"
+ d="m 36.857142,14.071428 c 0,3.037566 -5.756338,5.5 -12.857142,5.5 -7.100804,0 -12.857142,-2.462434 -12.857142,-5.5 0,-3.037566 5.756338,-5.4999997 12.857142,-5.4999997 7.100804,0 12.857142,2.4624337 12.857142,5.4999997 z"
+ transform="matrix(1.1227741,0,0,1.0919883,19.192176,5.7605912)" />
+ <path
+ style="opacity:0.49367083;color:#000000;fill:url(#linearGradient9529);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 34.928081,25.959639 0.38657,12.731652 4.948172,1.388917 -0.154644,-12.654504 c 0,0 2.242138,0 5.875949,-0.231482 -5.645572,-0.251781 -12.104991,-2.673295 -14.303272,-4.243888 1.533656,2.260099 3.247225,3.009305 3.247225,3.009305 z"
+ id="path21759-1"
+ sodipodi:nodetypes="ccccccc"
+ inkscape:connector-curvature="0" />
+ </g>
+ <g
+ transform="matrix(0.91844143,0,0,0.9135214,105.6709,2.1676087)"
+ id="g16411">
+ <g
+ transform="matrix(0.84658759,0,0,0.84658759,-3.1691781,11.057179)"
+ id="g16413">
+ <path
+ transform="matrix(1.292963,0,0,1.298265,-11.62357,-12.79906)"
+ d="m 44.857088,36.818874 c 0,4.466622 -3.620912,8.087534 -8.087534,8.087534 -4.466622,0 -8.087534,-3.620912 -8.087534,-8.087534 0,-4.466621 3.620912,-8.087534 8.087534,-8.087534 4.466622,0 8.087534,3.620913 8.087534,8.087534 z"
+ sodipodi:ry="8.087534"
+ sodipodi:rx="8.087534"
+ sodipodi:cy="36.818874"
+ sodipodi:cx="36.769554"
+ id="path16415"
+ style="fill:url(#linearGradient10186);fill-opacity:1;stroke:#a40000;stroke-width:0.77183652;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <rect
+ ry="0"
+ rx="0"
+ y="33.001602"
+ x="29.875"
+ height="4"
+ width="12"
+ id="rect16417"
+ style="fill:#eeeeec;fill-opacity:1;stroke:none" />
+ <path
+ transform="matrix(1.172757,0,0,1.174351,-7.233043,-8.235886)"
+ d="m 44.857088,36.818874 c 0,4.466622 -3.620912,8.087534 -8.087534,8.087534 -4.466622,0 -8.087534,-3.620912 -8.087534,-8.087534 0,-4.466621 3.620912,-8.087534 8.087534,-8.087534 4.466622,0 8.087534,3.620913 8.087534,8.087534 z"
+ sodipodi:ry="8.087534"
+ sodipodi:rx="8.087534"
+ sodipodi:cy="36.818874"
+ sodipodi:cx="36.769554"
+ id="path16419"
+ style="opacity:0.3;fill:none;stroke:#ffffff;stroke-width:0.85211307;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;stroke-dashoffset:0"
+ sodipodi:type="arc" />
+ <path
+ inkscape:connector-curvature="0"
+ inkscape:r_cy="true"
+ inkscape:r_cx="true"
+ style="fill:url(#linearGradient10188);fill-opacity:1;fill-rule:nonzero;stroke:none"
+ d="m 45.875,34.297252 c 0,5.131198 -5.273176,-2.968777 -9.510532,0.183057 C 32.225956,37.558622 25.875,40.2558 25.875,35.124602 c 0,-5.251269 4.428326,-10.123 9.944064,-10.123 5.515736,0 10.055936,4.164451 10.055936,9.29565 z"
+ id="path16421"
+ sodipodi:nodetypes="czssc" />
+ </g>
+ </g>
+ </g>
+ </g>
+</svg>
diff --git a/src/org.gluster.storage.management.console/icons/tango/scalable/reset_volume_option.svg b/src/org.gluster.storage.management.console/icons/tango/scalable/reset_volume_option.svg
new file mode 100644
index 00000000..cd048c2b
--- /dev/null
+++ b/src/org.gluster.storage.management.console/icons/tango/scalable/reset_volume_option.svg
@@ -0,0 +1,2946 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="48px"
+ height="48px"
+ id="svg3373"
+ version="1.1"
+ inkscape:version="0.48.1 "
+ sodipodi:docname="volume_option.svg">
+ <defs
+ id="defs3375">
+ <linearGradient
+ id="linearGradient11720">
+ <stop
+ style="stop-color:#397303;stop-opacity:1"
+ offset="0"
+ id="stop11722" />
+ <stop
+ style="stop-color:#3a7304;stop-opacity:1"
+ offset="1"
+ id="stop11724" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11703">
+ <stop
+ id="stop11705"
+ offset="0"
+ style="stop-color:#428504;stop-opacity:1" />
+ <stop
+ id="stop11707"
+ offset="1"
+ style="stop-color:#428504;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient11691">
+ <stop
+ id="stop11693"
+ offset="0.0000000"
+ style="stop-color:#adff5e;stop-opacity:1" />
+ <stop
+ id="stop11695"
+ offset="1.0000000"
+ style="stop-color:#428504;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6230">
+ <stop
+ style="stop-color:#b4fb71;stop-opacity:1"
+ offset="0"
+ id="stop6232" />
+ <stop
+ style="stop-color:#3fa617;stop-opacity:1"
+ offset="1"
+ id="stop6234" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6214">
+ <stop
+ style="stop-color:#38a111;stop-opacity:1"
+ offset="0"
+ id="stop6216" />
+ <stop
+ style="stop-color:#baff76;stop-opacity:1"
+ offset="1"
+ id="stop6218" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3">
+ <stop
+ id="stop6490-82"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5">
+ <stop
+ id="stop7723-5"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455"
+ xlink:href="#linearGradient6817-4"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9">
+ <stop
+ id="stop4136-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8" />
+ <stop
+ id="stop4138-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4">
+ <stop
+ id="stop4208-5"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452">
+ <stop
+ id="stop3454"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458" />
+ <stop
+ id="stop3460"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463">
+ <stop
+ id="stop3465"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210">
+ <stop
+ id="stop7212"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551">
+ <stop
+ id="stop4553"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545">
+ <stop
+ id="stop4547"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721">
+ <stop
+ id="stop7723"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0">
+ <stop
+ id="stop4136-4-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8" />
+ <stop
+ id="stop4138-2-9"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5">
+ <stop
+ id="stop4208-5-7"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3">
+ <stop
+ id="stop7212-2"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5">
+ <stop
+ id="stop2318-7-1"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9">
+ <stop
+ id="stop2328-8-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3-8">
+ <stop
+ id="stop6490-82-0"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-1"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4-7">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-4" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-6" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09-0">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-7" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-4" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5-2">
+ <stop
+ id="stop7723-5-1"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-8"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-7" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-1" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-7"
+ xlink:href="#linearGradient6817-4-5"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-8">
+ <stop
+ id="stop4136-4-2"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-3" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-0" />
+ <stop
+ id="stop4138-2-2"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-8">
+ <stop
+ id="stop4208-5-8"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-5"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-1">
+ <stop
+ id="stop3454-4"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-2" />
+ <stop
+ id="stop3460-6"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-3">
+ <stop
+ id="stop3465-3"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop3467-0"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-1">
+ <stop
+ id="stop7212-3"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-8"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4539-9">
+ <stop
+ style="stop-color:#c71807;stop-opacity:1"
+ offset="0"
+ id="stop4541-8" />
+ <stop
+ style="stop-color:#ff6544;stop-opacity:1;"
+ offset="1"
+ id="stop4543-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4551-3">
+ <stop
+ id="stop4553-9"
+ offset="0"
+ style="stop-color:#f05134;stop-opacity:1" />
+ <stop
+ id="stop4555-3"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4545-3">
+ <stop
+ id="stop4547-6"
+ offset="0"
+ style="stop-color:#f05034;stop-opacity:1" />
+ <stop
+ id="stop4549-5"
+ offset="1"
+ style="stop-color:#ca1c0a;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-4">
+ <stop
+ id="stop7723-0"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-50"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <clipPath
+ clipPathUnits="userSpaceOnUse"
+ id="clipPath7209-6">
+ <path
+ sodipodi:nodetypes="ccccccccccccc"
+ style="color:#000000;fill:#3a3a3a;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.00492704;marker:none;visibility:visible;display:block;overflow:visible"
+ d="m 55.991327,-9.5439311 0.384644,4.0541047 -4.410784,7.023608 1.238412,0.974332 0.02253,0.015935 c -1.131789,1.0529117 -2.602855,2.9928473 -3.667193,4.5026759 2.012445,1.1908153 4.067679,2.1356347 7.402896,2.5239083 0.463464,3.7503962 1.711167,6.4499082 2.697553,5.8955612 L 65.971804,17.247968 76.042629,13.937535 72.997753,-3.7702594 57.73133,-10.478992 z"
+ id="path7211-2"
+ inkscape:connector-curvature="0" />
+ </clipPath>
+ <linearGradient
+ id="linearGradient5455-2-5">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop5457-4-0" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop5459-3-5" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4134-9-0-5">
+ <stop
+ id="stop4136-4-1-2"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-6-0" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-8-6" />
+ <stop
+ id="stop4138-2-9-7"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-5-8">
+ <stop
+ id="stop4208-5-7-0"
+ offset="0.0000000"
+ style="stop-color:#2b558c;stop-opacity:1" />
+ <stop
+ id="stop4210-5-6-0"
+ offset="1.0000000"
+ style="stop-color:#2c568c;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7210-3-4">
+ <stop
+ id="stop7212-2-3"
+ offset="0.0000000"
+ style="stop-color:#ffffff;stop-opacity:1.0000000;" />
+ <stop
+ id="stop7214-3-7"
+ offset="1.0000000"
+ style="stop-color:#bfbebf;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2316-0-5-1">
+ <stop
+ id="stop2318-7-1-8"
+ offset="0"
+ style="stop-color:#a48600;stop-opacity:1;" />
+ <stop
+ id="stop2320-5-1-5"
+ offset="1"
+ style="stop-color:#c4a000;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient2326-1-9-5">
+ <stop
+ id="stop2328-8-2-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1;" />
+ <stop
+ id="stop2330-5-2-3"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6488-3-9">
+ <stop
+ id="stop6490-82-08"
+ offset="0"
+ style="stop-color:#38a111;stop-opacity:1;" />
+ <stop
+ id="stop6492-1-0"
+ offset="1"
+ style="stop-color:#baff76;stop-opacity:1;" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6359-4-5">
+ <stop
+ style="stop-color:#50980a;stop-opacity:1"
+ offset="0"
+ id="stop6361-5-1" />
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="1"
+ id="stop6363-4-0" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient6367-09-9">
+ <stop
+ style="stop-color:#a5f263;stop-opacity:1"
+ offset="0"
+ id="stop6369-11-5" />
+ <stop
+ style="stop-color:#73d336;stop-opacity:1"
+ offset="1"
+ id="stop6371-8-8" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient7721-5-6">
+ <stop
+ id="stop7723-5-2"
+ offset="0"
+ style="stop-color:#ffffff;stop-opacity:1" />
+ <stop
+ id="stop7725-5-5"
+ offset="1"
+ style="stop-color:#ffffff;stop-opacity:0" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient6817-4-6">
+ <stop
+ style="stop-color:#ffffff;stop-opacity:0"
+ offset="0"
+ id="stop6819-3-3" />
+ <stop
+ style="stop-color:#ffffff;stop-opacity:1"
+ offset="1"
+ id="stop6821-0-8" />
+ </linearGradient>
+ <linearGradient
+ y2="26.726358"
+ x2="-60.5989"
+ y1="85.233597"
+ x1="-61.105808"
+ gradientTransform="matrix(0.20634219,-2.8251295,-0.55401321,-0.04046413,292.054,-157.519)"
+ gradientUnits="userSpaceOnUse"
+ id="linearGradient7455-9"
+ xlink:href="#linearGradient6817-4-6"
+ inkscape:collect="always" />
+ <linearGradient
+ id="linearGradient4134-9-02">
+ <stop
+ id="stop4136-4-5"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop4148-8-1" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop4142-8-5" />
+ <stop
+ id="stop4138-2-7"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient4206-4-4">
+ <stop
+ id="stop4208-5-1"
+ offset="0.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ <stop
+ id="stop4210-5-7"
+ offset="1.0000000"
+ style="stop-color:#3465a4;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3452-13">
+ <stop
+ id="stop3454-1"
+ offset="0"
+ style="stop-color:#4f79a6;stop-opacity:1;" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.25000000"
+ id="stop3456-5" />
+ <stop
+ style="stop-color:#7fa8d3;stop-opacity:1"
+ offset="0.45037496"
+ id="stop3458-1" />
+ <stop
+ id="stop3460-5"
+ offset="1"
+ style="stop-color:#547ba6;stop-opacity:1" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3463-5">
+