From 17d070dca7f114b7a83b8a68ae0e4dd8eeb0e90e Mon Sep 17 00:00:00 2001
From: grossmj <grossmj@gns3.net>
Date: Fri, 23 Nov 2018 17:27:10 +0700
Subject: [PATCH] Early support for symbol themes.

---
 gns3server/controller/gns3vm/__init__.py      |  15 +-
 gns3server/controller/symbol_themes.py        | 130 ++++++++++++++++++
 gns3server/controller/symbols.py              |  48 +++++--
 .../handlers/api/controller/symbol_handler.py |  20 ++-
 .../symbols/affinity/circle/blue/atm.svg      |  60 ++++++++
 .../blue/{c_camera_blue.svg => camera.svg}    |   0
 ...c_camera_dome_blue.svg => camera_dome.svg} |   0
 .../symbols/affinity/circle/blue/circle.svg   |  53 +++++++
 .../blue/{c_client_blue.svg => client.svg}    |   0
 .../{c_client_vm_blue.svg => client_vm.svg}   |   0
 .../blue/{c_cloud_blue.svg => cloud.svg}      |   0
 .../circle/blue/{c_cog_blue.svg => cog.svg}   |   0
 ...unications_blue.svg => communications.svg} |   0
 ...conversation_blue.svg => conversation.svg} |   0
 .../symbols/affinity/circle/blue/docker.svg   | 118 ++++++++++++++++
 .../blue/{c_dslam_blue.svg => dslam.svg}      |   0
 ...c_fingerprint_blue.svg => fingerprint.svg} |   0
 .../{c_firewall_blue.svg => firewall.svg}     |   0
 .../{c_firewall3_blue.svg => firewall3.svg}   |   0
 .../circle/blue/{c_grid_blue.svg => grid.svg} |   0
 .../blue/{c_grid2_blue.svg => grid2.svg}      |   0
 .../circle/blue/{c_hub_blue.svg => hub.svg}   |   0
 .../blue/{c_inspect_blue.svg => inspect.svg}  |   0
 .../{c_inspect3_blue.svg => inspect3.svg}     |   0
 ...interconnect_blue.svg => interconnect.svg} |   0
 .../circle/blue/{c_isdn_blue.svg => isdn.svg} |   0
 .../circle/blue/{c_ldap_blue.svg => ldap.svg} |   0
 .../{c_light_bulb_blue.svg => light_bulb.svg} |   0
 .../circle/blue/{c_link_blue.svg => link.svg} |   0
 ...loadbalancer_blue.svg => loadbalancer.svg} |   0
 ...tilayer_blue.svg => multilayer_switch.svg} |   0
 .../circle/blue/{c_nas_blue.svg => nas.svg}   |   0
 .../{c_pinpoint_blue.svg => pinpoint.svg}     |   0
 .../blue/{c_printer_blue.svg => printer.svg}  |   0
 .../circle/blue/{c_rj45_blue.svg => rj45.svg} |   0
 .../blue/{c_router_blue.svg => router.svg}    |   0
 ...router_cloud_blue.svg => router_cloud.svg} |   0
 .../{c_satellite_blue.svg => satellite.svg}   |   0
 ...llite_dish_blue.svg => satellite_dish.svg} |   0
 .../blue/{c_scull_blue.svg => scull.svg}      |   0
 ...er-cluster_blue.svg => server-cluster.svg} |   0
 .../blue/{c_server_blue.svg => server.svg}    |   0
 .../{c_statistics_blue.svg => statistics.svg} |   0
 .../blue/{c_storage_blue.svg => storage.svg}  |   0
 .../blue/{c_switch_blue.svg => switch.svg}    |   0
 .../blue/{c_tablet_blue.svg => tablet.svg}    |   0
 .../circle/blue/{c_tree_blue.svg => tree.svg} |   0
 .../circle/blue/{c_user_blue.svg => user.svg} |   0
 .../affinity/circle/blue/virtualbox.svg       |  60 ++++++++
 .../circle/blue/{c_vm_blue.svg => vm.svg}     |   0
 .../symbols/affinity/circle/blue/vmware.svg   |  61 ++++++++
 .../circle/blue/{c_wifi_blue.svg => wifi.svg} |   0
 .../circle/blue/{c_wlc_blue.svg => wlc.svg}   |   0
 .../circle/blue/{c_xml_blue.svg => xml.svg}   |   0
 .../symbols/affinity/circle/gray/atm.svg      |  60 ++++++++
 .../circle/gray/{c_camera.svg => camera.svg}  |   0
 .../{c_camera_dome.svg => camera_dome.svg}    |   0
 .../symbols/affinity/circle/gray/circle.svg   |  53 +++++++
 .../circle/gray/{c_client.svg => client.svg}  |   0
 .../gray/{c_client_vm.svg => client_vm.svg}   |   0
 .../circle/gray/{c_cloud.svg => cloud.svg}    |   0
 .../circle/gray/{c_cog.svg => cog.svg}        |   0
 ..._communications.svg => communications.svg} |   0
 .../{c_conversation.svg => conversation.svg}  |   0
 .../symbols/affinity/circle/gray/docker.svg   | 118 ++++++++++++++++
 .../circle/gray/{c_dslam.svg => dslam.svg}    |   0
 .../{c_fingerprint.svg => fingerprint.svg}    |   0
 .../gray/{c_firewall.svg => firewall.svg}     |   0
 .../gray/{c_firewall3.svg => firewall3.svg}   |   0
 .../circle/gray/{c_grid.svg => grid.svg}      |   0
 .../circle/gray/{c_grid2.svg => grid2.svg}    |   0
 .../circle/gray/{c_hub.svg => hub.svg}        |   0
 .../gray/{c_inspect.svg => inspect.svg}       |   0
 .../gray/{c_inspect3.svg => inspect3.svg}     |   0
 .../{c_interconnect.svg => interconnect.svg}  |   0
 .../circle/gray/{c_isdn.svg => isdn.svg}      |   0
 .../circle/gray/{c_ldap.svg => ldap.svg}      |   0
 .../gray/{c_light_bulb.svg => light_bulb.svg} |   0
 .../circle/gray/{c_link.svg => link.svg}      |   0
 .../{c_loadbalancer.svg => loadbalancer.svg}  |   0
 .../circle/gray/{c_nas.svg => nas.svg}        |   0
 .../gray/{c_pinpoint.svg => pinpoint.svg}     |   0
 .../gray/{c_printer.svg => printer.svg}       |   0
 .../circle/gray/{c_rj45.svg => rj45.svg}      |   0
 .../circle/gray/{c_router.svg => router.svg}  |   0
 .../{c_router_cloud.svg => router_cloud.svg}  |   0
 .../gray/{c_satellite.svg => satellite.svg}   |   0
 ..._satellite_dish.svg => satellite_dish.svg} |   0
 .../circle/gray/{c_scull.svg => scull.svg}    |   0
 ..._server-cluster.svg => server-cluster.svg} |   0
 .../circle/gray/{c_server.svg => server.svg}  |   0
 .../gray/{c_statistics.svg => statistics.svg} |   0
 .../gray/{c_storage.svg => storage.svg}       |   0
 .../circle/gray/{c_switch.svg => switch.svg}  |   0
 ...h_multilayer.svg => switch_multilayer.svg} |   0
 .../circle/gray/{c_tablet.svg => tablet.svg}  |   0
 .../circle/gray/{c_tree.svg => tree.svg}      |   0
 .../circle/gray/{c_user.svg => user.svg}      |   0
 .../affinity/circle/gray/virtualbox.svg       |  60 ++++++++
 .../affinity/circle/gray/{c_vm.svg => vm.svg} |   0
 .../symbols/affinity/circle/gray/vmware.svg   |  61 ++++++++
 .../circle/gray/{c_wifi.svg => wifi.svg}      |   0
 .../circle/gray/{c_wlc.svg => wlc.svg}        |   0
 .../circle/gray/{c_xml.svg => xml.svg}        |   0
 .../symbols/affinity/circle/red/atm.svg       |  60 ++++++++
 .../red/{c_camera_red.svg => camera.svg}      |   0
 ...{c_camera_dome_red.svg => camera_dome.svg} |   0
 .../symbols/affinity/circle/red/circle.svg    |  53 +++++++
 .../red/{c_client_red.svg => client.svg}      |   0
 .../{c_client_vm_red.svg => client_vm.svg}    |   0
 .../circle/red/{c_cloud_red.svg => cloud.svg} |   0
 .../circle/red/{c_cog_red.svg => cog.svg}     |   0
 ...munications_red.svg => communications.svg} |   0
 ..._conversation_red.svg => conversation.svg} |   0
 .../symbols/affinity/circle/red/docker.svg    | 118 ++++++++++++++++
 .../circle/red/{c_dslam_red.svg => dslam.svg} |   0
 ...{c_fingerprint_red.svg => fingerprint.svg} |   0
 .../red/{c_firewall_red.svg => firewall.svg}  |   0
 .../{c_firewall3_red.svg => firewall3.svg}    |   0
 .../circle/red/{c_grid_red.svg => grid.svg}   |   0
 .../circle/red/{c_grid2_red.svg => grid2.svg} |   0
 .../circle/red/{c_hub_red.svg => hub.svg}     |   0
 .../red/{c_inspect_red.svg => inspect.svg}    |   0
 .../red/{c_inspect3_red.svg => inspect3.svg}  |   0
 ..._interconnect_red.svg => interconnect.svg} |   0
 .../circle/red/{c_isdn_red.svg => isdn.svg}   |   0
 .../circle/red/{c_ldap_red.svg => ldap.svg}   |   0
 .../{c_light_bulb_red.svg => light_bulb.svg}  |   0
 .../circle/red/{c_link_red.svg => link.svg}   |   0
 ..._loadbalancer_red.svg => loadbalancer.svg} |   0
 .../circle/red/{c_nas_red.svg => nas.svg}     |   0
 .../red/{c_pinpoint_red.svg => pinpoint.svg}  |   0
 .../red/{c_printer_red.svg => printer.svg}    |   0
 .../circle/red/{c_rj45_red.svg => rj45.svg}   |   0
 .../red/{c_router_red.svg => router.svg}      |   0
 ..._router_cloud_red.svg => router_cloud.svg} |   0
 .../{c_satellite_red.svg => satellite.svg}    |   0
 ...ellite_dish_red.svg => satellite_dish.svg} |   0
 .../circle/red/{c_scull_red.svg => scull.svg} |   0
 ...ver-cluster_red.svg => server-cluster.svg} |   0
 .../red/{c_server_red.svg => server.svg}      |   0
 .../{c_statistics_red.svg => statistics.svg}  |   0
 .../red/{c_storage_red.svg => storage.svg}    |   0
 .../red/{c_switch_red.svg => switch.svg}      |   0
 ...ltilayer_red.svg => switch_multilayer.svg} |   0
 .../red/{c_tablet_red.svg => tablet.svg}      |   0
 .../circle/red/{c_tree_red.svg => tree.svg}   |   0
 .../circle/red/{c_user_red.svg => user.svg}   |   0
 .../affinity/circle/red/virtualbox.svg        |  60 ++++++++
 .../circle/red/{c_vm_red.svg => vm.svg}       |   0
 .../symbols/affinity/circle/red/vmware.svg    |  61 ++++++++
 .../circle/red/{c_wifi_red.svg => wifi.svg}   |   0
 .../circle/red/{c_wlc_red.svg => wlc.svg}     |   0
 .../circle/red/{c_xml_red.svg => xml.svg}     |   0
 .../symbols/affinity/square/blue/atm.svg      |  55 ++++++++
 .../blue/{sq_camera_blue.svg => camera.svg}   |   0
 ...q_camera_dome_blue.svg => camera_dome.svg} |   0
 .../blue/{sq_client_blue.svg => client.svg}   |   0
 .../{sq_client_vm_blue.svg => client_vm.svg}  |   0
 .../symbols/affinity/square/blue/cloud.svg    |  57 ++++++++
 .../square/blue/{sq_cog_blue.svg => cog.svg}  |   0
 ...unications_blue.svg => communications.svg} |   0
 ...conversation_blue.svg => conversation.svg} |   0
 .../symbols/affinity/square/blue/docker.svg   | 106 ++++++++++++++
 .../blue/{sq_dslam_blue.svg => dslam.svg}     |   0
 ...q_fingerprint_blue.svg => fingerprint.svg} |   0
 .../{sq_firewall_blue.svg => firewall.svg}    |   0
 .../{sq_firewall3_blue.svg => firewall3.svg}  |   0
 .../blue/{sq_grid_blue.svg => grid.svg}       |   0
 .../blue/{sq_grid2_blue.svg => grid2.svg}     |   0
 .../square/blue/{sq_hub_blue.svg => hub.svg}  |   0
 .../{sq_inspect2_blue.svg => inspect2.svg}    |   0
 .../{sq_inspect3_blue.svg => inspect3.svg}    |   0
 ...interconnect_blue.svg => interconnect.svg} |   0
 .../blue/{sq_isdn_blue.svg => isdn.svg}       |   0
 .../blue/{sq_ldap_blue.svg => ldap.svg}       |   0
 ...{sq_light_bulb_blue.svg => light_bulb.svg} |   0
 .../blue/{sq_link_blue.svg => link.svg}       |   0
 .../square/blue/{sq_nas_blue.svg => nas.svg}  |   0
 .../{sq_pinpoint_blue.svg => pinpoint.svg}    |   0
 .../blue/{sq_printer_blue.svg => printer.svg} |   0
 .../blue/{sq_rj45_blue.svg => rj45.svg}       |   0
 .../blue/{sq_router_blue.svg => router.svg}   |   0
 ...router_cloud_blue.svg => router_cloud.svg} |   0
 .../{sq_satellite_blue.svg => satellite.svg}  |   0
 ...llite_dish_blue.svg => satellite_dish.svg} |   0
 .../blue/{sq_scull_blue.svg => scull.svg}     |   0
 ...er-cluster_blue.svg => server-cluster.svg} |   0
 .../blue/{sq_server_blue.svg => server.svg}   |   0
 .../affinity/square/blue/sq_cloud_blue.svg    |  61 --------
 .../blue/{sq_square_blue.svg => square.svg}   |   0
 ...{sq_statistics_blue.svg => statistics.svg} |   0
 .../blue/{sq_storage_blue.svg => storage.svg} |   0
 .../blue/{sq_switch_blue.svg => switch.svg}   |   0
 ...tilayer_blue.svg => switch_multilayer.svg} |   0
 .../blue/{sq_tablet_blue.svg => tablet.svg}   |   0
 .../blue/{sq_tree_blue.svg => tree.svg}       |   0
 .../blue/{sq_user_blue.svg => user.svg}       |   0
 .../affinity/square/blue/virtualbox.svg       |  58 ++++++++
 .../square/blue/{sq_vm_blue.svg => vm.svg}    |   0
 .../symbols/affinity/square/blue/vmware.svg   |  58 ++++++++
 .../blue/{sq_wifi_blue.svg => wifi.svg}       |   0
 .../square/blue/{sq_wlc_blue.svg => wlc.svg}  |   0
 .../square/blue/{sq_xml_blue.svg => xml.svg}  |   0
 .../symbols/affinity/square/gray/atm.svg      |  55 ++++++++
 .../square/gray/{sq_camera.svg => camera.svg} |   0
 .../{sq_camera_dome.svg => camera_dome.svg}   |   0
 .../square/gray/{sq_client.svg => client.svg} |   0
 .../gray/{sq_client_vm.svg => client_vm.svg}  |   0
 .../symbols/affinity/square/gray/cloud.svg    |  57 ++++++++
 .../square/gray/{sq_cog.svg => cog.svg}       |   0
 ..._communications.svg => communications.svg} |   0
 .../{sq_conversation.svg => conversation.svg} |   0
 .../symbols/affinity/square/gray/docker.svg   | 106 ++++++++++++++
 .../square/gray/{sq_dslam.svg => dslam.svg}   |   0
 .../{sq_fingerprint.svg => fingerprint.svg}   |   0
 .../gray/{sq_firewall.svg => firewall.svg}    |   0
 .../gray/{sq_firewall3.svg => firewall3.svg}  |   0
 .../square/gray/{sq_grid.svg => grid.svg}     |   0
 .../square/gray/{sq_grid2.svg => grid2.svg}   |   0
 .../square/gray/{sq_hub.svg => hub.svg}       |   0
 .../gray/{sq_inspect2.svg => inspect2.svg}    |   0
 .../gray/{sq_inspect3.svg => inspect3.svg}    |   0
 .../{sq_interconnect.svg => interconnect.svg} |   0
 .../square/gray/{sq_isdn.svg => isdn.svg}     |   0
 .../square/gray/{sq_ldap.svg => ldap.svg}     |   0
 .../{sq_light_bulb.svg => light_bulb.svg}     |   0
 .../square/gray/{sq_link.svg => link.svg}     |   0
 .../square/gray/{sq_nas.svg => nas.svg}       |   0
 .../gray/{sq_pinpoint.svg => pinpoint.svg}    |   0
 .../gray/{sq_printer.svg => printer.svg}      |   0
 .../square/gray/{sq_rj45.svg => rj45.svg}     |   0
 .../square/gray/{sq_router.svg => router.svg} |   0
 .../{sq_router_cloud.svg => router_cloud.svg} |   0
 .../gray/{sq_satellite.svg => satellite.svg}  |   0
 ..._satellite_dish.svg => satellite_dish.svg} |   0
 .../square/gray/{sq_scull.svg => scull.svg}   |   0
 ..._server-cluster.svg => server-cluster.svg} |   0
 .../square/gray/{sq_server.svg => server.svg} |   0
 .../symbols/affinity/square/gray/sq_cloud.svg |  61 --------
 .../square/gray/{sq_square.svg => square.svg} |   0
 .../{sq_statistics.svg => statistics.svg}     |   0
 .../gray/{sq_storage.svg => storage.svg}      |   0
 .../square/gray/{sq_switch.svg => switch.svg} |   0
 ...h_multilayer.svg => switch_multilayer.svg} |   0
 .../square/gray/{sq_tablet.svg => tablet.svg} |   0
 .../square/gray/{sq_tree.svg => tree.svg}     |   0
 .../square/gray/{sq_user.svg => user.svg}     |   0
 .../affinity/square/gray/virtualbox.svg       |  58 ++++++++
 .../square/gray/{sq_vm.svg => vm.svg}         |   0
 .../symbols/affinity/square/gray/vmware.svg   |  58 ++++++++
 .../square/gray/{sq_wifi.svg => wifi.svg}     |   0
 .../square/gray/{sq_wlc.svg => wlc.svg}       |   0
 .../square/gray/{sq_xml.svg => xml.svg}       |   0
 .../symbols/affinity/square/red/atm.svg       |  55 ++++++++
 .../red/{sq_camera_red.svg => camera.svg}     |   0
 ...sq_camera_dome_red.svg => camera_dome.svg} |   0
 .../red/{sq_client_red.svg => client.svg}     |   0
 .../{sq_client_vm_red.svg => client_vm.svg}   |   0
 .../symbols/affinity/square/red/cloud.svg     |  57 ++++++++
 .../square/red/{sq_cog_red.svg => cog.svg}    |   0
 ...munications_red.svg => communications.svg} |   0
 ..._conversation_red.svg => conversation.svg} |   0
 .../symbols/affinity/square/red/docker.svg    | 106 ++++++++++++++
 .../red/{sq_dslam_red.svg => dslam.svg}       |   0
 ...sq_fingerprint_red.svg => fingerprint.svg} |   0
 .../red/{sq_firewall_red.svg => firewall.svg} |   0
 .../{sq_firewall3_red.svg => firewall3.svg}   |   0
 .../square/red/{sq_grid_red.svg => grid.svg}  |   0
 .../red/{sq_grid2_red.svg => grid2.svg}       |   0
 .../square/red/{sq_hub_red.svg => hub.svg}    |   0
 .../red/{sq_inspect2_red.svg => inspect2.svg} |   0
 .../red/{sq_inspect3_red.svg => inspect3.svg} |   0
 ..._interconnect_red.svg => interconnect.svg} |   0
 .../square/red/{sq_isdn_red.svg => isdn.svg}  |   0
 .../square/red/{sq_ldap_red.svg => ldap.svg}  |   0
 .../{sq_light_bulb_red.svg => light_bulb.svg} |   0
 .../square/red/{sq_link_red.svg => link.svg}  |   0
 .../square/red/{sq_nas_red.svg => nas.svg}    |   0
 .../red/{sq_pinpoint_red.svg => pinpoint.svg} |   0
 .../red/{sq_printer_red.svg => printer.svg}   |   0
 .../square/red/{sq_rj45_red.svg => rj45.svg}  |   0
 .../red/{sq_router_red.svg => router.svg}     |   0
 ..._router_cloud_red.svg => router_cloud.svg} |   0
 .../{sq_satellite_red.svg => satellite.svg}   |   0
 ...ellite_dish_red.svg => satellite_dish.svg} |   0
 .../red/{sq_scull_red.svg => scull.svg}       |   0
 ...ver-cluster_red.svg => server-cluster.svg} |   0
 .../red/{sq_server_red.svg => server.svg}     |   0
 .../affinity/square/red/sq_cloud_red.svg      |  61 --------
 .../red/{sq_square_red.svg => square.svg}     |   0
 .../{sq_statistics_red.svg => statistics.svg} |   0
 .../red/{sq_storage_red.svg => storage.svg}   |   0
 .../red/{sq_switch_red.svg => switch.svg}     |   0
 ...ltilayer_red.svg => switch_multilayer.svg} |   0
 .../red/{sq_tablet_red.svg => tablet.svg}     |   0
 .../square/red/{sq_tree_red.svg => tree.svg}  |   0
 .../square/red/{sq_user_red.svg => user.svg}  |   0
 .../affinity/square/red/virtualbox.svg        |  58 ++++++++
 .../square/red/{sq_vm_red.svg => vm.svg}      |   0
 .../symbols/affinity/square/red/vmware.svg    |  58 ++++++++
 .../square/red/{sq_wifi_red.svg => wifi.svg}  |   0
 .../square/red/{sq_wlc_red.svg => wlc.svg}    |   0
 .../square/red/{sq_xml_red.svg => xml.svg}    |   0
 gns3server/symbols/{ => classic}/PBX.svg      |   0
 .../symbols/{ => classic}/PIX_firewall.svg    |   0
 .../symbols/{ => classic}/access_point.svg    |   0
 .../symbols/{ => classic}/access_server.svg   |   0
 gns3server/symbols/{ => classic}/asa.svg      |   0
 .../symbols/{ => classic}/atm_bridge.svg      |   0
 .../symbols/{ => classic}/atm_switch.svg      |   0
 .../symbols/{ => classic}/call_manager.svg    |   0
 gns3server/symbols/{ => classic}/cloud.svg    |   0
 gns3server/symbols/{ => classic}/computer.svg |   0
 .../symbols/{ => classic}/docker_guest.svg    |   0
 gns3server/symbols/{ => classic}/dslam.svg    |   0
 .../edge_label_switch_router.svg              |   0
 .../symbols/{ => classic}/ethernet_switch.svg |   0
 gns3server/symbols/{ => classic}/firewall.svg |   0
 .../{ => classic}/frame_relay_switch.svg      |   0
 gns3server/symbols/{ => classic}/gateway.svg  |   0
 gns3server/symbols/{ => classic}/hub.svg      |   0
 gns3server/symbols/{ => classic}/ids.svg      |   0
 .../symbols/{ => classic}/iosv_l2_virl.svg    |   0
 .../symbols/{ => classic}/iosv_virl.svg       |   0
 gns3server/symbols/{ => classic}/ip_phone.svg |   0
 .../{ => classic}/label_switch_router.svg     |   0
 .../symbols/{ => classic}/lightweight_ap.svg  |   0
 .../{ => classic}/multilayer_switch.svg       |   0
 .../symbols/{ => classic}/optical_router.svg  |   0
 gns3server/symbols/{ => classic}/printer.svg  |   0
 .../symbols/{ => classic}/qemu_guest.svg      |   0
 .../{ => classic}/route_switch_processor.svg  |   0
 .../symbols/{ => classic}/router.awp.svg      |   0
 gns3server/symbols/{ => classic}/router.svg   |   0
 .../symbols/{ => classic}/router_firewall.svg |   0
 .../symbols/{ => classic}/router_netflow.svg  |   0
 gns3server/symbols/{ => classic}/server.svg   |   0
 .../symbols/{ => classic}/sip_server.svg      |   0
 gns3server/symbols/{ => classic}/traceng.svg  |   0
 .../symbols/{ => classic}/vbox_guest.svg      |   0
 .../symbols/{ => classic}/vmware_guest.svg    |   0
 .../{ => classic}/voice_access_server.svg     |   0
 .../symbols/{ => classic}/voice_router.svg    |   0
 .../symbols/{ => classic}/vpcs_guest.svg      |   0
 .../symbols/{ => classic}/wlan_controller.svg |   0
 tests/controller/test_node.py                 |   6 +-
 tests/controller/test_symbols.py              |  12 +-
 tests/handlers/api/controller/test_symbol.py  |   9 +-
 tests/utils/test_picture.py                   |   4 +-
 350 files changed, 2268 insertions(+), 217 deletions(-)
 create mode 100644 gns3server/controller/symbol_themes.py
 create mode 100644 gns3server/symbols/affinity/circle/blue/atm.svg
 rename gns3server/symbols/affinity/circle/blue/{c_camera_blue.svg => camera.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_camera_dome_blue.svg => camera_dome.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/circle/blue/circle.svg
 rename gns3server/symbols/affinity/circle/blue/{c_client_blue.svg => client.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_client_vm_blue.svg => client_vm.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_cloud_blue.svg => cloud.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_cog_blue.svg => cog.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_communications_blue.svg => communications.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_conversation_blue.svg => conversation.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/circle/blue/docker.svg
 rename gns3server/symbols/affinity/circle/blue/{c_dslam_blue.svg => dslam.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_fingerprint_blue.svg => fingerprint.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_firewall_blue.svg => firewall.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_firewall3_blue.svg => firewall3.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_grid_blue.svg => grid.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_grid2_blue.svg => grid2.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_hub_blue.svg => hub.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_inspect_blue.svg => inspect.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_inspect3_blue.svg => inspect3.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_interconnect_blue.svg => interconnect.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_isdn_blue.svg => isdn.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_ldap_blue.svg => ldap.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_light_bulb_blue.svg => light_bulb.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_link_blue.svg => link.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_loadbalancer_blue.svg => loadbalancer.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_switch_multilayer_blue.svg => multilayer_switch.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_nas_blue.svg => nas.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_pinpoint_blue.svg => pinpoint.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_printer_blue.svg => printer.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_rj45_blue.svg => rj45.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_router_blue.svg => router.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_router_cloud_blue.svg => router_cloud.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_satellite_blue.svg => satellite.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_satellite_dish_blue.svg => satellite_dish.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_scull_blue.svg => scull.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_server-cluster_blue.svg => server-cluster.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_server_blue.svg => server.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_statistics_blue.svg => statistics.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_storage_blue.svg => storage.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_switch_blue.svg => switch.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_tablet_blue.svg => tablet.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_tree_blue.svg => tree.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_user_blue.svg => user.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/circle/blue/virtualbox.svg
 rename gns3server/symbols/affinity/circle/blue/{c_vm_blue.svg => vm.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/circle/blue/vmware.svg
 rename gns3server/symbols/affinity/circle/blue/{c_wifi_blue.svg => wifi.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_wlc_blue.svg => wlc.svg} (100%)
 rename gns3server/symbols/affinity/circle/blue/{c_xml_blue.svg => xml.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/circle/gray/atm.svg
 rename gns3server/symbols/affinity/circle/gray/{c_camera.svg => camera.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_camera_dome.svg => camera_dome.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/circle/gray/circle.svg
 rename gns3server/symbols/affinity/circle/gray/{c_client.svg => client.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_client_vm.svg => client_vm.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_cloud.svg => cloud.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_cog.svg => cog.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_communications.svg => communications.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_conversation.svg => conversation.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/circle/gray/docker.svg
 rename gns3server/symbols/affinity/circle/gray/{c_dslam.svg => dslam.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_fingerprint.svg => fingerprint.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_firewall.svg => firewall.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_firewall3.svg => firewall3.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_grid.svg => grid.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_grid2.svg => grid2.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_hub.svg => hub.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_inspect.svg => inspect.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_inspect3.svg => inspect3.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_interconnect.svg => interconnect.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_isdn.svg => isdn.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_ldap.svg => ldap.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_light_bulb.svg => light_bulb.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_link.svg => link.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_loadbalancer.svg => loadbalancer.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_nas.svg => nas.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_pinpoint.svg => pinpoint.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_printer.svg => printer.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_rj45.svg => rj45.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_router.svg => router.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_router_cloud.svg => router_cloud.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_satellite.svg => satellite.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_satellite_dish.svg => satellite_dish.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_scull.svg => scull.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_server-cluster.svg => server-cluster.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_server.svg => server.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_statistics.svg => statistics.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_storage.svg => storage.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_switch.svg => switch.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_switch_multilayer.svg => switch_multilayer.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_tablet.svg => tablet.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_tree.svg => tree.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_user.svg => user.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/circle/gray/virtualbox.svg
 rename gns3server/symbols/affinity/circle/gray/{c_vm.svg => vm.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/circle/gray/vmware.svg
 rename gns3server/symbols/affinity/circle/gray/{c_wifi.svg => wifi.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_wlc.svg => wlc.svg} (100%)
 rename gns3server/symbols/affinity/circle/gray/{c_xml.svg => xml.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/circle/red/atm.svg
 rename gns3server/symbols/affinity/circle/red/{c_camera_red.svg => camera.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_camera_dome_red.svg => camera_dome.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/circle/red/circle.svg
 rename gns3server/symbols/affinity/circle/red/{c_client_red.svg => client.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_client_vm_red.svg => client_vm.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_cloud_red.svg => cloud.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_cog_red.svg => cog.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_communications_red.svg => communications.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_conversation_red.svg => conversation.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/circle/red/docker.svg
 rename gns3server/symbols/affinity/circle/red/{c_dslam_red.svg => dslam.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_fingerprint_red.svg => fingerprint.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_firewall_red.svg => firewall.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_firewall3_red.svg => firewall3.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_grid_red.svg => grid.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_grid2_red.svg => grid2.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_hub_red.svg => hub.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_inspect_red.svg => inspect.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_inspect3_red.svg => inspect3.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_interconnect_red.svg => interconnect.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_isdn_red.svg => isdn.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_ldap_red.svg => ldap.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_light_bulb_red.svg => light_bulb.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_link_red.svg => link.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_loadbalancer_red.svg => loadbalancer.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_nas_red.svg => nas.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_pinpoint_red.svg => pinpoint.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_printer_red.svg => printer.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_rj45_red.svg => rj45.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_router_red.svg => router.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_router_cloud_red.svg => router_cloud.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_satellite_red.svg => satellite.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_satellite_dish_red.svg => satellite_dish.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_scull_red.svg => scull.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_server-cluster_red.svg => server-cluster.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_server_red.svg => server.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_statistics_red.svg => statistics.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_storage_red.svg => storage.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_switch_red.svg => switch.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_switch_multilayer_red.svg => switch_multilayer.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_tablet_red.svg => tablet.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_tree_red.svg => tree.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_user_red.svg => user.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/circle/red/virtualbox.svg
 rename gns3server/symbols/affinity/circle/red/{c_vm_red.svg => vm.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/circle/red/vmware.svg
 rename gns3server/symbols/affinity/circle/red/{c_wifi_red.svg => wifi.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_wlc_red.svg => wlc.svg} (100%)
 rename gns3server/symbols/affinity/circle/red/{c_xml_red.svg => xml.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/square/blue/atm.svg
 rename gns3server/symbols/affinity/square/blue/{sq_camera_blue.svg => camera.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_camera_dome_blue.svg => camera_dome.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_client_blue.svg => client.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_client_vm_blue.svg => client_vm.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/square/blue/cloud.svg
 rename gns3server/symbols/affinity/square/blue/{sq_cog_blue.svg => cog.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_communications_blue.svg => communications.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_conversation_blue.svg => conversation.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/square/blue/docker.svg
 rename gns3server/symbols/affinity/square/blue/{sq_dslam_blue.svg => dslam.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_fingerprint_blue.svg => fingerprint.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_firewall_blue.svg => firewall.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_firewall3_blue.svg => firewall3.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_grid_blue.svg => grid.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_grid2_blue.svg => grid2.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_hub_blue.svg => hub.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_inspect2_blue.svg => inspect2.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_inspect3_blue.svg => inspect3.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_interconnect_blue.svg => interconnect.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_isdn_blue.svg => isdn.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_ldap_blue.svg => ldap.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_light_bulb_blue.svg => light_bulb.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_link_blue.svg => link.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_nas_blue.svg => nas.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_pinpoint_blue.svg => pinpoint.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_printer_blue.svg => printer.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_rj45_blue.svg => rj45.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_router_blue.svg => router.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_router_cloud_blue.svg => router_cloud.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_satellite_blue.svg => satellite.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_satellite_dish_blue.svg => satellite_dish.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_scull_blue.svg => scull.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_server-cluster_blue.svg => server-cluster.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_server_blue.svg => server.svg} (100%)
 delete mode 100644 gns3server/symbols/affinity/square/blue/sq_cloud_blue.svg
 rename gns3server/symbols/affinity/square/blue/{sq_square_blue.svg => square.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_statistics_blue.svg => statistics.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_storage_blue.svg => storage.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_switch_blue.svg => switch.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_switch_multilayer_blue.svg => switch_multilayer.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_tablet_blue.svg => tablet.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_tree_blue.svg => tree.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_user_blue.svg => user.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/square/blue/virtualbox.svg
 rename gns3server/symbols/affinity/square/blue/{sq_vm_blue.svg => vm.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/square/blue/vmware.svg
 rename gns3server/symbols/affinity/square/blue/{sq_wifi_blue.svg => wifi.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_wlc_blue.svg => wlc.svg} (100%)
 rename gns3server/symbols/affinity/square/blue/{sq_xml_blue.svg => xml.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/square/gray/atm.svg
 rename gns3server/symbols/affinity/square/gray/{sq_camera.svg => camera.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_camera_dome.svg => camera_dome.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_client.svg => client.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_client_vm.svg => client_vm.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/square/gray/cloud.svg
 rename gns3server/symbols/affinity/square/gray/{sq_cog.svg => cog.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_communications.svg => communications.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_conversation.svg => conversation.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/square/gray/docker.svg
 rename gns3server/symbols/affinity/square/gray/{sq_dslam.svg => dslam.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_fingerprint.svg => fingerprint.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_firewall.svg => firewall.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_firewall3.svg => firewall3.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_grid.svg => grid.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_grid2.svg => grid2.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_hub.svg => hub.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_inspect2.svg => inspect2.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_inspect3.svg => inspect3.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_interconnect.svg => interconnect.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_isdn.svg => isdn.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_ldap.svg => ldap.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_light_bulb.svg => light_bulb.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_link.svg => link.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_nas.svg => nas.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_pinpoint.svg => pinpoint.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_printer.svg => printer.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_rj45.svg => rj45.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_router.svg => router.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_router_cloud.svg => router_cloud.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_satellite.svg => satellite.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_satellite_dish.svg => satellite_dish.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_scull.svg => scull.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_server-cluster.svg => server-cluster.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_server.svg => server.svg} (100%)
 delete mode 100644 gns3server/symbols/affinity/square/gray/sq_cloud.svg
 rename gns3server/symbols/affinity/square/gray/{sq_square.svg => square.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_statistics.svg => statistics.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_storage.svg => storage.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_switch.svg => switch.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_switch_multilayer.svg => switch_multilayer.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_tablet.svg => tablet.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_tree.svg => tree.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_user.svg => user.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/square/gray/virtualbox.svg
 rename gns3server/symbols/affinity/square/gray/{sq_vm.svg => vm.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/square/gray/vmware.svg
 rename gns3server/symbols/affinity/square/gray/{sq_wifi.svg => wifi.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_wlc.svg => wlc.svg} (100%)
 rename gns3server/symbols/affinity/square/gray/{sq_xml.svg => xml.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/square/red/atm.svg
 rename gns3server/symbols/affinity/square/red/{sq_camera_red.svg => camera.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_camera_dome_red.svg => camera_dome.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_client_red.svg => client.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_client_vm_red.svg => client_vm.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/square/red/cloud.svg
 rename gns3server/symbols/affinity/square/red/{sq_cog_red.svg => cog.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_communications_red.svg => communications.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_conversation_red.svg => conversation.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/square/red/docker.svg
 rename gns3server/symbols/affinity/square/red/{sq_dslam_red.svg => dslam.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_fingerprint_red.svg => fingerprint.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_firewall_red.svg => firewall.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_firewall3_red.svg => firewall3.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_grid_red.svg => grid.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_grid2_red.svg => grid2.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_hub_red.svg => hub.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_inspect2_red.svg => inspect2.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_inspect3_red.svg => inspect3.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_interconnect_red.svg => interconnect.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_isdn_red.svg => isdn.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_ldap_red.svg => ldap.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_light_bulb_red.svg => light_bulb.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_link_red.svg => link.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_nas_red.svg => nas.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_pinpoint_red.svg => pinpoint.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_printer_red.svg => printer.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_rj45_red.svg => rj45.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_router_red.svg => router.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_router_cloud_red.svg => router_cloud.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_satellite_red.svg => satellite.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_satellite_dish_red.svg => satellite_dish.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_scull_red.svg => scull.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_server-cluster_red.svg => server-cluster.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_server_red.svg => server.svg} (100%)
 delete mode 100644 gns3server/symbols/affinity/square/red/sq_cloud_red.svg
 rename gns3server/symbols/affinity/square/red/{sq_square_red.svg => square.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_statistics_red.svg => statistics.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_storage_red.svg => storage.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_switch_red.svg => switch.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_switch_multilayer_red.svg => switch_multilayer.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_tablet_red.svg => tablet.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_tree_red.svg => tree.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_user_red.svg => user.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/square/red/virtualbox.svg
 rename gns3server/symbols/affinity/square/red/{sq_vm_red.svg => vm.svg} (100%)
 create mode 100644 gns3server/symbols/affinity/square/red/vmware.svg
 rename gns3server/symbols/affinity/square/red/{sq_wifi_red.svg => wifi.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_wlc_red.svg => wlc.svg} (100%)
 rename gns3server/symbols/affinity/square/red/{sq_xml_red.svg => xml.svg} (100%)
 rename gns3server/symbols/{ => classic}/PBX.svg (100%)
 rename gns3server/symbols/{ => classic}/PIX_firewall.svg (100%)
 rename gns3server/symbols/{ => classic}/access_point.svg (100%)
 rename gns3server/symbols/{ => classic}/access_server.svg (100%)
 rename gns3server/symbols/{ => classic}/asa.svg (100%)
 rename gns3server/symbols/{ => classic}/atm_bridge.svg (100%)
 rename gns3server/symbols/{ => classic}/atm_switch.svg (100%)
 rename gns3server/symbols/{ => classic}/call_manager.svg (100%)
 rename gns3server/symbols/{ => classic}/cloud.svg (100%)
 rename gns3server/symbols/{ => classic}/computer.svg (100%)
 rename gns3server/symbols/{ => classic}/docker_guest.svg (100%)
 rename gns3server/symbols/{ => classic}/dslam.svg (100%)
 rename gns3server/symbols/{ => classic}/edge_label_switch_router.svg (100%)
 rename gns3server/symbols/{ => classic}/ethernet_switch.svg (100%)
 rename gns3server/symbols/{ => classic}/firewall.svg (100%)
 rename gns3server/symbols/{ => classic}/frame_relay_switch.svg (100%)
 rename gns3server/symbols/{ => classic}/gateway.svg (100%)
 rename gns3server/symbols/{ => classic}/hub.svg (100%)
 rename gns3server/symbols/{ => classic}/ids.svg (100%)
 rename gns3server/symbols/{ => classic}/iosv_l2_virl.svg (100%)
 rename gns3server/symbols/{ => classic}/iosv_virl.svg (100%)
 rename gns3server/symbols/{ => classic}/ip_phone.svg (100%)
 rename gns3server/symbols/{ => classic}/label_switch_router.svg (100%)
 rename gns3server/symbols/{ => classic}/lightweight_ap.svg (100%)
 rename gns3server/symbols/{ => classic}/multilayer_switch.svg (100%)
 rename gns3server/symbols/{ => classic}/optical_router.svg (100%)
 rename gns3server/symbols/{ => classic}/printer.svg (100%)
 rename gns3server/symbols/{ => classic}/qemu_guest.svg (100%)
 rename gns3server/symbols/{ => classic}/route_switch_processor.svg (100%)
 rename gns3server/symbols/{ => classic}/router.awp.svg (100%)
 rename gns3server/symbols/{ => classic}/router.svg (100%)
 rename gns3server/symbols/{ => classic}/router_firewall.svg (100%)
 rename gns3server/symbols/{ => classic}/router_netflow.svg (100%)
 rename gns3server/symbols/{ => classic}/server.svg (100%)
 rename gns3server/symbols/{ => classic}/sip_server.svg (100%)
 rename gns3server/symbols/{ => classic}/traceng.svg (100%)
 rename gns3server/symbols/{ => classic}/vbox_guest.svg (100%)
 rename gns3server/symbols/{ => classic}/vmware_guest.svg (100%)
 rename gns3server/symbols/{ => classic}/voice_access_server.svg (100%)
 rename gns3server/symbols/{ => classic}/voice_router.svg (100%)
 rename gns3server/symbols/{ => classic}/vpcs_guest.svg (100%)
 rename gns3server/symbols/{ => classic}/wlan_controller.svg (100%)

diff --git a/gns3server/controller/gns3vm/__init__.py b/gns3server/controller/gns3vm/__init__.py
index 6ed9c3a1..c5fd1d69 100644
--- a/gns3server/controller/gns3vm/__init__.py
+++ b/gns3server/controller/gns3vm/__init__.py
@@ -312,10 +312,10 @@ class GNS3VM:
             engine.vcpus = self._settings["vcpus"]
             engine.headless = self._settings["headless"]
             compute = await self._controller.add_compute(compute_id="vm",
-                                                              name="GNS3 VM is starting ({})".format(engine.vmname),
-                                                              host=None,
-                                                              force=True,
-                                                              connect=False)
+                                                         name="GNS3 VM is starting ({})".format(engine.vmname),
+                                                         host=None,
+                                                         force=True,
+                                                         connect=False)
 
             try:
                 await engine.start()
@@ -363,8 +363,11 @@ class GNS3VM:
                         if netmask:
                             compute_network = ipaddress.ip_interface("{}/{}".format(compute.host_ip, netmask)).network
                             if vm_network.compare_networks(compute_network) != 0:
-                                msg = "The GNS3 VM ({}) is not on the same network as the {} server ({}), please make sure the local server binding is in the same network as the GNS3 VM".format(
-                                    vm_network, compute_id, compute_network)
+                                msg = "The GNS3 VM (IP={}, NETWORK={}) is not on the same network as the {} server (IP={}, NETWORK={}), please make sure the local server binding is in the same network as the GNS3 VM".format(self.ip_address,
+                                                                                                                                                                                                                                vm_network,
+                                                                                                                                                                                                                                compute_id,
+                                                                                                                                                                                                                                compute.host_ip,
+                                                                                                                                                                                                                                compute_network)
                                 self._controller.notification.controller_emit("log.warning", {"message": msg})
         except ComputeError as e:
             log.warning("Could not check the VM is in the same subnet as the local server: {}".format(e))
diff --git a/gns3server/controller/symbol_themes.py b/gns3server/controller/symbol_themes.py
new file mode 100644
index 00000000..b055fff2
--- /dev/null
+++ b/gns3server/controller/symbol_themes.py
@@ -0,0 +1,130 @@
+#!/usr/bin/env python
+#
+# Copyright (C) 2018 GNS3 Technologies Inc.
+#
+# 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 3 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, see <http://www.gnu.org/licenses/>.
+
+
+CLASSIC_SYMBOL_THEME = {"cloud": ":/symbols/classic/cloud.svg",
+                        "ethernet_switch": ":/symbols/classic/ethernet_switch.svg",
+                        "ethernet_hub": ":/symbols/classic/hub.svg",
+                        "frame_relay_switch": ":/symbols/classic/frame_relay_switch.svg",
+                        "atm_switch": ":/symbols/classic/atm_switch.svg",
+                        "router": ":/symbols/classic/router.svg",
+                        "multilayer_switch": ":/symbols/classic/multilayer_switch.svg",
+                        "firewall": ":/symbols/classic/firewall.svg",
+                        "computer": ":/symbols/classic/computer.svg",
+                        "vpcs_guest": ":/symbols/classic/vpcs_guest.svg",
+                        "qemu_guest": ":/symbols/classic/qemu_guest.svg",
+                        "vbox_guest": ":/symbols/classic/vbox_guest.svg",
+                        "vmware_guest": ":/symbols/classic/vmware_guest.svg",
+                        "docker_guest": ":/symbols/classic/docker_guest.svg"}
+
+INFINITY_SQUARE_BLUE_SYMBOL_THEME = {"cloud": ":/symbols/affinity/square/blue/cloud.svg",
+                                     "ethernet_switch": ":/symbols/affinity/square/blue/switch.svg",
+                                     "ethernet_hub": ":/symbols/affinity/square/blue/hub.svg",
+                                     "frame_relay_switch.svg": ":/symbols/affinity/square/blue/isdn.svg",
+                                     "atm_switch": ":/symbols/affinity/square/blue/atm.svg",
+                                     "router": ":/symbols/affinity/square/blue/router.svg",
+                                     "multilayer_switch": ":/symbols/affinity/square/blue/multilayer_switch.svg",
+                                     "firewall": ":/symbols/affinity/square/blue/firewall3.svg",
+                                     "computer": ":/symbols/affinity/square/blue/client.svg",
+                                     "vpcs_guest": ":/symbols/affinity/square/blue/client.svg",
+                                     "qemu_guest": ":/symbols/affinity/square/blue/client_vm.svg",
+                                     "vbox_guest": ":/symbols/affinity/square/blue/virtualbox.svg",
+                                     "vmware_guest": ":/symbols/affinity/square/blue/vmware.svg",
+                                     "docker_guest": ":/symbols/affinity/square/blue/docker.svg"}
+
+INFINITY_SQUARE_RED_SYMBOL_THEME = {"cloud": ":/symbols/affinity/square/red/cloud.svg",
+                                    "ethernet_switch": ":/symbols/affinity/square/red/switch.svg",
+                                    "ethernet_hub": ":/symbols/affinity/square/red/hub.svg",
+                                    "frame_relay_switch": ":/symbols/affinity/square/red/isdn.svg",
+                                    "atm_switch": ":/symbols/affinity/square/red/atm.svg",
+                                    "router": ":/symbols/affinity/square/red/router.svg",
+                                    "multilayer_switch": ":/symbols/affinity/square/red/multilayer_switch.svg",
+                                    "firewall": ":/symbols/affinity/square/red/firewall3.svg",
+                                    "computer": ":/symbols/affinity/square/red/client.svg",
+                                    "vpcs_guest": ":/symbols/affinity/square/red/client.svg",
+                                    "qemu_guest": ":/symbols/affinity/square/red/client_vm.svg",
+                                    "vbox_guest": ":/symbols/affinity/square/red/virtualbox.svg",
+                                    "vmware_guest": ":/symbols/affinity/square/red/vmware.svg",
+                                    "docker_guest": ":/symbols/affinity/square/red/docker.svg"}
+
+INFINITY_SQUARE_GRAY_SYMBOL_THEME = {"cloud": ":/symbols/affinity/square/gray/cloud.svg",
+                                     "ethernet_switch": ":/symbols/affinity/square/gray/switch.svg",
+                                     "ethernet_hub": ":/symbols/affinity/square/gray/hub.svg",
+                                     "frame_relay_switch": ":/symbols/affinity/square/gray/isdn.svg",
+                                     "atm_switch": ":/symbols/affinity/square/gray/atm.svg",
+                                     "router": ":/symbols/affinity/square/gray/router.svg",
+                                     "multilayer_switch": ":/symbols/affinity/square/gray/multilayer_switch.svg",
+                                     "firewall": ":/symbols/affinity/square/gray/firewall3.svg",
+                                     "computer": ":/symbols/affinity/square/gray/client.svg",
+                                     "vpcs_guest": ":/symbols/affinity/square/gray/client.svg",
+                                     "qemu_guest": ":/symbols/affinity/square/gray/client_vm.svg",
+                                     "vbox_guest": ":/symbols/affinity/square/gray/virtualbox.svg",
+                                     "vmware_guest": ":/symbols/affinity/square/gray/vmware.svg",
+                                     "docker_guest": ":/symbols/affinity/square/gray/docker.svg"}
+
+INFINITY_CIRCLE_BLUE_SYMBOL_THEME = {"cloud": ":/symbols/affinity/circle/blue/cloud.svg",
+                                     "ethernet_switch": ":/symbols/affinity/circle/blue/switch.svg",
+                                     "ethernet_hub": ":/symbols/affinity/circle/blue/hub.svg",
+                                     "frame_relay_switch": ":/symbols/affinity/circle/blue/isdn.svg",
+                                     "atm_switch": ":/symbols/affinity/circle/blue/atm.svg",
+                                     "router": ":/symbols/affinity/circle/blue/router.svg",
+                                     "multilayer_switch": ":/symbols/affinity/circle/blue/multilayer_switch.svg",
+                                     "firewall": ":/symbols/affinity/circle/blue/firewall3.svg",
+                                     "computer": ":/symbols/affinity/circle/blue/client.svg",
+                                     "vpcs_guest": ":/symbols/affinity/circle/blue/client.svg",
+                                     "qemu_guest": ":/symbols/affinity/circle/blue/client_vm.svg",
+                                     "vbox_guest": ":/symbols/affinity/circle/blue/virtualbox.svg",
+                                     "vmware_guest": ":/symbols/affinity/circle/blue/vmware.svg",
+                                     "docker_guest": ":/symbols/affinity/circle/blue/docker.svg"}
+
+INFINITY_CIRCLE_RED_SYMBOL_THEME = {"cloud": ":/symbols/affinity/circle/red/cloud.svg",
+                                    "ethernet_switch": ":/symbols/affinity/circle/red/switch.svg",
+                                    "ethernet_hub": ":/symbols/affinity/circle/red/hub.svg",
+                                    "frame_relay_switch": ":/symbols/affinity/circle/red/isdn.svg",
+                                    "atm_switch": ":/symbols/affinity/circle/red/atm.svg",
+                                    "router": ":/symbols/affinity/circle/red/router.svg",
+                                    "multilayer_switch": ":/symbols/affinity/circle/red/multilayer_switch.svg",
+                                    "firewall": ":/symbols/affinity/circle/red/firewall3.svg",
+                                    "computer": ":/symbols/affinity/circle/red/client.svg",
+                                    "vpcs_guest": ":/symbols/affinity/circle/red/client.svg",
+                                    "qemu_guest": ":/symbols/affinity/circle/red/client_vm.svg",
+                                    "vbox_guest": ":/symbols/affinity/circle/red/virtualbox.svg",
+                                    "vmware_guest": ":/symbols/affinity/circle/red/vmware.svg",
+                                    "docker_guest": ":/symbols/affinity/circle/red/docker.svg"}
+
+INFINITY_CIRCLE_GRAY_SYMBOL_THEME = {"cloud": ":/symbols/affinity/circle/gray/cloud.svg",
+                                     "ethernet_switch": ":/symbols/affinity/circle/gray/switch.svg",
+                                     "ethernet_hub": ":/symbols/affinity/circle/gray/hub.svg",
+                                     "frame_relay_switch": ":/symbols/affinity/circle/gray/isdn.svg",
+                                     "atm_switch": ":/symbols/affinity/circle/gray/atm.svg",
+                                     "router": ":/symbols/affinity/circle/gray/router.svg",
+                                     "multilayer_switch": ":/symbols/affinity/circle/gray/multilayer_switch.svg",
+                                     "firewall": ":/symbols/affinity/circle/gray/firewall3.svg",
+                                     "computer": ":/symbols/affinity/circle/gray/client.svg",
+                                     "vpcs_guest": ":/symbols/affinity/circle/gray/client.svg",
+                                     "qemu_guest": ":/symbols/affinity/circle/gray/client_vm.svg",
+                                     "vbox_guest": ":/symbols/affinity/circle/gray/virtualbox.svg",
+                                     "vmware_guest": ":/symbols/affinity/circle/gray/vmware.svg",
+                                     "docker_guest": ":/symbols/affinity/circle/gray/docker.svg"}
+
+BUILTIN_SYMBOL_THEMES = {"Classic": CLASSIC_SYMBOL_THEME,
+                         "Infinity-square-blue": INFINITY_SQUARE_BLUE_SYMBOL_THEME,
+                         "Infinity-square-red": INFINITY_SQUARE_RED_SYMBOL_THEME,
+                         "Infinity-square-gray": INFINITY_SQUARE_GRAY_SYMBOL_THEME,
+                         "Infinity-circle-blue": INFINITY_CIRCLE_BLUE_SYMBOL_THEME,
+                         "Infinity-circle-red": INFINITY_CIRCLE_RED_SYMBOL_THEME,
+                         "Infinity-circle-gray": INFINITY_CIRCLE_GRAY_SYMBOL_THEME}
diff --git a/gns3server/controller/symbols.py b/gns3server/controller/symbols.py
index 6189ea0a..d325357a 100644
--- a/gns3server/controller/symbols.py
+++ b/gns3server/controller/symbols.py
@@ -17,7 +17,7 @@
 
 import os
 
-
+from .symbol_themes import BUILTIN_SYMBOL_THEMES
 from ..utils.get_resource import get_resource
 from ..utils.picture import get_size
 from ..config import Config
@@ -32,14 +32,32 @@ class Symbols:
     """
 
     def __init__(self):
+
         try:
             self.list()
-        except OSError:  # The error will be raised and forward later
+        except OSError:  # The error will be raised and forwarded later
             pass
+
         # Keep a cache of symbols size
         self._symbol_size_cache = {}
+        self._current_theme = "Infinity-square-gray"
+        self._themes = BUILTIN_SYMBOL_THEMES
+
+    @property
+    def theme(self):
+
+        return self._current_theme
+
+    @theme.setter
+    def theme(self, theme):
+
+        if not self._themes.get(theme):
+            log.error("Could not find symbol theme '{}'".format(theme))
+            return
+        self._current_theme = theme
 
     def list(self):
+
         self._symbols_path = {}
         symbols = []
         if get_resource("symbols"):
@@ -49,11 +67,9 @@ class Symbols:
                         continue
                     symbol_file = os.path.relpath(os.path.join(root, filename), get_resource("symbols"))
                     symbol_id = ':/symbols/' + symbol_file
-                    symbols.append({
-                        'symbol_id': symbol_id,
-                        'filename': symbol_file,
-                        'builtin': True,
-                    })
+                    symbols.append({'symbol_id': symbol_id,
+                                    'filename': symbol_file,
+                                    'builtin': True})
                     self._symbols_path[symbol_id] = os.path.join(root, filename)
 
         directory = self.symbols_path()
@@ -63,11 +79,9 @@ class Symbols:
                     if filename.startswith('.'):
                         continue
                     symbol_file = os.path.relpath(os.path.join(root, filename), directory)
-                    symbols.append({
-                        'symbol_id': symbol_file,
-                        'filename': symbol_file,
-                        'builtin': False,
-                    })
+                    symbols.append({'symbol_id': symbol_file,
+                                    'filename': symbol_file,
+                                    'builtin': False,})
                     self._symbols_path[symbol_file] = os.path.join(root, filename)
 
         symbols.sort(key=lambda x: x["filename"])
@@ -84,17 +98,21 @@ class Symbols:
         return directory
 
     def get_path(self, symbol_id):
+        symbol_filename = os.path.splitext(os.path.basename(symbol_id))[0]
+        theme = self._themes.get(self._current_theme, {})
+        if not theme:
+            log.error("Could not find symbol theme '{}'".format(self._current_theme))
         try:
-            return self._symbols_path[symbol_id]
-        # Symbol not found, let's refresh the cache
+            return self._symbols_path[theme.get(symbol_filename, symbol_id)]
         except KeyError:
+            # Symbol not found, let's refresh the cache
             try:
                 self.list()
                 return self._symbols_path[symbol_id]
             except (OSError, KeyError):
                 log.warning("Could not retrieve symbol '{}'".format(symbol_id))
                 symbols_path = self._symbols_path
-                return symbols_path[":/symbols/computer.svg"]
+                return symbols_path.get(":/symbols/classic/{}".format(os.path.basename(symbol_id)), symbols_path[":/symbols/classic/computer.svg"])
 
     def get_size(self, symbol_id):
         try:
diff --git a/gns3server/handlers/api/controller/symbol_handler.py b/gns3server/handlers/api/controller/symbol_handler.py
index 8910e068..e3f7ac29 100644
--- a/gns3server/handlers/api/controller/symbol_handler.py
+++ b/gns3server/handlers/api/controller/symbol_handler.py
@@ -28,7 +28,9 @@ log = logging.getLogger(__name__)
 
 
 class SymbolHandler:
-    """API entry points for symbols management."""
+    """
+    API entry points for symbols management.
+    """
 
     @Route.get(
         r"/symbols",
@@ -81,3 +83,19 @@ class SymbolHandler:
         # Reset the symbol list
         controller.symbols.list()
         response.set_status(204)
+
+    # @Route.post(
+    #     r"/symbol_theme",
+    #     description="Create a new symbol theme",
+    #     status_codes={
+    #         201: "Appliance created",
+    #         400: "Invalid request"
+    #     },
+    #     input=APPLIANCE_CREATE_SCHEMA,
+    #     output=APPLIANCE_OBJECT_SCHEMA)
+    # def create(request, response):
+    #
+    #     controller = Controller.instance()
+    #     appliance = controller.add_appliance(request.json)
+    #     response.set_status(201)
+    #     response.json(appliance)
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/circle/blue/atm.svg b/gns3server/symbols/affinity/circle/blue/atm.svg
new file mode 100644
index 00000000..987755e8
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/atm.svg
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="atm.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1649"
+     inkscape:window-height="1069"
+     id="namedview19"
+     showgrid="false"
+     inkscape:zoom="5.5625733"
+     inkscape:cx="10.639262"
+     inkscape:cy="37.744295"
+     inkscape:window-x="1442"
+     inkscape:window-y="405"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g2348" /><metadata
+     id="metadata35"><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><defs
+     id="defs33" /><g
+     transform="matrix(0.19997959,0,0,0.19995118,0.00612242,3.3238395e-4)"
+     id="Background_circle"><g
+       id="g5"><g
+         id="g7"><g
+           id="g9"><circle
+             id="circle11"
+             style="fill:#ffffff"
+             r="150"
+             cy="150"
+             cx="150" /><path
+             id="path13"
+             d="m 150.485,0.001 c 49.5244,-0.30805092 97.99005,26.13918 124.885,67.66 29.14949,43.41669 32.66869,102.35469 9.029,148.98 -22.3226,45.72399 -69.26524,78.27982 -120.017,82.677 C 116.79963,304.27157 67.626954,284.53159 36.597,248.141 4.2284143,211.43134 -7.8772602,158.34647 5.079,111.186 18.20087,60.591626 59.782145,18.758853 110.292,5.321 c 13.07378,-3.5887368 26.6371,-5.36778112 40.193,-5.32 z m -0.919,16 C 104.07954,15.682674 59.676029,40.73106 36.035,79.522 10.237529,120.258 9.3382219,175.08668 33.754,216.66 c 22.507056,39.83833 66.53845,66.428 112.351,67.284 44.86675,1.74378 89.5149,-21.18229 114.552,-58.394 27.38615,-39.18451 30.93913,-93.31402 9.052,-135.793 C 249.0838,48.105271 205.50868,18.954337 159.041,16.3 c -3.15359,-0.209033 -6.31449,-0.309606 -9.475,-0.299 z"
+             style="fill:#2d67b9" /></g></g></g></g><g
+     id="g2348"
+     transform="matrix(20.299892,0,0,20.757616,28.738101,29.359515)"><path
+       inkscape:connector-curvature="0"
+       id="path2341"
+       d="m -0.57518956,-0.83795069 0,0.21003421 0.42006839,0 0.22976117,0.47460762 0.22860076,-0.47460762 0.41890798,0 0,-0.21003421 0.26805471,0.26689429 -0.26805471,0.26689428 0,-0.19030722 -0.3040274,0 -0.24832773,0.53262812 0.24832773,0.53262819 0.3040274,0 0,-0.19030726 0.26805471,0.2657339 -0.26805471,0.26689429 0,-0.19030723 -0.41890798,0 L 0.07464,0.2273056 l -0.22976117,0.49549507 -0.42006839,0 0,0.19030723 -0.26689423,-0.26689429 0.26689423,-0.2657339 0,0.19030726 0.28662125,0 0.26689429,-0.53262819 -0.26689429,-0.53262812 -0.28662125,0 0,0.19030722 -0.26689423,-0.26689428 0.26689423,-0.26689429"
+       style="fill:#2d67b9;fill-opacity:1;stroke:none;stroke-width:0.001" /></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/circle/blue/c_camera_blue.svg b/gns3server/symbols/affinity/circle/blue/camera.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_camera_blue.svg
rename to gns3server/symbols/affinity/circle/blue/camera.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_camera_dome_blue.svg b/gns3server/symbols/affinity/circle/blue/camera_dome.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_camera_dome_blue.svg
rename to gns3server/symbols/affinity/circle/blue/camera_dome.svg
diff --git a/gns3server/symbols/affinity/circle/blue/circle.svg b/gns3server/symbols/affinity/circle/blue/circle.svg
new file mode 100644
index 00000000..83eb7ea8
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/circle.svg
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="circle.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="866"
+     inkscape:window-height="480"
+     id="namedview12"
+     showgrid="false"
+     inkscape:zoom="3.9333333"
+     inkscape:cx="30"
+     inkscape:cy="30"
+     inkscape:window-x="150"
+     inkscape:window-y="68"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g5" /><metadata
+     id="metadata21"><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><defs
+     id="defs19" /><g
+     transform="matrix(0.19997959,0,0,0.19995118,0.00612242,3.3238395e-4)"
+     id="Background_circle"><g
+       id="g5"><g
+         id="g7"><circle
+           id="circle9"
+           style="fill:#ffffff"
+           r="150"
+           cy="150"
+           cx="150" /><path
+           id="path11"
+           d="m 150.485,0.001 c 49.5244,-0.30805092 97.99005,26.13918 124.885,67.66 29.14949,43.41669 32.66869,102.35469 9.029,148.98 -22.3226,45.72399 -69.26524,78.27982 -120.017,82.677 C 116.79963,304.27157 67.626954,284.53159 36.597,248.141 4.2284143,211.43134 -7.8772602,158.34647 5.079,111.186 18.20087,60.591626 59.782145,18.758853 110.292,5.321 c 13.07378,-3.5887368 26.6371,-5.36778112 40.193,-5.32 z m -0.919,16 C 104.07954,15.682674 59.676029,40.73106 36.035,79.522 10.237529,120.258 9.3382219,175.08668 33.754,216.66 c 22.507056,39.83833 66.53845,66.428 112.351,67.284 44.86675,1.74378 89.5149,-21.18229 114.552,-58.394 27.38615,-39.18451 30.93913,-93.31402 9.052,-135.793 C 249.0838,48.105271 205.50868,18.954337 159.041,16.3 c -3.15359,-0.209033 -6.31449,-0.309606 -9.475,-0.299 z"
+           style="fill:#2d67b9" /></g></g></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/circle/blue/c_client_blue.svg b/gns3server/symbols/affinity/circle/blue/client.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_client_blue.svg
rename to gns3server/symbols/affinity/circle/blue/client.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_client_vm_blue.svg b/gns3server/symbols/affinity/circle/blue/client_vm.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_client_vm_blue.svg
rename to gns3server/symbols/affinity/circle/blue/client_vm.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_cloud_blue.svg b/gns3server/symbols/affinity/circle/blue/cloud.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_cloud_blue.svg
rename to gns3server/symbols/affinity/circle/blue/cloud.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_cog_blue.svg b/gns3server/symbols/affinity/circle/blue/cog.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_cog_blue.svg
rename to gns3server/symbols/affinity/circle/blue/cog.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_communications_blue.svg b/gns3server/symbols/affinity/circle/blue/communications.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_communications_blue.svg
rename to gns3server/symbols/affinity/circle/blue/communications.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_conversation_blue.svg b/gns3server/symbols/affinity/circle/blue/conversation.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_conversation_blue.svg
rename to gns3server/symbols/affinity/circle/blue/conversation.svg
diff --git a/gns3server/symbols/affinity/circle/blue/docker.svg b/gns3server/symbols/affinity/circle/blue/docker.svg
new file mode 100644
index 00000000..0d52c377
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/docker.svg
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="docker.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="2057"
+     inkscape:window-height="1337"
+     id="namedview20"
+     showgrid="false"
+     inkscape:zoom="11.125147"
+     inkscape:cx="-13.9378"
+     inkscape:cy="19.108238"
+     inkscape:window-x="496"
+     inkscape:window-y="187"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g3137" /><metadata
+     id="metadata37"><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><defs
+     id="defs35" /><g
+     transform="matrix(0.19997959,0,0,0.19995118,0.00612242,3.3238395e-4)"
+     id="Background_circle"><g
+       id="g5"><g
+         id="g7"><g
+           id="g9"><circle
+             id="circle11"
+             style="fill:#ffffff"
+             r="150"
+             cy="150"
+             cx="150" /><path
+             id="path13"
+             d="m 150.485,0.001 c 49.5244,-0.30805092 97.99005,26.13918 124.885,67.66 29.14949,43.41669 32.66869,102.35469 9.029,148.98 -22.3226,45.72399 -69.26524,78.27982 -120.017,82.677 C 116.79963,304.27157 67.626954,284.53159 36.597,248.141 4.2284143,211.43134 -7.8772602,158.34647 5.079,111.186 18.20087,60.591626 59.782145,18.758853 110.292,5.321 c 13.07378,-3.5887368 26.6371,-5.36778112 40.193,-5.32 z m -0.919,16 C 104.07954,15.682674 59.676029,40.73106 36.035,79.522 10.237529,120.258 9.3382219,175.08668 33.754,216.66 c 22.507056,39.83833 66.53845,66.428 112.351,67.284 44.86675,1.74378 89.5149,-21.18229 114.552,-58.394 27.38615,-39.18451 30.93913,-93.31402 9.052,-135.793 C 249.0838,48.105271 205.50868,18.954337 159.041,16.3 c -3.15359,-0.209033 -6.31449,-0.309606 -9.475,-0.299 z"
+             style="fill:#2d67b9" /></g></g></g></g><g
+     transform="matrix(0.09186705,0,0,0.11864189,16.596451,156.85277)"
+     id="g3137"><path
+       style="clip-rule:evenodd;fill:#2d67b9;fill-opacity:1;fill-rule:evenodd"
+       inkscape:connector-curvature="0"
+       id="outline_7_"
+       d="m 185.32674,-1127.4117 47.146,0 0,48.194 23.837,0 c 11.008,0 22.33,-1.962 32.755,-5.494 5.123,-1.736 10.872,-4.154 15.926,-7.193 -6.656,-8.689 -10.053,-19.661 -11.054,-30.476 -1.358,-14.71 1.609,-33.855 11.564,-45.368 l 4.956,-5.732 5.905,4.747 c 14.867,11.946 27.372,28.638 29.577,47.665 17.901,-5.266 38.921,-4.02 54.701,5.088 l 6.475,3.734 -3.408,6.652 c -13.345,26.046 -41.246,34.113 -68.524,32.687 -40.817,101.66298 -129.68,149.79398 -237.427996,149.79398 -55.666,0 -106.7380004,-20.81 -135.821,-70.197 l -0.477,-0.807 -4.238,-8.62098 c -9.83,-21.739 -13.095,-45.554 -10.88,-69.351 l 0.664,-7.127 40.315,0 0,-48.194 47.143,0 0,-47.145 94.291996,0 0,-47.146 56.574,0 0,94.29 z" /><g
+       style="display:none"
+       display="none"
+       id="g3140"><path
+         style="display:inline;fill:#394d54"
+         inkscape:connector-curvature="0"
+         display="inline"
+         d="m 61.093,319.89 c 6.023,0 11.763,-0.157 17.219,-0.464 0.476,-0.026 0.932,-0.063 1.402,-0.092 0.005,-0.002 0.008,-0.002 0.012,-0.002 13.872,-0.855 25.876,-2.708 35.902,-5.57 0.002,-0.002 0.004,-0.002 0.006,-0.002 1.823,-0.521 3.588,-1.07 5.282,-1.656 1.894,-0.657 2.896,-2.725 2.241,-4.618 -0.656,-1.895 -2.722,-2.899 -4.618,-2.24 -12.734,4.412 -29.535,6.842 -50.125,7.298 -0.002,0 -0.004,0 -0.005,0 -10.477,0.232 -21.93,-0.044 -34.352,-0.843 0,0 0,0 -0.001,0 -0.635,-0.038 -1.259,-0.075 -1.9,-0.118 -1.995,-0.128 -3.731,1.374 -3.869,3.375 -0.136,1.999 1.376,3.73 3.375,3.866 2.537,0.173 5.03,0.321 7.49,0.453 0.392,0.021 0.77,0.034 1.158,0.054 l 0,0 c 7.256,0.366 14.194,0.559 20.783,0.559 z"
+         id="path3142" /></g><g
+       id="Containers_8_"
+       transform="translate(-56.806256,-1295.8927)"><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 86.209,179.744 3.227,0 0,34.052 -3.227,0 0,-34.052 z m -6.189,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.062,0 3.224,0 0,34.052 -3.224,0 0,-34.052 z m -3.403,-3.406 40.858,0 0,40.86 -40.858,0 0,-40.86 z"
+         id="path3145" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 133.354,132.598 3.229,0 0,34.051 -3.229,0 0,-34.051 z m -6.189,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.188,0 3.352,0 0,34.051 -3.352,0 0,-34.051 z m -6.062,0 3.222,0 0,34.051 -3.222,0 0,-34.051 z m -3.407,-3.405 40.863,0 0,40.859 -40.863,0 0,-40.859 z"
+         id="path3147" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 133.354,179.744 3.229,0 0,34.052 -3.229,0 0,-34.052 z m -6.189,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.188,0 3.352,0 0,34.052 -3.352,0 0,-34.052 z m -6.062,0 3.222,0 0,34.052 -3.222,0 0,-34.052 z m -3.407,-3.406 40.863,0 0,40.86 -40.863,0 0,-40.86 z"
+         id="path3149" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 180.501,179.744 3.225,0 0,34.052 -3.225,0 0,-34.052 z m -6.191,0 3.355,0 0,34.052 -3.355,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.06,0 3.222,0 0,34.052 -3.222,0 0,-34.052 z m -3.405,-3.406 40.861,0 0,40.86 -40.861,0 0,-40.86 z"
+         id="path3151" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 180.501,132.598 3.225,0 0,34.051 -3.225,0 0,-34.051 z m -6.191,0 3.355,0 0,34.051 -3.355,0 0,-34.051 z m -6.19,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.06,0 3.222,0 0,34.051 -3.222,0 0,-34.051 z m -3.405,-3.405 40.861,0 0,40.859 -40.861,0 0,-40.859 z"
+         id="path3153" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 227.647,179.744 3.226,0 0,34.052 -3.226,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.189,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.063,0 3.224,0 0,34.052 -3.224,0 0,-34.052 z m -3.405,-3.406 40.861,0 0,40.86 -40.861,0 0,-40.86 z"
+         id="path3155" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 227.647,132.598 3.226,0 0,34.051 -3.226,0 0,-34.051 z m -6.19,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.189,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.063,0 3.224,0 0,34.051 -3.224,0 0,-34.051 z m -3.405,-3.405 40.861,0 0,40.859 -40.861,0 0,-40.859 z"
+         id="path3157" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 227.647,85.451 3.226,0 0,34.053 -3.226,0 0,-34.053 z m -6.19,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.192,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.192,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.189,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.063,0 3.224,0 0,34.053 -3.224,0 0,-34.053 z m -3.405,-3.403 40.861,0 0,40.86 -40.861,0 0,-40.86 z"
+         id="path3159" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 274.792,179.744 3.224,0 0,34.052 -3.224,0 0,-34.052 z m -6.19,0 3.352,0 0,34.052 -3.352,0 0,-34.052 z m -6.194,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.062,0 3.227,0 0,34.052 -3.227,0 0,-34.052 z m -3.403,-3.406 40.86,0 0,40.86 -40.86,0 0,-40.86 z"
+         id="path3161" /></g><path
+       style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+       inkscape:connector-curvature="0"
+       d="m 80.621744,-1012.4477 c 6.225,0 11.271,5.049 11.271,11.272 0,6.22498 -5.046,11.27098 -11.271,11.27098 -6.226,0 -11.272,-5.046 -11.272,-11.27098 0,-6.223 5.046,-11.272 11.272,-11.272"
+       id="path3163" /><path
+       style="clip-rule:evenodd;fill-rule:evenodd;stroke:none;stroke-opacity:1;fill:#2d67b9;fill-opacity:1"
+       inkscape:connector-curvature="0"
+       d="m 80.621744,-1009.2487 c 1.031,0 2.015,0.194 2.923,0.546 -0.984,0.569 -1.65,1.635 -1.65,2.854 0,1.82 1.476,3.293 3.296,3.293 1.247,0 2.329,-0.693 2.89,-1.715 0.395,0.953 0.615,1.999 0.615,3.097 0,4.45798 -3.615,8.07298 -8.073,8.07298 -4.458,0 -8.074,-3.615 -8.074,-8.07298 -0.001,-4.461 3.616,-8.075 8.073,-8.075"
+       id="path3165" /><path
+       style="fill:#ffffff"
+       inkscape:connector-curvature="0"
+       d="m 110.58774,-931.21572 c -27.915996,-13.247 -43.238996,-31.256 -51.764996,-50.915 -10.37,2.961 -22.835,4.852 -37.317,5.664 -5.457,0.307 -11.196,0.464 -17.2190004,0.464 -6.942,0 -14.26,-0.205 -21.9399996,-0.613 25.5999996,25.585 57.094,45.283 115.408,45.645 4.304996,-10e-4 8.578996,-0.085 12.832996,-0.245 z"
+       id="path3167" /></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/circle/blue/c_dslam_blue.svg b/gns3server/symbols/affinity/circle/blue/dslam.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_dslam_blue.svg
rename to gns3server/symbols/affinity/circle/blue/dslam.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_fingerprint_blue.svg b/gns3server/symbols/affinity/circle/blue/fingerprint.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_fingerprint_blue.svg
rename to gns3server/symbols/affinity/circle/blue/fingerprint.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_firewall_blue.svg b/gns3server/symbols/affinity/circle/blue/firewall.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_firewall_blue.svg
rename to gns3server/symbols/affinity/circle/blue/firewall.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_firewall3_blue.svg b/gns3server/symbols/affinity/circle/blue/firewall3.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_firewall3_blue.svg
rename to gns3server/symbols/affinity/circle/blue/firewall3.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_grid_blue.svg b/gns3server/symbols/affinity/circle/blue/grid.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_grid_blue.svg
rename to gns3server/symbols/affinity/circle/blue/grid.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_grid2_blue.svg b/gns3server/symbols/affinity/circle/blue/grid2.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_grid2_blue.svg
rename to gns3server/symbols/affinity/circle/blue/grid2.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_hub_blue.svg b/gns3server/symbols/affinity/circle/blue/hub.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_hub_blue.svg
rename to gns3server/symbols/affinity/circle/blue/hub.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_inspect_blue.svg b/gns3server/symbols/affinity/circle/blue/inspect.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_inspect_blue.svg
rename to gns3server/symbols/affinity/circle/blue/inspect.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_inspect3_blue.svg b/gns3server/symbols/affinity/circle/blue/inspect3.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_inspect3_blue.svg
rename to gns3server/symbols/affinity/circle/blue/inspect3.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_interconnect_blue.svg b/gns3server/symbols/affinity/circle/blue/interconnect.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_interconnect_blue.svg
rename to gns3server/symbols/affinity/circle/blue/interconnect.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_isdn_blue.svg b/gns3server/symbols/affinity/circle/blue/isdn.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_isdn_blue.svg
rename to gns3server/symbols/affinity/circle/blue/isdn.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_ldap_blue.svg b/gns3server/symbols/affinity/circle/blue/ldap.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_ldap_blue.svg
rename to gns3server/symbols/affinity/circle/blue/ldap.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_light_bulb_blue.svg b/gns3server/symbols/affinity/circle/blue/light_bulb.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_light_bulb_blue.svg
rename to gns3server/symbols/affinity/circle/blue/light_bulb.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_link_blue.svg b/gns3server/symbols/affinity/circle/blue/link.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_link_blue.svg
rename to gns3server/symbols/affinity/circle/blue/link.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_loadbalancer_blue.svg b/gns3server/symbols/affinity/circle/blue/loadbalancer.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_loadbalancer_blue.svg
rename to gns3server/symbols/affinity/circle/blue/loadbalancer.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_switch_multilayer_blue.svg b/gns3server/symbols/affinity/circle/blue/multilayer_switch.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_switch_multilayer_blue.svg
rename to gns3server/symbols/affinity/circle/blue/multilayer_switch.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_nas_blue.svg b/gns3server/symbols/affinity/circle/blue/nas.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_nas_blue.svg
rename to gns3server/symbols/affinity/circle/blue/nas.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_pinpoint_blue.svg b/gns3server/symbols/affinity/circle/blue/pinpoint.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_pinpoint_blue.svg
rename to gns3server/symbols/affinity/circle/blue/pinpoint.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_printer_blue.svg b/gns3server/symbols/affinity/circle/blue/printer.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_printer_blue.svg
rename to gns3server/symbols/affinity/circle/blue/printer.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_rj45_blue.svg b/gns3server/symbols/affinity/circle/blue/rj45.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_rj45_blue.svg
rename to gns3server/symbols/affinity/circle/blue/rj45.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_router_blue.svg b/gns3server/symbols/affinity/circle/blue/router.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_router_blue.svg
rename to gns3server/symbols/affinity/circle/blue/router.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_router_cloud_blue.svg b/gns3server/symbols/affinity/circle/blue/router_cloud.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_router_cloud_blue.svg
rename to gns3server/symbols/affinity/circle/blue/router_cloud.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_satellite_blue.svg b/gns3server/symbols/affinity/circle/blue/satellite.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_satellite_blue.svg
rename to gns3server/symbols/affinity/circle/blue/satellite.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_satellite_dish_blue.svg b/gns3server/symbols/affinity/circle/blue/satellite_dish.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_satellite_dish_blue.svg
rename to gns3server/symbols/affinity/circle/blue/satellite_dish.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_scull_blue.svg b/gns3server/symbols/affinity/circle/blue/scull.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_scull_blue.svg
rename to gns3server/symbols/affinity/circle/blue/scull.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_server-cluster_blue.svg b/gns3server/symbols/affinity/circle/blue/server-cluster.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_server-cluster_blue.svg
rename to gns3server/symbols/affinity/circle/blue/server-cluster.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_server_blue.svg b/gns3server/symbols/affinity/circle/blue/server.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_server_blue.svg
rename to gns3server/symbols/affinity/circle/blue/server.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_statistics_blue.svg b/gns3server/symbols/affinity/circle/blue/statistics.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_statistics_blue.svg
rename to gns3server/symbols/affinity/circle/blue/statistics.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_storage_blue.svg b/gns3server/symbols/affinity/circle/blue/storage.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_storage_blue.svg
rename to gns3server/symbols/affinity/circle/blue/storage.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_switch_blue.svg b/gns3server/symbols/affinity/circle/blue/switch.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_switch_blue.svg
rename to gns3server/symbols/affinity/circle/blue/switch.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_tablet_blue.svg b/gns3server/symbols/affinity/circle/blue/tablet.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_tablet_blue.svg
rename to gns3server/symbols/affinity/circle/blue/tablet.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_tree_blue.svg b/gns3server/symbols/affinity/circle/blue/tree.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_tree_blue.svg
rename to gns3server/symbols/affinity/circle/blue/tree.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_user_blue.svg b/gns3server/symbols/affinity/circle/blue/user.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_user_blue.svg
rename to gns3server/symbols/affinity/circle/blue/user.svg
diff --git a/gns3server/symbols/affinity/circle/blue/virtualbox.svg b/gns3server/symbols/affinity/circle/blue/virtualbox.svg
new file mode 100644
index 00000000..affed969
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/virtualbox.svg
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="virtualbox.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1934"
+     inkscape:window-height="1123"
+     id="namedview20"
+     showgrid="false"
+     inkscape:zoom="7.8666667"
+     inkscape:cx="62.830841"
+     inkscape:cy="11.580554"
+     inkscape:window-x="1071"
+     inkscape:window-y="520"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" /><metadata
+     id="metadata37"><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><defs
+     id="defs35" /><g
+     transform="matrix(0.19997959,0,0,0.19995118,0.00612242,3.3238395e-4)"
+     id="Background_circle"><g
+       id="g5"><g
+         id="g7"><g
+           id="g9"><circle
+             id="circle11"
+             style="fill:#ffffff"
+             r="150"
+             cy="150"
+             cx="150" /><path
+             id="path13"
+             d="m 150.485,0.001 c 49.5244,-0.30805092 97.99005,26.13918 124.885,67.66 29.14949,43.41669 32.66869,102.35469 9.029,148.98 -22.3226,45.72399 -69.26524,78.27982 -120.017,82.677 C 116.79963,304.27157 67.626954,284.53159 36.597,248.141 4.2284143,211.43134 -7.8772602,158.34647 5.079,111.186 18.20087,60.591626 59.782145,18.758853 110.292,5.321 c 13.07378,-3.5887368 26.6371,-5.36778112 40.193,-5.32 z m -0.919,16 C 104.07954,15.682674 59.676029,40.73106 36.035,79.522 10.237529,120.258 9.3382219,175.08668 33.754,216.66 c 22.507056,39.83833 66.53845,66.428 112.351,67.284 44.86675,1.74378 89.5149,-21.18229 114.552,-58.394 27.38615,-39.18451 30.93913,-93.31402 9.052,-135.793 C 249.0838,48.105271 205.50868,18.954337 159.041,16.3 c -3.15359,-0.209033 -6.31449,-0.309606 -9.475,-0.299 z"
+             style="fill:#2d67b9" /></g></g></g></g><g
+     id="g12443"
+     transform="matrix(0.67264052,0,0,0.57931697,-56.871222,-549.37497)"><path
+       d="m 102.61168,974.83234 0,52.71436 52.7143,0 0,-52.71436 -52.7143,0 z m 4.39286,4.39286 43.92859,0 0,25.9911 -5.99443,0 -5.83426,-17.75449 -1.69308,-5.125 -1.7846,5.10212 -3.6836,10.52456 -3.38616,-10.11272 -1.94476,-5.85715 -1.5558,5.97154 -5.125,19.60764 -3.84375,-12.76667 -0.41183,-1.30413 -1.34989,0 -7.32143,0 0,-14.2768 z m 30.3153,14.50559 4.55301,13.88781 0.41183,1.2584 1.32701,0 7.32144,0 0,14.2768 -43.92859,0 0,-25.99109 5.94866,0 5.3538,17.70869 1.87611,6.2232 1.64732,-6.2918 5.21652,-19.92804 3.11161,9.35764 1.69308,5.0793 1.7846,-5.0563 3.6836,-10.52461 z"
+       inkscape:connector-curvature="0"
+       id="path3618"
+       style="fill:#2d67b9;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/circle/blue/c_vm_blue.svg b/gns3server/symbols/affinity/circle/blue/vm.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_vm_blue.svg
rename to gns3server/symbols/affinity/circle/blue/vm.svg
diff --git a/gns3server/symbols/affinity/circle/blue/vmware.svg b/gns3server/symbols/affinity/circle/blue/vmware.svg
new file mode 100644
index 00000000..9a03cca6
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/vmware.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="vmware.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="2298"
+     inkscape:window-height="1355"
+     id="namedview20"
+     showgrid="false"
+     inkscape:zoom="5.5625733"
+     inkscape:cx="60.715184"
+     inkscape:cy="46.696458"
+     inkscape:window-x="387"
+     inkscape:window-y="269"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" /><metadata
+     id="metadata37"><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><defs
+     id="defs35" /><g
+     transform="matrix(0.19997959,0,0,0.19995118,0.00612242,3.3238395e-4)"
+     id="Background_circle"><g
+       id="g5"><g
+         id="g7"><g
+           id="g9"><circle
+             id="circle11"
+             style="fill:#ffffff"
+             r="150"
+             cy="150"
+             cx="150" /><path
+             id="path13"
+             d="m 150.485,0.001 c 49.5244,-0.30805092 97.99005,26.13918 124.885,67.66 29.14949,43.41669 32.66869,102.35469 9.029,148.98 -22.3226,45.72399 -69.26524,78.27982 -120.017,82.677 C 116.79963,304.27157 67.626954,284.53159 36.597,248.141 4.2284143,211.43134 -7.8772602,158.34647 5.079,111.186 18.20087,60.591626 59.782145,18.758853 110.292,5.321 c 13.07378,-3.5887368 26.6371,-5.36778112 40.193,-5.32 z m -0.919,16 C 104.07954,15.682674 59.676029,40.73106 36.035,79.522 10.237529,120.258 9.3382219,175.08668 33.754,216.66 c 22.507056,39.83833 66.53845,66.428 112.351,67.284 44.86675,1.74378 89.5149,-21.18229 114.552,-58.394 27.38615,-39.18451 30.93913,-93.31402 9.052,-135.793 C 249.0838,48.105271 205.50868,18.954337 159.041,16.3 c -3.15359,-0.209033 -6.31449,-0.309606 -9.475,-0.299 z"
+             style="fill:#2d67b9" /></g></g></g></g><g
+     id="g188"
+     transform="matrix(0.68115256,0,0,-0.68115256,28.34437,39.625367)"
+     style="fill:#2d67b9;fill-opacity:1"><path
+       style="fill:#2d67b9;fill-opacity:1"
+       inkscape:connector-curvature="0"
+       id="path190"
+       d="m -21.716,23.2 c -0.708,1.552 -2.458,2.255 -4.092,1.529 -1.636,-0.727 -2.238,-2.541 -1.499,-4.094 l 6.861,-14.913 c 1.079,-2.337 2.216,-3.562 4.35,-3.562 2.28,0 3.274,1.334 4.352,3.562 0,0 5.984,13.03 6.044,13.166 0.061,0.138 0.253,0.559 0.862,0.555 0.515,-0.003 0.948,-0.414 0.948,-0.966 l 0,-12.742 c 0,-1.964 1.089,-3.575 3.185,-3.575 2.094,0 3.226,1.611 3.226,3.575 l 0,10.427 c 0,2.011 1.441,3.316 3.405,3.316 1.964,0 3.271,-1.352 3.271,-3.316 l 0,-10.427 c 0,-1.964 1.093,-3.575 3.185,-3.575 2.094,0 3.232,1.611 3.232,3.575 l 0,10.427 c 0,2.011 1.435,3.316 3.4,3.316 1.961,0 3.273,-1.352 3.273,-3.316 l 0,-10.427 c 0,-1.964 1.092,-3.575 3.186,-3.575 2.093,0 3.229,1.611 3.229,3.575 l 0,11.867 c 0,4.361 -3.507,7.416 -7.727,7.416 -4.215,0 -6.855,-2.916 -6.855,-2.916 -1.403,1.819 -3.337,2.912 -6.61,2.912 -3.454,0 -6.477,-2.912 -6.477,-2.912 -1.404,1.819 -3.794,2.912 -5.773,2.912 -3.061,0 -5.492,-1.346 -6.975,-4.737 L -16.096,9.95 -21.716,23.2 Z" /></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/circle/blue/c_wifi_blue.svg b/gns3server/symbols/affinity/circle/blue/wifi.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_wifi_blue.svg
rename to gns3server/symbols/affinity/circle/blue/wifi.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_wlc_blue.svg b/gns3server/symbols/affinity/circle/blue/wlc.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_wlc_blue.svg
rename to gns3server/symbols/affinity/circle/blue/wlc.svg
diff --git a/gns3server/symbols/affinity/circle/blue/c_xml_blue.svg b/gns3server/symbols/affinity/circle/blue/xml.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/blue/c_xml_blue.svg
rename to gns3server/symbols/affinity/circle/blue/xml.svg
diff --git a/gns3server/symbols/affinity/circle/gray/atm.svg b/gns3server/symbols/affinity/circle/gray/atm.svg
new file mode 100644
index 00000000..5de13e55
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/atm.svg
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="atm.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1649"
+     inkscape:window-height="1069"
+     id="namedview19"
+     showgrid="false"
+     inkscape:zoom="15.733333"
+     inkscape:cx="7.0308671"
+     inkscape:cy="43.357556"
+     inkscape:window-x="1442"
+     inkscape:window-y="405"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g9" /><metadata
+     id="metadata35"><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><defs
+     id="defs33" /><g
+     transform="matrix(0.19997959,0,0,0.19995118,0.00612242,3.3238395e-4)"
+     id="Background_circle"><g
+       id="g5"><g
+         id="g7"><g
+           id="g9"><circle
+             id="circle11"
+             style="fill:#ffffff"
+             r="150"
+             cy="150"
+             cx="150" /><path
+             id="path13"
+             d="m 150.485,0.001 c 49.5244,-0.30805092 97.99005,26.13918 124.885,67.66 29.14949,43.41669 32.66869,102.35469 9.029,148.98 -22.3226,45.72399 -69.26524,78.27982 -120.017,82.677 C 116.79963,304.27157 67.626954,284.53159 36.597,248.141 4.2284143,211.43134 -7.8772602,158.34647 5.079,111.186 18.20087,60.591626 59.782145,18.758853 110.292,5.321 c 13.07378,-3.5887368 26.6371,-5.36778112 40.193,-5.32 z m -0.919,16 C 104.07954,15.682674 59.676029,40.73106 36.035,79.522 10.237529,120.258 9.3382219,175.08668 33.754,216.66 c 22.507056,39.83833 66.53845,66.428 112.351,67.284 44.86675,1.74378 89.5149,-21.18229 114.552,-58.394 27.38615,-39.18451 30.93913,-93.31402 9.052,-135.793 C 249.0838,48.105271 205.50868,18.954337 159.041,16.3 c -3.15359,-0.209033 -6.31449,-0.309606 -9.475,-0.299 z"
+             style="fill:#4d4d4d;fill-opacity:1" /></g></g></g></g><g
+     id="g2348"
+     transform="matrix(20.299892,0,0,20.757616,28.738101,29.359515)"><path
+       inkscape:connector-curvature="0"
+       id="path2341"
+       d="m -0.57518956,-0.83795069 0,0.21003421 0.42006839,0 0.22976117,0.47460762 0.22860076,-0.47460762 0.41890798,0 0,-0.21003421 0.26805471,0.26689429 -0.26805471,0.26689428 0,-0.19030722 -0.3040274,0 -0.24832773,0.53262812 0.24832773,0.53262819 0.3040274,0 0,-0.19030726 0.26805471,0.2657339 -0.26805471,0.26689429 0,-0.19030723 -0.41890798,0 L 0.07464,0.2273056 l -0.22976117,0.49549507 -0.42006839,0 0,0.19030723 -0.26689423,-0.26689429 0.26689423,-0.2657339 0,0.19030726 0.28662125,0 0.26689429,-0.53262819 -0.26689429,-0.53262812 -0.28662125,0 0,0.19030722 -0.26689423,-0.26689428 0.26689423,-0.26689429"
+       style="fill:#4d4d4d;fill-opacity:1;stroke:none;stroke-width:0.001" /></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/circle/gray/c_camera.svg b/gns3server/symbols/affinity/circle/gray/camera.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_camera.svg
rename to gns3server/symbols/affinity/circle/gray/camera.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_camera_dome.svg b/gns3server/symbols/affinity/circle/gray/camera_dome.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_camera_dome.svg
rename to gns3server/symbols/affinity/circle/gray/camera_dome.svg
diff --git a/gns3server/symbols/affinity/circle/gray/circle.svg b/gns3server/symbols/affinity/circle/gray/circle.svg
new file mode 100644
index 00000000..cd8da99d
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/circle.svg
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="circle.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="866"
+     inkscape:window-height="480"
+     id="namedview12"
+     showgrid="false"
+     inkscape:zoom="3.9333333"
+     inkscape:cx="30"
+     inkscape:cy="30"
+     inkscape:window-x="150"
+     inkscape:window-y="68"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g5" /><metadata
+     id="metadata21"><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><defs
+     id="defs19" /><g
+     transform="matrix(0.19997959,0,0,0.19995118,0.00612242,3.3238395e-4)"
+     id="Background_circle"><g
+       id="g5"><g
+         id="g7"><circle
+           id="circle9"
+           style="fill:#ffffff"
+           r="150"
+           cy="150"
+           cx="150" /><path
+           id="path11"
+           d="m 150.485,0.001 c 49.5244,-0.30805092 97.99005,26.13918 124.885,67.66 29.14949,43.41669 32.66869,102.35469 9.029,148.98 -22.3226,45.72399 -69.26524,78.27982 -120.017,82.677 C 116.79963,304.27157 67.626954,284.53159 36.597,248.141 4.2284143,211.43134 -7.8772602,158.34647 5.079,111.186 18.20087,60.591626 59.782145,18.758853 110.292,5.321 c 13.07378,-3.5887368 26.6371,-5.36778112 40.193,-5.32 z m -0.919,16 C 104.07954,15.682674 59.676029,40.73106 36.035,79.522 10.237529,120.258 9.3382219,175.08668 33.754,216.66 c 22.507056,39.83833 66.53845,66.428 112.351,67.284 44.86675,1.74378 89.5149,-21.18229 114.552,-58.394 27.38615,-39.18451 30.93913,-93.31402 9.052,-135.793 C 249.0838,48.105271 205.50868,18.954337 159.041,16.3 c -3.15359,-0.209033 -6.31449,-0.309606 -9.475,-0.299 z"
+           style="fill:#4d4d4d" /></g></g></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/circle/gray/c_client.svg b/gns3server/symbols/affinity/circle/gray/client.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_client.svg
rename to gns3server/symbols/affinity/circle/gray/client.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_client_vm.svg b/gns3server/symbols/affinity/circle/gray/client_vm.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_client_vm.svg
rename to gns3server/symbols/affinity/circle/gray/client_vm.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_cloud.svg b/gns3server/symbols/affinity/circle/gray/cloud.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_cloud.svg
rename to gns3server/symbols/affinity/circle/gray/cloud.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_cog.svg b/gns3server/symbols/affinity/circle/gray/cog.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_cog.svg
rename to gns3server/symbols/affinity/circle/gray/cog.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_communications.svg b/gns3server/symbols/affinity/circle/gray/communications.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_communications.svg
rename to gns3server/symbols/affinity/circle/gray/communications.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_conversation.svg b/gns3server/symbols/affinity/circle/gray/conversation.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_conversation.svg
rename to gns3server/symbols/affinity/circle/gray/conversation.svg
diff --git a/gns3server/symbols/affinity/circle/gray/docker.svg b/gns3server/symbols/affinity/circle/gray/docker.svg
new file mode 100644
index 00000000..d1e21132
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/docker.svg
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="docker.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="2057"
+     inkscape:window-height="1337"
+     id="namedview20"
+     showgrid="false"
+     inkscape:zoom="11.125147"
+     inkscape:cx="-4.236224"
+     inkscape:cy="25.991104"
+     inkscape:window-x="496"
+     inkscape:window-y="187"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g9" /><metadata
+     id="metadata37"><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><defs
+     id="defs35" /><g
+     transform="matrix(0.19997959,0,0,0.19995118,0.00612242,3.3238395e-4)"
+     id="Background_circle"><g
+       id="g5"><g
+         id="g7"><g
+           id="g9"><circle
+             id="circle11"
+             style="fill:#ffffff"
+             r="150"
+             cy="150"
+             cx="150" /><path
+             id="path13"
+             d="m 150.485,0.001 c 49.5244,-0.30805092 97.99005,26.13918 124.885,67.66 29.14949,43.41669 32.66869,102.35469 9.029,148.98 -22.3226,45.72399 -69.26524,78.27982 -120.017,82.677 C 116.79963,304.27157 67.626954,284.53159 36.597,248.141 4.2284143,211.43134 -7.8772602,158.34647 5.079,111.186 18.20087,60.591626 59.782145,18.758853 110.292,5.321 c 13.07378,-3.5887368 26.6371,-5.36778112 40.193,-5.32 z m -0.919,16 C 104.07954,15.682674 59.676029,40.73106 36.035,79.522 10.237529,120.258 9.3382219,175.08668 33.754,216.66 c 22.507056,39.83833 66.53845,66.428 112.351,67.284 44.86675,1.74378 89.5149,-21.18229 114.552,-58.394 27.38615,-39.18451 30.93913,-93.31402 9.052,-135.793 C 249.0838,48.105271 205.50868,18.954337 159.041,16.3 c -3.15359,-0.209033 -6.31449,-0.309606 -9.475,-0.299 z"
+             style="fill:#4d4d4d;fill-opacity:1" /></g></g></g></g><g
+     transform="matrix(0.09186705,0,0,0.11864189,16.596451,156.85277)"
+     id="g3137"><path
+       style="clip-rule:evenodd;fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd"
+       inkscape:connector-curvature="0"
+       id="outline_7_"
+       d="m 185.32674,-1127.4117 47.146,0 0,48.194 23.837,0 c 11.008,0 22.33,-1.962 32.755,-5.494 5.123,-1.736 10.872,-4.154 15.926,-7.193 -6.656,-8.689 -10.053,-19.661 -11.054,-30.476 -1.358,-14.71 1.609,-33.855 11.564,-45.368 l 4.956,-5.732 5.905,4.747 c 14.867,11.946 27.372,28.638 29.577,47.665 17.901,-5.266 38.921,-4.02 54.701,5.088 l 6.475,3.734 -3.408,6.652 c -13.345,26.046 -41.246,34.113 -68.524,32.687 -40.817,101.66298 -129.68,149.79398 -237.427996,149.79398 -55.666,0 -106.7380004,-20.81 -135.821,-70.197 l -0.477,-0.807 -4.238,-8.62098 c -9.83,-21.739 -13.095,-45.554 -10.88,-69.351 l 0.664,-7.127 40.315,0 0,-48.194 47.143,0 0,-47.145 94.291996,0 0,-47.146 56.574,0 0,94.29 z" /><g
+       style="display:none"
+       display="none"
+       id="g3140"><path
+         style="display:inline;fill:#394d54"
+         inkscape:connector-curvature="0"
+         display="inline"
+         d="m 61.093,319.89 c 6.023,0 11.763,-0.157 17.219,-0.464 0.476,-0.026 0.932,-0.063 1.402,-0.092 0.005,-0.002 0.008,-0.002 0.012,-0.002 13.872,-0.855 25.876,-2.708 35.902,-5.57 0.002,-0.002 0.004,-0.002 0.006,-0.002 1.823,-0.521 3.588,-1.07 5.282,-1.656 1.894,-0.657 2.896,-2.725 2.241,-4.618 -0.656,-1.895 -2.722,-2.899 -4.618,-2.24 -12.734,4.412 -29.535,6.842 -50.125,7.298 -0.002,0 -0.004,0 -0.005,0 -10.477,0.232 -21.93,-0.044 -34.352,-0.843 0,0 0,0 -0.001,0 -0.635,-0.038 -1.259,-0.075 -1.9,-0.118 -1.995,-0.128 -3.731,1.374 -3.869,3.375 -0.136,1.999 1.376,3.73 3.375,3.866 2.537,0.173 5.03,0.321 7.49,0.453 0.392,0.021 0.77,0.034 1.158,0.054 l 0,0 c 7.256,0.366 14.194,0.559 20.783,0.559 z"
+         id="path3142" /></g><g
+       id="Containers_8_"
+       transform="translate(-56.806256,-1295.8927)"><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 86.209,179.744 3.227,0 0,34.052 -3.227,0 0,-34.052 z m -6.189,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.062,0 3.224,0 0,34.052 -3.224,0 0,-34.052 z m -3.403,-3.406 40.858,0 0,40.86 -40.858,0 0,-40.86 z"
+         id="path3145" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 133.354,132.598 3.229,0 0,34.051 -3.229,0 0,-34.051 z m -6.189,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.188,0 3.352,0 0,34.051 -3.352,0 0,-34.051 z m -6.062,0 3.222,0 0,34.051 -3.222,0 0,-34.051 z m -3.407,-3.405 40.863,0 0,40.859 -40.863,0 0,-40.859 z"
+         id="path3147" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 133.354,179.744 3.229,0 0,34.052 -3.229,0 0,-34.052 z m -6.189,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.188,0 3.352,0 0,34.052 -3.352,0 0,-34.052 z m -6.062,0 3.222,0 0,34.052 -3.222,0 0,-34.052 z m -3.407,-3.406 40.863,0 0,40.86 -40.863,0 0,-40.86 z"
+         id="path3149" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 180.501,179.744 3.225,0 0,34.052 -3.225,0 0,-34.052 z m -6.191,0 3.355,0 0,34.052 -3.355,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.06,0 3.222,0 0,34.052 -3.222,0 0,-34.052 z m -3.405,-3.406 40.861,0 0,40.86 -40.861,0 0,-40.86 z"
+         id="path3151" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 180.501,132.598 3.225,0 0,34.051 -3.225,0 0,-34.051 z m -6.191,0 3.355,0 0,34.051 -3.355,0 0,-34.051 z m -6.19,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.06,0 3.222,0 0,34.051 -3.222,0 0,-34.051 z m -3.405,-3.405 40.861,0 0,40.859 -40.861,0 0,-40.859 z"
+         id="path3153" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 227.647,179.744 3.226,0 0,34.052 -3.226,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.189,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.063,0 3.224,0 0,34.052 -3.224,0 0,-34.052 z m -3.405,-3.406 40.861,0 0,40.86 -40.861,0 0,-40.86 z"
+         id="path3155" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 227.647,132.598 3.226,0 0,34.051 -3.226,0 0,-34.051 z m -6.19,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.189,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.063,0 3.224,0 0,34.051 -3.224,0 0,-34.051 z m -3.405,-3.405 40.861,0 0,40.859 -40.861,0 0,-40.859 z"
+         id="path3157" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 227.647,85.451 3.226,0 0,34.053 -3.226,0 0,-34.053 z m -6.19,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.192,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.192,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.189,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.063,0 3.224,0 0,34.053 -3.224,0 0,-34.053 z m -3.405,-3.403 40.861,0 0,40.86 -40.861,0 0,-40.86 z"
+         id="path3159" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 274.792,179.744 3.224,0 0,34.052 -3.224,0 0,-34.052 z m -6.19,0 3.352,0 0,34.052 -3.352,0 0,-34.052 z m -6.194,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.062,0 3.227,0 0,34.052 -3.227,0 0,-34.052 z m -3.403,-3.406 40.86,0 0,40.86 -40.86,0 0,-40.86 z"
+         id="path3161" /></g><path
+       style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+       inkscape:connector-curvature="0"
+       d="m 80.621744,-1012.4477 c 6.225,0 11.271,5.049 11.271,11.272 0,6.22498 -5.046,11.27098 -11.271,11.27098 -6.226,0 -11.272,-5.046 -11.272,-11.27098 0,-6.223 5.046,-11.272 11.272,-11.272"
+       id="path3163" /><path
+       style="clip-rule:evenodd;fill-rule:evenodd;fill:#4d4d4d;fill-opacity:1"
+       inkscape:connector-curvature="0"
+       d="m 80.621744,-1009.2487 c 1.031,0 2.015,0.194 2.923,0.546 -0.984,0.569 -1.65,1.635 -1.65,2.854 0,1.82 1.476,3.293 3.296,3.293 1.247,0 2.329,-0.693 2.89,-1.715 0.395,0.953 0.615,1.999 0.615,3.097 0,4.45798 -3.615,8.07298 -8.073,8.07298 -4.458,0 -8.074,-3.615 -8.074,-8.07298 -0.001,-4.461 3.616,-8.075 8.073,-8.075"
+       id="path3165" /><path
+       style="fill:#ffffff"
+       inkscape:connector-curvature="0"
+       d="m 110.58774,-931.21572 c -27.915996,-13.247 -43.238996,-31.256 -51.764996,-50.915 -10.37,2.961 -22.835,4.852 -37.317,5.664 -5.457,0.307 -11.196,0.464 -17.2190004,0.464 -6.942,0 -14.26,-0.205 -21.9399996,-0.613 25.5999996,25.585 57.094,45.283 115.408,45.645 4.304996,-10e-4 8.578996,-0.085 12.832996,-0.245 z"
+       id="path3167" /></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/circle/gray/c_dslam.svg b/gns3server/symbols/affinity/circle/gray/dslam.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_dslam.svg
rename to gns3server/symbols/affinity/circle/gray/dslam.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_fingerprint.svg b/gns3server/symbols/affinity/circle/gray/fingerprint.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_fingerprint.svg
rename to gns3server/symbols/affinity/circle/gray/fingerprint.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_firewall.svg b/gns3server/symbols/affinity/circle/gray/firewall.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_firewall.svg
rename to gns3server/symbols/affinity/circle/gray/firewall.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_firewall3.svg b/gns3server/symbols/affinity/circle/gray/firewall3.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_firewall3.svg
rename to gns3server/symbols/affinity/circle/gray/firewall3.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_grid.svg b/gns3server/symbols/affinity/circle/gray/grid.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_grid.svg
rename to gns3server/symbols/affinity/circle/gray/grid.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_grid2.svg b/gns3server/symbols/affinity/circle/gray/grid2.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_grid2.svg
rename to gns3server/symbols/affinity/circle/gray/grid2.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_hub.svg b/gns3server/symbols/affinity/circle/gray/hub.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_hub.svg
rename to gns3server/symbols/affinity/circle/gray/hub.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_inspect.svg b/gns3server/symbols/affinity/circle/gray/inspect.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_inspect.svg
rename to gns3server/symbols/affinity/circle/gray/inspect.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_inspect3.svg b/gns3server/symbols/affinity/circle/gray/inspect3.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_inspect3.svg
rename to gns3server/symbols/affinity/circle/gray/inspect3.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_interconnect.svg b/gns3server/symbols/affinity/circle/gray/interconnect.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_interconnect.svg
rename to gns3server/symbols/affinity/circle/gray/interconnect.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_isdn.svg b/gns3server/symbols/affinity/circle/gray/isdn.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_isdn.svg
rename to gns3server/symbols/affinity/circle/gray/isdn.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_ldap.svg b/gns3server/symbols/affinity/circle/gray/ldap.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_ldap.svg
rename to gns3server/symbols/affinity/circle/gray/ldap.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_light_bulb.svg b/gns3server/symbols/affinity/circle/gray/light_bulb.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_light_bulb.svg
rename to gns3server/symbols/affinity/circle/gray/light_bulb.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_link.svg b/gns3server/symbols/affinity/circle/gray/link.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_link.svg
rename to gns3server/symbols/affinity/circle/gray/link.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_loadbalancer.svg b/gns3server/symbols/affinity/circle/gray/loadbalancer.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_loadbalancer.svg
rename to gns3server/symbols/affinity/circle/gray/loadbalancer.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_nas.svg b/gns3server/symbols/affinity/circle/gray/nas.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_nas.svg
rename to gns3server/symbols/affinity/circle/gray/nas.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_pinpoint.svg b/gns3server/symbols/affinity/circle/gray/pinpoint.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_pinpoint.svg
rename to gns3server/symbols/affinity/circle/gray/pinpoint.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_printer.svg b/gns3server/symbols/affinity/circle/gray/printer.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_printer.svg
rename to gns3server/symbols/affinity/circle/gray/printer.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_rj45.svg b/gns3server/symbols/affinity/circle/gray/rj45.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_rj45.svg
rename to gns3server/symbols/affinity/circle/gray/rj45.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_router.svg b/gns3server/symbols/affinity/circle/gray/router.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_router.svg
rename to gns3server/symbols/affinity/circle/gray/router.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_router_cloud.svg b/gns3server/symbols/affinity/circle/gray/router_cloud.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_router_cloud.svg
rename to gns3server/symbols/affinity/circle/gray/router_cloud.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_satellite.svg b/gns3server/symbols/affinity/circle/gray/satellite.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_satellite.svg
rename to gns3server/symbols/affinity/circle/gray/satellite.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_satellite_dish.svg b/gns3server/symbols/affinity/circle/gray/satellite_dish.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_satellite_dish.svg
rename to gns3server/symbols/affinity/circle/gray/satellite_dish.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_scull.svg b/gns3server/symbols/affinity/circle/gray/scull.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_scull.svg
rename to gns3server/symbols/affinity/circle/gray/scull.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_server-cluster.svg b/gns3server/symbols/affinity/circle/gray/server-cluster.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_server-cluster.svg
rename to gns3server/symbols/affinity/circle/gray/server-cluster.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_server.svg b/gns3server/symbols/affinity/circle/gray/server.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_server.svg
rename to gns3server/symbols/affinity/circle/gray/server.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_statistics.svg b/gns3server/symbols/affinity/circle/gray/statistics.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_statistics.svg
rename to gns3server/symbols/affinity/circle/gray/statistics.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_storage.svg b/gns3server/symbols/affinity/circle/gray/storage.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_storage.svg
rename to gns3server/symbols/affinity/circle/gray/storage.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_switch.svg b/gns3server/symbols/affinity/circle/gray/switch.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_switch.svg
rename to gns3server/symbols/affinity/circle/gray/switch.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_switch_multilayer.svg b/gns3server/symbols/affinity/circle/gray/switch_multilayer.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_switch_multilayer.svg
rename to gns3server/symbols/affinity/circle/gray/switch_multilayer.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_tablet.svg b/gns3server/symbols/affinity/circle/gray/tablet.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_tablet.svg
rename to gns3server/symbols/affinity/circle/gray/tablet.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_tree.svg b/gns3server/symbols/affinity/circle/gray/tree.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_tree.svg
rename to gns3server/symbols/affinity/circle/gray/tree.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_user.svg b/gns3server/symbols/affinity/circle/gray/user.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_user.svg
rename to gns3server/symbols/affinity/circle/gray/user.svg
diff --git a/gns3server/symbols/affinity/circle/gray/virtualbox.svg b/gns3server/symbols/affinity/circle/gray/virtualbox.svg
new file mode 100644
index 00000000..393bf67b
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/virtualbox.svg
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="virtualbox.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1934"
+     inkscape:window-height="1123"
+     id="namedview20"
+     showgrid="false"
+     inkscape:zoom="7.8666667"
+     inkscape:cx="4.0359459"
+     inkscape:cy="32.99274"
+     inkscape:window-x="1071"
+     inkscape:window-y="520"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" /><metadata
+     id="metadata37"><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><defs
+     id="defs35" /><g
+     transform="matrix(0.19997959,0,0,0.19995118,0.00612242,3.3238395e-4)"
+     id="Background_circle"><g
+       id="g5"><g
+         id="g7"><g
+           id="g9"><circle
+             id="circle11"
+             style="fill:#ffffff"
+             r="150"
+             cy="150"
+             cx="150" /><path
+             id="path13"
+             d="m 150.485,0.001 c 49.5244,-0.30805092 97.99005,26.13918 124.885,67.66 29.14949,43.41669 32.66869,102.35469 9.029,148.98 -22.3226,45.72399 -69.26524,78.27982 -120.017,82.677 C 116.79963,304.27157 67.626954,284.53159 36.597,248.141 4.2284143,211.43134 -7.8772602,158.34647 5.079,111.186 18.20087,60.591626 59.782145,18.758853 110.292,5.321 c 13.07378,-3.5887368 26.6371,-5.36778112 40.193,-5.32 z m -0.919,16 C 104.07954,15.682674 59.676029,40.73106 36.035,79.522 10.237529,120.258 9.3382219,175.08668 33.754,216.66 c 22.507056,39.83833 66.53845,66.428 112.351,67.284 44.86675,1.74378 89.5149,-21.18229 114.552,-58.394 27.38615,-39.18451 30.93913,-93.31402 9.052,-135.793 C 249.0838,48.105271 205.50868,18.954337 159.041,16.3 c -3.15359,-0.209033 -6.31449,-0.309606 -9.475,-0.299 z"
+             style="fill:#4d4d4d;fill-opacity:1" /></g></g></g></g><g
+     id="g12443"
+     transform="matrix(0.67264052,0,0,0.57931697,-56.871222,-549.37497)"><path
+       d="m 102.61168,974.83234 0,52.71436 52.7143,0 0,-52.71436 -52.7143,0 z m 4.39286,4.39286 43.92859,0 0,25.9911 -5.99443,0 -5.83426,-17.75449 -1.69308,-5.125 -1.7846,5.10212 -3.6836,10.52456 -3.38616,-10.11272 -1.94476,-5.85715 -1.5558,5.97154 -5.125,19.60764 -3.84375,-12.76667 -0.41183,-1.30413 -1.34989,0 -7.32143,0 0,-14.2768 z m 30.3153,14.50559 4.55301,13.88781 0.41183,1.2584 1.32701,0 7.32144,0 0,14.2768 -43.92859,0 0,-25.99109 5.94866,0 5.3538,17.70869 1.87611,6.2232 1.64732,-6.2918 5.21652,-19.92804 3.11161,9.35764 1.69308,5.0793 1.7846,-5.0563 3.6836,-10.52461 z"
+       inkscape:connector-curvature="0"
+       id="path3618"
+       style="fill:#4d4d4d;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/circle/gray/c_vm.svg b/gns3server/symbols/affinity/circle/gray/vm.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_vm.svg
rename to gns3server/symbols/affinity/circle/gray/vm.svg
diff --git a/gns3server/symbols/affinity/circle/gray/vmware.svg b/gns3server/symbols/affinity/circle/gray/vmware.svg
new file mode 100644
index 00000000..5e024657
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/vmware.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="vmware.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="2298"
+     inkscape:window-height="1355"
+     id="namedview20"
+     showgrid="false"
+     inkscape:zoom="11.125147"
+     inkscape:cx="21.817555"
+     inkscape:cy="25.592919"
+     inkscape:window-x="387"
+     inkscape:window-y="269"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" /><metadata
+     id="metadata37"><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><defs
+     id="defs35" /><g
+     transform="matrix(0.19997959,0,0,0.19995118,0.00612242,3.3238395e-4)"
+     id="Background_circle"><g
+       id="g5"><g
+         id="g7"><g
+           id="g9"><circle
+             id="circle11"
+             style="fill:#ffffff"
+             r="150"
+             cy="150"
+             cx="150" /><path
+             id="path13"
+             d="m 150.485,0.001 c 49.5244,-0.30805092 97.99005,26.13918 124.885,67.66 29.14949,43.41669 32.66869,102.35469 9.029,148.98 -22.3226,45.72399 -69.26524,78.27982 -120.017,82.677 C 116.79963,304.27157 67.626954,284.53159 36.597,248.141 4.2284143,211.43134 -7.8772602,158.34647 5.079,111.186 18.20087,60.591626 59.782145,18.758853 110.292,5.321 c 13.07378,-3.5887368 26.6371,-5.36778112 40.193,-5.32 z m -0.919,16 C 104.07954,15.682674 59.676029,40.73106 36.035,79.522 10.237529,120.258 9.3382219,175.08668 33.754,216.66 c 22.507056,39.83833 66.53845,66.428 112.351,67.284 44.86675,1.74378 89.5149,-21.18229 114.552,-58.394 27.38615,-39.18451 30.93913,-93.31402 9.052,-135.793 C 249.0838,48.105271 205.50868,18.954337 159.041,16.3 c -3.15359,-0.209033 -6.31449,-0.309606 -9.475,-0.299 z"
+             style="fill:#4d4d4d;fill-opacity:1" /></g></g></g></g><g
+     id="g188"
+     transform="matrix(0.68115256,0,0,-0.68115256,28.34437,39.625367)"
+     style="fill:#4d4d4d;fill-opacity:1"><path
+       style="fill:#4d4d4d;fill-opacity:1"
+       inkscape:connector-curvature="0"
+       id="path190"
+       d="m -21.716,23.2 c -0.708,1.552 -2.458,2.255 -4.092,1.529 -1.636,-0.727 -2.238,-2.541 -1.499,-4.094 l 6.861,-14.913 c 1.079,-2.337 2.216,-3.562 4.35,-3.562 2.28,0 3.274,1.334 4.352,3.562 0,0 5.984,13.03 6.044,13.166 0.061,0.138 0.253,0.559 0.862,0.555 0.515,-0.003 0.948,-0.414 0.948,-0.966 l 0,-12.742 c 0,-1.964 1.089,-3.575 3.185,-3.575 2.094,0 3.226,1.611 3.226,3.575 l 0,10.427 c 0,2.011 1.441,3.316 3.405,3.316 1.964,0 3.271,-1.352 3.271,-3.316 l 0,-10.427 c 0,-1.964 1.093,-3.575 3.185,-3.575 2.094,0 3.232,1.611 3.232,3.575 l 0,10.427 c 0,2.011 1.435,3.316 3.4,3.316 1.961,0 3.273,-1.352 3.273,-3.316 l 0,-10.427 c 0,-1.964 1.092,-3.575 3.186,-3.575 2.093,0 3.229,1.611 3.229,3.575 l 0,11.867 c 0,4.361 -3.507,7.416 -7.727,7.416 -4.215,0 -6.855,-2.916 -6.855,-2.916 -1.403,1.819 -3.337,2.912 -6.61,2.912 -3.454,0 -6.477,-2.912 -6.477,-2.912 -1.404,1.819 -3.794,2.912 -5.773,2.912 -3.061,0 -5.492,-1.346 -6.975,-4.737 L -16.096,9.95 -21.716,23.2 Z" /></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/circle/gray/c_wifi.svg b/gns3server/symbols/affinity/circle/gray/wifi.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_wifi.svg
rename to gns3server/symbols/affinity/circle/gray/wifi.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_wlc.svg b/gns3server/symbols/affinity/circle/gray/wlc.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_wlc.svg
rename to gns3server/symbols/affinity/circle/gray/wlc.svg
diff --git a/gns3server/symbols/affinity/circle/gray/c_xml.svg b/gns3server/symbols/affinity/circle/gray/xml.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/gray/c_xml.svg
rename to gns3server/symbols/affinity/circle/gray/xml.svg
diff --git a/gns3server/symbols/affinity/circle/red/atm.svg b/gns3server/symbols/affinity/circle/red/atm.svg
new file mode 100644
index 00000000..1d6de229
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/atm.svg
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="atm.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1649"
+     inkscape:window-height="1069"
+     id="namedview19"
+     showgrid="false"
+     inkscape:zoom="15.733333"
+     inkscape:cx="31.298291"
+     inkscape:cy="33.188064"
+     inkscape:window-x="1442"
+     inkscape:window-y="405"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g9" /><metadata
+     id="metadata35"><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><defs
+     id="defs33" /><g
+     transform="matrix(0.19997959,0,0,0.19995118,0.00612242,3.3238395e-4)"
+     id="Background_circle"><g
+       id="g5"><g
+         id="g7"><g
+           id="g9"><circle
+             id="circle11"
+             style="fill:#ffffff"
+             r="150"
+             cy="150"
+             cx="150" /><path
+             id="path13"
+             d="m 150.485,0.001 c 49.5244,-0.30805092 97.99005,26.13918 124.885,67.66 29.14949,43.41669 32.66869,102.35469 9.029,148.98 -22.3226,45.72399 -69.26524,78.27982 -120.017,82.677 C 116.79963,304.27157 67.626954,284.53159 36.597,248.141 4.2284143,211.43134 -7.8772602,158.34647 5.079,111.186 18.20087,60.591626 59.782145,18.758853 110.292,5.321 c 13.07378,-3.5887368 26.6371,-5.36778112 40.193,-5.32 z m -0.919,16 C 104.07954,15.682674 59.676029,40.73106 36.035,79.522 10.237529,120.258 9.3382219,175.08668 33.754,216.66 c 22.507056,39.83833 66.53845,66.428 112.351,67.284 44.86675,1.74378 89.5149,-21.18229 114.552,-58.394 27.38615,-39.18451 30.93913,-93.31402 9.052,-135.793 C 249.0838,48.105271 205.50868,18.954337 159.041,16.3 c -3.15359,-0.209033 -6.31449,-0.309606 -9.475,-0.299 z"
+             style="fill:#e3292e;fill-opacity:1" /></g></g></g></g><g
+     id="g2348"
+     transform="matrix(20.299892,0,0,20.757616,28.738101,29.359515)"><path
+       inkscape:connector-curvature="0"
+       id="path2341"
+       d="m -0.57518956,-0.83795069 0,0.21003421 0.42006839,0 0.22976117,0.47460762 0.22860076,-0.47460762 0.41890798,0 0,-0.21003421 0.26805471,0.26689429 -0.26805471,0.26689428 0,-0.19030722 -0.3040274,0 -0.24832773,0.53262812 0.24832773,0.53262819 0.3040274,0 0,-0.19030726 0.26805471,0.2657339 -0.26805471,0.26689429 0,-0.19030723 -0.41890798,0 L 0.07464,0.2273056 l -0.22976117,0.49549507 -0.42006839,0 0,0.19030723 -0.26689423,-0.26689429 0.26689423,-0.2657339 0,0.19030726 0.28662125,0 0.26689429,-0.53262819 -0.26689429,-0.53262812 -0.28662125,0 0,0.19030722 -0.26689423,-0.26689428 0.26689423,-0.26689429"
+       style="fill:#e3292e;fill-opacity:1;stroke:none;stroke-width:0.001" /></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/circle/red/c_camera_red.svg b/gns3server/symbols/affinity/circle/red/camera.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_camera_red.svg
rename to gns3server/symbols/affinity/circle/red/camera.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_camera_dome_red.svg b/gns3server/symbols/affinity/circle/red/camera_dome.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_camera_dome_red.svg
rename to gns3server/symbols/affinity/circle/red/camera_dome.svg
diff --git a/gns3server/symbols/affinity/circle/red/circle.svg b/gns3server/symbols/affinity/circle/red/circle.svg
new file mode 100644
index 00000000..b4328dee
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/circle.svg
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="circle.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="866"
+     inkscape:window-height="480"
+     id="namedview12"
+     showgrid="false"
+     inkscape:zoom="3.9333333"
+     inkscape:cx="30"
+     inkscape:cy="30"
+     inkscape:window-x="130"
+     inkscape:window-y="48"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g5" /><metadata
+     id="metadata21"><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><defs
+     id="defs19" /><g
+     transform="matrix(0.19997959,0,0,0.19995118,0.00612242,3.3238395e-4)"
+     id="Background_circle"><g
+       id="g5"><g
+         id="g7"><circle
+           id="circle9"
+           style="fill:#ffffff"
+           r="150"
+           cy="150"
+           cx="150" /><path
+           id="path11"
+           d="m 150.485,0.001 c 49.5244,-0.30805092 97.99005,26.13918 124.885,67.66 29.14949,43.41669 32.66869,102.35469 9.029,148.98 -22.3226,45.72399 -69.26524,78.27982 -120.017,82.677 C 116.79963,304.27157 67.626954,284.53159 36.597,248.141 4.2284143,211.43134 -7.8772602,158.34647 5.079,111.186 18.20087,60.591626 59.782145,18.758853 110.292,5.321 c 13.07378,-3.5887368 26.6371,-5.36778112 40.193,-5.32 z m -0.919,16 C 104.07954,15.682674 59.676029,40.73106 36.035,79.522 10.237529,120.258 9.3382219,175.08668 33.754,216.66 c 22.507056,39.83833 66.53845,66.428 112.351,67.284 44.86675,1.74378 89.5149,-21.18229 114.552,-58.394 27.38615,-39.18451 30.93913,-93.31402 9.052,-135.793 C 249.0838,48.105271 205.50868,18.954337 159.041,16.3 c -3.15359,-0.209033 -6.31449,-0.309606 -9.475,-0.299 z"
+           style="fill:#e3292e" /></g></g></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/circle/red/c_client_red.svg b/gns3server/symbols/affinity/circle/red/client.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_client_red.svg
rename to gns3server/symbols/affinity/circle/red/client.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_client_vm_red.svg b/gns3server/symbols/affinity/circle/red/client_vm.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_client_vm_red.svg
rename to gns3server/symbols/affinity/circle/red/client_vm.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_cloud_red.svg b/gns3server/symbols/affinity/circle/red/cloud.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_cloud_red.svg
rename to gns3server/symbols/affinity/circle/red/cloud.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_cog_red.svg b/gns3server/symbols/affinity/circle/red/cog.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_cog_red.svg
rename to gns3server/symbols/affinity/circle/red/cog.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_communications_red.svg b/gns3server/symbols/affinity/circle/red/communications.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_communications_red.svg
rename to gns3server/symbols/affinity/circle/red/communications.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_conversation_red.svg b/gns3server/symbols/affinity/circle/red/conversation.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_conversation_red.svg
rename to gns3server/symbols/affinity/circle/red/conversation.svg
diff --git a/gns3server/symbols/affinity/circle/red/docker.svg b/gns3server/symbols/affinity/circle/red/docker.svg
new file mode 100644
index 00000000..48ae1b3b
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/docker.svg
@@ -0,0 +1,118 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="docker.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="2057"
+     inkscape:window-height="1337"
+     id="namedview20"
+     showgrid="false"
+     inkscape:zoom="15.733334"
+     inkscape:cx="4.9477368"
+     inkscape:cy="20.945831"
+     inkscape:window-x="910"
+     inkscape:window-y="264"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg2" /><metadata
+     id="metadata37"><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><defs
+     id="defs35" /><g
+     transform="matrix(0.19997959,0,0,0.19995118,0.00612242,3.3238395e-4)"
+     id="Background_circle"><g
+       id="g5"><g
+         id="g7"><g
+           id="g9"><circle
+             id="circle11"
+             style="fill:#ffffff"
+             r="150"
+             cy="150"
+             cx="150" /><path
+             id="path13"
+             d="m 150.485,0.001 c 49.5244,-0.30805092 97.99005,26.13918 124.885,67.66 29.14949,43.41669 32.66869,102.35469 9.029,148.98 -22.3226,45.72399 -69.26524,78.27982 -120.017,82.677 C 116.79963,304.27157 67.626954,284.53159 36.597,248.141 4.2284143,211.43134 -7.8772602,158.34647 5.079,111.186 18.20087,60.591626 59.782145,18.758853 110.292,5.321 c 13.07378,-3.5887368 26.6371,-5.36778112 40.193,-5.32 z m -0.919,16 C 104.07954,15.682674 59.676029,40.73106 36.035,79.522 10.237529,120.258 9.3382219,175.08668 33.754,216.66 c 22.507056,39.83833 66.53845,66.428 112.351,67.284 44.86675,1.74378 89.5149,-21.18229 114.552,-58.394 27.38615,-39.18451 30.93913,-93.31402 9.052,-135.793 C 249.0838,48.105271 205.50868,18.954337 159.041,16.3 c -3.15359,-0.209033 -6.31449,-0.309606 -9.475,-0.299 z"
+             style="fill:#e3292e;fill-opacity:1" /></g></g></g></g><g
+     transform="matrix(0.09186705,0,0,0.11864189,16.596451,156.85277)"
+     id="g3137"><path
+       style="clip-rule:evenodd;fill:#e3292e;fill-opacity:1;fill-rule:evenodd"
+       inkscape:connector-curvature="0"
+       id="outline_7_"
+       d="m 185.32674,-1127.4117 47.146,0 0,48.194 23.837,0 c 11.008,0 22.33,-1.962 32.755,-5.494 5.123,-1.736 10.872,-4.154 15.926,-7.193 -6.656,-8.689 -10.053,-19.661 -11.054,-30.476 -1.358,-14.71 1.609,-33.855 11.564,-45.368 l 4.956,-5.732 5.905,4.747 c 14.867,11.946 27.372,28.638 29.577,47.665 17.901,-5.266 38.921,-4.02 54.701,5.088 l 6.475,3.734 -3.408,6.652 c -13.345,26.046 -41.246,34.113 -68.524,32.687 -40.817,101.66298 -129.68,149.79398 -237.427996,149.79398 -55.666,0 -106.7380004,-20.81 -135.821,-70.197 l -0.477,-0.807 -4.238,-8.62098 c -9.83,-21.739 -13.095,-45.554 -10.88,-69.351 l 0.664,-7.127 40.315,0 0,-48.194 47.143,0 0,-47.145 94.291996,0 0,-47.146 56.574,0 0,94.29 z" /><g
+       style="display:none"
+       display="none"
+       id="g3140"><path
+         style="display:inline;fill:#394d54"
+         inkscape:connector-curvature="0"
+         display="inline"
+         d="m 61.093,319.89 c 6.023,0 11.763,-0.157 17.219,-0.464 0.476,-0.026 0.932,-0.063 1.402,-0.092 0.005,-0.002 0.008,-0.002 0.012,-0.002 13.872,-0.855 25.876,-2.708 35.902,-5.57 0.002,-0.002 0.004,-0.002 0.006,-0.002 1.823,-0.521 3.588,-1.07 5.282,-1.656 1.894,-0.657 2.896,-2.725 2.241,-4.618 -0.656,-1.895 -2.722,-2.899 -4.618,-2.24 -12.734,4.412 -29.535,6.842 -50.125,7.298 -0.002,0 -0.004,0 -0.005,0 -10.477,0.232 -21.93,-0.044 -34.352,-0.843 0,0 0,0 -0.001,0 -0.635,-0.038 -1.259,-0.075 -1.9,-0.118 -1.995,-0.128 -3.731,1.374 -3.869,3.375 -0.136,1.999 1.376,3.73 3.375,3.866 2.537,0.173 5.03,0.321 7.49,0.453 0.392,0.021 0.77,0.034 1.158,0.054 l 0,0 c 7.256,0.366 14.194,0.559 20.783,0.559 z"
+         id="path3142" /></g><g
+       id="Containers_8_"
+       transform="translate(-56.806256,-1295.8927)"><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 86.209,179.744 3.227,0 0,34.052 -3.227,0 0,-34.052 z m -6.189,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.062,0 3.224,0 0,34.052 -3.224,0 0,-34.052 z m -3.403,-3.406 40.858,0 0,40.86 -40.858,0 0,-40.86 z"
+         id="path3145" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 133.354,132.598 3.229,0 0,34.051 -3.229,0 0,-34.051 z m -6.189,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.188,0 3.352,0 0,34.051 -3.352,0 0,-34.051 z m -6.062,0 3.222,0 0,34.051 -3.222,0 0,-34.051 z m -3.407,-3.405 40.863,0 0,40.859 -40.863,0 0,-40.859 z"
+         id="path3147" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 133.354,179.744 3.229,0 0,34.052 -3.229,0 0,-34.052 z m -6.189,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.188,0 3.352,0 0,34.052 -3.352,0 0,-34.052 z m -6.062,0 3.222,0 0,34.052 -3.222,0 0,-34.052 z m -3.407,-3.406 40.863,0 0,40.86 -40.863,0 0,-40.86 z"
+         id="path3149" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 180.501,179.744 3.225,0 0,34.052 -3.225,0 0,-34.052 z m -6.191,0 3.355,0 0,34.052 -3.355,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.06,0 3.222,0 0,34.052 -3.222,0 0,-34.052 z m -3.405,-3.406 40.861,0 0,40.86 -40.861,0 0,-40.86 z"
+         id="path3151" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 180.501,132.598 3.225,0 0,34.051 -3.225,0 0,-34.051 z m -6.191,0 3.355,0 0,34.051 -3.355,0 0,-34.051 z m -6.19,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.06,0 3.222,0 0,34.051 -3.222,0 0,-34.051 z m -3.405,-3.405 40.861,0 0,40.859 -40.861,0 0,-40.859 z"
+         id="path3153" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 227.647,179.744 3.226,0 0,34.052 -3.226,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.189,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.063,0 3.224,0 0,34.052 -3.224,0 0,-34.052 z m -3.405,-3.406 40.861,0 0,40.86 -40.861,0 0,-40.86 z"
+         id="path3155" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 227.647,132.598 3.226,0 0,34.051 -3.226,0 0,-34.051 z m -6.19,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.189,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.063,0 3.224,0 0,34.051 -3.224,0 0,-34.051 z m -3.405,-3.405 40.861,0 0,40.859 -40.861,0 0,-40.859 z"
+         id="path3157" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 227.647,85.451 3.226,0 0,34.053 -3.226,0 0,-34.053 z m -6.19,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.192,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.192,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.189,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.063,0 3.224,0 0,34.053 -3.224,0 0,-34.053 z m -3.405,-3.403 40.861,0 0,40.86 -40.861,0 0,-40.86 z"
+         id="path3159" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 274.792,179.744 3.224,0 0,34.052 -3.224,0 0,-34.052 z m -6.19,0 3.352,0 0,34.052 -3.352,0 0,-34.052 z m -6.194,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.062,0 3.227,0 0,34.052 -3.227,0 0,-34.052 z m -3.403,-3.406 40.86,0 0,40.86 -40.86,0 0,-40.86 z"
+         id="path3161" /></g><path
+       style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+       inkscape:connector-curvature="0"
+       d="m 80.621744,-1012.4477 c 6.225,0 11.271,5.049 11.271,11.272 0,6.22498 -5.046,11.27098 -11.271,11.27098 -6.226,0 -11.272,-5.046 -11.272,-11.27098 0,-6.223 5.046,-11.272 11.272,-11.272"
+       id="path3163" /><path
+       style="clip-rule:evenodd;fill-rule:evenodd;fill:#e3292e;fill-opacity:1"
+       inkscape:connector-curvature="0"
+       d="m 80.621744,-1009.2487 c 1.031,0 2.015,0.194 2.923,0.546 -0.984,0.569 -1.65,1.635 -1.65,2.854 0,1.82 1.476,3.293 3.296,3.293 1.247,0 2.329,-0.693 2.89,-1.715 0.395,0.953 0.615,1.999 0.615,3.097 0,4.45798 -3.615,8.07298 -8.073,8.07298 -4.458,0 -8.074,-3.615 -8.074,-8.07298 -0.001,-4.461 3.616,-8.075 8.073,-8.075"
+       id="path3165" /><path
+       style="fill:#ffffff"
+       inkscape:connector-curvature="0"
+       d="m 110.58774,-931.21572 c -27.915996,-13.247 -43.238996,-31.256 -51.764996,-50.915 -10.37,2.961 -22.835,4.852 -37.317,5.664 -5.457,0.307 -11.196,0.464 -17.2190004,0.464 -6.942,0 -14.26,-0.205 -21.9399996,-0.613 25.5999996,25.585 57.094,45.283 115.408,45.645 4.304996,-10e-4 8.578996,-0.085 12.832996,-0.245 z"
+       id="path3167" /></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/circle/red/c_dslam_red.svg b/gns3server/symbols/affinity/circle/red/dslam.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_dslam_red.svg
rename to gns3server/symbols/affinity/circle/red/dslam.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_fingerprint_red.svg b/gns3server/symbols/affinity/circle/red/fingerprint.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_fingerprint_red.svg
rename to gns3server/symbols/affinity/circle/red/fingerprint.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_firewall_red.svg b/gns3server/symbols/affinity/circle/red/firewall.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_firewall_red.svg
rename to gns3server/symbols/affinity/circle/red/firewall.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_firewall3_red.svg b/gns3server/symbols/affinity/circle/red/firewall3.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_firewall3_red.svg
rename to gns3server/symbols/affinity/circle/red/firewall3.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_grid_red.svg b/gns3server/symbols/affinity/circle/red/grid.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_grid_red.svg
rename to gns3server/symbols/affinity/circle/red/grid.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_grid2_red.svg b/gns3server/symbols/affinity/circle/red/grid2.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_grid2_red.svg
rename to gns3server/symbols/affinity/circle/red/grid2.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_hub_red.svg b/gns3server/symbols/affinity/circle/red/hub.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_hub_red.svg
rename to gns3server/symbols/affinity/circle/red/hub.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_inspect_red.svg b/gns3server/symbols/affinity/circle/red/inspect.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_inspect_red.svg
rename to gns3server/symbols/affinity/circle/red/inspect.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_inspect3_red.svg b/gns3server/symbols/affinity/circle/red/inspect3.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_inspect3_red.svg
rename to gns3server/symbols/affinity/circle/red/inspect3.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_interconnect_red.svg b/gns3server/symbols/affinity/circle/red/interconnect.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_interconnect_red.svg
rename to gns3server/symbols/affinity/circle/red/interconnect.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_isdn_red.svg b/gns3server/symbols/affinity/circle/red/isdn.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_isdn_red.svg
rename to gns3server/symbols/affinity/circle/red/isdn.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_ldap_red.svg b/gns3server/symbols/affinity/circle/red/ldap.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_ldap_red.svg
rename to gns3server/symbols/affinity/circle/red/ldap.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_light_bulb_red.svg b/gns3server/symbols/affinity/circle/red/light_bulb.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_light_bulb_red.svg
rename to gns3server/symbols/affinity/circle/red/light_bulb.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_link_red.svg b/gns3server/symbols/affinity/circle/red/link.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_link_red.svg
rename to gns3server/symbols/affinity/circle/red/link.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_loadbalancer_red.svg b/gns3server/symbols/affinity/circle/red/loadbalancer.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_loadbalancer_red.svg
rename to gns3server/symbols/affinity/circle/red/loadbalancer.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_nas_red.svg b/gns3server/symbols/affinity/circle/red/nas.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_nas_red.svg
rename to gns3server/symbols/affinity/circle/red/nas.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_pinpoint_red.svg b/gns3server/symbols/affinity/circle/red/pinpoint.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_pinpoint_red.svg
rename to gns3server/symbols/affinity/circle/red/pinpoint.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_printer_red.svg b/gns3server/symbols/affinity/circle/red/printer.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_printer_red.svg
rename to gns3server/symbols/affinity/circle/red/printer.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_rj45_red.svg b/gns3server/symbols/affinity/circle/red/rj45.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_rj45_red.svg
rename to gns3server/symbols/affinity/circle/red/rj45.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_router_red.svg b/gns3server/symbols/affinity/circle/red/router.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_router_red.svg
rename to gns3server/symbols/affinity/circle/red/router.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_router_cloud_red.svg b/gns3server/symbols/affinity/circle/red/router_cloud.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_router_cloud_red.svg
rename to gns3server/symbols/affinity/circle/red/router_cloud.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_satellite_red.svg b/gns3server/symbols/affinity/circle/red/satellite.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_satellite_red.svg
rename to gns3server/symbols/affinity/circle/red/satellite.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_satellite_dish_red.svg b/gns3server/symbols/affinity/circle/red/satellite_dish.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_satellite_dish_red.svg
rename to gns3server/symbols/affinity/circle/red/satellite_dish.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_scull_red.svg b/gns3server/symbols/affinity/circle/red/scull.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_scull_red.svg
rename to gns3server/symbols/affinity/circle/red/scull.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_server-cluster_red.svg b/gns3server/symbols/affinity/circle/red/server-cluster.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_server-cluster_red.svg
rename to gns3server/symbols/affinity/circle/red/server-cluster.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_server_red.svg b/gns3server/symbols/affinity/circle/red/server.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_server_red.svg
rename to gns3server/symbols/affinity/circle/red/server.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_statistics_red.svg b/gns3server/symbols/affinity/circle/red/statistics.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_statistics_red.svg
rename to gns3server/symbols/affinity/circle/red/statistics.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_storage_red.svg b/gns3server/symbols/affinity/circle/red/storage.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_storage_red.svg
rename to gns3server/symbols/affinity/circle/red/storage.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_switch_red.svg b/gns3server/symbols/affinity/circle/red/switch.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_switch_red.svg
rename to gns3server/symbols/affinity/circle/red/switch.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_switch_multilayer_red.svg b/gns3server/symbols/affinity/circle/red/switch_multilayer.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_switch_multilayer_red.svg
rename to gns3server/symbols/affinity/circle/red/switch_multilayer.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_tablet_red.svg b/gns3server/symbols/affinity/circle/red/tablet.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_tablet_red.svg
rename to gns3server/symbols/affinity/circle/red/tablet.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_tree_red.svg b/gns3server/symbols/affinity/circle/red/tree.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_tree_red.svg
rename to gns3server/symbols/affinity/circle/red/tree.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_user_red.svg b/gns3server/symbols/affinity/circle/red/user.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_user_red.svg
rename to gns3server/symbols/affinity/circle/red/user.svg
diff --git a/gns3server/symbols/affinity/circle/red/virtualbox.svg b/gns3server/symbols/affinity/circle/red/virtualbox.svg
new file mode 100644
index 00000000..008a7794
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/virtualbox.svg
@@ -0,0 +1,60 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="virtualbox.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1934"
+     inkscape:window-height="1123"
+     id="namedview20"
+     showgrid="false"
+     inkscape:zoom="11.125147"
+     inkscape:cx="34.997392"
+     inkscape:cy="32.145967"
+     inkscape:window-x="1071"
+     inkscape:window-y="520"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g9" /><metadata
+     id="metadata37"><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><defs
+     id="defs35" /><g
+     transform="matrix(0.19997959,0,0,0.19995118,0.00612242,3.3238395e-4)"
+     id="Background_circle"><g
+       id="g5"><g
+         id="g7"><g
+           id="g9"><circle
+             id="circle11"
+             style="fill:#ffffff"
+             r="150"
+             cy="150"
+             cx="150" /><path
+             id="path13"
+             d="m 150.485,0.001 c 49.5244,-0.30805092 97.99005,26.13918 124.885,67.66 29.14949,43.41669 32.66869,102.35469 9.029,148.98 -22.3226,45.72399 -69.26524,78.27982 -120.017,82.677 C 116.79963,304.27157 67.626954,284.53159 36.597,248.141 4.2284143,211.43134 -7.8772602,158.34647 5.079,111.186 18.20087,60.591626 59.782145,18.758853 110.292,5.321 c 13.07378,-3.5887368 26.6371,-5.36778112 40.193,-5.32 z m -0.919,16 C 104.07954,15.682674 59.676029,40.73106 36.035,79.522 10.237529,120.258 9.3382219,175.08668 33.754,216.66 c 22.507056,39.83833 66.53845,66.428 112.351,67.284 44.86675,1.74378 89.5149,-21.18229 114.552,-58.394 27.38615,-39.18451 30.93913,-93.31402 9.052,-135.793 C 249.0838,48.105271 205.50868,18.954337 159.041,16.3 c -3.15359,-0.209033 -6.31449,-0.309606 -9.475,-0.299 z"
+             style="fill:#e3292e;fill-opacity:1" /></g></g></g></g><g
+     id="g12443"
+     transform="matrix(0.67264052,0,0,0.57931697,-56.871222,-549.37497)"><path
+       d="m 102.61168,974.83234 0,52.71436 52.7143,0 0,-52.71436 -52.7143,0 z m 4.39286,4.39286 43.92859,0 0,25.9911 -5.99443,0 -5.83426,-17.75449 -1.69308,-5.125 -1.7846,5.10212 -3.6836,10.52456 -3.38616,-10.11272 -1.94476,-5.85715 -1.5558,5.97154 -5.125,19.60764 -3.84375,-12.76667 -0.41183,-1.30413 -1.34989,0 -7.32143,0 0,-14.2768 z m 30.3153,14.50559 4.55301,13.88781 0.41183,1.2584 1.32701,0 7.32144,0 0,14.2768 -43.92859,0 0,-25.99109 5.94866,0 5.3538,17.70869 1.87611,6.2232 1.64732,-6.2918 5.21652,-19.92804 3.11161,9.35764 1.69308,5.0793 1.7846,-5.0563 3.6836,-10.52461 z"
+       inkscape:connector-curvature="0"
+       id="path3618"
+       style="fill:#e3292e;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/circle/red/c_vm_red.svg b/gns3server/symbols/affinity/circle/red/vm.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_vm_red.svg
rename to gns3server/symbols/affinity/circle/red/vm.svg
diff --git a/gns3server/symbols/affinity/circle/red/vmware.svg b/gns3server/symbols/affinity/circle/red/vmware.svg
new file mode 100644
index 00000000..ac929894
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/vmware.svg
@@ -0,0 +1,61 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg2"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="vmware.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="2298"
+     inkscape:window-height="1355"
+     id="namedview20"
+     showgrid="false"
+     inkscape:zoom="22.250294"
+     inkscape:cx="18.935677"
+     inkscape:cy="41.465244"
+     inkscape:window-x="739"
+     inkscape:window-y="438"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g9" /><metadata
+     id="metadata37"><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><defs
+     id="defs35" /><g
+     transform="matrix(0.19997959,0,0,0.19995118,0.00612242,3.3238395e-4)"
+     id="Background_circle"><g
+       id="g5"><g
+         id="g7"><g
+           id="g9"><circle
+             id="circle11"
+             style="fill:#ffffff"
+             r="150"
+             cy="150"
+             cx="150" /><path
+             id="path13"
+             d="m 150.485,0.001 c 49.5244,-0.30805092 97.99005,26.13918 124.885,67.66 29.14949,43.41669 32.66869,102.35469 9.029,148.98 -22.3226,45.72399 -69.26524,78.27982 -120.017,82.677 C 116.79963,304.27157 67.626954,284.53159 36.597,248.141 4.2284143,211.43134 -7.8772602,158.34647 5.079,111.186 18.20087,60.591626 59.782145,18.758853 110.292,5.321 c 13.07378,-3.5887368 26.6371,-5.36778112 40.193,-5.32 z m -0.919,16 C 104.07954,15.682674 59.676029,40.73106 36.035,79.522 10.237529,120.258 9.3382219,175.08668 33.754,216.66 c 22.507056,39.83833 66.53845,66.428 112.351,67.284 44.86675,1.74378 89.5149,-21.18229 114.552,-58.394 27.38615,-39.18451 30.93913,-93.31402 9.052,-135.793 C 249.0838,48.105271 205.50868,18.954337 159.041,16.3 c -3.15359,-0.209033 -6.31449,-0.309606 -9.475,-0.299 z"
+             style="fill:#e3292e;fill-opacity:1" /></g></g></g></g><g
+     id="g188"
+     transform="matrix(0.68115256,0,0,-0.68115256,28.34437,39.625367)"
+     style="fill:#4d4d4d;fill-opacity:1"><path
+       style="fill:#e3292e;fill-opacity:1"
+       inkscape:connector-curvature="0"
+       id="path190"
+       d="m -21.716,23.2 c -0.708,1.552 -2.458,2.255 -4.092,1.529 -1.636,-0.727 -2.238,-2.541 -1.499,-4.094 l 6.861,-14.913 c 1.079,-2.337 2.216,-3.562 4.35,-3.562 2.28,0 3.274,1.334 4.352,3.562 0,0 5.984,13.03 6.044,13.166 0.061,0.138 0.253,0.559 0.862,0.555 0.515,-0.003 0.948,-0.414 0.948,-0.966 l 0,-12.742 c 0,-1.964 1.089,-3.575 3.185,-3.575 2.094,0 3.226,1.611 3.226,3.575 l 0,10.427 c 0,2.011 1.441,3.316 3.405,3.316 1.964,0 3.271,-1.352 3.271,-3.316 l 0,-10.427 c 0,-1.964 1.093,-3.575 3.185,-3.575 2.094,0 3.232,1.611 3.232,3.575 l 0,10.427 c 0,2.011 1.435,3.316 3.4,3.316 1.961,0 3.273,-1.352 3.273,-3.316 l 0,-10.427 c 0,-1.964 1.092,-3.575 3.186,-3.575 2.093,0 3.229,1.611 3.229,3.575 l 0,11.867 c 0,4.361 -3.507,7.416 -7.727,7.416 -4.215,0 -6.855,-2.916 -6.855,-2.916 -1.403,1.819 -3.337,2.912 -6.61,2.912 -3.454,0 -6.477,-2.912 -6.477,-2.912 -1.404,1.819 -3.794,2.912 -5.773,2.912 -3.061,0 -5.492,-1.346 -6.975,-4.737 L -16.096,9.95 -21.716,23.2 Z" /></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/circle/red/c_wifi_red.svg b/gns3server/symbols/affinity/circle/red/wifi.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_wifi_red.svg
rename to gns3server/symbols/affinity/circle/red/wifi.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_wlc_red.svg b/gns3server/symbols/affinity/circle/red/wlc.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_wlc_red.svg
rename to gns3server/symbols/affinity/circle/red/wlc.svg
diff --git a/gns3server/symbols/affinity/circle/red/c_xml_red.svg b/gns3server/symbols/affinity/circle/red/xml.svg
similarity index 100%
rename from gns3server/symbols/affinity/circle/red/c_xml_red.svg
rename to gns3server/symbols/affinity/circle/red/xml.svg
diff --git a/gns3server/symbols/affinity/square/blue/atm.svg b/gns3server/symbols/affinity/square/blue/atm.svg
new file mode 100644
index 00000000..c03f2c0d
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/atm.svg
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg320"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="atm.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1587"
+     inkscape:window-height="993"
+     id="namedview19"
+     showgrid="false"
+     inkscape:zoom="3.9333333"
+     inkscape:cx="30"
+     inkscape:cy="30"
+     inkscape:window-x="150"
+     inkscape:window-y="68"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg320" /><metadata
+     id="metadata326"><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><defs
+     id="defs324" /><g
+     transform="matrix(0.19993327,0,0,0.19990235,0.01465042,0.01464815)"
+     id="g318"><g
+       id="Background"><g
+         id="g297"><path
+           id="path293"
+           style="fill:#ffffff"
+           d="M 300,30.271 C 300,13.564 286.436,0 269.729,0 H 30.271 C 13.564,0 0,13.564 0,30.271 V 269.729 C 0,286.436 13.564,300 30.271,300 H 269.729 C 286.436,300 300,286.436 300,269.729 Z" /><path
+           id="path295"
+           d="m 269.925,0.001 c 16.09972,-0.31510169 30.49384,14.17259 30.075,30.27 -0.1061,80.84884 0.21081,161.71193 -0.156,242.552 C 298.61375,288.46369 283.6522,301.15677 268.03194,300 187.74879,299.89388 107.45138,300.21085 27.177,299.844 11.536306,298.61375 -1.1567723,283.6522 0,268.03194 0.10612413,187.74879 -0.21084904,107.45138 0.156,27.177 1.3862455,11.536306 16.347799,-1.1567723 31.968056,0 111.28704,6.6687171e-4 190.60602,-0.00133361 269.925,0.001 Z M 30.296,16 C 21.973925,15.732721 14.968163,23.80142 16,31.993056 16.103721,111.93578 15.794138,191.89863 16.152,271.829 17.110107,279.66576 25.171747,285.14519 32.841585,284 112.50147,283.89626 192.18147,284.20589 271.829,283.848 279.6657,282.88989 285.14515,274.82817 284,267.15842 283.89626,187.49853 284.20589,107.81853 283.848,28.171 282.89006,20.334162 274.82812,14.854983 267.15842,16 188.20428,16 109.25014,16 30.296,16 Z"
+           style="fill:#2d67b9" /></g></g></g><path
+     inkscape:connector-curvature="0"
+     id="path2341"
+     d="m 16.56607,11.317624 0,4.35981 8.527343,0 4.664127,9.851722 4.640571,-9.851722 8.503786,0 0,-4.35981 5.441482,5.540089 -5.441482,5.540089 0,-3.950324 -6.171723,0 -5.041026,11.05609 5.041026,11.056091 6.171723,0 0,-3.950325 5.441482,5.516003 -5.441482,5.540089 0,-3.950325 -8.503786,0 -4.640571,-10.285296 -4.664127,10.285296 -8.527343,0 0,3.950325 -5.417924,-5.540089 5.417924,-5.516003 0,3.950325 5.81838,0 5.417926,-11.056091 -5.417926,-11.05609 -5.81838,0 0,3.950324 -5.417924,-5.540089 5.417924,-5.540089"
+     style="clip-rule:evenodd;fill:#2d67b9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.001;stroke-linejoin:round;stroke-miterlimit:1.41420996" /></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/square/blue/sq_camera_blue.svg b/gns3server/symbols/affinity/square/blue/camera.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_camera_blue.svg
rename to gns3server/symbols/affinity/square/blue/camera.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_camera_dome_blue.svg b/gns3server/symbols/affinity/square/blue/camera_dome.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_camera_dome_blue.svg
rename to gns3server/symbols/affinity/square/blue/camera_dome.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_client_blue.svg b/gns3server/symbols/affinity/square/blue/client.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_client_blue.svg
rename to gns3server/symbols/affinity/square/blue/client.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_client_vm_blue.svg b/gns3server/symbols/affinity/square/blue/client_vm.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_client_vm_blue.svg
rename to gns3server/symbols/affinity/square/blue/client_vm.svg
diff --git a/gns3server/symbols/affinity/square/blue/cloud.svg b/gns3server/symbols/affinity/square/blue/cloud.svg
new file mode 100644
index 00000000..1625c1a3
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/cloud.svg
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg377"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="cloud.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1833"
+     inkscape:window-height="1086"
+     id="namedview22"
+     showgrid="false"
+     inkscape:zoom="11.125147"
+     inkscape:cx="36.78083"
+     inkscape:cy="22.707063"
+     inkscape:window-x="130"
+     inkscape:window-y="48"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg377" /><metadata
+     id="metadata383"><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><defs
+     id="defs381" /><g
+     transform="matrix(0.19993327,0,0,0.19990235,0.01465042,0.01464815)"
+     id="Background"><g
+       id="g351"><path
+         id="path347"
+         style="fill:#ffffff"
+         d="M 300,30.271 C 300,13.564 286.436,0 269.729,0 H 30.271 C 13.564,0 0,13.564 0,30.271 V 269.729 C 0,286.436 13.564,300 30.271,300 H 269.729 C 286.436,300 300,286.436 300,269.729 Z" /><path
+         id="path349"
+         d="m 269.925,0.001 c 16.09972,-0.31510169 30.49384,14.17259 30.075,30.27 -0.1061,80.84884 0.21081,161.71193 -0.156,242.552 C 298.61375,288.46369 283.6522,301.15677 268.03194,300 187.74879,299.89388 107.45138,300.21085 27.177,299.844 11.536306,298.61375 -1.1567723,283.6522 0,268.03194 0.10612413,187.74879 -0.21084904,107.45138 0.156,27.177 1.3862455,11.536306 16.347799,-1.1567723 31.968056,0 111.28704,6.6687171e-4 190.60602,-0.00133361 269.925,0.001 Z M 30.296,16 C 21.973925,15.732721 14.968163,23.80142 16,31.993056 16.103721,111.93578 15.794138,191.89863 16.152,271.829 17.110107,279.66576 25.171747,285.14519 32.841585,284 112.50147,283.89626 192.18147,284.20589 271.829,283.848 279.6657,282.88989 285.14515,274.82817 284,267.15842 283.89626,187.49853 284.20589,107.81853 283.848,28.171 282.89006,20.334162 274.82812,14.854983 267.15842,16 188.20428,16 109.25014,16 30.296,16 Z"
+         style="fill:#2d67b9" /></g></g><g
+     style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+     id="g13"
+     transform="matrix(0.19997959,0,0,0.19995118,-0.24452173,-0.55407178)"><path
+       inkscape:connector-curvature="0"
+       id="path15"
+       style="fill:#2d67b9"
+       d="m 210.025,221.534 -118.119,0 0,0 c -21.734,-0.004 -39.378,-17.65 -39.378,-39.385 0,-19.275 13.877,-35.335 32.177,-38.725 0.182,-35.883 29.37,-64.958 65.295,-64.958 35.925,0 65.113,29.075 65.295,64.958 18.3,3.39 32.177,19.45 32.177,38.725 0,21.087 -16.609,38.326 -37.447,39.338 l 0,0.047 z m -2.802,-15.929 c 0.287,0.01 0.575,0.015 0.865,0.015 12.954,0 23.471,-10.517 23.471,-23.471 0,-11.115 -7.742,-20.435 -18.124,-22.858 l -0.006,0.026 c -0.884,-0.215 -1.787,-0.38 -2.707,-0.492 -0.865,-0.098 -1.744,-0.147 -2.634,-0.147 -4.025,0 -7.814,1.015 -11.126,2.803 1.984,-5.385 3.068,-11.204 3.068,-17.274 0,-16.41 -7.917,-30.984 -20.137,-40.11 -8.32,-6.282 -18.675,-10.009 -29.893,-10.009 -11.218,0 -21.573,3.727 -29.893,10.009 -12.22,9.126 -20.137,23.7 -20.137,40.11 0,6.07 1.084,11.889 3.068,17.274 -3.312,-1.788 -7.101,-2.803 -11.126,-2.803 -0.825,0 -1.64,0.042 -2.444,0.126 -0.985,0.113 -1.952,0.287 -2.896,0.517 l -0.007,-0.03 c -10.382,2.423 -18.124,11.743 -18.124,22.858 0,12.954 10.517,23.471 23.471,23.471 0.29,0 0.578,-0.005 0.865,-0.015 0.248,0.024 0.499,0.037 0.753,0.037 l 29.987,0 -0.018,0.024 53.002,0 -0.018,-0.024 29.987,0 c 0.254,0 0.505,-0.013 0.753,-0.037 z" /></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/square/blue/sq_cog_blue.svg b/gns3server/symbols/affinity/square/blue/cog.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_cog_blue.svg
rename to gns3server/symbols/affinity/square/blue/cog.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_communications_blue.svg b/gns3server/symbols/affinity/square/blue/communications.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_communications_blue.svg
rename to gns3server/symbols/affinity/square/blue/communications.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_conversation_blue.svg b/gns3server/symbols/affinity/square/blue/conversation.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_conversation_blue.svg
rename to gns3server/symbols/affinity/square/blue/conversation.svg
diff --git a/gns3server/symbols/affinity/square/blue/docker.svg b/gns3server/symbols/affinity/square/blue/docker.svg
new file mode 100644
index 00000000..3e2fd6bc
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/docker.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg320"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="docker.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1516"
+     inkscape:window-height="937"
+     id="namedview19"
+     showgrid="false"
+     inkscape:zoom="7.8666667"
+     inkscape:cx="32.059982"
+     inkscape:cy="24.583076"
+     inkscape:window-x="150"
+     inkscape:window-y="68"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g318" /><metadata
+     id="metadata326"><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><defs
+     id="defs324" /><g
+     transform="matrix(0.19993327,0,0,0.19990235,0.01465042,0.01464815)"
+     id="g318"><g
+       id="Background"><g
+         id="g297"><path
+           id="path293"
+           style="fill:#ffffff"
+           d="M 300,30.271 C 300,13.564 286.436,0 269.729,0 H 30.271 C 13.564,0 0,13.564 0,30.271 V 269.729 C 0,286.436 13.564,300 30.271,300 H 269.729 C 286.436,300 300,286.436 300,269.729 Z" /><path
+           id="path295"
+           d="m 269.925,0.001 c 16.09972,-0.31510169 30.49384,14.17259 30.075,30.27 -0.1061,80.84884 0.21081,161.71193 -0.156,242.552 C 298.61375,288.46369 283.6522,301.15677 268.03194,300 187.74879,299.89388 107.45138,300.21085 27.177,299.844 11.536306,298.61375 -1.1567723,283.6522 0,268.03194 0.10612413,187.74879 -0.21084904,107.45138 0.156,27.177 1.3862455,11.536306 16.347799,-1.1567723 31.968056,0 111.28704,6.6687171e-4 190.60602,-0.00133361 269.925,0.001 Z M 30.296,16 C 21.973925,15.732721 14.968163,23.80142 16,31.993056 16.103721,111.93578 15.794138,191.89863 16.152,271.829 17.110107,279.66576 25.171747,285.14519 32.841585,284 112.50147,283.89626 192.18147,284.20589 271.829,283.848 279.6657,282.88989 285.14515,274.82817 284,267.15842 283.89626,187.49853 284.20589,107.81853 283.848,28.171 282.89006,20.334162 274.82812,14.854983 267.15842,16 188.20428,16 109.25014,16 30.296,16 Z"
+           style="fill:#2d67b9" /></g></g><path
+       style="clip-rule:evenodd;fill:#2d67b9;fill-opacity:1;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+       inkscape:connector-curvature="0"
+       id="outline_7_"
+       d="m 160.43872,113.53975 21.66305,0 0,28.6031 10.95283,0 c 5.05805,0 10.26037,-1.16444 15.05054,-3.26068 2.35396,-1.03032 4.99556,-2.4654 7.31782,-4.26904 -3.05836,-5.15692 -4.61924,-11.66879 -5.07919,-18.08749 -0.62398,-8.73037 0.73932,-20.092913 5.31353,-26.925871 l 2.27722,-3.401937 2.71328,2.81734 c 6.83122,7.089942 12.57712,16.996638 13.5903,28.289138 8.2253,-3.12536 17.88375,-2.38586 25.13448,3.01973 l 2.97519,2.21613 -1.56594,3.94795 c -6.13187,15.45829 -18.95206,20.24604 -31.48599,19.39971 -18.75494,60.3369 -59.58648,88.90262 -109.09546,88.90262 -25.577891,0 -49.04489,-12.35072 -62.408196,-41.66186 l -0.219178,-0.47894 -1.947312,-5.11655 C 51.108923,174.631 49.608693,160.49682 50.62646,146.37331 l 0.3051,-4.22986 18.524281,0 0,-28.60311 21.661669,0 0,-27.98052 43.3261,0 0,-27.981115 25.99511,0 0,55.961045 z" /><g
+       style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+       id="Containers_8_"
+       transform="matrix(0.45948856,0,0,0.59349923,49.181369,13.546404)"><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 86.209,179.744 3.227,0 0,34.052 -3.227,0 0,-34.052 z m -6.189,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.062,0 3.224,0 0,34.052 -3.224,0 0,-34.052 z m -3.403,-3.406 40.858,0 0,40.86 -40.858,0 0,-40.86 z"
+         id="path3145" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 133.354,132.598 3.229,0 0,34.051 -3.229,0 0,-34.051 z m -6.189,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.188,0 3.352,0 0,34.051 -3.352,0 0,-34.051 z m -6.062,0 3.222,0 0,34.051 -3.222,0 0,-34.051 z m -3.407,-3.405 40.863,0 0,40.859 -40.863,0 0,-40.859 z"
+         id="path3147" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 133.354,179.744 3.229,0 0,34.052 -3.229,0 0,-34.052 z m -6.189,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.188,0 3.352,0 0,34.052 -3.352,0 0,-34.052 z m -6.062,0 3.222,0 0,34.052 -3.222,0 0,-34.052 z m -3.407,-3.406 40.863,0 0,40.86 -40.863,0 0,-40.86 z"
+         id="path3149" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 180.501,179.744 3.225,0 0,34.052 -3.225,0 0,-34.052 z m -6.191,0 3.355,0 0,34.052 -3.355,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.06,0 3.222,0 0,34.052 -3.222,0 0,-34.052 z m -3.405,-3.406 40.861,0 0,40.86 -40.861,0 0,-40.86 z"
+         id="path3151" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 180.501,132.598 3.225,0 0,34.051 -3.225,0 0,-34.051 z m -6.191,0 3.355,0 0,34.051 -3.355,0 0,-34.051 z m -6.19,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.06,0 3.222,0 0,34.051 -3.222,0 0,-34.051 z m -3.405,-3.405 40.861,0 0,40.859 -40.861,0 0,-40.859 z"
+         id="path3153" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 227.647,179.744 3.226,0 0,34.052 -3.226,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.189,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.063,0 3.224,0 0,34.052 -3.224,0 0,-34.052 z m -3.405,-3.406 40.861,0 0,40.86 -40.861,0 0,-40.86 z"
+         id="path3155" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 227.647,132.598 3.226,0 0,34.051 -3.226,0 0,-34.051 z m -6.19,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.189,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.063,0 3.224,0 0,34.051 -3.224,0 0,-34.051 z m -3.405,-3.405 40.861,0 0,40.859 -40.861,0 0,-40.859 z"
+         id="path3157" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 227.647,85.451 3.226,0 0,34.053 -3.226,0 0,-34.053 z m -6.19,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.192,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.192,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.189,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.063,0 3.224,0 0,34.053 -3.224,0 0,-34.053 z m -3.405,-3.403 40.861,0 0,40.86 -40.861,0 0,-40.86 z"
+         id="path3159" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 274.792,179.744 3.224,0 0,34.052 -3.224,0 0,-34.052 z m -6.19,0 3.352,0 0,34.052 -3.352,0 0,-34.052 z m -6.194,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.062,0 3.227,0 0,34.052 -3.227,0 0,-34.052 z m -3.403,-3.406 40.86,0 0,40.86 -40.86,0 0,-40.86 z"
+         id="path3161" /></g><path
+       style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+       inkscape:connector-curvature="0"
+       d="m 112.32797,181.7708 c 2.86032,0 5.1789,2.99658 5.1789,6.68992 0,3.69453 -2.31858,6.68932 -5.1789,6.68932 -2.86078,0 -5.17936,-2.99479 -5.17936,-6.68932 0,-3.69334 2.31858,-6.68992 5.17936,-6.68992"
+       id="path3163" /><path
+       style="clip-rule:evenodd;fill:#2d67b9;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-linejoin:round;stroke-miterlimit:1.41420996;stroke-opacity:1"
+       inkscape:connector-curvature="0"
+       d="m 112.32797,183.6694 c 0.47376,0 0.92587,0.11516 1.34309,0.32406 -0.45216,0.33772 -0.75816,0.97037 -0.75816,1.69385 0,1.08016 0.6782,1.95439 1.51447,1.95439 0.57298,0 1.07015,-0.4113 1.32793,-1.01785 0.18151,0.56561 0.28259,1.1864 0.28259,1.83807 0,2.6458 -1.66105,4.7913 -3.70945,4.7913 -2.0484,0 -3.70991,-2.1455 -3.70991,-4.7913 -4.6e-4,-2.64761 1.66151,-4.79251 3.70945,-4.79251"
+       id="path3165" /><path
+       style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+       inkscape:connector-curvature="0"
+       d="m 126.097,229.98192 c -12.82708,-7.86208 -19.86782,-18.55041 -23.78543,-30.21801 -4.764891,1.75734 -10.49242,2.87965 -17.146734,3.36158 -2.507429,0.18219 -5.144434,0.27538 -7.911934,0.27538 -3.189769,0 -6.552306,-0.12166 -10.081178,-0.36383 11.762907,15.18468 26.23404,26.87543 53.028656,27.09028 1.9781,-6e-4 3.94195,-0.0505 5.89662,-0.14543 z"
+       id="path3167" /></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/square/blue/sq_dslam_blue.svg b/gns3server/symbols/affinity/square/blue/dslam.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_dslam_blue.svg
rename to gns3server/symbols/affinity/square/blue/dslam.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_fingerprint_blue.svg b/gns3server/symbols/affinity/square/blue/fingerprint.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_fingerprint_blue.svg
rename to gns3server/symbols/affinity/square/blue/fingerprint.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_firewall_blue.svg b/gns3server/symbols/affinity/square/blue/firewall.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_firewall_blue.svg
rename to gns3server/symbols/affinity/square/blue/firewall.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_firewall3_blue.svg b/gns3server/symbols/affinity/square/blue/firewall3.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_firewall3_blue.svg
rename to gns3server/symbols/affinity/square/blue/firewall3.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_grid_blue.svg b/gns3server/symbols/affinity/square/blue/grid.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_grid_blue.svg
rename to gns3server/symbols/affinity/square/blue/grid.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_grid2_blue.svg b/gns3server/symbols/affinity/square/blue/grid2.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_grid2_blue.svg
rename to gns3server/symbols/affinity/square/blue/grid2.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_hub_blue.svg b/gns3server/symbols/affinity/square/blue/hub.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_hub_blue.svg
rename to gns3server/symbols/affinity/square/blue/hub.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_inspect2_blue.svg b/gns3server/symbols/affinity/square/blue/inspect2.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_inspect2_blue.svg
rename to gns3server/symbols/affinity/square/blue/inspect2.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_inspect3_blue.svg b/gns3server/symbols/affinity/square/blue/inspect3.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_inspect3_blue.svg
rename to gns3server/symbols/affinity/square/blue/inspect3.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_interconnect_blue.svg b/gns3server/symbols/affinity/square/blue/interconnect.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_interconnect_blue.svg
rename to gns3server/symbols/affinity/square/blue/interconnect.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_isdn_blue.svg b/gns3server/symbols/affinity/square/blue/isdn.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_isdn_blue.svg
rename to gns3server/symbols/affinity/square/blue/isdn.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_ldap_blue.svg b/gns3server/symbols/affinity/square/blue/ldap.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_ldap_blue.svg
rename to gns3server/symbols/affinity/square/blue/ldap.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_light_bulb_blue.svg b/gns3server/symbols/affinity/square/blue/light_bulb.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_light_bulb_blue.svg
rename to gns3server/symbols/affinity/square/blue/light_bulb.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_link_blue.svg b/gns3server/symbols/affinity/square/blue/link.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_link_blue.svg
rename to gns3server/symbols/affinity/square/blue/link.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_nas_blue.svg b/gns3server/symbols/affinity/square/blue/nas.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_nas_blue.svg
rename to gns3server/symbols/affinity/square/blue/nas.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_pinpoint_blue.svg b/gns3server/symbols/affinity/square/blue/pinpoint.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_pinpoint_blue.svg
rename to gns3server/symbols/affinity/square/blue/pinpoint.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_printer_blue.svg b/gns3server/symbols/affinity/square/blue/printer.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_printer_blue.svg
rename to gns3server/symbols/affinity/square/blue/printer.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_rj45_blue.svg b/gns3server/symbols/affinity/square/blue/rj45.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_rj45_blue.svg
rename to gns3server/symbols/affinity/square/blue/rj45.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_router_blue.svg b/gns3server/symbols/affinity/square/blue/router.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_router_blue.svg
rename to gns3server/symbols/affinity/square/blue/router.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_router_cloud_blue.svg b/gns3server/symbols/affinity/square/blue/router_cloud.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_router_cloud_blue.svg
rename to gns3server/symbols/affinity/square/blue/router_cloud.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_satellite_blue.svg b/gns3server/symbols/affinity/square/blue/satellite.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_satellite_blue.svg
rename to gns3server/symbols/affinity/square/blue/satellite.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_satellite_dish_blue.svg b/gns3server/symbols/affinity/square/blue/satellite_dish.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_satellite_dish_blue.svg
rename to gns3server/symbols/affinity/square/blue/satellite_dish.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_scull_blue.svg b/gns3server/symbols/affinity/square/blue/scull.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_scull_blue.svg
rename to gns3server/symbols/affinity/square/blue/scull.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_server-cluster_blue.svg b/gns3server/symbols/affinity/square/blue/server-cluster.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_server-cluster_blue.svg
rename to gns3server/symbols/affinity/square/blue/server-cluster.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_server_blue.svg b/gns3server/symbols/affinity/square/blue/server.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_server_blue.svg
rename to gns3server/symbols/affinity/square/blue/server.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_cloud_blue.svg b/gns3server/symbols/affinity/square/blue/sq_cloud_blue.svg
deleted file mode 100644
index 3039e52b..00000000
--- a/gns3server/symbols/affinity/square/blue/sq_cloud_blue.svg
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<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"
-   id="svg377"
-   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
-   xml:space="preserve"
-   version="1.1"
-   viewBox="0 0 60 60"
-   height="60"
-   width="60"><metadata
-     id="metadata383"><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><defs
-     id="defs381" /><g
-     transform="matrix(0.19993327,0,0,0.19990235,0.01465042,0.01464815)"
-     id="Background"><g
-       id="g351"><path
-         id="path347"
-         style="fill:#ffffff"
-         d="M 300,30.271 C 300,13.564 286.436,0 269.729,0 H 30.271 C 13.564,0 0,13.564 0,30.271 V 269.729 C 0,286.436 13.564,300 30.271,300 H 269.729 C 286.436,300 300,286.436 300,269.729 Z" /><path
-         id="path349"
-         d="m 269.925,0.001 c 16.09972,-0.31510169 30.49384,14.17259 30.075,30.27 -0.1061,80.84884 0.21081,161.71193 -0.156,242.552 C 298.61375,288.46369 283.6522,301.15677 268.03194,300 187.74879,299.89388 107.45138,300.21085 27.177,299.844 11.536306,298.61375 -1.1567723,283.6522 0,268.03194 0.10612413,187.74879 -0.21084904,107.45138 0.156,27.177 1.3862455,11.536306 16.347799,-1.1567723 31.968056,0 111.28704,6.6687171e-4 190.60602,-0.00133361 269.925,0.001 Z M 30.296,16 C 21.973925,15.732721 14.968163,23.80142 16,31.993056 16.103721,111.93578 15.794138,191.89863 16.152,271.829 17.110107,279.66576 25.171747,285.14519 32.841585,284 112.50147,283.89626 192.18147,284.20589 271.829,283.848 279.6657,282.88989 285.14515,274.82817 284,267.15842 283.89626,187.49853 284.20589,107.81853 283.848,28.171 282.89006,20.334162 274.82812,14.854983 267.15842,16 188.20428,16 109.25014,16 30.296,16 Z"
-         style="fill:#2d67b9" /></g></g><g
-     transform="matrix(0.19993327,0,0,0.19990235,-0.05230958,3.9100682)"
-     id="Layer3"><g
-       id="g363"
-       transform="translate(-2.17605,-6.90999)"><clipPath
-         id="_clip1"><rect
-           id="rect354"
-           height="143.067"
-           width="97.472"
-           y="65.889999"
-           x="55.039001" /></clipPath><g
-         id="g361"
-         clip-path="url(#_clip1)"><path
-           id="path357"
-           style="fill:#2d67b9"
-           d="m 94.657,208.957 h -1.486 v -0.027 c -21.178,-0.783 -38.132,-18.223 -38.132,-39.592 0,-19.576 14.229,-35.855 32.9,-39.05 v -0.161 c 0,-35.453 28.783,-64.237 64.237,-64.237 35.454,0 64.238,28.784 64.238,64.237 0,0.271 -0.002,0.538 -0.005,0.804 19.045,3.122 33.574,19.29 33.574,38.74 0,21.683 -18.054,39.286 -40.293,39.286 z m 105.717,-77.514 0.019,-0.004 c 0.011,-0.436 0.017,-0.873 0.017,-1.312 0,-26.621 -21.613,-48.234 -48.234,-48.234 -4.677,0 -9.199,0.667 -13.476,1.911 -20.932,5.493 -36.369,24.279 -36.369,46.582 0,6.579 1.343,12.852 3.775,18.568 -3.394,-1.881 -7.297,-2.952 -11.449,-2.952 -13.063,0 -23.669,10.606 -23.669,23.669 0,13.064 10.606,23.67 23.669,23.67 h 115.614 c 13.064,0 23.67,-10.606 23.67,-23.67 0,-13.063 -10.606,-23.669 -23.67,-23.669 -5.514,0 -10.59,1.889 -14.616,5.056 2.888,-5.967 4.566,-12.608 4.719,-19.615 z" /><path
-           id="path359"
-           d="m 152.591,65.891 c 24.98522,-0.172541 48.99827,15.859791 58.618,38.883 3.55027,8.22399 5.31925,17.20229 5.2,26.157 17.0746,2.52164 31.65879,17.16525 33.338,34.468 2.09933,16.40295 -7.7984,33.12173 -22.815,39.784 -10.46691,5.23184 -22.43064,3.50566 -33.68498,3.774 -33.84287,-0.0741 -67.76416,0.14773 -101.55802,-0.11 -17.444675,-1.01245 -33.011862,-14.96606 -35.972,-32.178 -3.31667,-16.2792 4.991655,-33.97596 19.577,-41.896 3.859041,-2.31873 8.528026,-3.5863 12.645,-4.646 -0.335904,-24.99251 15.55321,-49.114074 38.525,-58.877 8.20371,-3.600455 17.17004,-5.425597 26.127,-5.359 z m -0.634,16.003 c -18.47186,0.03978 -36.75056,10.752508 -44.777,27.576 -6.05506,12.18104 -6.45616,26.9913 -1.074,39.484 -10.02272,-5.83847 -23.961344,-2.71172 -30.582,6.788 -7.01556,9.20222 -5.685622,23.41148 2.909,31.158 5.382987,5.29448 13.228072,7.08093 20.576552,6.441 37.842258,-0.0742 75.693968,0.14697 113.530448,-0.108 11.73303,-0.86974 21.58976,-11.6414 21.4,-23.409 0.3421,-11.76679 -9.37886,-22.66325 -21.101,-23.684 -6.07937,-0.68477 -12.39233,1.10884 -17.184,4.918 8.96246,-17.99343 4.93824,-41.3084 -9.584,-55.235 -8.95815,-8.921563 -21.46466,-14.050541 -34.114,-13.929 z"
-           style="fill:#2d67b9" /></g></g><g
-       id="g374"
-       transform="matrix(-1,0,0,1,302.846,-6.90999)"><clipPath
-         id="_clip2"><rect
-           id="rect365"
-           height="143.067"
-           width="97.472"
-           y="65.889999"
-           x="55.039001" /></clipPath><g
-         id="g372"
-         clip-path="url(#_clip2)"><path
-           id="path368"
-           style="fill:#2d67b9"
-           d="m 94.657,208.957 h -1.486 v -0.027 c -21.178,-0.783 -38.132,-18.223 -38.132,-39.592 0,-19.576 14.229,-35.855 32.9,-39.05 v -0.161 c 0,-35.453 28.783,-64.237 64.237,-64.237 35.454,0 64.238,28.784 64.238,64.237 0,0.271 -0.002,0.538 -0.005,0.804 19.045,3.122 33.574,19.29 33.574,38.74 0,21.683 -18.054,39.286 -40.293,39.286 z m 105.717,-77.514 0.019,-0.004 c 0.011,-0.436 0.017,-0.873 0.017,-1.312 0,-26.621 -21.613,-48.234 -48.234,-48.234 -4.677,0 -9.199,0.667 -13.476,1.911 -20.932,5.493 -36.369,24.279 -36.369,46.582 0,6.579 1.343,12.852 3.775,18.568 -3.394,-1.881 -7.297,-2.952 -11.449,-2.952 -13.063,0 -23.669,10.606 -23.669,23.669 0,13.064 10.606,23.67 23.669,23.67 h 115.614 c 13.064,0 23.67,-10.606 23.67,-23.67 0,-13.063 -10.606,-23.669 -23.67,-23.669 -5.514,0 -10.59,1.889 -14.616,5.056 2.888,-5.967 4.566,-12.608 4.719,-19.615 z" /><path
-           id="path370"
-           d="m 151.761,65.891 c -24.98526,-0.172541 -48.99814,15.859864 -58.618,38.883 -3.463795,8.02729 -5.235538,16.77288 -5.204,25.514 -17.165442,2.67713 -31.310788,17.87456 -32.715,35.197 -1.921629,16.85473 8.417707,34.07343 24.133,40.405 10.776841,4.7612 22.73029,2.5762 34.12591,3.067 33.18578,-0.0911 66.38127,0.18113 99.56109,-0.134 17.54839,-1.114 33.50525,-14.97196 36.353,-32.443 3.06555,-15.86987 -5.26048,-32.83107 -19.33,-40.6 -4.21281,-2.41804 -8.86449,-4.06591 -13.658,-4.849 0.63988,-24.86103 -14.77685,-49.069516 -37.452,-59.201 -8.49101,-3.915785 -17.84787,-5.909493 -27.196,-5.839 z m 0.727,16.003 c 20.18248,-0.184304 39.37835,13.838199 45.48,33.051 3.91022,11.74495 3.10908,24.96868 -2.313,36.113 9.1728,-7.58403 23.90093,-6.42497 31.844,2.389 8.15442,8.28077 8.58665,22.63113 0.943,31.386 -5.12191,6.35074 -13.55301,9.23863 -21.55632,8.508 -38.16468,-0.0738 -76.33877,0.14645 -114.49768,-0.108 -11.7331,-0.86998 -21.588985,-11.64146 -21.4,-23.409 -0.341345,-11.76701 9.379354,-22.66373 21.102,-23.684 4.813413,-0.52999 9.78456,0.4532 14.016,2.814 -7.679516,-17.41946 -3.34444,-39.11833 10.297,-52.357 9.40496,-9.484773 22.78506,-14.702529 36.085,-14.703 z"
-           style="fill:#2d67b9" /></g></g></g></svg>
diff --git a/gns3server/symbols/affinity/square/blue/sq_square_blue.svg b/gns3server/symbols/affinity/square/blue/square.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_square_blue.svg
rename to gns3server/symbols/affinity/square/blue/square.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_statistics_blue.svg b/gns3server/symbols/affinity/square/blue/statistics.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_statistics_blue.svg
rename to gns3server/symbols/affinity/square/blue/statistics.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_storage_blue.svg b/gns3server/symbols/affinity/square/blue/storage.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_storage_blue.svg
rename to gns3server/symbols/affinity/square/blue/storage.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_switch_blue.svg b/gns3server/symbols/affinity/square/blue/switch.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_switch_blue.svg
rename to gns3server/symbols/affinity/square/blue/switch.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_switch_multilayer_blue.svg b/gns3server/symbols/affinity/square/blue/switch_multilayer.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_switch_multilayer_blue.svg
rename to gns3server/symbols/affinity/square/blue/switch_multilayer.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_tablet_blue.svg b/gns3server/symbols/affinity/square/blue/tablet.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_tablet_blue.svg
rename to gns3server/symbols/affinity/square/blue/tablet.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_tree_blue.svg b/gns3server/symbols/affinity/square/blue/tree.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_tree_blue.svg
rename to gns3server/symbols/affinity/square/blue/tree.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_user_blue.svg b/gns3server/symbols/affinity/square/blue/user.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_user_blue.svg
rename to gns3server/symbols/affinity/square/blue/user.svg
diff --git a/gns3server/symbols/affinity/square/blue/virtualbox.svg b/gns3server/symbols/affinity/square/blue/virtualbox.svg
new file mode 100644
index 00000000..73ca6528
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/virtualbox.svg
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg320"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="virtualbox.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1455"
+     inkscape:window-height="1062"
+     id="namedview19"
+     showgrid="false"
+     inkscape:zoom="7.8666667"
+     inkscape:cx="11.104194"
+     inkscape:cy="23.345646"
+     inkscape:window-x="150"
+     inkscape:window-y="68"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g318" /><metadata
+     id="metadata326"><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><defs
+     id="defs324" /><g
+     transform="matrix(0.19993327,0,0,0.19990235,0.01465042,0.01464815)"
+     id="g318"><g
+       id="Background"><g
+         id="g297"><path
+           id="path293"
+           style="fill:#ffffff"
+           d="M 300,30.271 C 300,13.564 286.436,0 269.729,0 H 30.271 C 13.564,0 0,13.564 0,30.271 V 269.729 C 0,286.436 13.564,300 30.271,300 H 269.729 C 286.436,300 300,286.436 300,269.729 Z" /><path
+           id="path295"
+           d="m 269.925,0.001 c 16.09972,-0.31510169 30.49384,14.17259 30.075,30.27 -0.1061,80.84884 0.21081,161.71193 -0.156,242.552 C 298.61375,288.46369 283.6522,301.15677 268.03194,300 187.74879,299.89388 107.45138,300.21085 27.177,299.844 11.536306,298.61375 -1.1567723,283.6522 0,268.03194 0.10612413,187.74879 -0.21084904,107.45138 0.156,27.177 1.3862455,11.536306 16.347799,-1.1567723 31.968056,0 111.28704,6.6687171e-4 190.60602,-0.00133361 269.925,0.001 Z M 30.296,16 C 21.973925,15.732721 14.968163,23.80142 16,31.993056 16.103721,111.93578 15.794138,191.89863 16.152,271.829 17.110107,279.66576 25.171747,285.14519 32.841585,284 112.50147,283.89626 192.18147,284.20589 271.829,283.848 279.6657,282.88989 285.14515,274.82817 284,267.15842 283.89626,187.49853 284.20589,107.81853 283.848,28.171 282.89006,20.334162 274.82812,14.854983 267.15842,16 188.20428,16 109.25014,16 30.296,16 Z"
+           style="fill:#2d67b9" /></g></g><g
+       style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+       id="g12443"
+       transform="matrix(3.3643251,0,0,2.8979998,-285.1879,-2750.8111)"><path
+         d="m 102.61168,974.83234 0,52.71436 52.7143,0 0,-52.71436 -52.7143,0 z m 4.39286,4.39286 43.92859,0 0,25.9911 -5.99443,0 -5.83426,-17.75449 -1.69308,-5.125 -1.7846,5.10212 -3.6836,10.52456 -3.38616,-10.11272 -1.94476,-5.85715 -1.5558,5.97154 -5.125,19.60764 -3.84375,-12.76667 -0.41183,-1.30413 -1.34989,0 -7.32143,0 0,-14.2768 z m 30.3153,14.50559 4.55301,13.88781 0.41183,1.2584 1.32701,0 7.32144,0 0,14.2768 -43.92859,0 0,-25.99109 5.94866,0 5.3538,17.70869 1.87611,6.2232 1.64732,-6.2918 5.21652,-19.92804 3.11161,9.35764 1.69308,5.0793 1.7846,-5.0563 3.6836,-10.52461 z"
+         inkscape:connector-curvature="0"
+         id="path3618"
+         style="fill:#2d67b9;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/square/blue/sq_vm_blue.svg b/gns3server/symbols/affinity/square/blue/vm.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_vm_blue.svg
rename to gns3server/symbols/affinity/square/blue/vm.svg
diff --git a/gns3server/symbols/affinity/square/blue/vmware.svg b/gns3server/symbols/affinity/square/blue/vmware.svg
new file mode 100644
index 00000000..025d0d73
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/vmware.svg
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg320"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="vmware.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1600"
+     inkscape:window-height="1026"
+     id="namedview19"
+     showgrid="false"
+     inkscape:zoom="11.125147"
+     inkscape:cx="26.728139"
+     inkscape:cy="29.520554"
+     inkscape:window-x="150"
+     inkscape:window-y="68"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g318" /><metadata
+     id="metadata326"><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><defs
+     id="defs324" /><g
+     transform="matrix(0.19993327,0,0,0.19990235,0.01465042,0.01464815)"
+     id="g318"><g
+       id="Background"><g
+         id="g297"><path
+           id="path293"
+           style="fill:#ffffff"
+           d="M 300,30.271 C 300,13.564 286.436,0 269.729,0 H 30.271 C 13.564,0 0,13.564 0,30.271 V 269.729 C 0,286.436 13.564,300 30.271,300 H 269.729 C 286.436,300 300,286.436 300,269.729 Z" /><path
+           id="path295"
+           d="m 269.925,0.001 c 16.09972,-0.31510169 30.49384,14.17259 30.075,30.27 -0.1061,80.84884 0.21081,161.71193 -0.156,242.552 C 298.61375,288.46369 283.6522,301.15677 268.03194,300 187.74879,299.89388 107.45138,300.21085 27.177,299.844 11.536306,298.61375 -1.1567723,283.6522 0,268.03194 0.10612413,187.74879 -0.21084904,107.45138 0.156,27.177 1.3862455,11.536306 16.347799,-1.1567723 31.968056,0 111.28704,6.6687171e-4 190.60602,-0.00133361 269.925,0.001 Z M 30.296,16 C 21.973925,15.732721 14.968163,23.80142 16,31.993056 16.103721,111.93578 15.794138,191.89863 16.152,271.829 17.110107,279.66576 25.171747,285.14519 32.841585,284 112.50147,283.89626 192.18147,284.20589 271.829,283.848 279.6657,282.88989 285.14515,274.82817 284,267.15842 283.89626,187.49853 284.20589,107.81853 283.848,28.171 282.89006,20.334162 274.82812,14.854983 267.15842,16 188.20428,16 109.25014,16 30.296,16 Z"
+           style="fill:#2d67b9" /></g></g><g
+       id="g188"
+       transform="matrix(3.4068995,0,0,-3.4074265,145.66618,194.72312)"
+       style="clip-rule:evenodd;fill:#2d67b9;fill-opacity:1;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"><path
+         style="fill:#2d67b9;fill-opacity:1"
+         inkscape:connector-curvature="0"
+         id="path190"
+         d="m -21.716,23.2 c -0.708,1.552 -2.458,2.255 -4.092,1.529 -1.636,-0.727 -2.238,-2.541 -1.499,-4.094 l 6.861,-14.913 c 1.079,-2.337 2.216,-3.562 4.35,-3.562 2.28,0 3.274,1.334 4.352,3.562 0,0 5.984,13.03 6.044,13.166 0.061,0.138 0.253,0.559 0.862,0.555 0.515,-0.003 0.948,-0.414 0.948,-0.966 l 0,-12.742 c 0,-1.964 1.089,-3.575 3.185,-3.575 2.094,0 3.226,1.611 3.226,3.575 l 0,10.427 c 0,2.011 1.441,3.316 3.405,3.316 1.964,0 3.271,-1.352 3.271,-3.316 l 0,-10.427 c 0,-1.964 1.093,-3.575 3.185,-3.575 2.094,0 3.232,1.611 3.232,3.575 l 0,10.427 c 0,2.011 1.435,3.316 3.4,3.316 1.961,0 3.273,-1.352 3.273,-3.316 l 0,-10.427 c 0,-1.964 1.092,-3.575 3.186,-3.575 2.093,0 3.229,1.611 3.229,3.575 l 0,11.867 c 0,4.361 -3.507,7.416 -7.727,7.416 -4.215,0 -6.855,-2.916 -6.855,-2.916 -1.403,1.819 -3.337,2.912 -6.61,2.912 -3.454,0 -6.477,-2.912 -6.477,-2.912 -1.404,1.819 -3.794,2.912 -5.773,2.912 -3.061,0 -5.492,-1.346 -6.975,-4.737 L -16.096,9.95 -21.716,23.2 Z" /></g></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/square/blue/sq_wifi_blue.svg b/gns3server/symbols/affinity/square/blue/wifi.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_wifi_blue.svg
rename to gns3server/symbols/affinity/square/blue/wifi.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_wlc_blue.svg b/gns3server/symbols/affinity/square/blue/wlc.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_wlc_blue.svg
rename to gns3server/symbols/affinity/square/blue/wlc.svg
diff --git a/gns3server/symbols/affinity/square/blue/sq_xml_blue.svg b/gns3server/symbols/affinity/square/blue/xml.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/blue/sq_xml_blue.svg
rename to gns3server/symbols/affinity/square/blue/xml.svg
diff --git a/gns3server/symbols/affinity/square/gray/atm.svg b/gns3server/symbols/affinity/square/gray/atm.svg
new file mode 100644
index 00000000..9546cb67
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/atm.svg
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg320"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="atm.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1587"
+     inkscape:window-height="993"
+     id="namedview19"
+     showgrid="false"
+     inkscape:zoom="7.8666667"
+     inkscape:cx="14.325005"
+     inkscape:cy="31.954674"
+     inkscape:window-x="150"
+     inkscape:window-y="68"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg320" /><metadata
+     id="metadata326"><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><defs
+     id="defs324" /><g
+     transform="matrix(0.19993327,0,0,0.19990235,0.01465042,0.01464815)"
+     id="g318"><g
+       id="Background"><g
+         id="g297"><path
+           id="path293"
+           style="fill:#ffffff"
+           d="M 300,30.271 C 300,13.564 286.436,0 269.729,0 H 30.271 C 13.564,0 0,13.564 0,30.271 V 269.729 C 0,286.436 13.564,300 30.271,300 H 269.729 C 286.436,300 300,286.436 300,269.729 Z" /><path
+           id="path295"
+           d="m 269.925,0.001 c 16.09972,-0.31510169 30.49384,14.17259 30.075,30.27 -0.1061,80.84884 0.21081,161.71193 -0.156,242.552 C 298.61375,288.46369 283.6522,301.15677 268.03194,300 187.74879,299.89388 107.45138,300.21085 27.177,299.844 11.536306,298.61375 -1.1567723,283.6522 0,268.03194 0.10612413,187.74879 -0.21084904,107.45138 0.156,27.177 1.3862455,11.536306 16.347799,-1.1567723 31.968056,0 111.28704,6.6687171e-4 190.60602,-0.00133361 269.925,0.001 Z M 30.296,16 C 21.973925,15.732721 14.968163,23.80142 16,31.993056 16.103721,111.93578 15.794138,191.89863 16.152,271.829 17.110107,279.66576 25.171747,285.14519 32.841585,284 112.50147,283.89626 192.18147,284.20589 271.829,283.848 279.6657,282.88989 285.14515,274.82817 284,267.15842 283.89626,187.49853 284.20589,107.81853 283.848,28.171 282.89006,20.334162 274.82812,14.854983 267.15842,16 188.20428,16 109.25014,16 30.296,16 Z"
+           style="fill:#4d4d4d;fill-opacity:1" /></g></g></g><path
+     inkscape:connector-curvature="0"
+     id="path2341"
+     d="m 16.56607,11.317624 0,4.35981 8.527343,0 4.664127,9.851722 4.640571,-9.851722 8.503786,0 0,-4.35981 5.441482,5.540089 -5.441482,5.540089 0,-3.950324 -6.171723,0 -5.041026,11.05609 5.041026,11.056091 6.171723,0 0,-3.950325 5.441482,5.516003 -5.441482,5.540089 0,-3.950325 -8.503786,0 -4.640571,-10.285296 -4.664127,10.285296 -8.527343,0 0,3.950325 -5.417924,-5.540089 5.417924,-5.516003 0,3.950325 5.81838,0 5.417926,-11.056091 -5.417926,-11.05609 -5.81838,0 0,3.950324 -5.417924,-5.540089 5.417924,-5.540089"
+     style="clip-rule:evenodd;fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.001;stroke-linejoin:round;stroke-miterlimit:1.41420996" /></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/square/gray/sq_camera.svg b/gns3server/symbols/affinity/square/gray/camera.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_camera.svg
rename to gns3server/symbols/affinity/square/gray/camera.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_camera_dome.svg b/gns3server/symbols/affinity/square/gray/camera_dome.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_camera_dome.svg
rename to gns3server/symbols/affinity/square/gray/camera_dome.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_client.svg b/gns3server/symbols/affinity/square/gray/client.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_client.svg
rename to gns3server/symbols/affinity/square/gray/client.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_client_vm.svg b/gns3server/symbols/affinity/square/gray/client_vm.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_client_vm.svg
rename to gns3server/symbols/affinity/square/gray/client_vm.svg
diff --git a/gns3server/symbols/affinity/square/gray/cloud.svg b/gns3server/symbols/affinity/square/gray/cloud.svg
new file mode 100644
index 00000000..f2960e30
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/cloud.svg
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg377"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="cloud.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="3070"
+     inkscape:window-height="1752"
+     id="namedview22"
+     showgrid="false"
+     inkscape:zoom="15.733333"
+     inkscape:cx="32.089542"
+     inkscape:cy="24.086094"
+     inkscape:window-x="130"
+     inkscape:window-y="48"
+     inkscape:window-maximized="1"
+     inkscape:current-layer="svg377" /><metadata
+     id="metadata383"><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><defs
+     id="defs381" /><g
+     transform="matrix(0.19993327,0,0,0.19990235,0.01465042,0.01464815)"
+     id="Background"><g
+       id="g351"><path
+         id="path347"
+         style="fill:#ffffff"
+         d="M 300,30.271 C 300,13.564 286.436,0 269.729,0 H 30.271 C 13.564,0 0,13.564 0,30.271 V 269.729 C 0,286.436 13.564,300 30.271,300 H 269.729 C 286.436,300 300,286.436 300,269.729 Z" /><path
+         id="path349"
+         d="m 269.925,0.001 c 16.09972,-0.31510169 30.49384,14.17259 30.075,30.27 -0.1061,80.84884 0.21081,161.71193 -0.156,242.552 C 298.61375,288.46369 283.6522,301.15677 268.03194,300 187.74879,299.89388 107.45138,300.21085 27.177,299.844 11.536306,298.61375 -1.1567723,283.6522 0,268.03194 0.10612413,187.74879 -0.21084904,107.45138 0.156,27.177 1.3862455,11.536306 16.347799,-1.1567723 31.968056,0 111.28704,6.6687171e-4 190.60602,-0.00133361 269.925,0.001 Z M 30.296,16 C 21.973925,15.732721 14.968163,23.80142 16,31.993056 16.103721,111.93578 15.794138,191.89863 16.152,271.829 17.110107,279.66576 25.171747,285.14519 32.841585,284 112.50147,283.89626 192.18147,284.20589 271.829,283.848 279.6657,282.88989 285.14515,274.82817 284,267.15842 283.89626,187.49853 284.20589,107.81853 283.848,28.171 282.89006,20.334162 274.82812,14.854983 267.15842,16 188.20428,16 109.25014,16 30.296,16 Z"
+         style="fill:#4d4d4d" /></g></g><g
+     style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+     id="g13"
+     transform="matrix(0.19997959,0,0,0.19995118,0.57509574,0.19800105)"><path
+       inkscape:connector-curvature="0"
+       id="path15"
+       style="fill:#4d4d4d"
+       d="m 210.025,221.534 -118.119,0 0,0 c -21.734,-0.004 -39.378,-17.65 -39.378,-39.385 0,-19.275 13.877,-35.335 32.177,-38.725 0.182,-35.883 29.37,-64.958 65.295,-64.958 35.925,0 65.113,29.075 65.295,64.958 18.3,3.39 32.177,19.45 32.177,38.725 0,21.087 -16.609,38.326 -37.447,39.338 l 0,0.047 z m -2.802,-15.929 c 0.287,0.01 0.575,0.015 0.865,0.015 12.954,0 23.471,-10.517 23.471,-23.471 0,-11.115 -7.742,-20.435 -18.124,-22.858 l -0.006,0.026 c -0.884,-0.215 -1.787,-0.38 -2.707,-0.492 -0.865,-0.098 -1.744,-0.147 -2.634,-0.147 -4.025,0 -7.814,1.015 -11.126,2.803 1.984,-5.385 3.068,-11.204 3.068,-17.274 0,-16.41 -7.917,-30.984 -20.137,-40.11 -8.32,-6.282 -18.675,-10.009 -29.893,-10.009 -11.218,0 -21.573,3.727 -29.893,10.009 -12.22,9.126 -20.137,23.7 -20.137,40.11 0,6.07 1.084,11.889 3.068,17.274 -3.312,-1.788 -7.101,-2.803 -11.126,-2.803 -0.825,0 -1.64,0.042 -2.444,0.126 -0.985,0.113 -1.952,0.287 -2.896,0.517 l -0.007,-0.03 c -10.382,2.423 -18.124,11.743 -18.124,22.858 0,12.954 10.517,23.471 23.471,23.471 0.29,0 0.578,-0.005 0.865,-0.015 0.248,0.024 0.499,0.037 0.753,0.037 l 29.987,0 -0.018,0.024 53.002,0 -0.018,-0.024 29.987,0 c 0.254,0 0.505,-0.013 0.753,-0.037 z" /></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/square/gray/sq_cog.svg b/gns3server/symbols/affinity/square/gray/cog.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_cog.svg
rename to gns3server/symbols/affinity/square/gray/cog.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_communications.svg b/gns3server/symbols/affinity/square/gray/communications.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_communications.svg
rename to gns3server/symbols/affinity/square/gray/communications.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_conversation.svg b/gns3server/symbols/affinity/square/gray/conversation.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_conversation.svg
rename to gns3server/symbols/affinity/square/gray/conversation.svg
diff --git a/gns3server/symbols/affinity/square/gray/docker.svg b/gns3server/symbols/affinity/square/gray/docker.svg
new file mode 100644
index 00000000..c848f641
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/docker.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg320"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="docker.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1516"
+     inkscape:window-height="937"
+     id="namedview19"
+     showgrid="false"
+     inkscape:zoom="7.8666667"
+     inkscape:cx="13.61393"
+     inkscape:cy="33.406054"
+     inkscape:window-x="150"
+     inkscape:window-y="68"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g318" /><metadata
+     id="metadata326"><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><defs
+     id="defs324" /><g
+     transform="matrix(0.19993327,0,0,0.19990235,0.01465042,0.01464815)"
+     id="g318"><g
+       id="Background"><g
+         id="g297"><path
+           id="path293"
+           style="fill:#ffffff"
+           d="M 300,30.271 C 300,13.564 286.436,0 269.729,0 H 30.271 C 13.564,0 0,13.564 0,30.271 V 269.729 C 0,286.436 13.564,300 30.271,300 H 269.729 C 286.436,300 300,286.436 300,269.729 Z" /><path
+           id="path295"
+           d="m 269.925,0.001 c 16.09972,-0.31510169 30.49384,14.17259 30.075,30.27 -0.1061,80.84884 0.21081,161.71193 -0.156,242.552 C 298.61375,288.46369 283.6522,301.15677 268.03194,300 187.74879,299.89388 107.45138,300.21085 27.177,299.844 11.536306,298.61375 -1.1567723,283.6522 0,268.03194 0.10612413,187.74879 -0.21084904,107.45138 0.156,27.177 1.3862455,11.536306 16.347799,-1.1567723 31.968056,0 111.28704,6.6687171e-4 190.60602,-0.00133361 269.925,0.001 Z M 30.296,16 C 21.973925,15.732721 14.968163,23.80142 16,31.993056 16.103721,111.93578 15.794138,191.89863 16.152,271.829 17.110107,279.66576 25.171747,285.14519 32.841585,284 112.50147,283.89626 192.18147,284.20589 271.829,283.848 279.6657,282.88989 285.14515,274.82817 284,267.15842 283.89626,187.49853 284.20589,107.81853 283.848,28.171 282.89006,20.334162 274.82812,14.854983 267.15842,16 188.20428,16 109.25014,16 30.296,16 Z"
+           style="fill:#4d4d4d;fill-opacity:1" /></g></g><path
+       style="clip-rule:evenodd;fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+       inkscape:connector-curvature="0"
+       id="outline_7_"
+       d="m 160.43872,113.53975 21.66305,0 0,28.6031 10.95283,0 c 5.05805,0 10.26037,-1.16444 15.05054,-3.26068 2.35396,-1.03032 4.99556,-2.4654 7.31782,-4.26904 -3.05836,-5.15692 -4.61924,-11.66879 -5.07919,-18.08749 -0.62398,-8.73037 0.73932,-20.092913 5.31353,-26.925871 l 2.27722,-3.401937 2.71328,2.81734 c 6.83122,7.089942 12.57712,16.996638 13.5903,28.289138 8.2253,-3.12536 17.88375,-2.38586 25.13448,3.01973 l 2.97519,2.21613 -1.56594,3.94795 c -6.13187,15.45829 -18.95206,20.24604 -31.48599,19.39971 -18.75494,60.3369 -59.58648,88.90262 -109.09546,88.90262 -25.577891,0 -49.04489,-12.35072 -62.408196,-41.66186 l -0.219178,-0.47894 -1.947312,-5.11655 C 51.108923,174.631 49.608693,160.49682 50.62646,146.37331 l 0.3051,-4.22986 18.524281,0 0,-28.60311 21.661669,0 0,-27.98052 43.3261,0 0,-27.981115 25.99511,0 0,55.961045 z" /><g
+       style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+       id="Containers_8_"
+       transform="matrix(0.45948856,0,0,0.59349923,49.181369,13.546404)"><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 86.209,179.744 3.227,0 0,34.052 -3.227,0 0,-34.052 z m -6.189,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.062,0 3.224,0 0,34.052 -3.224,0 0,-34.052 z m -3.403,-3.406 40.858,0 0,40.86 -40.858,0 0,-40.86 z"
+         id="path3145" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 133.354,132.598 3.229,0 0,34.051 -3.229,0 0,-34.051 z m -6.189,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.188,0 3.352,0 0,34.051 -3.352,0 0,-34.051 z m -6.062,0 3.222,0 0,34.051 -3.222,0 0,-34.051 z m -3.407,-3.405 40.863,0 0,40.859 -40.863,0 0,-40.859 z"
+         id="path3147" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 133.354,179.744 3.229,0 0,34.052 -3.229,0 0,-34.052 z m -6.189,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.188,0 3.352,0 0,34.052 -3.352,0 0,-34.052 z m -6.062,0 3.222,0 0,34.052 -3.222,0 0,-34.052 z m -3.407,-3.406 40.863,0 0,40.86 -40.863,0 0,-40.86 z"
+         id="path3149" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 180.501,179.744 3.225,0 0,34.052 -3.225,0 0,-34.052 z m -6.191,0 3.355,0 0,34.052 -3.355,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.06,0 3.222,0 0,34.052 -3.222,0 0,-34.052 z m -3.405,-3.406 40.861,0 0,40.86 -40.861,0 0,-40.86 z"
+         id="path3151" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 180.501,132.598 3.225,0 0,34.051 -3.225,0 0,-34.051 z m -6.191,0 3.355,0 0,34.051 -3.355,0 0,-34.051 z m -6.19,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.06,0 3.222,0 0,34.051 -3.222,0 0,-34.051 z m -3.405,-3.405 40.861,0 0,40.859 -40.861,0 0,-40.859 z"
+         id="path3153" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 227.647,179.744 3.226,0 0,34.052 -3.226,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.189,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.063,0 3.224,0 0,34.052 -3.224,0 0,-34.052 z m -3.405,-3.406 40.861,0 0,40.86 -40.861,0 0,-40.86 z"
+         id="path3155" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 227.647,132.598 3.226,0 0,34.051 -3.226,0 0,-34.051 z m -6.19,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.189,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.063,0 3.224,0 0,34.051 -3.224,0 0,-34.051 z m -3.405,-3.405 40.861,0 0,40.859 -40.861,0 0,-40.859 z"
+         id="path3157" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 227.647,85.451 3.226,0 0,34.053 -3.226,0 0,-34.053 z m -6.19,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.192,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.192,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.189,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.063,0 3.224,0 0,34.053 -3.224,0 0,-34.053 z m -3.405,-3.403 40.861,0 0,40.86 -40.861,0 0,-40.86 z"
+         id="path3159" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 274.792,179.744 3.224,0 0,34.052 -3.224,0 0,-34.052 z m -6.19,0 3.352,0 0,34.052 -3.352,0 0,-34.052 z m -6.194,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.062,0 3.227,0 0,34.052 -3.227,0 0,-34.052 z m -3.403,-3.406 40.86,0 0,40.86 -40.86,0 0,-40.86 z"
+         id="path3161" /></g><path
+       style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+       inkscape:connector-curvature="0"
+       d="m 112.32797,181.7708 c 2.86032,0 5.1789,2.99658 5.1789,6.68992 0,3.69453 -2.31858,6.68932 -5.1789,6.68932 -2.86078,0 -5.17936,-2.99479 -5.17936,-6.68932 0,-3.69334 2.31858,-6.68992 5.17936,-6.68992"
+       id="path3163" /><path
+       style="clip-rule:evenodd;fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-linejoin:round;stroke-miterlimit:1.41420996;stroke-opacity:1"
+       inkscape:connector-curvature="0"
+       d="m 112.32797,183.6694 c 0.47376,0 0.92587,0.11516 1.34309,0.32406 -0.45216,0.33772 -0.75816,0.97037 -0.75816,1.69385 0,1.08016 0.6782,1.95439 1.51447,1.95439 0.57298,0 1.07015,-0.4113 1.32793,-1.01785 0.18151,0.56561 0.28259,1.1864 0.28259,1.83807 0,2.6458 -1.66105,4.7913 -3.70945,4.7913 -2.0484,0 -3.70991,-2.1455 -3.70991,-4.7913 -4.6e-4,-2.64761 1.66151,-4.79251 3.70945,-4.79251"
+       id="path3165" /><path
+       style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+       inkscape:connector-curvature="0"
+       d="m 126.097,229.98192 c -12.82708,-7.86208 -19.86782,-18.55041 -23.78543,-30.21801 -4.764891,1.75734 -10.49242,2.87965 -17.146734,3.36158 -2.507429,0.18219 -5.144434,0.27538 -7.911934,0.27538 -3.189769,0 -6.552306,-0.12166 -10.081178,-0.36383 11.762907,15.18468 26.23404,26.87543 53.028656,27.09028 1.9781,-6e-4 3.94195,-0.0505 5.89662,-0.14543 z"
+       id="path3167" /></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/square/gray/sq_dslam.svg b/gns3server/symbols/affinity/square/gray/dslam.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_dslam.svg
rename to gns3server/symbols/affinity/square/gray/dslam.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_fingerprint.svg b/gns3server/symbols/affinity/square/gray/fingerprint.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_fingerprint.svg
rename to gns3server/symbols/affinity/square/gray/fingerprint.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_firewall.svg b/gns3server/symbols/affinity/square/gray/firewall.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_firewall.svg
rename to gns3server/symbols/affinity/square/gray/firewall.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_firewall3.svg b/gns3server/symbols/affinity/square/gray/firewall3.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_firewall3.svg
rename to gns3server/symbols/affinity/square/gray/firewall3.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_grid.svg b/gns3server/symbols/affinity/square/gray/grid.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_grid.svg
rename to gns3server/symbols/affinity/square/gray/grid.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_grid2.svg b/gns3server/symbols/affinity/square/gray/grid2.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_grid2.svg
rename to gns3server/symbols/affinity/square/gray/grid2.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_hub.svg b/gns3server/symbols/affinity/square/gray/hub.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_hub.svg
rename to gns3server/symbols/affinity/square/gray/hub.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_inspect2.svg b/gns3server/symbols/affinity/square/gray/inspect2.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_inspect2.svg
rename to gns3server/symbols/affinity/square/gray/inspect2.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_inspect3.svg b/gns3server/symbols/affinity/square/gray/inspect3.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_inspect3.svg
rename to gns3server/symbols/affinity/square/gray/inspect3.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_interconnect.svg b/gns3server/symbols/affinity/square/gray/interconnect.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_interconnect.svg
rename to gns3server/symbols/affinity/square/gray/interconnect.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_isdn.svg b/gns3server/symbols/affinity/square/gray/isdn.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_isdn.svg
rename to gns3server/symbols/affinity/square/gray/isdn.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_ldap.svg b/gns3server/symbols/affinity/square/gray/ldap.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_ldap.svg
rename to gns3server/symbols/affinity/square/gray/ldap.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_light_bulb.svg b/gns3server/symbols/affinity/square/gray/light_bulb.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_light_bulb.svg
rename to gns3server/symbols/affinity/square/gray/light_bulb.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_link.svg b/gns3server/symbols/affinity/square/gray/link.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_link.svg
rename to gns3server/symbols/affinity/square/gray/link.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_nas.svg b/gns3server/symbols/affinity/square/gray/nas.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_nas.svg
rename to gns3server/symbols/affinity/square/gray/nas.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_pinpoint.svg b/gns3server/symbols/affinity/square/gray/pinpoint.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_pinpoint.svg
rename to gns3server/symbols/affinity/square/gray/pinpoint.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_printer.svg b/gns3server/symbols/affinity/square/gray/printer.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_printer.svg
rename to gns3server/symbols/affinity/square/gray/printer.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_rj45.svg b/gns3server/symbols/affinity/square/gray/rj45.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_rj45.svg
rename to gns3server/symbols/affinity/square/gray/rj45.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_router.svg b/gns3server/symbols/affinity/square/gray/router.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_router.svg
rename to gns3server/symbols/affinity/square/gray/router.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_router_cloud.svg b/gns3server/symbols/affinity/square/gray/router_cloud.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_router_cloud.svg
rename to gns3server/symbols/affinity/square/gray/router_cloud.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_satellite.svg b/gns3server/symbols/affinity/square/gray/satellite.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_satellite.svg
rename to gns3server/symbols/affinity/square/gray/satellite.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_satellite_dish.svg b/gns3server/symbols/affinity/square/gray/satellite_dish.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_satellite_dish.svg
rename to gns3server/symbols/affinity/square/gray/satellite_dish.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_scull.svg b/gns3server/symbols/affinity/square/gray/scull.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_scull.svg
rename to gns3server/symbols/affinity/square/gray/scull.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_server-cluster.svg b/gns3server/symbols/affinity/square/gray/server-cluster.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_server-cluster.svg
rename to gns3server/symbols/affinity/square/gray/server-cluster.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_server.svg b/gns3server/symbols/affinity/square/gray/server.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_server.svg
rename to gns3server/symbols/affinity/square/gray/server.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_cloud.svg b/gns3server/symbols/affinity/square/gray/sq_cloud.svg
deleted file mode 100644
index c9dc4368..00000000
--- a/gns3server/symbols/affinity/square/gray/sq_cloud.svg
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<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"
-   id="svg377"
-   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
-   xml:space="preserve"
-   version="1.1"
-   viewBox="0 0 60 60"
-   height="60"
-   width="60"><metadata
-     id="metadata383"><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><defs
-     id="defs381" /><g
-     transform="matrix(0.19993327,0,0,0.19990235,0.01465042,0.01464815)"
-     id="Background"><g
-       id="g351"><path
-         id="path347"
-         style="fill:#ffffff"
-         d="M 300,30.271 C 300,13.564 286.436,0 269.729,0 H 30.271 C 13.564,0 0,13.564 0,30.271 V 269.729 C 0,286.436 13.564,300 30.271,300 H 269.729 C 286.436,300 300,286.436 300,269.729 Z" /><path
-         id="path349"
-         d="m 269.925,0.001 c 16.09972,-0.31510169 30.49384,14.17259 30.075,30.27 -0.1061,80.84884 0.21081,161.71193 -0.156,242.552 C 298.61375,288.46369 283.6522,301.15677 268.03194,300 187.74879,299.89388 107.45138,300.21085 27.177,299.844 11.536306,298.61375 -1.1567723,283.6522 0,268.03194 0.10612413,187.74879 -0.21084904,107.45138 0.156,27.177 1.3862455,11.536306 16.347799,-1.1567723 31.968056,0 111.28704,6.6687171e-4 190.60602,-0.00133361 269.925,0.001 Z M 30.296,16 C 21.973925,15.732721 14.968163,23.80142 16,31.993056 16.103721,111.93578 15.794138,191.89863 16.152,271.829 17.110107,279.66576 25.171747,285.14519 32.841585,284 112.50147,283.89626 192.18147,284.20589 271.829,283.848 279.6657,282.88989 285.14515,274.82817 284,267.15842 283.89626,187.49853 284.20589,107.81853 283.848,28.171 282.89006,20.334162 274.82812,14.854983 267.15842,16 188.20428,16 109.25014,16 30.296,16 Z"
-         style="fill:#4d4d4d" /></g></g><g
-     transform="matrix(0.19993327,0,0,0.19990235,-0.05230958,3.9100682)"
-     id="Layer3"><g
-       id="g363"
-       transform="translate(-2.17605,-6.90999)"><clipPath
-         id="_clip1"><rect
-           id="rect354"
-           height="143.067"
-           width="97.472"
-           y="65.889999"
-           x="55.039001" /></clipPath><g
-         id="g361"
-         clip-path="url(#_clip1)"><path
-           id="path357"
-           style="fill:#4d4d4d"
-           d="m 94.657,208.957 h -1.486 v -0.027 c -21.178,-0.783 -38.132,-18.223 -38.132,-39.592 0,-19.576 14.229,-35.855 32.9,-39.05 v -0.161 c 0,-35.453 28.783,-64.237 64.237,-64.237 35.454,0 64.238,28.784 64.238,64.237 0,0.271 -0.002,0.538 -0.005,0.804 19.045,3.122 33.574,19.29 33.574,38.74 0,21.683 -18.054,39.286 -40.293,39.286 z m 105.717,-77.514 0.019,-0.004 c 0.011,-0.436 0.017,-0.873 0.017,-1.312 0,-26.621 -21.613,-48.234 -48.234,-48.234 -4.677,0 -9.199,0.667 -13.476,1.911 -20.932,5.493 -36.369,24.279 -36.369,46.582 0,6.579 1.343,12.852 3.775,18.568 -3.394,-1.881 -7.297,-2.952 -11.449,-2.952 -13.063,0 -23.669,10.606 -23.669,23.669 0,13.064 10.606,23.67 23.669,23.67 h 115.614 c 13.064,0 23.67,-10.606 23.67,-23.67 0,-13.063 -10.606,-23.669 -23.67,-23.669 -5.514,0 -10.59,1.889 -14.616,5.056 2.888,-5.967 4.566,-12.608 4.719,-19.615 z" /><path
-           id="path359"
-           d="m 152.591,65.891 c 24.98522,-0.172541 48.99827,15.859791 58.618,38.883 3.55027,8.22399 5.31925,17.20229 5.2,26.157 17.0746,2.52164 31.65879,17.16525 33.338,34.468 2.09933,16.40295 -7.7984,33.12173 -22.815,39.784 -10.46691,5.23184 -22.43064,3.50566 -33.68498,3.774 -33.84287,-0.0741 -67.76416,0.14773 -101.55802,-0.11 -17.444675,-1.01245 -33.011862,-14.96606 -35.972,-32.178 -3.31667,-16.2792 4.991655,-33.97596 19.577,-41.896 3.859041,-2.31873 8.528026,-3.5863 12.645,-4.646 -0.335904,-24.99251 15.55321,-49.114074 38.525,-58.877 8.20371,-3.600455 17.17004,-5.425597 26.127,-5.359 z m -0.634,16.003 c -18.47186,0.03978 -36.75056,10.752508 -44.777,27.576 -6.05506,12.18104 -6.45616,26.9913 -1.074,39.484 -10.02272,-5.83847 -23.961344,-2.71172 -30.582,6.788 -7.01556,9.20222 -5.685622,23.41148 2.909,31.158 5.382987,5.29448 13.228072,7.08093 20.576552,6.441 37.842258,-0.0742 75.693968,0.14697 113.530448,-0.108 11.73303,-0.86974 21.58976,-11.6414 21.4,-23.409 0.3421,-11.76679 -9.37886,-22.66325 -21.101,-23.684 -6.07937,-0.68477 -12.39233,1.10884 -17.184,4.918 8.96246,-17.99343 4.93824,-41.3084 -9.584,-55.235 -8.95815,-8.921563 -21.46466,-14.050541 -34.114,-13.929 z"
-           style="fill:#4d4d4d" /></g></g><g
-       id="g374"
-       transform="matrix(-1,0,0,1,302.846,-6.90999)"><clipPath
-         id="_clip2"><rect
-           id="rect365"
-           height="143.067"
-           width="97.472"
-           y="65.889999"
-           x="55.039001" /></clipPath><g
-         id="g372"
-         clip-path="url(#_clip2)"><path
-           id="path368"
-           style="fill:#4d4d4d"
-           d="m 94.657,208.957 h -1.486 v -0.027 c -21.178,-0.783 -38.132,-18.223 -38.132,-39.592 0,-19.576 14.229,-35.855 32.9,-39.05 v -0.161 c 0,-35.453 28.783,-64.237 64.237,-64.237 35.454,0 64.238,28.784 64.238,64.237 0,0.271 -0.002,0.538 -0.005,0.804 19.045,3.122 33.574,19.29 33.574,38.74 0,21.683 -18.054,39.286 -40.293,39.286 z m 105.717,-77.514 0.019,-0.004 c 0.011,-0.436 0.017,-0.873 0.017,-1.312 0,-26.621 -21.613,-48.234 -48.234,-48.234 -4.677,0 -9.199,0.667 -13.476,1.911 -20.932,5.493 -36.369,24.279 -36.369,46.582 0,6.579 1.343,12.852 3.775,18.568 -3.394,-1.881 -7.297,-2.952 -11.449,-2.952 -13.063,0 -23.669,10.606 -23.669,23.669 0,13.064 10.606,23.67 23.669,23.67 h 115.614 c 13.064,0 23.67,-10.606 23.67,-23.67 0,-13.063 -10.606,-23.669 -23.67,-23.669 -5.514,0 -10.59,1.889 -14.616,5.056 2.888,-5.967 4.566,-12.608 4.719,-19.615 z" /><path
-           id="path370"
-           d="m 151.761,65.891 c -24.98526,-0.172541 -48.99814,15.859864 -58.618,38.883 -3.463795,8.02729 -5.235538,16.77288 -5.204,25.514 -17.165442,2.67713 -31.310788,17.87456 -32.715,35.197 -1.921629,16.85473 8.417707,34.07343 24.133,40.405 10.776841,4.7612 22.73029,2.5762 34.12591,3.067 33.18578,-0.0911 66.38127,0.18113 99.56109,-0.134 17.54839,-1.114 33.50525,-14.97196 36.353,-32.443 3.06555,-15.86987 -5.26048,-32.83107 -19.33,-40.6 -4.21281,-2.41804 -8.86449,-4.06591 -13.658,-4.849 0.63988,-24.86103 -14.77685,-49.069516 -37.452,-59.201 -8.49101,-3.915785 -17.84787,-5.909493 -27.196,-5.839 z m 0.727,16.003 c 20.18248,-0.184304 39.37835,13.838199 45.48,33.051 3.91022,11.74495 3.10908,24.96868 -2.313,36.113 9.1728,-7.58403 23.90093,-6.42497 31.844,2.389 8.15442,8.28077 8.58665,22.63113 0.943,31.386 -5.12191,6.35074 -13.55301,9.23863 -21.55632,8.508 -38.16468,-0.0738 -76.33877,0.14645 -114.49768,-0.108 -11.7331,-0.86998 -21.588985,-11.64146 -21.4,-23.409 -0.341345,-11.76701 9.379354,-22.66373 21.102,-23.684 4.813413,-0.52999 9.78456,0.4532 14.016,2.814 -7.679516,-17.41946 -3.34444,-39.11833 10.297,-52.357 9.40496,-9.484773 22.78506,-14.702529 36.085,-14.703 z"
-           style="fill:#4d4d4d" /></g></g></g></svg>
diff --git a/gns3server/symbols/affinity/square/gray/sq_square.svg b/gns3server/symbols/affinity/square/gray/square.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_square.svg
rename to gns3server/symbols/affinity/square/gray/square.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_statistics.svg b/gns3server/symbols/affinity/square/gray/statistics.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_statistics.svg
rename to gns3server/symbols/affinity/square/gray/statistics.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_storage.svg b/gns3server/symbols/affinity/square/gray/storage.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_storage.svg
rename to gns3server/symbols/affinity/square/gray/storage.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_switch.svg b/gns3server/symbols/affinity/square/gray/switch.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_switch.svg
rename to gns3server/symbols/affinity/square/gray/switch.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_switch_multilayer.svg b/gns3server/symbols/affinity/square/gray/switch_multilayer.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_switch_multilayer.svg
rename to gns3server/symbols/affinity/square/gray/switch_multilayer.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_tablet.svg b/gns3server/symbols/affinity/square/gray/tablet.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_tablet.svg
rename to gns3server/symbols/affinity/square/gray/tablet.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_tree.svg b/gns3server/symbols/affinity/square/gray/tree.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_tree.svg
rename to gns3server/symbols/affinity/square/gray/tree.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_user.svg b/gns3server/symbols/affinity/square/gray/user.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_user.svg
rename to gns3server/symbols/affinity/square/gray/user.svg
diff --git a/gns3server/symbols/affinity/square/gray/virtualbox.svg b/gns3server/symbols/affinity/square/gray/virtualbox.svg
new file mode 100644
index 00000000..f035d6b3
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/virtualbox.svg
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg320"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="virtualbox.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1455"
+     inkscape:window-height="1062"
+     id="namedview19"
+     showgrid="false"
+     inkscape:zoom="7.8666667"
+     inkscape:cx="14.259238"
+     inkscape:cy="23.345646"
+     inkscape:window-x="150"
+     inkscape:window-y="68"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g318" /><metadata
+     id="metadata326"><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><defs
+     id="defs324" /><g
+     transform="matrix(0.19993327,0,0,0.19990235,0.01465042,0.01464815)"
+     id="g318"><g
+       id="Background"><g
+         id="g297"><path
+           id="path293"
+           style="fill:#ffffff"
+           d="M 300,30.271 C 300,13.564 286.436,0 269.729,0 H 30.271 C 13.564,0 0,13.564 0,30.271 V 269.729 C 0,286.436 13.564,300 30.271,300 H 269.729 C 286.436,300 300,286.436 300,269.729 Z" /><path
+           id="path295"
+           d="m 269.925,0.001 c 16.09972,-0.31510169 30.49384,14.17259 30.075,30.27 -0.1061,80.84884 0.21081,161.71193 -0.156,242.552 C 298.61375,288.46369 283.6522,301.15677 268.03194,300 187.74879,299.89388 107.45138,300.21085 27.177,299.844 11.536306,298.61375 -1.1567723,283.6522 0,268.03194 0.10612413,187.74879 -0.21084904,107.45138 0.156,27.177 1.3862455,11.536306 16.347799,-1.1567723 31.968056,0 111.28704,6.6687171e-4 190.60602,-0.00133361 269.925,0.001 Z M 30.296,16 C 21.973925,15.732721 14.968163,23.80142 16,31.993056 16.103721,111.93578 15.794138,191.89863 16.152,271.829 17.110107,279.66576 25.171747,285.14519 32.841585,284 112.50147,283.89626 192.18147,284.20589 271.829,283.848 279.6657,282.88989 285.14515,274.82817 284,267.15842 283.89626,187.49853 284.20589,107.81853 283.848,28.171 282.89006,20.334162 274.82812,14.854983 267.15842,16 188.20428,16 109.25014,16 30.296,16 Z"
+           style="fill:#4d4d4d;fill-opacity:1" /></g></g><g
+       style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+       id="g12443"
+       transform="matrix(3.3643251,0,0,2.8979998,-285.1879,-2750.8111)"><path
+         d="m 102.61168,974.83234 0,52.71436 52.7143,0 0,-52.71436 -52.7143,0 z m 4.39286,4.39286 43.92859,0 0,25.9911 -5.99443,0 -5.83426,-17.75449 -1.69308,-5.125 -1.7846,5.10212 -3.6836,10.52456 -3.38616,-10.11272 -1.94476,-5.85715 -1.5558,5.97154 -5.125,19.60764 -3.84375,-12.76667 -0.41183,-1.30413 -1.34989,0 -7.32143,0 0,-14.2768 z m 30.3153,14.50559 4.55301,13.88781 0.41183,1.2584 1.32701,0 7.32144,0 0,14.2768 -43.92859,0 0,-25.99109 5.94866,0 5.3538,17.70869 1.87611,6.2232 1.64732,-6.2918 5.21652,-19.92804 3.11161,9.35764 1.69308,5.0793 1.7846,-5.0563 3.6836,-10.52461 z"
+         inkscape:connector-curvature="0"
+         id="path3618"
+         style="fill:#4d4d4d;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/square/gray/sq_vm.svg b/gns3server/symbols/affinity/square/gray/vm.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_vm.svg
rename to gns3server/symbols/affinity/square/gray/vm.svg
diff --git a/gns3server/symbols/affinity/square/gray/vmware.svg b/gns3server/symbols/affinity/square/gray/vmware.svg
new file mode 100644
index 00000000..16f994df
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/vmware.svg
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg320"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="vmware.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1600"
+     inkscape:window-height="1026"
+     id="namedview19"
+     showgrid="false"
+     inkscape:zoom="11.125147"
+     inkscape:cx="22.80899"
+     inkscape:cy="29.520554"
+     inkscape:window-x="150"
+     inkscape:window-y="68"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g318" /><metadata
+     id="metadata326"><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><defs
+     id="defs324" /><g
+     transform="matrix(0.19993327,0,0,0.19990235,0.01465042,0.01464815)"
+     id="g318"><g
+       id="Background"><g
+         id="g297"><path
+           id="path293"
+           style="fill:#ffffff"
+           d="M 300,30.271 C 300,13.564 286.436,0 269.729,0 H 30.271 C 13.564,0 0,13.564 0,30.271 V 269.729 C 0,286.436 13.564,300 30.271,300 H 269.729 C 286.436,300 300,286.436 300,269.729 Z" /><path
+           id="path295"
+           d="m 269.925,0.001 c 16.09972,-0.31510169 30.49384,14.17259 30.075,30.27 -0.1061,80.84884 0.21081,161.71193 -0.156,242.552 C 298.61375,288.46369 283.6522,301.15677 268.03194,300 187.74879,299.89388 107.45138,300.21085 27.177,299.844 11.536306,298.61375 -1.1567723,283.6522 0,268.03194 0.10612413,187.74879 -0.21084904,107.45138 0.156,27.177 1.3862455,11.536306 16.347799,-1.1567723 31.968056,0 111.28704,6.6687171e-4 190.60602,-0.00133361 269.925,0.001 Z M 30.296,16 C 21.973925,15.732721 14.968163,23.80142 16,31.993056 16.103721,111.93578 15.794138,191.89863 16.152,271.829 17.110107,279.66576 25.171747,285.14519 32.841585,284 112.50147,283.89626 192.18147,284.20589 271.829,283.848 279.6657,282.88989 285.14515,274.82817 284,267.15842 283.89626,187.49853 284.20589,107.81853 283.848,28.171 282.89006,20.334162 274.82812,14.854983 267.15842,16 188.20428,16 109.25014,16 30.296,16 Z"
+           style="fill:#4d4d4d;fill-opacity:1" /></g></g><g
+       id="g188"
+       transform="matrix(3.4068995,0,0,-3.4074265,145.66618,194.72312)"
+       style="clip-rule:evenodd;fill:#4d4d4d;fill-opacity:1;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"><path
+         style="fill:#4d4d4d;fill-opacity:1"
+         inkscape:connector-curvature="0"
+         id="path190"
+         d="m -21.716,23.2 c -0.708,1.552 -2.458,2.255 -4.092,1.529 -1.636,-0.727 -2.238,-2.541 -1.499,-4.094 l 6.861,-14.913 c 1.079,-2.337 2.216,-3.562 4.35,-3.562 2.28,0 3.274,1.334 4.352,3.562 0,0 5.984,13.03 6.044,13.166 0.061,0.138 0.253,0.559 0.862,0.555 0.515,-0.003 0.948,-0.414 0.948,-0.966 l 0,-12.742 c 0,-1.964 1.089,-3.575 3.185,-3.575 2.094,0 3.226,1.611 3.226,3.575 l 0,10.427 c 0,2.011 1.441,3.316 3.405,3.316 1.964,0 3.271,-1.352 3.271,-3.316 l 0,-10.427 c 0,-1.964 1.093,-3.575 3.185,-3.575 2.094,0 3.232,1.611 3.232,3.575 l 0,10.427 c 0,2.011 1.435,3.316 3.4,3.316 1.961,0 3.273,-1.352 3.273,-3.316 l 0,-10.427 c 0,-1.964 1.092,-3.575 3.186,-3.575 2.093,0 3.229,1.611 3.229,3.575 l 0,11.867 c 0,4.361 -3.507,7.416 -7.727,7.416 -4.215,0 -6.855,-2.916 -6.855,-2.916 -1.403,1.819 -3.337,2.912 -6.61,2.912 -3.454,0 -6.477,-2.912 -6.477,-2.912 -1.404,1.819 -3.794,2.912 -5.773,2.912 -3.061,0 -5.492,-1.346 -6.975,-4.737 L -16.096,9.95 -21.716,23.2 Z" /></g></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/square/gray/sq_wifi.svg b/gns3server/symbols/affinity/square/gray/wifi.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_wifi.svg
rename to gns3server/symbols/affinity/square/gray/wifi.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_wlc.svg b/gns3server/symbols/affinity/square/gray/wlc.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_wlc.svg
rename to gns3server/symbols/affinity/square/gray/wlc.svg
diff --git a/gns3server/symbols/affinity/square/gray/sq_xml.svg b/gns3server/symbols/affinity/square/gray/xml.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/gray/sq_xml.svg
rename to gns3server/symbols/affinity/square/gray/xml.svg
diff --git a/gns3server/symbols/affinity/square/red/atm.svg b/gns3server/symbols/affinity/square/red/atm.svg
new file mode 100644
index 00000000..0a8b0654
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/atm.svg
@@ -0,0 +1,55 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg320"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="atm.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1587"
+     inkscape:window-height="993"
+     id="namedview19"
+     showgrid="false"
+     inkscape:zoom="7.8666667"
+     inkscape:cx="-14.467368"
+     inkscape:cy="31.954674"
+     inkscape:window-x="628"
+     inkscape:window-y="517"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg320" /><metadata
+     id="metadata326"><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><defs
+     id="defs324" /><g
+     transform="matrix(0.19993327,0,0,0.19990235,0.01465042,0.01464815)"
+     id="g318"><g
+       id="Background"><g
+         id="g297"><path
+           id="path293"
+           style="fill:#ffffff"
+           d="M 300,30.271 C 300,13.564 286.436,0 269.729,0 H 30.271 C 13.564,0 0,13.564 0,30.271 V 269.729 C 0,286.436 13.564,300 30.271,300 H 269.729 C 286.436,300 300,286.436 300,269.729 Z" /><path
+           id="path295"
+           d="m 269.925,0.001 c 16.09972,-0.31510169 30.49384,14.17259 30.075,30.27 -0.1061,80.84884 0.21081,161.71193 -0.156,242.552 C 298.61375,288.46369 283.6522,301.15677 268.03194,300 187.74879,299.89388 107.45138,300.21085 27.177,299.844 11.536306,298.61375 -1.1567723,283.6522 0,268.03194 0.10612413,187.74879 -0.21084904,107.45138 0.156,27.177 1.3862455,11.536306 16.347799,-1.1567723 31.968056,0 111.28704,6.6687171e-4 190.60602,-0.00133361 269.925,0.001 Z M 30.296,16 C 21.973925,15.732721 14.968163,23.80142 16,31.993056 16.103721,111.93578 15.794138,191.89863 16.152,271.829 17.110107,279.66576 25.171747,285.14519 32.841585,284 112.50147,283.89626 192.18147,284.20589 271.829,283.848 279.6657,282.88989 285.14515,274.82817 284,267.15842 283.89626,187.49853 284.20589,107.81853 283.848,28.171 282.89006,20.334162 274.82812,14.854983 267.15842,16 188.20428,16 109.25014,16 30.296,16 Z"
+           style="fill:#e3292e;fill-opacity:1" /></g></g></g><path
+     inkscape:connector-curvature="0"
+     id="path2341"
+     d="m 16.56607,11.317624 0,4.35981 8.527343,0 4.664127,9.851722 4.640571,-9.851722 8.503786,0 0,-4.35981 5.441482,5.540089 -5.441482,5.540089 0,-3.950324 -6.171723,0 -5.041026,11.05609 5.041026,11.056091 6.171723,0 0,-3.950325 5.441482,5.516003 -5.441482,5.540089 0,-3.950325 -8.503786,0 -4.640571,-10.285296 -4.664127,10.285296 -8.527343,0 0,3.950325 -5.417924,-5.540089 5.417924,-5.516003 0,3.950325 5.81838,0 5.417926,-11.056091 -5.417926,-11.05609 -5.81838,0 0,3.950324 -5.417924,-5.540089 5.417924,-5.540089"
+     style="clip-rule:evenodd;fill:#e3292e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:0.001;stroke-linejoin:round;stroke-miterlimit:1.41420996" /></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/square/red/sq_camera_red.svg b/gns3server/symbols/affinity/square/red/camera.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_camera_red.svg
rename to gns3server/symbols/affinity/square/red/camera.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_camera_dome_red.svg b/gns3server/symbols/affinity/square/red/camera_dome.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_camera_dome_red.svg
rename to gns3server/symbols/affinity/square/red/camera_dome.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_client_red.svg b/gns3server/symbols/affinity/square/red/client.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_client_red.svg
rename to gns3server/symbols/affinity/square/red/client.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_client_vm_red.svg b/gns3server/symbols/affinity/square/red/client_vm.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_client_vm_red.svg
rename to gns3server/symbols/affinity/square/red/client_vm.svg
diff --git a/gns3server/symbols/affinity/square/red/cloud.svg b/gns3server/symbols/affinity/square/red/cloud.svg
new file mode 100644
index 00000000..4a0b045c
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/cloud.svg
@@ -0,0 +1,57 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg377"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="cloud.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1897"
+     inkscape:window-height="1096"
+     id="namedview22"
+     showgrid="false"
+     inkscape:zoom="11.125147"
+     inkscape:cx="23.898525"
+     inkscape:cy="28.258511"
+     inkscape:window-x="633"
+     inkscape:window-y="413"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="svg377" /><metadata
+     id="metadata383"><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><defs
+     id="defs381" /><g
+     transform="matrix(0.19993327,0,0,0.19990235,0.01465042,0.01464815)"
+     id="Background"><g
+       id="g351"><path
+         id="path347"
+         style="fill:#ffffff"
+         d="M 300,30.271 C 300,13.564 286.436,0 269.729,0 H 30.271 C 13.564,0 0,13.564 0,30.271 V 269.729 C 0,286.436 13.564,300 30.271,300 H 269.729 C 286.436,300 300,286.436 300,269.729 Z" /><path
+         id="path349"
+         d="m 269.925,0.001 c 16.09972,-0.31510169 30.49384,14.17259 30.075,30.27 -0.1061,80.84884 0.21081,161.71193 -0.156,242.552 C 298.61375,288.46369 283.6522,301.15677 268.03194,300 187.74879,299.89388 107.45138,300.21085 27.177,299.844 11.536306,298.61375 -1.1567723,283.6522 0,268.03194 0.10612413,187.74879 -0.21084904,107.45138 0.156,27.177 1.3862455,11.536306 16.347799,-1.1567723 31.968056,0 111.28704,6.6687171e-4 190.60602,-0.00133361 269.925,0.001 Z M 30.296,16 C 21.973925,15.732721 14.968163,23.80142 16,31.993056 16.103721,111.93578 15.794138,191.89863 16.152,271.829 17.110107,279.66576 25.171747,285.14519 32.841585,284 112.50147,283.89626 192.18147,284.20589 271.829,283.848 279.6657,282.88989 285.14515,274.82817 284,267.15842 283.89626,187.49853 284.20589,107.81853 283.848,28.171 282.89006,20.334162 274.82812,14.854983 267.15842,16 188.20428,16 109.25014,16 30.296,16 Z"
+         style="fill:#e3292e" /></g></g><g
+     style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+     id="g13"
+     transform="matrix(0.19997959,0,0,0.19995118,-0.24452193,-0.1046395)"><path
+       inkscape:connector-curvature="0"
+       id="path15"
+       style="fill:#e3292e"
+       d="m 210.025,221.534 -118.119,0 0,0 c -21.734,-0.004 -39.378,-17.65 -39.378,-39.385 0,-19.275 13.877,-35.335 32.177,-38.725 0.182,-35.883 29.37,-64.958 65.295,-64.958 35.925,0 65.113,29.075 65.295,64.958 18.3,3.39 32.177,19.45 32.177,38.725 0,21.087 -16.609,38.326 -37.447,39.338 l 0,0.047 z m -2.802,-15.929 c 0.287,0.01 0.575,0.015 0.865,0.015 12.954,0 23.471,-10.517 23.471,-23.471 0,-11.115 -7.742,-20.435 -18.124,-22.858 l -0.006,0.026 c -0.884,-0.215 -1.787,-0.38 -2.707,-0.492 -0.865,-0.098 -1.744,-0.147 -2.634,-0.147 -4.025,0 -7.814,1.015 -11.126,2.803 1.984,-5.385 3.068,-11.204 3.068,-17.274 0,-16.41 -7.917,-30.984 -20.137,-40.11 -8.32,-6.282 -18.675,-10.009 -29.893,-10.009 -11.218,0 -21.573,3.727 -29.893,10.009 -12.22,9.126 -20.137,23.7 -20.137,40.11 0,6.07 1.084,11.889 3.068,17.274 -3.312,-1.788 -7.101,-2.803 -11.126,-2.803 -0.825,0 -1.64,0.042 -2.444,0.126 -0.985,0.113 -1.952,0.287 -2.896,0.517 l -0.007,-0.03 c -10.382,2.423 -18.124,11.743 -18.124,22.858 0,12.954 10.517,23.471 23.471,23.471 0.29,0 0.578,-0.005 0.865,-0.015 0.248,0.024 0.499,0.037 0.753,0.037 l 29.987,0 -0.018,0.024 53.002,0 -0.018,-0.024 29.987,0 c 0.254,0 0.505,-0.013 0.753,-0.037 z" /></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/square/red/sq_cog_red.svg b/gns3server/symbols/affinity/square/red/cog.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_cog_red.svg
rename to gns3server/symbols/affinity/square/red/cog.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_communications_red.svg b/gns3server/symbols/affinity/square/red/communications.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_communications_red.svg
rename to gns3server/symbols/affinity/square/red/communications.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_conversation_red.svg b/gns3server/symbols/affinity/square/red/conversation.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_conversation_red.svg
rename to gns3server/symbols/affinity/square/red/conversation.svg
diff --git a/gns3server/symbols/affinity/square/red/docker.svg b/gns3server/symbols/affinity/square/red/docker.svg
new file mode 100644
index 00000000..28ef7689
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/docker.svg
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg320"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="docker.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1516"
+     inkscape:window-height="937"
+     id="namedview19"
+     showgrid="false"
+     inkscape:zoom="7.8666667"
+     inkscape:cx="13.675531"
+     inkscape:cy="29.929258"
+     inkscape:window-x="907"
+     inkscape:window-y="655"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g318" /><metadata
+     id="metadata326"><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><defs
+     id="defs324" /><g
+     transform="matrix(0.19993327,0,0,0.19990235,0.01465042,0.01464815)"
+     id="g318"><g
+       id="Background"><g
+         id="g297"><path
+           id="path293"
+           style="fill:#ffffff"
+           d="M 300,30.271 C 300,13.564 286.436,0 269.729,0 H 30.271 C 13.564,0 0,13.564 0,30.271 V 269.729 C 0,286.436 13.564,300 30.271,300 H 269.729 C 286.436,300 300,286.436 300,269.729 Z" /><path
+           id="path295"
+           d="m 269.925,0.001 c 16.09972,-0.31510169 30.49384,14.17259 30.075,30.27 -0.1061,80.84884 0.21081,161.71193 -0.156,242.552 C 298.61375,288.46369 283.6522,301.15677 268.03194,300 187.74879,299.89388 107.45138,300.21085 27.177,299.844 11.536306,298.61375 -1.1567723,283.6522 0,268.03194 0.10612413,187.74879 -0.21084904,107.45138 0.156,27.177 1.3862455,11.536306 16.347799,-1.1567723 31.968056,0 111.28704,6.6687171e-4 190.60602,-0.00133361 269.925,0.001 Z M 30.296,16 C 21.973925,15.732721 14.968163,23.80142 16,31.993056 16.103721,111.93578 15.794138,191.89863 16.152,271.829 17.110107,279.66576 25.171747,285.14519 32.841585,284 112.50147,283.89626 192.18147,284.20589 271.829,283.848 279.6657,282.88989 285.14515,274.82817 284,267.15842 283.89626,187.49853 284.20589,107.81853 283.848,28.171 282.89006,20.334162 274.82812,14.854983 267.15842,16 188.20428,16 109.25014,16 30.296,16 Z"
+           style="fill:#e3292e;fill-opacity:1" /></g></g><path
+       style="clip-rule:evenodd;fill:#e3292e;fill-opacity:1;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+       inkscape:connector-curvature="0"
+       id="outline_7_"
+       d="m 160.43872,113.53975 21.66305,0 0,28.6031 10.95283,0 c 5.05805,0 10.26037,-1.16444 15.05054,-3.26068 2.35396,-1.03032 4.99556,-2.4654 7.31782,-4.26904 -3.05836,-5.15692 -4.61924,-11.66879 -5.07919,-18.08749 -0.62398,-8.73037 0.73932,-20.092913 5.31353,-26.925871 l 2.27722,-3.401937 2.71328,2.81734 c 6.83122,7.089942 12.57712,16.996638 13.5903,28.289138 8.2253,-3.12536 17.88375,-2.38586 25.13448,3.01973 l 2.97519,2.21613 -1.56594,3.94795 c -6.13187,15.45829 -18.95206,20.24604 -31.48599,19.39971 -18.75494,60.3369 -59.58648,88.90262 -109.09546,88.90262 -25.577891,0 -49.04489,-12.35072 -62.408196,-41.66186 l -0.219178,-0.47894 -1.947312,-5.11655 C 51.108923,174.631 49.608693,160.49682 50.62646,146.37331 l 0.3051,-4.22986 18.524281,0 0,-28.60311 21.661669,0 0,-27.98052 43.3261,0 0,-27.981115 25.99511,0 0,55.961045 z" /><g
+       style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+       id="Containers_8_"
+       transform="matrix(0.45948856,0,0,0.59349923,49.181369,13.546404)"><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 86.209,179.744 3.227,0 0,34.052 -3.227,0 0,-34.052 z m -6.189,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.062,0 3.224,0 0,34.052 -3.224,0 0,-34.052 z m -3.403,-3.406 40.858,0 0,40.86 -40.858,0 0,-40.86 z"
+         id="path3145" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 133.354,132.598 3.229,0 0,34.051 -3.229,0 0,-34.051 z m -6.189,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.188,0 3.352,0 0,34.051 -3.352,0 0,-34.051 z m -6.062,0 3.222,0 0,34.051 -3.222,0 0,-34.051 z m -3.407,-3.405 40.863,0 0,40.859 -40.863,0 0,-40.859 z"
+         id="path3147" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 133.354,179.744 3.229,0 0,34.052 -3.229,0 0,-34.052 z m -6.189,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.188,0 3.352,0 0,34.052 -3.352,0 0,-34.052 z m -6.062,0 3.222,0 0,34.052 -3.222,0 0,-34.052 z m -3.407,-3.406 40.863,0 0,40.86 -40.863,0 0,-40.86 z"
+         id="path3149" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 180.501,179.744 3.225,0 0,34.052 -3.225,0 0,-34.052 z m -6.191,0 3.355,0 0,34.052 -3.355,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.06,0 3.222,0 0,34.052 -3.222,0 0,-34.052 z m -3.405,-3.406 40.861,0 0,40.86 -40.861,0 0,-40.86 z"
+         id="path3151" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 180.501,132.598 3.225,0 0,34.051 -3.225,0 0,-34.051 z m -6.191,0 3.355,0 0,34.051 -3.355,0 0,-34.051 z m -6.19,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.06,0 3.222,0 0,34.051 -3.222,0 0,-34.051 z m -3.405,-3.405 40.861,0 0,40.859 -40.861,0 0,-40.859 z"
+         id="path3153" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 227.647,179.744 3.226,0 0,34.052 -3.226,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.189,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.063,0 3.224,0 0,34.052 -3.224,0 0,-34.052 z m -3.405,-3.406 40.861,0 0,40.86 -40.861,0 0,-40.86 z"
+         id="path3155" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 227.647,132.598 3.226,0 0,34.051 -3.226,0 0,-34.051 z m -6.19,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.192,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.189,0 3.354,0 0,34.051 -3.354,0 0,-34.051 z m -6.063,0 3.224,0 0,34.051 -3.224,0 0,-34.051 z m -3.405,-3.405 40.861,0 0,40.859 -40.861,0 0,-40.859 z"
+         id="path3157" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 227.647,85.451 3.226,0 0,34.053 -3.226,0 0,-34.053 z m -6.19,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.192,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.192,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.189,0 3.354,0 0,34.053 -3.354,0 0,-34.053 z m -6.063,0 3.224,0 0,34.053 -3.224,0 0,-34.053 z m -3.405,-3.403 40.861,0 0,40.86 -40.861,0 0,-40.86 z"
+         id="path3159" /><path
+         style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd"
+         inkscape:connector-curvature="0"
+         d="m 274.792,179.744 3.224,0 0,34.052 -3.224,0 0,-34.052 z m -6.19,0 3.352,0 0,34.052 -3.352,0 0,-34.052 z m -6.194,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.19,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.192,0 3.354,0 0,34.052 -3.354,0 0,-34.052 z m -6.062,0 3.227,0 0,34.052 -3.227,0 0,-34.052 z m -3.403,-3.406 40.86,0 0,40.86 -40.86,0 0,-40.86 z"
+         id="path3161" /></g><path
+       style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+       inkscape:connector-curvature="0"
+       d="m 112.32797,181.7708 c 2.86032,0 5.1789,2.99658 5.1789,6.68992 0,3.69453 -2.31858,6.68932 -5.1789,6.68932 -2.86078,0 -5.17936,-2.99479 -5.17936,-6.68932 0,-3.69334 2.31858,-6.68992 5.17936,-6.68992"
+       id="path3163" /><path
+       style="clip-rule:evenodd;fill:#ff292e;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-linejoin:round;stroke-miterlimit:1.41420996;stroke-opacity:1"
+       inkscape:connector-curvature="0"
+       d="m 112.32797,183.6694 c 0.47376,0 0.92587,0.11516 1.34309,0.32406 -0.45216,0.33772 -0.75816,0.97037 -0.75816,1.69385 0,1.08016 0.6782,1.95439 1.51447,1.95439 0.57298,0 1.07015,-0.4113 1.32793,-1.01785 0.18151,0.56561 0.28259,1.1864 0.28259,1.83807 0,2.6458 -1.66105,4.7913 -3.70945,4.7913 -2.0484,0 -3.70991,-2.1455 -3.70991,-4.7913 -4.6e-4,-2.64761 1.66151,-4.79251 3.70945,-4.79251"
+       id="path3165" /><path
+       style="clip-rule:evenodd;fill:#ffffff;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+       inkscape:connector-curvature="0"
+       d="m 126.097,229.98192 c -12.82708,-7.86208 -19.86782,-18.55041 -23.78543,-30.21801 -4.764891,1.75734 -10.49242,2.87965 -17.146734,3.36158 -2.507429,0.18219 -5.144434,0.27538 -7.911934,0.27538 -3.189769,0 -6.552306,-0.12166 -10.081178,-0.36383 11.762907,15.18468 26.23404,26.87543 53.028656,27.09028 1.9781,-6e-4 3.94195,-0.0505 5.89662,-0.14543 z"
+       id="path3167" /></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/square/red/sq_dslam_red.svg b/gns3server/symbols/affinity/square/red/dslam.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_dslam_red.svg
rename to gns3server/symbols/affinity/square/red/dslam.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_fingerprint_red.svg b/gns3server/symbols/affinity/square/red/fingerprint.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_fingerprint_red.svg
rename to gns3server/symbols/affinity/square/red/fingerprint.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_firewall_red.svg b/gns3server/symbols/affinity/square/red/firewall.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_firewall_red.svg
rename to gns3server/symbols/affinity/square/red/firewall.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_firewall3_red.svg b/gns3server/symbols/affinity/square/red/firewall3.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_firewall3_red.svg
rename to gns3server/symbols/affinity/square/red/firewall3.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_grid_red.svg b/gns3server/symbols/affinity/square/red/grid.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_grid_red.svg
rename to gns3server/symbols/affinity/square/red/grid.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_grid2_red.svg b/gns3server/symbols/affinity/square/red/grid2.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_grid2_red.svg
rename to gns3server/symbols/affinity/square/red/grid2.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_hub_red.svg b/gns3server/symbols/affinity/square/red/hub.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_hub_red.svg
rename to gns3server/symbols/affinity/square/red/hub.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_inspect2_red.svg b/gns3server/symbols/affinity/square/red/inspect2.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_inspect2_red.svg
rename to gns3server/symbols/affinity/square/red/inspect2.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_inspect3_red.svg b/gns3server/symbols/affinity/square/red/inspect3.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_inspect3_red.svg
rename to gns3server/symbols/affinity/square/red/inspect3.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_interconnect_red.svg b/gns3server/symbols/affinity/square/red/interconnect.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_interconnect_red.svg
rename to gns3server/symbols/affinity/square/red/interconnect.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_isdn_red.svg b/gns3server/symbols/affinity/square/red/isdn.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_isdn_red.svg
rename to gns3server/symbols/affinity/square/red/isdn.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_ldap_red.svg b/gns3server/symbols/affinity/square/red/ldap.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_ldap_red.svg
rename to gns3server/symbols/affinity/square/red/ldap.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_light_bulb_red.svg b/gns3server/symbols/affinity/square/red/light_bulb.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_light_bulb_red.svg
rename to gns3server/symbols/affinity/square/red/light_bulb.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_link_red.svg b/gns3server/symbols/affinity/square/red/link.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_link_red.svg
rename to gns3server/symbols/affinity/square/red/link.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_nas_red.svg b/gns3server/symbols/affinity/square/red/nas.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_nas_red.svg
rename to gns3server/symbols/affinity/square/red/nas.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_pinpoint_red.svg b/gns3server/symbols/affinity/square/red/pinpoint.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_pinpoint_red.svg
rename to gns3server/symbols/affinity/square/red/pinpoint.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_printer_red.svg b/gns3server/symbols/affinity/square/red/printer.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_printer_red.svg
rename to gns3server/symbols/affinity/square/red/printer.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_rj45_red.svg b/gns3server/symbols/affinity/square/red/rj45.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_rj45_red.svg
rename to gns3server/symbols/affinity/square/red/rj45.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_router_red.svg b/gns3server/symbols/affinity/square/red/router.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_router_red.svg
rename to gns3server/symbols/affinity/square/red/router.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_router_cloud_red.svg b/gns3server/symbols/affinity/square/red/router_cloud.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_router_cloud_red.svg
rename to gns3server/symbols/affinity/square/red/router_cloud.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_satellite_red.svg b/gns3server/symbols/affinity/square/red/satellite.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_satellite_red.svg
rename to gns3server/symbols/affinity/square/red/satellite.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_satellite_dish_red.svg b/gns3server/symbols/affinity/square/red/satellite_dish.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_satellite_dish_red.svg
rename to gns3server/symbols/affinity/square/red/satellite_dish.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_scull_red.svg b/gns3server/symbols/affinity/square/red/scull.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_scull_red.svg
rename to gns3server/symbols/affinity/square/red/scull.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_server-cluster_red.svg b/gns3server/symbols/affinity/square/red/server-cluster.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_server-cluster_red.svg
rename to gns3server/symbols/affinity/square/red/server-cluster.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_server_red.svg b/gns3server/symbols/affinity/square/red/server.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_server_red.svg
rename to gns3server/symbols/affinity/square/red/server.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_cloud_red.svg b/gns3server/symbols/affinity/square/red/sq_cloud_red.svg
deleted file mode 100644
index 50b13038..00000000
--- a/gns3server/symbols/affinity/square/red/sq_cloud_red.svg
+++ /dev/null
@@ -1,61 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<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"
-   id="svg377"
-   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
-   xml:space="preserve"
-   version="1.1"
-   viewBox="0 0 60 60"
-   height="60"
-   width="60"><metadata
-     id="metadata383"><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><defs
-     id="defs381" /><g
-     transform="matrix(0.19993327,0,0,0.19990235,0.01465042,0.01464815)"
-     id="Background"><g
-       id="g351"><path
-         id="path347"
-         style="fill:#ffffff"
-         d="M 300,30.271 C 300,13.564 286.436,0 269.729,0 H 30.271 C 13.564,0 0,13.564 0,30.271 V 269.729 C 0,286.436 13.564,300 30.271,300 H 269.729 C 286.436,300 300,286.436 300,269.729 Z" /><path
-         id="path349"
-         d="m 269.925,0.001 c 16.09972,-0.31510169 30.49384,14.17259 30.075,30.27 -0.1061,80.84884 0.21081,161.71193 -0.156,242.552 C 298.61375,288.46369 283.6522,301.15677 268.03194,300 187.74879,299.89388 107.45138,300.21085 27.177,299.844 11.536306,298.61375 -1.1567723,283.6522 0,268.03194 0.10612413,187.74879 -0.21084904,107.45138 0.156,27.177 1.3862455,11.536306 16.347799,-1.1567723 31.968056,0 111.28704,6.6687171e-4 190.60602,-0.00133361 269.925,0.001 Z M 30.296,16 C 21.973925,15.732721 14.968163,23.80142 16,31.993056 16.103721,111.93578 15.794138,191.89863 16.152,271.829 17.110107,279.66576 25.171747,285.14519 32.841585,284 112.50147,283.89626 192.18147,284.20589 271.829,283.848 279.6657,282.88989 285.14515,274.82817 284,267.15842 283.89626,187.49853 284.20589,107.81853 283.848,28.171 282.89006,20.334162 274.82812,14.854983 267.15842,16 188.20428,16 109.25014,16 30.296,16 Z"
-         style="fill:#e3292e" /></g></g><g
-     transform="matrix(0.19993327,0,0,0.19990235,-0.05230958,3.9100682)"
-     id="Layer3"><g
-       id="g363"
-       transform="translate(-2.17605,-6.90999)"><clipPath
-         id="_clip1"><rect
-           id="rect354"
-           height="143.067"
-           width="97.472"
-           y="65.889999"
-           x="55.039001" /></clipPath><g
-         id="g361"
-         clip-path="url(#_clip1)"><path
-           id="path357"
-           style="fill:#e3292e"
-           d="m 94.657,208.957 h -1.486 v -0.027 c -21.178,-0.783 -38.132,-18.223 -38.132,-39.592 0,-19.576 14.229,-35.855 32.9,-39.05 v -0.161 c 0,-35.453 28.783,-64.237 64.237,-64.237 35.454,0 64.238,28.784 64.238,64.237 0,0.271 -0.002,0.538 -0.005,0.804 19.045,3.122 33.574,19.29 33.574,38.74 0,21.683 -18.054,39.286 -40.293,39.286 z m 105.717,-77.514 0.019,-0.004 c 0.011,-0.436 0.017,-0.873 0.017,-1.312 0,-26.621 -21.613,-48.234 -48.234,-48.234 -4.677,0 -9.199,0.667 -13.476,1.911 -20.932,5.493 -36.369,24.279 -36.369,46.582 0,6.579 1.343,12.852 3.775,18.568 -3.394,-1.881 -7.297,-2.952 -11.449,-2.952 -13.063,0 -23.669,10.606 -23.669,23.669 0,13.064 10.606,23.67 23.669,23.67 h 115.614 c 13.064,0 23.67,-10.606 23.67,-23.67 0,-13.063 -10.606,-23.669 -23.67,-23.669 -5.514,0 -10.59,1.889 -14.616,5.056 2.888,-5.967 4.566,-12.608 4.719,-19.615 z" /><path
-           id="path359"
-           d="m 152.591,65.891 c 24.98522,-0.172541 48.99827,15.859791 58.618,38.883 3.55027,8.22399 5.31925,17.20229 5.2,26.157 17.0746,2.52164 31.65879,17.16525 33.338,34.468 2.09933,16.40295 -7.7984,33.12173 -22.815,39.784 -10.46691,5.23184 -22.43064,3.50566 -33.68498,3.774 -33.84287,-0.0741 -67.76416,0.14773 -101.55802,-0.11 -17.444675,-1.01245 -33.011862,-14.96606 -35.972,-32.178 -3.31667,-16.2792 4.991655,-33.97596 19.577,-41.896 3.859041,-2.31873 8.528026,-3.5863 12.645,-4.646 -0.335904,-24.99251 15.55321,-49.114074 38.525,-58.877 8.20371,-3.600455 17.17004,-5.425597 26.127,-5.359 z m -0.634,16.003 c -18.47186,0.03978 -36.75056,10.752508 -44.777,27.576 -6.05506,12.18104 -6.45616,26.9913 -1.074,39.484 -10.02272,-5.83847 -23.961344,-2.71172 -30.582,6.788 -7.01556,9.20222 -5.685622,23.41148 2.909,31.158 5.382987,5.29448 13.228072,7.08093 20.576552,6.441 37.842258,-0.0742 75.693968,0.14697 113.530448,-0.108 11.73303,-0.86974 21.58976,-11.6414 21.4,-23.409 0.3421,-11.76679 -9.37886,-22.66325 -21.101,-23.684 -6.07937,-0.68477 -12.39233,1.10884 -17.184,4.918 8.96246,-17.99343 4.93824,-41.3084 -9.584,-55.235 -8.95815,-8.921563 -21.46466,-14.050541 -34.114,-13.929 z"
-           style="fill:#e3292e" /></g></g><g
-       id="g374"
-       transform="matrix(-1,0,0,1,302.846,-6.90999)"><clipPath
-         id="_clip2"><rect
-           id="rect365"
-           height="143.067"
-           width="97.472"
-           y="65.889999"
-           x="55.039001" /></clipPath><g
-         id="g372"
-         clip-path="url(#_clip2)"><path
-           id="path368"
-           style="fill:#e3292e"
-           d="m 94.657,208.957 h -1.486 v -0.027 c -21.178,-0.783 -38.132,-18.223 -38.132,-39.592 0,-19.576 14.229,-35.855 32.9,-39.05 v -0.161 c 0,-35.453 28.783,-64.237 64.237,-64.237 35.454,0 64.238,28.784 64.238,64.237 0,0.271 -0.002,0.538 -0.005,0.804 19.045,3.122 33.574,19.29 33.574,38.74 0,21.683 -18.054,39.286 -40.293,39.286 z m 105.717,-77.514 0.019,-0.004 c 0.011,-0.436 0.017,-0.873 0.017,-1.312 0,-26.621 -21.613,-48.234 -48.234,-48.234 -4.677,0 -9.199,0.667 -13.476,1.911 -20.932,5.493 -36.369,24.279 -36.369,46.582 0,6.579 1.343,12.852 3.775,18.568 -3.394,-1.881 -7.297,-2.952 -11.449,-2.952 -13.063,0 -23.669,10.606 -23.669,23.669 0,13.064 10.606,23.67 23.669,23.67 h 115.614 c 13.064,0 23.67,-10.606 23.67,-23.67 0,-13.063 -10.606,-23.669 -23.67,-23.669 -5.514,0 -10.59,1.889 -14.616,5.056 2.888,-5.967 4.566,-12.608 4.719,-19.615 z" /><path
-           id="path370"
-           d="m 151.761,65.891 c -24.98526,-0.172541 -48.99814,15.859864 -58.618,38.883 -3.463795,8.02729 -5.235538,16.77288 -5.204,25.514 -17.165442,2.67713 -31.310788,17.87456 -32.715,35.197 -1.921629,16.85473 8.417707,34.07343 24.133,40.405 10.776841,4.7612 22.73029,2.5762 34.12591,3.067 33.18578,-0.0911 66.38127,0.18113 99.56109,-0.134 17.54839,-1.114 33.50525,-14.97196 36.353,-32.443 3.06555,-15.86987 -5.26048,-32.83107 -19.33,-40.6 -4.21281,-2.41804 -8.86449,-4.06591 -13.658,-4.849 0.63988,-24.86103 -14.77685,-49.069516 -37.452,-59.201 -8.49101,-3.915785 -17.84787,-5.909493 -27.196,-5.839 z m 0.727,16.003 c 20.18248,-0.184304 39.37835,13.838199 45.48,33.051 3.91022,11.74495 3.10908,24.96868 -2.313,36.113 9.1728,-7.58403 23.90093,-6.42497 31.844,2.389 8.15442,8.28077 8.58665,22.63113 0.943,31.386 -5.12191,6.35074 -13.55301,9.23863 -21.55632,8.508 -38.16468,-0.0738 -76.33877,0.14645 -114.49768,-0.108 -11.7331,-0.86998 -21.588985,-11.64146 -21.4,-23.409 -0.341345,-11.76701 9.379354,-22.66373 21.102,-23.684 4.813413,-0.52999 9.78456,0.4532 14.016,2.814 -7.679516,-17.41946 -3.34444,-39.11833 10.297,-52.357 9.40496,-9.484773 22.78506,-14.702529 36.085,-14.703 z"
-           style="fill:#e3292e" /></g></g></g></svg>
diff --git a/gns3server/symbols/affinity/square/red/sq_square_red.svg b/gns3server/symbols/affinity/square/red/square.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_square_red.svg
rename to gns3server/symbols/affinity/square/red/square.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_statistics_red.svg b/gns3server/symbols/affinity/square/red/statistics.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_statistics_red.svg
rename to gns3server/symbols/affinity/square/red/statistics.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_storage_red.svg b/gns3server/symbols/affinity/square/red/storage.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_storage_red.svg
rename to gns3server/symbols/affinity/square/red/storage.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_switch_red.svg b/gns3server/symbols/affinity/square/red/switch.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_switch_red.svg
rename to gns3server/symbols/affinity/square/red/switch.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_switch_multilayer_red.svg b/gns3server/symbols/affinity/square/red/switch_multilayer.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_switch_multilayer_red.svg
rename to gns3server/symbols/affinity/square/red/switch_multilayer.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_tablet_red.svg b/gns3server/symbols/affinity/square/red/tablet.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_tablet_red.svg
rename to gns3server/symbols/affinity/square/red/tablet.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_tree_red.svg b/gns3server/symbols/affinity/square/red/tree.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_tree_red.svg
rename to gns3server/symbols/affinity/square/red/tree.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_user_red.svg b/gns3server/symbols/affinity/square/red/user.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_user_red.svg
rename to gns3server/symbols/affinity/square/red/user.svg
diff --git a/gns3server/symbols/affinity/square/red/virtualbox.svg b/gns3server/symbols/affinity/square/red/virtualbox.svg
new file mode 100644
index 00000000..dd89627e
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/virtualbox.svg
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg320"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="virtualbox.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1455"
+     inkscape:window-height="1062"
+     id="namedview19"
+     showgrid="false"
+     inkscape:zoom="7.8666667"
+     inkscape:cx="16.843221"
+     inkscape:cy="23.345646"
+     inkscape:window-x="1089"
+     inkscape:window-y="568"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g12443" /><metadata
+     id="metadata326"><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><defs
+     id="defs324" /><g
+     transform="matrix(0.19993327,0,0,0.19990235,0.01465042,0.01464815)"
+     id="g318"><g
+       id="Background"><g
+         id="g297"><path
+           id="path293"
+           style="fill:#ffffff"
+           d="M 300,30.271 C 300,13.564 286.436,0 269.729,0 H 30.271 C 13.564,0 0,13.564 0,30.271 V 269.729 C 0,286.436 13.564,300 30.271,300 H 269.729 C 286.436,300 300,286.436 300,269.729 Z" /><path
+           id="path295"
+           d="m 269.925,0.001 c 16.09972,-0.31510169 30.49384,14.17259 30.075,30.27 -0.1061,80.84884 0.21081,161.71193 -0.156,242.552 C 298.61375,288.46369 283.6522,301.15677 268.03194,300 187.74879,299.89388 107.45138,300.21085 27.177,299.844 11.536306,298.61375 -1.1567723,283.6522 0,268.03194 0.10612413,187.74879 -0.21084904,107.45138 0.156,27.177 1.3862455,11.536306 16.347799,-1.1567723 31.968056,0 111.28704,6.6687171e-4 190.60602,-0.00133361 269.925,0.001 Z M 30.296,16 C 21.973925,15.732721 14.968163,23.80142 16,31.993056 16.103721,111.93578 15.794138,191.89863 16.152,271.829 17.110107,279.66576 25.171747,285.14519 32.841585,284 112.50147,283.89626 192.18147,284.20589 271.829,283.848 279.6657,282.88989 285.14515,274.82817 284,267.15842 283.89626,187.49853 284.20589,107.81853 283.848,28.171 282.89006,20.334162 274.82812,14.854983 267.15842,16 188.20428,16 109.25014,16 30.296,16 Z"
+           style="fill:#e3292e;fill-opacity:1" /></g></g><g
+       style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+       id="g12443"
+       transform="matrix(3.3643251,0,0,2.8979998,-285.1879,-2750.8111)"><path
+         d="m 102.61168,974.83234 0,52.71436 52.7143,0 0,-52.71436 -52.7143,0 z m 4.39286,4.39286 43.92859,0 0,25.9911 -5.99443,0 -5.83426,-17.75449 -1.69308,-5.125 -1.7846,5.10212 -3.6836,10.52456 -3.38616,-10.11272 -1.94476,-5.85715 -1.5558,5.97154 -5.125,19.60764 -3.84375,-12.76667 -0.41183,-1.30413 -1.34989,0 -7.32143,0 0,-14.2768 z m 30.3153,14.50559 4.55301,13.88781 0.41183,1.2584 1.32701,0 7.32144,0 0,14.2768 -43.92859,0 0,-25.99109 5.94866,0 5.3538,17.70869 1.87611,6.2232 1.64732,-6.2918 5.21652,-19.92804 3.11161,9.35764 1.69308,5.0793 1.7846,-5.0563 3.6836,-10.52461 z"
+         inkscape:connector-curvature="0"
+         id="path3618"
+         style="fill:#e3292e;fill-opacity:1;fill-rule:nonzero;stroke:none" /></g></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/square/red/sq_vm_red.svg b/gns3server/symbols/affinity/square/red/vm.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_vm_red.svg
rename to gns3server/symbols/affinity/square/red/vm.svg
diff --git a/gns3server/symbols/affinity/square/red/vmware.svg b/gns3server/symbols/affinity/square/red/vmware.svg
new file mode 100644
index 00000000..c9fef843
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/vmware.svg
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<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:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   id="svg320"
+   style="clip-rule:evenodd;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"
+   xml:space="preserve"
+   version="1.1"
+   viewBox="0 0 60 60"
+   height="60"
+   width="60"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="vmware.svg"><sodipodi:namedview
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1"
+     objecttolerance="10"
+     gridtolerance="10"
+     guidetolerance="10"
+     inkscape:pageopacity="0"
+     inkscape:pageshadow="2"
+     inkscape:window-width="1600"
+     inkscape:window-height="1026"
+     id="namedview19"
+     showgrid="false"
+     inkscape:zoom="11.125147"
+     inkscape:cx="26.35809"
+     inkscape:cy="29.520554"
+     inkscape:window-x="924"
+     inkscape:window-y="366"
+     inkscape:window-maximized="0"
+     inkscape:current-layer="g318" /><metadata
+     id="metadata326"><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><defs
+     id="defs324" /><g
+     transform="matrix(0.19993327,0,0,0.19990235,0.01465042,0.01464815)"
+     id="g318"><g
+       id="Background"><g
+         id="g297"><path
+           id="path293"
+           style="fill:#ffffff"
+           d="M 300,30.271 C 300,13.564 286.436,0 269.729,0 H 30.271 C 13.564,0 0,13.564 0,30.271 V 269.729 C 0,286.436 13.564,300 30.271,300 H 269.729 C 286.436,300 300,286.436 300,269.729 Z" /><path
+           id="path295"
+           d="m 269.925,0.001 c 16.09972,-0.31510169 30.49384,14.17259 30.075,30.27 -0.1061,80.84884 0.21081,161.71193 -0.156,242.552 C 298.61375,288.46369 283.6522,301.15677 268.03194,300 187.74879,299.89388 107.45138,300.21085 27.177,299.844 11.536306,298.61375 -1.1567723,283.6522 0,268.03194 0.10612413,187.74879 -0.21084904,107.45138 0.156,27.177 1.3862455,11.536306 16.347799,-1.1567723 31.968056,0 111.28704,6.6687171e-4 190.60602,-0.00133361 269.925,0.001 Z M 30.296,16 C 21.973925,15.732721 14.968163,23.80142 16,31.993056 16.103721,111.93578 15.794138,191.89863 16.152,271.829 17.110107,279.66576 25.171747,285.14519 32.841585,284 112.50147,283.89626 192.18147,284.20589 271.829,283.848 279.6657,282.88989 285.14515,274.82817 284,267.15842 283.89626,187.49853 284.20589,107.81853 283.848,28.171 282.89006,20.334162 274.82812,14.854983 267.15842,16 188.20428,16 109.25014,16 30.296,16 Z"
+           style="fill:#e3292e;fill-opacity:1" /></g></g><g
+       id="g188"
+       transform="matrix(3.4068995,0,0,-3.4074265,145.66618,194.72312)"
+       style="clip-rule:evenodd;fill:#e3292e;fill-opacity:1;fill-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:1.41420996"><path
+         style="fill:#e3292e;fill-opacity:1"
+         inkscape:connector-curvature="0"
+         id="path190"
+         d="m -21.716,23.2 c -0.708,1.552 -2.458,2.255 -4.092,1.529 -1.636,-0.727 -2.238,-2.541 -1.499,-4.094 l 6.861,-14.913 c 1.079,-2.337 2.216,-3.562 4.35,-3.562 2.28,0 3.274,1.334 4.352,3.562 0,0 5.984,13.03 6.044,13.166 0.061,0.138 0.253,0.559 0.862,0.555 0.515,-0.003 0.948,-0.414 0.948,-0.966 l 0,-12.742 c 0,-1.964 1.089,-3.575 3.185,-3.575 2.094,0 3.226,1.611 3.226,3.575 l 0,10.427 c 0,2.011 1.441,3.316 3.405,3.316 1.964,0 3.271,-1.352 3.271,-3.316 l 0,-10.427 c 0,-1.964 1.093,-3.575 3.185,-3.575 2.094,0 3.232,1.611 3.232,3.575 l 0,10.427 c 0,2.011 1.435,3.316 3.4,3.316 1.961,0 3.273,-1.352 3.273,-3.316 l 0,-10.427 c 0,-1.964 1.092,-3.575 3.186,-3.575 2.093,0 3.229,1.611 3.229,3.575 l 0,11.867 c 0,4.361 -3.507,7.416 -7.727,7.416 -4.215,0 -6.855,-2.916 -6.855,-2.916 -1.403,1.819 -3.337,2.912 -6.61,2.912 -3.454,0 -6.477,-2.912 -6.477,-2.912 -1.404,1.819 -3.794,2.912 -5.773,2.912 -3.061,0 -5.492,-1.346 -6.975,-4.737 L -16.096,9.95 -21.716,23.2 Z" /></g></g></svg>
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/square/red/sq_wifi_red.svg b/gns3server/symbols/affinity/square/red/wifi.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_wifi_red.svg
rename to gns3server/symbols/affinity/square/red/wifi.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_wlc_red.svg b/gns3server/symbols/affinity/square/red/wlc.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_wlc_red.svg
rename to gns3server/symbols/affinity/square/red/wlc.svg
diff --git a/gns3server/symbols/affinity/square/red/sq_xml_red.svg b/gns3server/symbols/affinity/square/red/xml.svg
similarity index 100%
rename from gns3server/symbols/affinity/square/red/sq_xml_red.svg
rename to gns3server/symbols/affinity/square/red/xml.svg
diff --git a/gns3server/symbols/PBX.svg b/gns3server/symbols/classic/PBX.svg
similarity index 100%
rename from gns3server/symbols/PBX.svg
rename to gns3server/symbols/classic/PBX.svg
diff --git a/gns3server/symbols/PIX_firewall.svg b/gns3server/symbols/classic/PIX_firewall.svg
similarity index 100%
rename from gns3server/symbols/PIX_firewall.svg
rename to gns3server/symbols/classic/PIX_firewall.svg
diff --git a/gns3server/symbols/access_point.svg b/gns3server/symbols/classic/access_point.svg
similarity index 100%
rename from gns3server/symbols/access_point.svg
rename to gns3server/symbols/classic/access_point.svg
diff --git a/gns3server/symbols/access_server.svg b/gns3server/symbols/classic/access_server.svg
similarity index 100%
rename from gns3server/symbols/access_server.svg
rename to gns3server/symbols/classic/access_server.svg
diff --git a/gns3server/symbols/asa.svg b/gns3server/symbols/classic/asa.svg
similarity index 100%
rename from gns3server/symbols/asa.svg
rename to gns3server/symbols/classic/asa.svg
diff --git a/gns3server/symbols/atm_bridge.svg b/gns3server/symbols/classic/atm_bridge.svg
similarity index 100%
rename from gns3server/symbols/atm_bridge.svg
rename to gns3server/symbols/classic/atm_bridge.svg
diff --git a/gns3server/symbols/atm_switch.svg b/gns3server/symbols/classic/atm_switch.svg
similarity index 100%
rename from gns3server/symbols/atm_switch.svg
rename to gns3server/symbols/classic/atm_switch.svg
diff --git a/gns3server/symbols/call_manager.svg b/gns3server/symbols/classic/call_manager.svg
similarity index 100%
rename from gns3server/symbols/call_manager.svg
rename to gns3server/symbols/classic/call_manager.svg
diff --git a/gns3server/symbols/cloud.svg b/gns3server/symbols/classic/cloud.svg
similarity index 100%
rename from gns3server/symbols/cloud.svg
rename to gns3server/symbols/classic/cloud.svg
diff --git a/gns3server/symbols/computer.svg b/gns3server/symbols/classic/computer.svg
similarity index 100%
rename from gns3server/symbols/computer.svg
rename to gns3server/symbols/classic/computer.svg
diff --git a/gns3server/symbols/docker_guest.svg b/gns3server/symbols/classic/docker_guest.svg
similarity index 100%
rename from gns3server/symbols/docker_guest.svg
rename to gns3server/symbols/classic/docker_guest.svg
diff --git a/gns3server/symbols/dslam.svg b/gns3server/symbols/classic/dslam.svg
similarity index 100%
rename from gns3server/symbols/dslam.svg
rename to gns3server/symbols/classic/dslam.svg
diff --git a/gns3server/symbols/edge_label_switch_router.svg b/gns3server/symbols/classic/edge_label_switch_router.svg
similarity index 100%
rename from gns3server/symbols/edge_label_switch_router.svg
rename to gns3server/symbols/classic/edge_label_switch_router.svg
diff --git a/gns3server/symbols/ethernet_switch.svg b/gns3server/symbols/classic/ethernet_switch.svg
similarity index 100%
rename from gns3server/symbols/ethernet_switch.svg
rename to gns3server/symbols/classic/ethernet_switch.svg
diff --git a/gns3server/symbols/firewall.svg b/gns3server/symbols/classic/firewall.svg
similarity index 100%
rename from gns3server/symbols/firewall.svg
rename to gns3server/symbols/classic/firewall.svg
diff --git a/gns3server/symbols/frame_relay_switch.svg b/gns3server/symbols/classic/frame_relay_switch.svg
similarity index 100%
rename from gns3server/symbols/frame_relay_switch.svg
rename to gns3server/symbols/classic/frame_relay_switch.svg
diff --git a/gns3server/symbols/gateway.svg b/gns3server/symbols/classic/gateway.svg
similarity index 100%
rename from gns3server/symbols/gateway.svg
rename to gns3server/symbols/classic/gateway.svg
diff --git a/gns3server/symbols/hub.svg b/gns3server/symbols/classic/hub.svg
similarity index 100%
rename from gns3server/symbols/hub.svg
rename to gns3server/symbols/classic/hub.svg
diff --git a/gns3server/symbols/ids.svg b/gns3server/symbols/classic/ids.svg
similarity index 100%
rename from gns3server/symbols/ids.svg
rename to gns3server/symbols/classic/ids.svg
diff --git a/gns3server/symbols/iosv_l2_virl.svg b/gns3server/symbols/classic/iosv_l2_virl.svg
similarity index 100%
rename from gns3server/symbols/iosv_l2_virl.svg
rename to gns3server/symbols/classic/iosv_l2_virl.svg
diff --git a/gns3server/symbols/iosv_virl.svg b/gns3server/symbols/classic/iosv_virl.svg
similarity index 100%
rename from gns3server/symbols/iosv_virl.svg
rename to gns3server/symbols/classic/iosv_virl.svg
diff --git a/gns3server/symbols/ip_phone.svg b/gns3server/symbols/classic/ip_phone.svg
similarity index 100%
rename from gns3server/symbols/ip_phone.svg
rename to gns3server/symbols/classic/ip_phone.svg
diff --git a/gns3server/symbols/label_switch_router.svg b/gns3server/symbols/classic/label_switch_router.svg
similarity index 100%
rename from gns3server/symbols/label_switch_router.svg
rename to gns3server/symbols/classic/label_switch_router.svg
diff --git a/gns3server/symbols/lightweight_ap.svg b/gns3server/symbols/classic/lightweight_ap.svg
similarity index 100%
rename from gns3server/symbols/lightweight_ap.svg
rename to gns3server/symbols/classic/lightweight_ap.svg
diff --git a/gns3server/symbols/multilayer_switch.svg b/gns3server/symbols/classic/multilayer_switch.svg
similarity index 100%
rename from gns3server/symbols/multilayer_switch.svg
rename to gns3server/symbols/classic/multilayer_switch.svg
diff --git a/gns3server/symbols/optical_router.svg b/gns3server/symbols/classic/optical_router.svg
similarity index 100%
rename from gns3server/symbols/optical_router.svg
rename to gns3server/symbols/classic/optical_router.svg
diff --git a/gns3server/symbols/printer.svg b/gns3server/symbols/classic/printer.svg
similarity index 100%
rename from gns3server/symbols/printer.svg
rename to gns3server/symbols/classic/printer.svg
diff --git a/gns3server/symbols/qemu_guest.svg b/gns3server/symbols/classic/qemu_guest.svg
similarity index 100%
rename from gns3server/symbols/qemu_guest.svg
rename to gns3server/symbols/classic/qemu_guest.svg
diff --git a/gns3server/symbols/route_switch_processor.svg b/gns3server/symbols/classic/route_switch_processor.svg
similarity index 100%
rename from gns3server/symbols/route_switch_processor.svg
rename to gns3server/symbols/classic/route_switch_processor.svg
diff --git a/gns3server/symbols/router.awp.svg b/gns3server/symbols/classic/router.awp.svg
similarity index 100%
rename from gns3server/symbols/router.awp.svg
rename to gns3server/symbols/classic/router.awp.svg
diff --git a/gns3server/symbols/router.svg b/gns3server/symbols/classic/router.svg
similarity index 100%
rename from gns3server/symbols/router.svg
rename to gns3server/symbols/classic/router.svg
diff --git a/gns3server/symbols/router_firewall.svg b/gns3server/symbols/classic/router_firewall.svg
similarity index 100%
rename from gns3server/symbols/router_firewall.svg
rename to gns3server/symbols/classic/router_firewall.svg
diff --git a/gns3server/symbols/router_netflow.svg b/gns3server/symbols/classic/router_netflow.svg
similarity index 100%
rename from gns3server/symbols/router_netflow.svg
rename to gns3server/symbols/classic/router_netflow.svg
diff --git a/gns3server/symbols/server.svg b/gns3server/symbols/classic/server.svg
similarity index 100%
rename from gns3server/symbols/server.svg
rename to gns3server/symbols/classic/server.svg
diff --git a/gns3server/symbols/sip_server.svg b/gns3server/symbols/classic/sip_server.svg
similarity index 100%
rename from gns3server/symbols/sip_server.svg
rename to gns3server/symbols/classic/sip_server.svg
diff --git a/gns3server/symbols/traceng.svg b/gns3server/symbols/classic/traceng.svg
similarity index 100%
rename from gns3server/symbols/traceng.svg
rename to gns3server/symbols/classic/traceng.svg
diff --git a/gns3server/symbols/vbox_guest.svg b/gns3server/symbols/classic/vbox_guest.svg
similarity index 100%
rename from gns3server/symbols/vbox_guest.svg
rename to gns3server/symbols/classic/vbox_guest.svg
diff --git a/gns3server/symbols/vmware_guest.svg b/gns3server/symbols/classic/vmware_guest.svg
similarity index 100%
rename from gns3server/symbols/vmware_guest.svg
rename to gns3server/symbols/classic/vmware_guest.svg
diff --git a/gns3server/symbols/voice_access_server.svg b/gns3server/symbols/classic/voice_access_server.svg
similarity index 100%
rename from gns3server/symbols/voice_access_server.svg
rename to gns3server/symbols/classic/voice_access_server.svg
diff --git a/gns3server/symbols/voice_router.svg b/gns3server/symbols/classic/voice_router.svg
similarity index 100%
rename from gns3server/symbols/voice_router.svg
rename to gns3server/symbols/classic/voice_router.svg
diff --git a/gns3server/symbols/vpcs_guest.svg b/gns3server/symbols/classic/vpcs_guest.svg
similarity index 100%
rename from gns3server/symbols/vpcs_guest.svg
rename to gns3server/symbols/classic/vpcs_guest.svg
diff --git a/gns3server/symbols/wlan_controller.svg b/gns3server/symbols/classic/wlan_controller.svg
similarity index 100%
rename from gns3server/symbols/wlan_controller.svg
rename to gns3server/symbols/classic/wlan_controller.svg
diff --git a/tests/controller/test_node.py b/tests/controller/test_node.py
index 715cdbbf..7ca9714a 100644
--- a/tests/controller/test_node.py
+++ b/tests/controller/test_node.py
@@ -252,10 +252,12 @@ def test_create_base_script(node, config, compute, tmpdir, async_run):
     compute.post.assert_called_with("/projects/{}/vpcs/nodes".format(node.project.id), data=data, timeout=1200)
 
 
-def test_symbol(node, symbols_dir):
+def test_symbol(node, symbols_dir, controller):
     """
     Change symbol should change the node size
     """
+
+    controller.symbols.theme = "Classic"
     node.symbol = ":/symbols/dslam.svg"
     assert node.symbol == ":/symbols/dslam.svg"
     assert node.width == 50
@@ -271,7 +273,7 @@ def test_symbol(node, symbols_dir):
     assert node.label["y"] == -40
     assert node.label["style"] == None#"font-family: TypeWriter;font-size: 10.0;font-weight: bold;fill: #000000;fill-opacity: 1.0;"
 
-    shutil.copy(os.path.join("gns3server", "symbols", "cloud.svg"), os.path.join(symbols_dir, "cloud2.svg"))
+    shutil.copy(os.path.join("gns3server", "symbols", "classic", "cloud.svg"), os.path.join(symbols_dir, "cloud2.svg"))
     node.symbol = "cloud2.svg"
     assert node.symbol == "cloud2.svg"
     assert node.width == 159
diff --git a/tests/controller/test_symbols.py b/tests/controller/test_symbols.py
index c4344342..d8c0b9a7 100644
--- a/tests/controller/test_symbols.py
+++ b/tests/controller/test_symbols.py
@@ -30,8 +30,8 @@ def test_list(symbols_dir):
 
     symbols = Symbols()
     assert {
-        'symbol_id': ':/symbols/firewall.svg',
-        'filename': 'firewall.svg',
+        'symbol_id': ':/symbols/classic/firewall.svg',
+        'filename': 'classic/firewall.svg',
         'builtin': True
     } in symbols.list()
     assert {
@@ -42,10 +42,14 @@ def test_list(symbols_dir):
 
 
 def test_get_path():
+
     symbols = Symbols()
-    assert symbols.get_path(':/symbols/firewall.svg') == get_resource("symbols/firewall.svg")
+    symbols.theme = "Classic"
+    assert symbols.get_path(':/symbols/classic/firewall.svg') == get_resource("symbols/classic/firewall.svg")
 
 
 def test_get_size():
+
     symbols = Symbols()
-    assert symbols.get_size(':/symbols/firewall.svg') == (66, 45, 'svg')
+    symbols.theme = "Classic"
+    assert symbols.get_size(':/symbols/classic/firewall.svg') == (66, 45, 'svg')
diff --git a/tests/handlers/api/controller/test_symbol.py b/tests/handlers/api/controller/test_symbol.py
index cd6f15b2..5b5c6b6f 100644
--- a/tests/handlers/api/controller/test_symbol.py
+++ b/tests/handlers/api/controller/test_symbol.py
@@ -26,14 +26,15 @@ def test_symbols(http_controller):
     response = http_controller.get('/symbols', example=True)
     assert response.status == 200
     assert {
-        'symbol_id': ':/symbols/firewall.svg',
-        'filename': 'firewall.svg',
+        'symbol_id': ':/symbols/classic/firewall.svg',
+        'filename': 'classic/firewall.svg',
         'builtin': True
     } in response.json
 
 
-def test_get(http_controller):
-    response = http_controller.get('/symbols/' + urllib.parse.quote(':/symbols/firewall.svg') + '/raw')
+def test_get(http_controller, controller):
+    controller.symbols.theme = "Classic"
+    response = http_controller.get('/symbols/' + urllib.parse.quote(':/symbols/classic/firewall.svg') + '/raw')
     assert response.status == 200
     assert response.headers['CONTENT-TYPE'] == 'image/svg+xml'
     assert response.headers['CONTENT-LENGTH'] == '9381'
diff --git a/tests/utils/test_picture.py b/tests/utils/test_picture.py
index a592d500..7f2a7141 100644
--- a/tests/utils/test_picture.py
+++ b/tests/utils/test_picture.py
@@ -32,11 +32,11 @@ def test_get_size():
     with open("tests/resources/gns3_icon_128x64.png", "rb") as f:
         res = get_size(f.read())
         assert res == (128, 64, "png")
-    with open("gns3server/symbols/dslam.svg", "rb") as f:
+    with open("gns3server/symbols/classic/dslam.svg", "rb") as f:
         res = get_size(f.read())
         assert res == (50, 53, "svg")
     # Symbol using size with cm
-    with open("gns3server/symbols/cloud.svg", "rb") as f:
+    with open("gns3server/symbols/classic/cloud.svg", "rb") as f:
         res = get_size(f.read())
         assert res == (159, 71, "svg")
     # Size with px