diff --git a/gns3server/compute/qemu/qemu_vm.py b/gns3server/compute/qemu/qemu_vm.py
index 3077b973e..d9028f91b 100644
--- a/gns3server/compute/qemu/qemu_vm.py
+++ b/gns3server/compute/qemu/qemu_vm.py
@@ -1832,23 +1832,16 @@ class QemuVM(BaseNode):
def _get_qemu_img(self):
"""
Search the qemu-img binary in the same binary of the qemu binary
- for avoiding version incompatibility.
+ to avoid version incompatibility.
:returns: qemu-img path or raise an error
"""
- qemu_img_path = ""
+
qemu_path_dir = os.path.dirname(self.qemu_path)
- try:
- for f in os.listdir(qemu_path_dir):
- if f.startswith("qemu-img"):
- qemu_img_path = os.path.join(qemu_path_dir, f)
- except OSError as e:
- raise QemuError(f"Error while looking for qemu-img in {qemu_path_dir}: {e}")
-
- if not qemu_img_path:
- raise QemuError(f"Could not find qemu-img in {qemu_path_dir}")
-
- return qemu_img_path
+ qemu_image_path = shutil.which("qemu-img", path=qemu_path_dir)
+ if qemu_image_path:
+ return qemu_image_path
+ raise QemuError(f"Could not find qemu-img in {qemu_path_dir}")
async def _qemu_img_exec(self, command):
@@ -1864,27 +1857,36 @@ class QemuVM(BaseNode):
log.info(f"{self._get_qemu_img()} returned with {retcode}")
return retcode
+ async def _find_disk_file_format(self, disk):
+
+ qemu_img_path = self._get_qemu_img()
+ try:
+ output = await subprocess_check_output(qemu_img_path, "info", "--output=json", disk)
+ except subprocess.SubprocessError as e:
+ raise QemuError(f"Error received while checking Qemu disk format: {e}")
+ if output:
+ try:
+ json_data = json.loads(output)
+ except ValueError as e:
+ raise QemuError(f"Invalid JSON data returned by qemu-img: {e}")
+ return json_data.get("format")
+
async def _create_linked_clone(self, disk_name, disk_image, disk):
+
try:
qemu_img_path = self._get_qemu_img()
- command = [qemu_img_path, "create", "-o", f"backing_file={disk_image}", "-f", "qcow2", disk]
- try:
- base_qcow2 = Qcow2(disk_image)
- if base_qcow2.crypt_method:
- # Workaround for https://gitlab.com/qemu-project/qemu/-/issues/441
- # Also embed a secret name so it doesn't have to be passed to qemu -drive ...
- options = {
- "encrypt.key-secret": os.path.basename(disk_image),
- "driver": "qcow2",
- "file": {
- "driver": "file",
- "filename": disk_image,
- },
- }
- command = [qemu_img_path, "create", "-b", "json:"+json.dumps(options, separators=(',', ':')),
- "-f", "qcow2", "-u", disk, str(base_qcow2.size)]
- except Qcow2Error:
- pass # non-qcow2 base images are acceptable (e.g. vmdk, raw image)
+ backing_file_format = await self._find_disk_file_format(disk_image)
+ if not backing_file_format:
+ raise QemuError(f"Could not detect format for disk image: {disk_image}")
+ backing_options, base_qcow2 = Qcow2.backing_options(disk_image)
+ if base_qcow2 and base_qcow2.crypt_method:
+ # Workaround for https://gitlab.com/qemu-project/qemu/-/issues/441
+ # (we have to pass -u and the size). Also embed secret name.
+ command = [qemu_img_path, "create", "-b", backing_options,
+ "-F", backing_file_format, "-f", "qcow2", "-u", disk, str(base_qcow2.size)]
+ else:
+ command = [qemu_img_path, "create", "-o", "backing_file={}".format(disk_image),
+ "-F", backing_file_format, "-f", "qcow2", disk]
retcode = await self._qemu_img_exec(command)
if retcode:
@@ -2068,19 +2070,14 @@ class QemuVM(BaseNode):
if retcode == 3:
# image has leaked clusters, but is not corrupted, let's try to fix it
log.warning(f"Qemu image {disk_image} has leaked clusters")
- if (await self._qemu_img_exec([qemu_img_path, "check", "-r", "leaks", f"{disk_image}"])) == 3:
- self.project.emit(
- "log.warning",
- {"message": f"Qemu image '{disk_image}' has leaked clusters and could not be fixed"},
- )
+ if await self._qemu_img_exec([qemu_img_path, "check", "-r", "leaks", "{}".format(disk_image)]) == 3:
+ self.project.emit("log.warning", {"message": "Qemu image '{}' has leaked clusters and could not be fixed".format(disk_image)})
elif retcode == 2:
# image is corrupted, let's try to fix it
log.warning(f"Qemu image {disk_image} is corrupted")
- if (await self._qemu_img_exec([qemu_img_path, "check", "-r", "all", f"{disk_image}"])) == 2:
- self.project.emit(
- "log.warning",
- {"message": f"Qemu image '{disk_image}' is corrupted and could not be fixed"},
- )
+ if await self._qemu_img_exec([qemu_img_path, "check", "-r", "all", "{}".format(disk_image)]) == 2:
+ self.project.emit("log.warning", {"message": "Qemu image '{}' is corrupted and could not be fixed".format(disk_image)})
+ # ignore retcode == 1. One reason is that the image is encrypted and there is no encrypt.key-secret available
except (OSError, subprocess.SubprocessError) as e:
stdout = self.read_qemu_img_stdout()
raise QemuError(f"Could not check '{disk_name}' disk image: {e}\n{stdout}")
@@ -2091,10 +2088,16 @@ class QemuVM(BaseNode):
# create the disk
await self._create_linked_clone(disk_name, disk_image, disk)
else:
- # The disk exists we check if the clone works
+ backing_file_format = await self._find_disk_file_format(disk_image)
+ if not backing_file_format:
+ raise QemuError("Could not detect format for disk image: {}".format(disk_image))
+ # Rebase the image. This is in case the base image moved to a different directory,
+ # which will be the case if we imported a portable project. This uses
+ # get_abs_image_path(hdX_disk_image) and ignores the old base path embedded
+ # in the qcow2 file itself.
try:
qcow2 = Qcow2(disk)
- await qcow2.validate(qemu_img_path)
+ await qcow2.rebase(qemu_img_path, disk_image, backing_file_format)
except (Qcow2Error, OSError) as e:
raise QemuError(f"Could not use qcow2 disk image '{disk_image}' for {disk_name} {e}")
diff --git a/gns3server/compute/qemu/utils/qcow2.py b/gns3server/compute/qemu/utils/qcow2.py
index 52269f368..60fdc9724 100644
--- a/gns3server/compute/qemu/utils/qcow2.py
+++ b/gns3server/compute/qemu/utils/qcow2.py
@@ -15,6 +15,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see .
+import json
import os
import asyncio
import struct
@@ -88,31 +89,50 @@ class Qcow2:
return None
return path
- async def rebase(self, qemu_img, base_image):
+ @staticmethod
+ def backing_options(base_image):
+ """
+ If the base_image is encrypted qcow2, return options for the upper layer
+ which include a secret name (equal to the basename)
+
+ :param base_image: Path to the base file (which may or may not be qcow2)
+
+ :returns: (base image string, Qcow2 object representing base image or None)
+ """
+
+ try:
+ base_qcow2 = Qcow2(base_image)
+ if base_qcow2.crypt_method:
+ # Embed a secret name so it doesn't have to be passed to qemu -drive ...
+ options = {
+ "encrypt.key-secret": os.path.basename(base_image),
+ "driver": "qcow2",
+ "file": {
+ "driver": "file",
+ "filename": base_image,
+ },
+ }
+ return ("json:"+json.dumps(options, separators=(',', ':')), base_qcow2)
+ else:
+ return (base_image, base_qcow2)
+ except Qcow2Error:
+ return (base_image, None) # non-qcow2 base images are acceptable (e.g. vmdk, raw image)
+
+ async def rebase(self, qemu_img, base_image, backing_file_format):
"""
Rebase a linked clone in order to use the correct disk
:param qemu_img: Path to the qemu-img binary
:param base_image: Path to the base image
+ :param backing_file_format: File format of the base image
"""
if not os.path.exists(base_image):
raise FileNotFoundError(base_image)
- command = [qemu_img, "rebase", "-u", "-b", base_image, self._path]
+ backing_options, _ = Qcow2.backing_options(base_image)
+ command = [qemu_img, "rebase", "-u", "-b", backing_options, "-F", backing_file_format, self._path]
process = await asyncio.create_subprocess_exec(*command)
retcode = await process.wait()
if retcode != 0:
raise Qcow2Error("Could not rebase the image")
self._reload()
-
- async def validate(self, qemu_img):
- """
- Run qemu-img info to validate the file and its backing images
-
- :param qemu_img: Path to the qemu-img binary
- """
- command = [qemu_img, "info", "--backing-chain", self._path]
- process = await asyncio.create_subprocess_exec(*command)
- retcode = await process.wait()
- if retcode != 0:
- raise Qcow2Error("Could not validate the image")
diff --git a/gns3server/controller/node.py b/gns3server/controller/node.py
index ca086455a..440dd5d7c 100644
--- a/gns3server/controller/node.py
+++ b/gns3server/controller/node.py
@@ -25,6 +25,7 @@ from .compute import ComputeConflict, ComputeError
from .controller_error import ControllerError, ControllerTimeoutError
from .ports.port_factory import PortFactory, StandardPortFactory, DynamipsPortFactory
from ..utils.images import images_directories
+from ..config import Config
from ..utils.qt import qt_font_to_style
@@ -293,10 +294,12 @@ class Node:
if val is None:
val = ":/symbols/computer.svg"
- # No abs path, fix them (bug of 1.X)
try:
- if not val.startswith(":") and os.path.abspath(val):
- val = os.path.basename(val)
+ if not val.startswith(":") and os.path.isabs(val):
+ server_config = Config.instance().get_section_config("Server")
+ default_symbol_directory = os.path.expanduser(server_config.get("images_path", "~/GNS3/symbols"))
+ if os.path.commonprefix([default_symbol_directory, val]) != default_symbol_directory:
+ val = os.path.basename(val)
except OSError:
pass
diff --git a/gns3server/handlers/api/compute/server_handler.py b/gns3server/handlers/api/compute/server_handler.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/gns3server/symbols/affinity/circle/blue/atm.svg b/gns3server/symbols/affinity/circle/blue/atm.svg
index 987755e81..d2f4e4c43 100644
--- a/gns3server/symbols/affinity/circle/blue/atm.svg
+++ b/gns3server/symbols/affinity/circle/blue/atm.svg
@@ -1,60 +1,5 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/circle/blue/bug.svg b/gns3server/symbols/affinity/circle/blue/bug.svg
new file mode 100644
index 000000000..374b17895
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/bug.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/circle/blue/camera.svg b/gns3server/symbols/affinity/circle/blue/camera.svg
index de4f22eb2..b4bab2da8 100644
--- a/gns3server/symbols/affinity/circle/blue/camera.svg
+++ b/gns3server/symbols/affinity/circle/blue/camera.svg
@@ -1,53 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/camera_dome.svg b/gns3server/symbols/affinity/circle/blue/camera_dome.svg
index 2fabbd4ed..a8dbee05c 100644
--- a/gns3server/symbols/affinity/circle/blue/camera_dome.svg
+++ b/gns3server/symbols/affinity/circle/blue/camera_dome.svg
@@ -1,38 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/circle.svg b/gns3server/symbols/affinity/circle/blue/circle.svg
deleted file mode 100644
index 83eb7ea8a..000000000
--- a/gns3server/symbols/affinity/circle/blue/circle.svg
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/circle/blue/client.svg b/gns3server/symbols/affinity/circle/blue/client.svg
index 3da290363..9badc41a0 100644
--- a/gns3server/symbols/affinity/circle/blue/client.svg
+++ b/gns3server/symbols/affinity/circle/blue/client.svg
@@ -1,60 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/client_vm.svg b/gns3server/symbols/affinity/circle/blue/client_vm.svg
index 98e9df42f..9f64260f1 100644
--- a/gns3server/symbols/affinity/circle/blue/client_vm.svg
+++ b/gns3server/symbols/affinity/circle/blue/client_vm.svg
@@ -1,46 +1,6 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/cloud.svg b/gns3server/symbols/affinity/circle/blue/cloud.svg
index c602b4d17..17a42c80a 100644
--- a/gns3server/symbols/affinity/circle/blue/cloud.svg
+++ b/gns3server/symbols/affinity/circle/blue/cloud.svg
@@ -1,35 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/coffee.svg b/gns3server/symbols/affinity/circle/blue/coffee.svg
new file mode 100644
index 000000000..c180d8011
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/coffee.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/blue/cog.svg b/gns3server/symbols/affinity/circle/blue/cog.svg
index d72fef7b4..1bbb4a98f 100644
--- a/gns3server/symbols/affinity/circle/blue/cog.svg
+++ b/gns3server/symbols/affinity/circle/blue/cog.svg
@@ -1,42 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/communications.svg b/gns3server/symbols/affinity/circle/blue/communications.svg
index ea10c4452..365446a99 100644
--- a/gns3server/symbols/affinity/circle/blue/communications.svg
+++ b/gns3server/symbols/affinity/circle/blue/communications.svg
@@ -1,42 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/conversation.svg b/gns3server/symbols/affinity/circle/blue/conversation.svg
index ba21dcdb8..68d788969 100644
--- a/gns3server/symbols/affinity/circle/blue/conversation.svg
+++ b/gns3server/symbols/affinity/circle/blue/conversation.svg
@@ -1,48 +1,12 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/dna.svg b/gns3server/symbols/affinity/circle/blue/dna.svg
new file mode 100644
index 000000000..c255f3c8a
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/dna.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/blue/dna2.svg b/gns3server/symbols/affinity/circle/blue/dna2.svg
new file mode 100644
index 000000000..c9e6a0b42
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/dna2.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/blue/docker.svg b/gns3server/symbols/affinity/circle/blue/docker.svg
index 0d52c377c..75e6927be 100644
--- a/gns3server/symbols/affinity/circle/blue/docker.svg
+++ b/gns3server/symbols/affinity/circle/blue/docker.svg
@@ -1,118 +1,11 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/circle/blue/dslam.svg b/gns3server/symbols/affinity/circle/blue/dslam.svg
index c60880330..3a2d3faa4 100644
--- a/gns3server/symbols/affinity/circle/blue/dslam.svg
+++ b/gns3server/symbols/affinity/circle/blue/dslam.svg
@@ -1,42 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/factory.svg b/gns3server/symbols/affinity/circle/blue/factory.svg
new file mode 100644
index 000000000..683a93ef8
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/factory.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/blue/fingerprint.svg b/gns3server/symbols/affinity/circle/blue/fingerprint.svg
index b6dbdb9b8..06b2a69c5 100644
--- a/gns3server/symbols/affinity/circle/blue/fingerprint.svg
+++ b/gns3server/symbols/affinity/circle/blue/fingerprint.svg
@@ -1,40 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/firewall.svg b/gns3server/symbols/affinity/circle/blue/firewall.svg
index 1ab379487..8ccf30e49 100644
--- a/gns3server/symbols/affinity/circle/blue/firewall.svg
+++ b/gns3server/symbols/affinity/circle/blue/firewall.svg
@@ -1,40 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/firewall3.svg b/gns3server/symbols/affinity/circle/blue/firewall3.svg
index b441d4f16..b69389e53 100644
--- a/gns3server/symbols/affinity/circle/blue/firewall3.svg
+++ b/gns3server/symbols/affinity/circle/blue/firewall3.svg
@@ -1,42 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/globe.svg b/gns3server/symbols/affinity/circle/blue/globe.svg
new file mode 100644
index 000000000..b88f23a3c
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/globe.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/blue/grid.svg b/gns3server/symbols/affinity/circle/blue/grid.svg
index d4b6aada1..3e3aed7cf 100644
--- a/gns3server/symbols/affinity/circle/blue/grid.svg
+++ b/gns3server/symbols/affinity/circle/blue/grid.svg
@@ -1,35 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/grid2.svg b/gns3server/symbols/affinity/circle/blue/grid2.svg
index 54813fad4..e5b1a94dc 100644
--- a/gns3server/symbols/affinity/circle/blue/grid2.svg
+++ b/gns3server/symbols/affinity/circle/blue/grid2.svg
@@ -1,34 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/health.svg b/gns3server/symbols/affinity/circle/blue/health.svg
new file mode 100644
index 000000000..b8a3a68ba
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/health.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/blue/house.svg b/gns3server/symbols/affinity/circle/blue/house.svg
new file mode 100644
index 000000000..7ff086a19
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/house.svg
@@ -0,0 +1,9 @@
+
diff --git a/gns3server/symbols/affinity/circle/blue/hub.svg b/gns3server/symbols/affinity/circle/blue/hub.svg
index 7e2c58f2d..9c862a404 100644
--- a/gns3server/symbols/affinity/circle/blue/hub.svg
+++ b/gns3server/symbols/affinity/circle/blue/hub.svg
@@ -1,35 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/inspect.svg b/gns3server/symbols/affinity/circle/blue/inspect.svg
index b12d1176d..1882d2037 100644
--- a/gns3server/symbols/affinity/circle/blue/inspect.svg
+++ b/gns3server/symbols/affinity/circle/blue/inspect.svg
@@ -1,51 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/inspect2.svg b/gns3server/symbols/affinity/circle/blue/inspect2.svg
new file mode 100644
index 000000000..bd3546a43
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/inspect2.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/blue/inspect3.svg b/gns3server/symbols/affinity/circle/blue/inspect3.svg
deleted file mode 100644
index 47ddab8de..000000000
--- a/gns3server/symbols/affinity/circle/blue/inspect3.svg
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
diff --git a/gns3server/symbols/affinity/circle/blue/interconnect.svg b/gns3server/symbols/affinity/circle/blue/interconnect.svg
index 87cc83d25..e17b44ce9 100644
--- a/gns3server/symbols/affinity/circle/blue/interconnect.svg
+++ b/gns3server/symbols/affinity/circle/blue/interconnect.svg
@@ -1,40 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/ip_phone.svg b/gns3server/symbols/affinity/circle/blue/ip_phone.svg
new file mode 100644
index 000000000..c4acb8499
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/ip_phone.svg
@@ -0,0 +1,21 @@
+
diff --git a/gns3server/symbols/affinity/circle/blue/isdn.svg b/gns3server/symbols/affinity/circle/blue/isdn.svg
index 856c2785e..d4259279f 100644
--- a/gns3server/symbols/affinity/circle/blue/isdn.svg
+++ b/gns3server/symbols/affinity/circle/blue/isdn.svg
@@ -1,36 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/laptop.svg b/gns3server/symbols/affinity/circle/blue/laptop.svg
new file mode 100644
index 000000000..310eb6a20
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/laptop.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/blue/ldap.svg b/gns3server/symbols/affinity/circle/blue/ldap.svg
index 1542fc4ab..0f440517f 100644
--- a/gns3server/symbols/affinity/circle/blue/ldap.svg
+++ b/gns3server/symbols/affinity/circle/blue/ldap.svg
@@ -1,34 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/light_bulb.svg b/gns3server/symbols/affinity/circle/blue/light_bulb.svg
index e8fc3e9f9..fe2fc13f7 100644
--- a/gns3server/symbols/affinity/circle/blue/light_bulb.svg
+++ b/gns3server/symbols/affinity/circle/blue/light_bulb.svg
@@ -1,67 +1,11 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/link.svg b/gns3server/symbols/affinity/circle/blue/link.svg
index 746d77432..f65a3e6dd 100644
--- a/gns3server/symbols/affinity/circle/blue/link.svg
+++ b/gns3server/symbols/affinity/circle/blue/link.svg
@@ -1,34 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/loadbalancer.svg b/gns3server/symbols/affinity/circle/blue/loadbalancer.svg
index 5f91cee16..d0879f474 100644
--- a/gns3server/symbols/affinity/circle/blue/loadbalancer.svg
+++ b/gns3server/symbols/affinity/circle/blue/loadbalancer.svg
@@ -1,44 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/nas.svg b/gns3server/symbols/affinity/circle/blue/nas.svg
index acad7d71b..86121445d 100644
--- a/gns3server/symbols/affinity/circle/blue/nas.svg
+++ b/gns3server/symbols/affinity/circle/blue/nas.svg
@@ -1,35 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/office.svg b/gns3server/symbols/affinity/circle/blue/office.svg
new file mode 100644
index 000000000..838c8b033
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/office.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/blue/optical.svg b/gns3server/symbols/affinity/circle/blue/optical.svg
new file mode 100644
index 000000000..96ab16686
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/optical.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/circle/blue/phone_cloud.svg b/gns3server/symbols/affinity/circle/blue/phone_cloud.svg
new file mode 100644
index 000000000..c26c1596e
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/phone_cloud.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/blue/phone_old.svg b/gns3server/symbols/affinity/circle/blue/phone_old.svg
new file mode 100644
index 000000000..cbc9daf79
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/phone_old.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/blue/phone_wireless.svg b/gns3server/symbols/affinity/circle/blue/phone_wireless.svg
new file mode 100644
index 000000000..fa40851e4
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/phone_wireless.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/circle/blue/pinpoint.svg b/gns3server/symbols/affinity/circle/blue/pinpoint.svg
index e04233ada..424cc0e2f 100644
--- a/gns3server/symbols/affinity/circle/blue/pinpoint.svg
+++ b/gns3server/symbols/affinity/circle/blue/pinpoint.svg
@@ -1,49 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/printer.svg b/gns3server/symbols/affinity/circle/blue/printer.svg
index 4afa4f7e8..77bcf923e 100644
--- a/gns3server/symbols/affinity/circle/blue/printer.svg
+++ b/gns3server/symbols/affinity/circle/blue/printer.svg
@@ -1,97 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/rj45.svg b/gns3server/symbols/affinity/circle/blue/rj45.svg
index 4cb1782c0..9020b5a4c 100644
--- a/gns3server/symbols/affinity/circle/blue/rj45.svg
+++ b/gns3server/symbols/affinity/circle/blue/rj45.svg
@@ -1,69 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/router.svg b/gns3server/symbols/affinity/circle/blue/router.svg
index d90f988b5..5f21c9ecf 100644
--- a/gns3server/symbols/affinity/circle/blue/router.svg
+++ b/gns3server/symbols/affinity/circle/blue/router.svg
@@ -1,35 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/router2.svg b/gns3server/symbols/affinity/circle/blue/router2.svg
new file mode 100644
index 000000000..0bae986b4
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/router2.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/blue/router_cloud.svg b/gns3server/symbols/affinity/circle/blue/router_cloud.svg
index 35fa1cbf3..ef7318859 100644
--- a/gns3server/symbols/affinity/circle/blue/router_cloud.svg
+++ b/gns3server/symbols/affinity/circle/blue/router_cloud.svg
@@ -1,43 +1,6 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/satellite.svg b/gns3server/symbols/affinity/circle/blue/satellite.svg
index 9487f59e3..285a13f08 100644
--- a/gns3server/symbols/affinity/circle/blue/satellite.svg
+++ b/gns3server/symbols/affinity/circle/blue/satellite.svg
@@ -1,40 +1,6 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/satellite_dish.svg b/gns3server/symbols/affinity/circle/blue/satellite_dish.svg
index d8a3c2a9b..d95ee4d76 100644
--- a/gns3server/symbols/affinity/circle/blue/satellite_dish.svg
+++ b/gns3server/symbols/affinity/circle/blue/satellite_dish.svg
@@ -1,43 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/scull.svg b/gns3server/symbols/affinity/circle/blue/scull.svg
index 87e51d78f..2cd77104c 100644
--- a/gns3server/symbols/affinity/circle/blue/scull.svg
+++ b/gns3server/symbols/affinity/circle/blue/scull.svg
@@ -1,50 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/server-cluster.svg b/gns3server/symbols/affinity/circle/blue/server-cluster.svg
deleted file mode 100644
index 735f2f2d5..000000000
--- a/gns3server/symbols/affinity/circle/blue/server-cluster.svg
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
diff --git a/gns3server/symbols/affinity/circle/blue/server.svg b/gns3server/symbols/affinity/circle/blue/server.svg
index 19aaa06dd..410840ced 100644
--- a/gns3server/symbols/affinity/circle/blue/server.svg
+++ b/gns3server/symbols/affinity/circle/blue/server.svg
@@ -1,34 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/server_cluster.svg b/gns3server/symbols/affinity/circle/blue/server_cluster.svg
new file mode 100644
index 000000000..2cf4406ff
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/server_cluster.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/blue/shield.svg b/gns3server/symbols/affinity/circle/blue/shield.svg
new file mode 100644
index 000000000..8494aac0b
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/shield.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/blue/statistics.svg b/gns3server/symbols/affinity/circle/blue/statistics.svg
index 08233b39a..8cffd0e7f 100644
--- a/gns3server/symbols/affinity/circle/blue/statistics.svg
+++ b/gns3server/symbols/affinity/circle/blue/statistics.svg
@@ -1,47 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/storage.svg b/gns3server/symbols/affinity/circle/blue/storage.svg
index 6681bf37a..468989145 100644
--- a/gns3server/symbols/affinity/circle/blue/storage.svg
+++ b/gns3server/symbols/affinity/circle/blue/storage.svg
@@ -1,34 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/switch.svg b/gns3server/symbols/affinity/circle/blue/switch.svg
index 8daecfcea..ded52ce17 100644
--- a/gns3server/symbols/affinity/circle/blue/switch.svg
+++ b/gns3server/symbols/affinity/circle/blue/switch.svg
@@ -1,50 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/switch_multilayer.svg b/gns3server/symbols/affinity/circle/blue/switch_multilayer.svg
index 0796442f0..6717fdbf1 100644
--- a/gns3server/symbols/affinity/circle/blue/switch_multilayer.svg
+++ b/gns3server/symbols/affinity/circle/blue/switch_multilayer.svg
@@ -1,42 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/tablet.svg b/gns3server/symbols/affinity/circle/blue/tablet.svg
index ea3320901..bdf74da54 100644
--- a/gns3server/symbols/affinity/circle/blue/tablet.svg
+++ b/gns3server/symbols/affinity/circle/blue/tablet.svg
@@ -1,47 +1,11 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/template.svg b/gns3server/symbols/affinity/circle/blue/template.svg
new file mode 100644
index 000000000..8f629460d
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/template.svg
@@ -0,0 +1,4 @@
+
diff --git a/gns3server/symbols/affinity/circle/blue/tree.svg b/gns3server/symbols/affinity/circle/blue/tree.svg
index 4dc6c6887..c4ae05b66 100644
--- a/gns3server/symbols/affinity/circle/blue/tree.svg
+++ b/gns3server/symbols/affinity/circle/blue/tree.svg
@@ -1,34 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/user.svg b/gns3server/symbols/affinity/circle/blue/user.svg
index 82562bb85..a6a40fec2 100644
--- a/gns3server/symbols/affinity/circle/blue/user.svg
+++ b/gns3server/symbols/affinity/circle/blue/user.svg
@@ -1,36 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/virtualbox.svg b/gns3server/symbols/affinity/circle/blue/virtualbox.svg
index affed9696..347a9efee 100644
--- a/gns3server/symbols/affinity/circle/blue/virtualbox.svg
+++ b/gns3server/symbols/affinity/circle/blue/virtualbox.svg
@@ -1,60 +1,7 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/circle/blue/vm.svg b/gns3server/symbols/affinity/circle/blue/vm.svg
index e3291da43..94e000a2b 100644
--- a/gns3server/symbols/affinity/circle/blue/vm.svg
+++ b/gns3server/symbols/affinity/circle/blue/vm.svg
@@ -1,41 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/vmware.svg b/gns3server/symbols/affinity/circle/blue/vmware.svg
index 9a03cca61..651e20003 100644
--- a/gns3server/symbols/affinity/circle/blue/vmware.svg
+++ b/gns3server/symbols/affinity/circle/blue/vmware.svg
@@ -1,61 +1,7 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/circle/blue/vrf.svg b/gns3server/symbols/affinity/circle/blue/vrf.svg
new file mode 100644
index 000000000..7b13a5b5c
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/blue/vrf.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/circle/blue/wifi.svg b/gns3server/symbols/affinity/circle/blue/wifi.svg
index 18b83ac1b..b4472bd49 100644
--- a/gns3server/symbols/affinity/circle/blue/wifi.svg
+++ b/gns3server/symbols/affinity/circle/blue/wifi.svg
@@ -1,62 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/wlc.svg b/gns3server/symbols/affinity/circle/blue/wlc.svg
index ff811ab9d..aa6cf7474 100644
--- a/gns3server/symbols/affinity/circle/blue/wlc.svg
+++ b/gns3server/symbols/affinity/circle/blue/wlc.svg
@@ -1,35 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/blue/xml.svg b/gns3server/symbols/affinity/circle/blue/xml.svg
index 97c48f599..df6b92161 100644
--- a/gns3server/symbols/affinity/circle/blue/xml.svg
+++ b/gns3server/symbols/affinity/circle/blue/xml.svg
@@ -1,45 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/atm.svg b/gns3server/symbols/affinity/circle/gray/atm.svg
index 5de13e55c..62c46c78b 100644
--- a/gns3server/symbols/affinity/circle/gray/atm.svg
+++ b/gns3server/symbols/affinity/circle/gray/atm.svg
@@ -1,60 +1,5 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/circle/gray/bug.svg b/gns3server/symbols/affinity/circle/gray/bug.svg
new file mode 100644
index 000000000..c9f5f2160
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/bug.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/circle/gray/camera.svg b/gns3server/symbols/affinity/circle/gray/camera.svg
index 4d79eeffc..3d9a3c152 100644
--- a/gns3server/symbols/affinity/circle/gray/camera.svg
+++ b/gns3server/symbols/affinity/circle/gray/camera.svg
@@ -1,53 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/camera_dome.svg b/gns3server/symbols/affinity/circle/gray/camera_dome.svg
index e5f3988bd..6cb8c5d86 100644
--- a/gns3server/symbols/affinity/circle/gray/camera_dome.svg
+++ b/gns3server/symbols/affinity/circle/gray/camera_dome.svg
@@ -1,38 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/circle.svg b/gns3server/symbols/affinity/circle/gray/circle.svg
deleted file mode 100644
index cd8da99d1..000000000
--- a/gns3server/symbols/affinity/circle/gray/circle.svg
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/circle/gray/client.svg b/gns3server/symbols/affinity/circle/gray/client.svg
index f55593110..a0b191b37 100644
--- a/gns3server/symbols/affinity/circle/gray/client.svg
+++ b/gns3server/symbols/affinity/circle/gray/client.svg
@@ -1,60 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/client_vm.svg b/gns3server/symbols/affinity/circle/gray/client_vm.svg
index f3e73ba5e..4e44c2d1e 100644
--- a/gns3server/symbols/affinity/circle/gray/client_vm.svg
+++ b/gns3server/symbols/affinity/circle/gray/client_vm.svg
@@ -1,46 +1,6 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/cloud.svg b/gns3server/symbols/affinity/circle/gray/cloud.svg
index ec2dab35e..085ac6785 100644
--- a/gns3server/symbols/affinity/circle/gray/cloud.svg
+++ b/gns3server/symbols/affinity/circle/gray/cloud.svg
@@ -1,35 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/coffee.svg b/gns3server/symbols/affinity/circle/gray/coffee.svg
new file mode 100644
index 000000000..eb7f462e7
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/coffee.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/gray/cog.svg b/gns3server/symbols/affinity/circle/gray/cog.svg
index fa5eae046..01d514df7 100644
--- a/gns3server/symbols/affinity/circle/gray/cog.svg
+++ b/gns3server/symbols/affinity/circle/gray/cog.svg
@@ -1,42 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/communications.svg b/gns3server/symbols/affinity/circle/gray/communications.svg
index 04e2fb283..1b1c34ad4 100644
--- a/gns3server/symbols/affinity/circle/gray/communications.svg
+++ b/gns3server/symbols/affinity/circle/gray/communications.svg
@@ -1,42 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/conversation.svg b/gns3server/symbols/affinity/circle/gray/conversation.svg
index 3ab64ed88..9ccd11949 100644
--- a/gns3server/symbols/affinity/circle/gray/conversation.svg
+++ b/gns3server/symbols/affinity/circle/gray/conversation.svg
@@ -1,48 +1,12 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/dna.svg b/gns3server/symbols/affinity/circle/gray/dna.svg
new file mode 100644
index 000000000..eff147401
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/dna.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/gray/dna2.svg b/gns3server/symbols/affinity/circle/gray/dna2.svg
new file mode 100644
index 000000000..30476a192
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/dna2.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/gray/docker.svg b/gns3server/symbols/affinity/circle/gray/docker.svg
index d1e211325..3c0f2aa30 100644
--- a/gns3server/symbols/affinity/circle/gray/docker.svg
+++ b/gns3server/symbols/affinity/circle/gray/docker.svg
@@ -1,118 +1,11 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/circle/gray/dslam.svg b/gns3server/symbols/affinity/circle/gray/dslam.svg
index 085efaf65..05e13bb6d 100644
--- a/gns3server/symbols/affinity/circle/gray/dslam.svg
+++ b/gns3server/symbols/affinity/circle/gray/dslam.svg
@@ -1,42 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/factory.svg b/gns3server/symbols/affinity/circle/gray/factory.svg
new file mode 100644
index 000000000..11aa0e826
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/factory.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/gray/fingerprint.svg b/gns3server/symbols/affinity/circle/gray/fingerprint.svg
index 71ce8ff11..da4d51da9 100644
--- a/gns3server/symbols/affinity/circle/gray/fingerprint.svg
+++ b/gns3server/symbols/affinity/circle/gray/fingerprint.svg
@@ -1,40 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/firewall.svg b/gns3server/symbols/affinity/circle/gray/firewall.svg
index abdc8bafa..58c3b89a4 100644
--- a/gns3server/symbols/affinity/circle/gray/firewall.svg
+++ b/gns3server/symbols/affinity/circle/gray/firewall.svg
@@ -1,40 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/firewall3.svg b/gns3server/symbols/affinity/circle/gray/firewall3.svg
index aadae6308..8027198f3 100644
--- a/gns3server/symbols/affinity/circle/gray/firewall3.svg
+++ b/gns3server/symbols/affinity/circle/gray/firewall3.svg
@@ -1,42 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/globe.svg b/gns3server/symbols/affinity/circle/gray/globe.svg
new file mode 100644
index 000000000..1dcf42db5
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/globe.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/gray/grid.svg b/gns3server/symbols/affinity/circle/gray/grid.svg
index 53a79115b..c51e12203 100644
--- a/gns3server/symbols/affinity/circle/gray/grid.svg
+++ b/gns3server/symbols/affinity/circle/gray/grid.svg
@@ -1,35 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/grid2.svg b/gns3server/symbols/affinity/circle/gray/grid2.svg
index 6571d6806..b31ce4830 100644
--- a/gns3server/symbols/affinity/circle/gray/grid2.svg
+++ b/gns3server/symbols/affinity/circle/gray/grid2.svg
@@ -1,34 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/health.svg b/gns3server/symbols/affinity/circle/gray/health.svg
new file mode 100644
index 000000000..2d07e2f64
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/health.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/gray/house.svg b/gns3server/symbols/affinity/circle/gray/house.svg
new file mode 100644
index 000000000..5b0b22325
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/house.svg
@@ -0,0 +1,9 @@
+
diff --git a/gns3server/symbols/affinity/circle/gray/hub.svg b/gns3server/symbols/affinity/circle/gray/hub.svg
index 5db405baf..f36a84b92 100644
--- a/gns3server/symbols/affinity/circle/gray/hub.svg
+++ b/gns3server/symbols/affinity/circle/gray/hub.svg
@@ -1,35 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/inspect.svg b/gns3server/symbols/affinity/circle/gray/inspect.svg
index e80bbfcb1..1ee7d304a 100644
--- a/gns3server/symbols/affinity/circle/gray/inspect.svg
+++ b/gns3server/symbols/affinity/circle/gray/inspect.svg
@@ -1,51 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/inspect2.svg b/gns3server/symbols/affinity/circle/gray/inspect2.svg
new file mode 100644
index 000000000..e78a97f80
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/inspect2.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/gray/inspect3.svg b/gns3server/symbols/affinity/circle/gray/inspect3.svg
deleted file mode 100644
index a493441ed..000000000
--- a/gns3server/symbols/affinity/circle/gray/inspect3.svg
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
diff --git a/gns3server/symbols/affinity/circle/gray/interconnect.svg b/gns3server/symbols/affinity/circle/gray/interconnect.svg
index b469c2bf2..3685e402e 100644
--- a/gns3server/symbols/affinity/circle/gray/interconnect.svg
+++ b/gns3server/symbols/affinity/circle/gray/interconnect.svg
@@ -1,40 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/ip_phone.svg b/gns3server/symbols/affinity/circle/gray/ip_phone.svg
new file mode 100644
index 000000000..c138a5008
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/ip_phone.svg
@@ -0,0 +1,21 @@
+
diff --git a/gns3server/symbols/affinity/circle/gray/isdn.svg b/gns3server/symbols/affinity/circle/gray/isdn.svg
index 1e3f8901b..52d6daa49 100644
--- a/gns3server/symbols/affinity/circle/gray/isdn.svg
+++ b/gns3server/symbols/affinity/circle/gray/isdn.svg
@@ -1,36 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/laptop.svg b/gns3server/symbols/affinity/circle/gray/laptop.svg
new file mode 100644
index 000000000..65bfae7d9
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/laptop.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/gray/ldap.svg b/gns3server/symbols/affinity/circle/gray/ldap.svg
index 1835ae3bb..194c0ebcc 100644
--- a/gns3server/symbols/affinity/circle/gray/ldap.svg
+++ b/gns3server/symbols/affinity/circle/gray/ldap.svg
@@ -1,34 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/light_bulb.svg b/gns3server/symbols/affinity/circle/gray/light_bulb.svg
index c72ea70f1..1c1350b16 100644
--- a/gns3server/symbols/affinity/circle/gray/light_bulb.svg
+++ b/gns3server/symbols/affinity/circle/gray/light_bulb.svg
@@ -1,67 +1,11 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/link.svg b/gns3server/symbols/affinity/circle/gray/link.svg
index dcc387185..0859adff0 100644
--- a/gns3server/symbols/affinity/circle/gray/link.svg
+++ b/gns3server/symbols/affinity/circle/gray/link.svg
@@ -1,34 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/loadbalancer.svg b/gns3server/symbols/affinity/circle/gray/loadbalancer.svg
index e3ae2dbc3..0a4960dfa 100644
--- a/gns3server/symbols/affinity/circle/gray/loadbalancer.svg
+++ b/gns3server/symbols/affinity/circle/gray/loadbalancer.svg
@@ -1,44 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/nas.svg b/gns3server/symbols/affinity/circle/gray/nas.svg
index a20c3b545..265e942d2 100644
--- a/gns3server/symbols/affinity/circle/gray/nas.svg
+++ b/gns3server/symbols/affinity/circle/gray/nas.svg
@@ -1,35 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/office.svg b/gns3server/symbols/affinity/circle/gray/office.svg
new file mode 100644
index 000000000..ac1b5d463
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/office.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/gray/optical.svg b/gns3server/symbols/affinity/circle/gray/optical.svg
new file mode 100644
index 000000000..f81dcbe0b
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/optical.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/circle/gray/phone_cloud.svg b/gns3server/symbols/affinity/circle/gray/phone_cloud.svg
new file mode 100644
index 000000000..2f0ea2af1
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/phone_cloud.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/gray/phone_old.svg b/gns3server/symbols/affinity/circle/gray/phone_old.svg
new file mode 100644
index 000000000..ba1b2fdce
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/phone_old.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/gray/phone_wireless.svg b/gns3server/symbols/affinity/circle/gray/phone_wireless.svg
new file mode 100644
index 000000000..556584eb4
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/phone_wireless.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/circle/gray/pinpoint.svg b/gns3server/symbols/affinity/circle/gray/pinpoint.svg
index 307f62594..3f13e97cc 100644
--- a/gns3server/symbols/affinity/circle/gray/pinpoint.svg
+++ b/gns3server/symbols/affinity/circle/gray/pinpoint.svg
@@ -1,49 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/printer.svg b/gns3server/symbols/affinity/circle/gray/printer.svg
index 85e421342..fbd1fc6a4 100644
--- a/gns3server/symbols/affinity/circle/gray/printer.svg
+++ b/gns3server/symbols/affinity/circle/gray/printer.svg
@@ -1,97 +1,25 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/rj45.svg b/gns3server/symbols/affinity/circle/gray/rj45.svg
index 81aaf32e5..131eae386 100644
--- a/gns3server/symbols/affinity/circle/gray/rj45.svg
+++ b/gns3server/symbols/affinity/circle/gray/rj45.svg
@@ -1,69 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/router.svg b/gns3server/symbols/affinity/circle/gray/router.svg
index 45e967481..de01847f9 100644
--- a/gns3server/symbols/affinity/circle/gray/router.svg
+++ b/gns3server/symbols/affinity/circle/gray/router.svg
@@ -1,35 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/router2.svg b/gns3server/symbols/affinity/circle/gray/router2.svg
new file mode 100644
index 000000000..0395003e8
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/router2.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/gray/router_cloud.svg b/gns3server/symbols/affinity/circle/gray/router_cloud.svg
index 26265cf4a..718749207 100644
--- a/gns3server/symbols/affinity/circle/gray/router_cloud.svg
+++ b/gns3server/symbols/affinity/circle/gray/router_cloud.svg
@@ -1,43 +1,6 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/satellite.svg b/gns3server/symbols/affinity/circle/gray/satellite.svg
index 62421c23a..1926d98f0 100644
--- a/gns3server/symbols/affinity/circle/gray/satellite.svg
+++ b/gns3server/symbols/affinity/circle/gray/satellite.svg
@@ -1,40 +1,6 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/satellite_dish.svg b/gns3server/symbols/affinity/circle/gray/satellite_dish.svg
index 07fb57df4..933ff22d9 100644
--- a/gns3server/symbols/affinity/circle/gray/satellite_dish.svg
+++ b/gns3server/symbols/affinity/circle/gray/satellite_dish.svg
@@ -1,43 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/scull.svg b/gns3server/symbols/affinity/circle/gray/scull.svg
index cb28cdc91..107e585ec 100644
--- a/gns3server/symbols/affinity/circle/gray/scull.svg
+++ b/gns3server/symbols/affinity/circle/gray/scull.svg
@@ -1,50 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/server-cluster.svg b/gns3server/symbols/affinity/circle/gray/server-cluster.svg
deleted file mode 100644
index 538084d20..000000000
--- a/gns3server/symbols/affinity/circle/gray/server-cluster.svg
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
diff --git a/gns3server/symbols/affinity/circle/gray/server.svg b/gns3server/symbols/affinity/circle/gray/server.svg
index 7687f436b..8bb615d94 100644
--- a/gns3server/symbols/affinity/circle/gray/server.svg
+++ b/gns3server/symbols/affinity/circle/gray/server.svg
@@ -1,34 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/server_cluster.svg b/gns3server/symbols/affinity/circle/gray/server_cluster.svg
new file mode 100644
index 000000000..cd87dae43
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/server_cluster.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/gray/shield.svg b/gns3server/symbols/affinity/circle/gray/shield.svg
new file mode 100644
index 000000000..d0eb485cc
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/shield.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/gray/statistics.svg b/gns3server/symbols/affinity/circle/gray/statistics.svg
index 6d047edcf..41328b7fa 100644
--- a/gns3server/symbols/affinity/circle/gray/statistics.svg
+++ b/gns3server/symbols/affinity/circle/gray/statistics.svg
@@ -1,47 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/storage.svg b/gns3server/symbols/affinity/circle/gray/storage.svg
index 2aabdb68b..5370bf67b 100644
--- a/gns3server/symbols/affinity/circle/gray/storage.svg
+++ b/gns3server/symbols/affinity/circle/gray/storage.svg
@@ -1,34 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/switch.svg b/gns3server/symbols/affinity/circle/gray/switch.svg
index 2dcf25973..fd94302c3 100644
--- a/gns3server/symbols/affinity/circle/gray/switch.svg
+++ b/gns3server/symbols/affinity/circle/gray/switch.svg
@@ -1,50 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/switch_multilayer.svg b/gns3server/symbols/affinity/circle/gray/switch_multilayer.svg
index 7755d60a2..7cbc90d3f 100644
--- a/gns3server/symbols/affinity/circle/gray/switch_multilayer.svg
+++ b/gns3server/symbols/affinity/circle/gray/switch_multilayer.svg
@@ -1,42 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/tablet.svg b/gns3server/symbols/affinity/circle/gray/tablet.svg
index acf7634cb..1f5a98f1a 100644
--- a/gns3server/symbols/affinity/circle/gray/tablet.svg
+++ b/gns3server/symbols/affinity/circle/gray/tablet.svg
@@ -1,47 +1,11 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/template.svg b/gns3server/symbols/affinity/circle/gray/template.svg
new file mode 100644
index 000000000..34abaf525
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/template.svg
@@ -0,0 +1,4 @@
+
diff --git a/gns3server/symbols/affinity/circle/gray/tree.svg b/gns3server/symbols/affinity/circle/gray/tree.svg
index 7798f758c..b5fe9f8c9 100644
--- a/gns3server/symbols/affinity/circle/gray/tree.svg
+++ b/gns3server/symbols/affinity/circle/gray/tree.svg
@@ -1,34 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/user.svg b/gns3server/symbols/affinity/circle/gray/user.svg
index b2717d42c..849854c36 100644
--- a/gns3server/symbols/affinity/circle/gray/user.svg
+++ b/gns3server/symbols/affinity/circle/gray/user.svg
@@ -1,36 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/virtualbox.svg b/gns3server/symbols/affinity/circle/gray/virtualbox.svg
index 393bf67b9..51fbd91f7 100644
--- a/gns3server/symbols/affinity/circle/gray/virtualbox.svg
+++ b/gns3server/symbols/affinity/circle/gray/virtualbox.svg
@@ -1,60 +1,7 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/circle/gray/vm.svg b/gns3server/symbols/affinity/circle/gray/vm.svg
index 93a7da130..8e129366a 100644
--- a/gns3server/symbols/affinity/circle/gray/vm.svg
+++ b/gns3server/symbols/affinity/circle/gray/vm.svg
@@ -1,41 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/vmware.svg b/gns3server/symbols/affinity/circle/gray/vmware.svg
index 5e0246578..143470aee 100644
--- a/gns3server/symbols/affinity/circle/gray/vmware.svg
+++ b/gns3server/symbols/affinity/circle/gray/vmware.svg
@@ -1,61 +1,7 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/circle/gray/vrf.svg b/gns3server/symbols/affinity/circle/gray/vrf.svg
new file mode 100644
index 000000000..ca53520e8
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/gray/vrf.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/circle/gray/wifi.svg b/gns3server/symbols/affinity/circle/gray/wifi.svg
index e74b5172f..e626428dc 100644
--- a/gns3server/symbols/affinity/circle/gray/wifi.svg
+++ b/gns3server/symbols/affinity/circle/gray/wifi.svg
@@ -1,62 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/wlc.svg b/gns3server/symbols/affinity/circle/gray/wlc.svg
index e3784304e..218b2663a 100644
--- a/gns3server/symbols/affinity/circle/gray/wlc.svg
+++ b/gns3server/symbols/affinity/circle/gray/wlc.svg
@@ -1,35 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/gray/xml.svg b/gns3server/symbols/affinity/circle/gray/xml.svg
index c4a3770d7..10b3c5e65 100644
--- a/gns3server/symbols/affinity/circle/gray/xml.svg
+++ b/gns3server/symbols/affinity/circle/gray/xml.svg
@@ -1,45 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/green/atm.svg b/gns3server/symbols/affinity/circle/green/atm.svg
new file mode 100644
index 000000000..f1d78959a
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/atm.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/bug.svg b/gns3server/symbols/affinity/circle/green/bug.svg
new file mode 100644
index 000000000..a3543aa50
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/bug.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/camera.svg b/gns3server/symbols/affinity/circle/green/camera.svg
new file mode 100644
index 000000000..7be53deed
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/camera.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/camera_dome.svg b/gns3server/symbols/affinity/circle/green/camera_dome.svg
new file mode 100644
index 000000000..92fb6d028
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/camera_dome.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/client.svg b/gns3server/symbols/affinity/circle/green/client.svg
new file mode 100644
index 000000000..6668b3eeb
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/client.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/client_vm.svg b/gns3server/symbols/affinity/circle/green/client_vm.svg
new file mode 100644
index 000000000..2835bb7e1
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/client_vm.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/cloud.svg b/gns3server/symbols/affinity/circle/green/cloud.svg
new file mode 100644
index 000000000..dd72c3e9e
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/cloud.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/coffee.svg b/gns3server/symbols/affinity/circle/green/coffee.svg
new file mode 100644
index 000000000..aa651f44c
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/coffee.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/cog.svg b/gns3server/symbols/affinity/circle/green/cog.svg
new file mode 100644
index 000000000..03282fc5a
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/cog.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/communications.svg b/gns3server/symbols/affinity/circle/green/communications.svg
new file mode 100644
index 000000000..05acf6508
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/communications.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/conversation.svg b/gns3server/symbols/affinity/circle/green/conversation.svg
new file mode 100644
index 000000000..71ca298a0
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/conversation.svg
@@ -0,0 +1,12 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/dna.svg b/gns3server/symbols/affinity/circle/green/dna.svg
new file mode 100644
index 000000000..0a0a16355
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/dna.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/dna2.svg b/gns3server/symbols/affinity/circle/green/dna2.svg
new file mode 100644
index 000000000..36d463bea
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/dna2.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/docker.svg b/gns3server/symbols/affinity/circle/green/docker.svg
new file mode 100644
index 000000000..d83457719
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/docker.svg
@@ -0,0 +1,11 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/dslam.svg b/gns3server/symbols/affinity/circle/green/dslam.svg
new file mode 100644
index 000000000..6b97dd85e
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/dslam.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/factory.svg b/gns3server/symbols/affinity/circle/green/factory.svg
new file mode 100644
index 000000000..26cb0283e
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/factory.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/fingerprint.svg b/gns3server/symbols/affinity/circle/green/fingerprint.svg
new file mode 100644
index 000000000..54e2bd6b0
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/fingerprint.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/firewall.svg b/gns3server/symbols/affinity/circle/green/firewall.svg
new file mode 100644
index 000000000..bc28b1bde
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/firewall.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/firewall3.svg b/gns3server/symbols/affinity/circle/green/firewall3.svg
new file mode 100644
index 000000000..13e88b7fd
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/firewall3.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/globe.svg b/gns3server/symbols/affinity/circle/green/globe.svg
new file mode 100644
index 000000000..8ba9a422a
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/globe.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/grid.svg b/gns3server/symbols/affinity/circle/green/grid.svg
new file mode 100644
index 000000000..4ca6c9460
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/grid.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/grid2.svg b/gns3server/symbols/affinity/circle/green/grid2.svg
new file mode 100644
index 000000000..90bed4c21
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/grid2.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/health.svg b/gns3server/symbols/affinity/circle/green/health.svg
new file mode 100644
index 000000000..73ffb7aec
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/health.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/house.svg b/gns3server/symbols/affinity/circle/green/house.svg
new file mode 100644
index 000000000..0a3d1b0c5
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/house.svg
@@ -0,0 +1,9 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/hub.svg b/gns3server/symbols/affinity/circle/green/hub.svg
new file mode 100644
index 000000000..b673941b5
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/hub.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/inspect.svg b/gns3server/symbols/affinity/circle/green/inspect.svg
new file mode 100644
index 000000000..3ff666f41
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/inspect.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/inspect2.svg b/gns3server/symbols/affinity/circle/green/inspect2.svg
new file mode 100644
index 000000000..104dcc570
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/inspect2.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/interconnect.svg b/gns3server/symbols/affinity/circle/green/interconnect.svg
new file mode 100644
index 000000000..7775e7090
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/interconnect.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/ip_phone.svg b/gns3server/symbols/affinity/circle/green/ip_phone.svg
new file mode 100644
index 000000000..0237d4d7b
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/ip_phone.svg
@@ -0,0 +1,21 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/isdn.svg b/gns3server/symbols/affinity/circle/green/isdn.svg
new file mode 100644
index 000000000..7ca286b83
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/isdn.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/laptop.svg b/gns3server/symbols/affinity/circle/green/laptop.svg
new file mode 100644
index 000000000..e6a5eb539
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/laptop.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/ldap.svg b/gns3server/symbols/affinity/circle/green/ldap.svg
new file mode 100644
index 000000000..16aff355a
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/ldap.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/light_bulb.svg b/gns3server/symbols/affinity/circle/green/light_bulb.svg
new file mode 100644
index 000000000..6364164d6
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/light_bulb.svg
@@ -0,0 +1,11 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/link.svg b/gns3server/symbols/affinity/circle/green/link.svg
new file mode 100644
index 000000000..c106d4f68
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/link.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/loadbalancer.svg b/gns3server/symbols/affinity/circle/green/loadbalancer.svg
new file mode 100644
index 000000000..32ed745c3
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/loadbalancer.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/nas.svg b/gns3server/symbols/affinity/circle/green/nas.svg
new file mode 100644
index 000000000..f242bd381
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/nas.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/office.svg b/gns3server/symbols/affinity/circle/green/office.svg
new file mode 100644
index 000000000..f93654d9f
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/office.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/optical.svg b/gns3server/symbols/affinity/circle/green/optical.svg
new file mode 100644
index 000000000..26fd9e232
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/optical.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/phone_cloud.svg b/gns3server/symbols/affinity/circle/green/phone_cloud.svg
new file mode 100644
index 000000000..24135278f
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/phone_cloud.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/phone_old.svg b/gns3server/symbols/affinity/circle/green/phone_old.svg
new file mode 100644
index 000000000..6f0fdb8e6
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/phone_old.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/phone_wireless.svg b/gns3server/symbols/affinity/circle/green/phone_wireless.svg
new file mode 100644
index 000000000..5013f11d0
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/phone_wireless.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/pinpoint.svg b/gns3server/symbols/affinity/circle/green/pinpoint.svg
new file mode 100644
index 000000000..dcb5fc6c1
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/pinpoint.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/printer.svg b/gns3server/symbols/affinity/circle/green/printer.svg
new file mode 100644
index 000000000..0d46d3c48
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/printer.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/rj45.svg b/gns3server/symbols/affinity/circle/green/rj45.svg
new file mode 100644
index 000000000..a9a51fc82
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/rj45.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/router.svg b/gns3server/symbols/affinity/circle/green/router.svg
new file mode 100644
index 000000000..b6005705a
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/router.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/router2.svg b/gns3server/symbols/affinity/circle/green/router2.svg
new file mode 100644
index 000000000..27affe906
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/router2.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/router_cloud.svg b/gns3server/symbols/affinity/circle/green/router_cloud.svg
new file mode 100644
index 000000000..d404e4be7
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/router_cloud.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/satellite.svg b/gns3server/symbols/affinity/circle/green/satellite.svg
new file mode 100644
index 000000000..912d8e3a0
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/satellite.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/satellite_dish.svg b/gns3server/symbols/affinity/circle/green/satellite_dish.svg
new file mode 100644
index 000000000..fe65b639a
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/satellite_dish.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/scull.svg b/gns3server/symbols/affinity/circle/green/scull.svg
new file mode 100644
index 000000000..3bad44db4
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/scull.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/server.svg b/gns3server/symbols/affinity/circle/green/server.svg
new file mode 100644
index 000000000..1ea30618a
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/server.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/server_cluster.svg b/gns3server/symbols/affinity/circle/green/server_cluster.svg
new file mode 100644
index 000000000..f02dc37b5
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/server_cluster.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/shield.svg b/gns3server/symbols/affinity/circle/green/shield.svg
new file mode 100644
index 000000000..960d1a143
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/shield.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/statistics.svg b/gns3server/symbols/affinity/circle/green/statistics.svg
new file mode 100644
index 000000000..e96ae2ad2
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/statistics.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/storage.svg b/gns3server/symbols/affinity/circle/green/storage.svg
new file mode 100644
index 000000000..43c9428d9
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/storage.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/switch.svg b/gns3server/symbols/affinity/circle/green/switch.svg
new file mode 100644
index 000000000..6e177be60
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/switch.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/switch_multilayer.svg b/gns3server/symbols/affinity/circle/green/switch_multilayer.svg
new file mode 100644
index 000000000..a5166fd9f
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/switch_multilayer.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/tablet.svg b/gns3server/symbols/affinity/circle/green/tablet.svg
new file mode 100644
index 000000000..df3cbbf73
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/tablet.svg
@@ -0,0 +1,11 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/template.svg b/gns3server/symbols/affinity/circle/green/template.svg
new file mode 100644
index 000000000..9605ce9c5
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/template.svg
@@ -0,0 +1,4 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/tree.svg b/gns3server/symbols/affinity/circle/green/tree.svg
new file mode 100644
index 000000000..427d02101
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/tree.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/user.svg b/gns3server/symbols/affinity/circle/green/user.svg
new file mode 100644
index 000000000..c2de59092
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/user.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/virtualbox.svg b/gns3server/symbols/affinity/circle/green/virtualbox.svg
new file mode 100644
index 000000000..df057adfd
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/virtualbox.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/vm.svg b/gns3server/symbols/affinity/circle/green/vm.svg
new file mode 100644
index 000000000..74bbf7f29
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/vm.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/vmware.svg b/gns3server/symbols/affinity/circle/green/vmware.svg
new file mode 100644
index 000000000..17a926be1
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/vmware.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/vrf.svg b/gns3server/symbols/affinity/circle/green/vrf.svg
new file mode 100644
index 000000000..56a3ea8a3
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/vrf.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/wifi.svg b/gns3server/symbols/affinity/circle/green/wifi.svg
new file mode 100644
index 000000000..755624849
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/wifi.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/wlc.svg b/gns3server/symbols/affinity/circle/green/wlc.svg
new file mode 100644
index 000000000..ec08e4896
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/wlc.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/green/xml.svg b/gns3server/symbols/affinity/circle/green/xml.svg
new file mode 100644
index 000000000..835b99b2d
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/green/xml.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/atm.svg b/gns3server/symbols/affinity/circle/red/atm.svg
index 1d6de2298..09a30049a 100644
--- a/gns3server/symbols/affinity/circle/red/atm.svg
+++ b/gns3server/symbols/affinity/circle/red/atm.svg
@@ -1,60 +1,5 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/circle/red/bug.svg b/gns3server/symbols/affinity/circle/red/bug.svg
new file mode 100644
index 000000000..cf1919b12
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/bug.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/camera.svg b/gns3server/symbols/affinity/circle/red/camera.svg
index a97ab388f..310cad9ea 100644
--- a/gns3server/symbols/affinity/circle/red/camera.svg
+++ b/gns3server/symbols/affinity/circle/red/camera.svg
@@ -1,53 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/camera_dome.svg b/gns3server/symbols/affinity/circle/red/camera_dome.svg
index 0f39b13e9..e7ff6ad03 100644
--- a/gns3server/symbols/affinity/circle/red/camera_dome.svg
+++ b/gns3server/symbols/affinity/circle/red/camera_dome.svg
@@ -1,38 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/circle.svg b/gns3server/symbols/affinity/circle/red/circle.svg
deleted file mode 100644
index b4328dee8..000000000
--- a/gns3server/symbols/affinity/circle/red/circle.svg
+++ /dev/null
@@ -1,53 +0,0 @@
-
-
\ No newline at end of file
diff --git a/gns3server/symbols/affinity/circle/red/client.svg b/gns3server/symbols/affinity/circle/red/client.svg
index 4ea926549..593428ef8 100644
--- a/gns3server/symbols/affinity/circle/red/client.svg
+++ b/gns3server/symbols/affinity/circle/red/client.svg
@@ -1,60 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/client_vm.svg b/gns3server/symbols/affinity/circle/red/client_vm.svg
index c8f0d9765..3d3b82c27 100644
--- a/gns3server/symbols/affinity/circle/red/client_vm.svg
+++ b/gns3server/symbols/affinity/circle/red/client_vm.svg
@@ -1,46 +1,6 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/cloud.svg b/gns3server/symbols/affinity/circle/red/cloud.svg
index 271f6fdcf..95584ca37 100644
--- a/gns3server/symbols/affinity/circle/red/cloud.svg
+++ b/gns3server/symbols/affinity/circle/red/cloud.svg
@@ -1,35 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/coffee.svg b/gns3server/symbols/affinity/circle/red/coffee.svg
new file mode 100644
index 000000000..b258c71bb
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/coffee.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/cog.svg b/gns3server/symbols/affinity/circle/red/cog.svg
index bc749bd98..892b90878 100644
--- a/gns3server/symbols/affinity/circle/red/cog.svg
+++ b/gns3server/symbols/affinity/circle/red/cog.svg
@@ -1,42 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/communications.svg b/gns3server/symbols/affinity/circle/red/communications.svg
index a04e85071..a5eae0824 100644
--- a/gns3server/symbols/affinity/circle/red/communications.svg
+++ b/gns3server/symbols/affinity/circle/red/communications.svg
@@ -1,42 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/conversation.svg b/gns3server/symbols/affinity/circle/red/conversation.svg
index 60988f7fa..eb51aa281 100644
--- a/gns3server/symbols/affinity/circle/red/conversation.svg
+++ b/gns3server/symbols/affinity/circle/red/conversation.svg
@@ -1,48 +1,12 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/dna.svg b/gns3server/symbols/affinity/circle/red/dna.svg
new file mode 100644
index 000000000..524ced397
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/dna.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/dna2.svg b/gns3server/symbols/affinity/circle/red/dna2.svg
new file mode 100644
index 000000000..1c71be3ab
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/dna2.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/docker.svg b/gns3server/symbols/affinity/circle/red/docker.svg
index 48ae1b3b2..e16877d64 100644
--- a/gns3server/symbols/affinity/circle/red/docker.svg
+++ b/gns3server/symbols/affinity/circle/red/docker.svg
@@ -1,118 +1,11 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/circle/red/dslam.svg b/gns3server/symbols/affinity/circle/red/dslam.svg
index 2f446c83b..bd0e1c606 100644
--- a/gns3server/symbols/affinity/circle/red/dslam.svg
+++ b/gns3server/symbols/affinity/circle/red/dslam.svg
@@ -1,42 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/factory.svg b/gns3server/symbols/affinity/circle/red/factory.svg
new file mode 100644
index 000000000..b18fc5271
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/factory.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/fingerprint.svg b/gns3server/symbols/affinity/circle/red/fingerprint.svg
index 3e3554fb4..bd773bcfe 100644
--- a/gns3server/symbols/affinity/circle/red/fingerprint.svg
+++ b/gns3server/symbols/affinity/circle/red/fingerprint.svg
@@ -1,40 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/firewall.svg b/gns3server/symbols/affinity/circle/red/firewall.svg
index fb32356b2..addfe3a89 100644
--- a/gns3server/symbols/affinity/circle/red/firewall.svg
+++ b/gns3server/symbols/affinity/circle/red/firewall.svg
@@ -1,40 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/firewall3.svg b/gns3server/symbols/affinity/circle/red/firewall3.svg
index c22bf85b6..05d8ca148 100644
--- a/gns3server/symbols/affinity/circle/red/firewall3.svg
+++ b/gns3server/symbols/affinity/circle/red/firewall3.svg
@@ -1,42 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/globe.svg b/gns3server/symbols/affinity/circle/red/globe.svg
new file mode 100644
index 000000000..f8bd5af74
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/globe.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/grid.svg b/gns3server/symbols/affinity/circle/red/grid.svg
index d39712653..b097cc874 100644
--- a/gns3server/symbols/affinity/circle/red/grid.svg
+++ b/gns3server/symbols/affinity/circle/red/grid.svg
@@ -1,35 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/grid2.svg b/gns3server/symbols/affinity/circle/red/grid2.svg
index f64d31392..89f5a5164 100644
--- a/gns3server/symbols/affinity/circle/red/grid2.svg
+++ b/gns3server/symbols/affinity/circle/red/grid2.svg
@@ -1,34 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/health.svg b/gns3server/symbols/affinity/circle/red/health.svg
new file mode 100644
index 000000000..5051a7cf3
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/health.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/house.svg b/gns3server/symbols/affinity/circle/red/house.svg
new file mode 100644
index 000000000..510ad7c4c
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/house.svg
@@ -0,0 +1,9 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/hub.svg b/gns3server/symbols/affinity/circle/red/hub.svg
index 88f1f54b0..2fc3c5f9c 100644
--- a/gns3server/symbols/affinity/circle/red/hub.svg
+++ b/gns3server/symbols/affinity/circle/red/hub.svg
@@ -1,35 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/inspect.svg b/gns3server/symbols/affinity/circle/red/inspect.svg
index fd6e352a5..622ee04a6 100644
--- a/gns3server/symbols/affinity/circle/red/inspect.svg
+++ b/gns3server/symbols/affinity/circle/red/inspect.svg
@@ -1,51 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/inspect2.svg b/gns3server/symbols/affinity/circle/red/inspect2.svg
new file mode 100644
index 000000000..8c80ee3d1
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/inspect2.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/inspect3.svg b/gns3server/symbols/affinity/circle/red/inspect3.svg
deleted file mode 100644
index c4c704d75..000000000
--- a/gns3server/symbols/affinity/circle/red/inspect3.svg
+++ /dev/null
@@ -1,45 +0,0 @@
-
-
diff --git a/gns3server/symbols/affinity/circle/red/interconnect.svg b/gns3server/symbols/affinity/circle/red/interconnect.svg
index 9d4cfcaec..0960be672 100644
--- a/gns3server/symbols/affinity/circle/red/interconnect.svg
+++ b/gns3server/symbols/affinity/circle/red/interconnect.svg
@@ -1,40 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/ip_phone.svg b/gns3server/symbols/affinity/circle/red/ip_phone.svg
new file mode 100644
index 000000000..e615b4ac5
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/ip_phone.svg
@@ -0,0 +1,21 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/isdn.svg b/gns3server/symbols/affinity/circle/red/isdn.svg
index 12278abae..d23c57153 100644
--- a/gns3server/symbols/affinity/circle/red/isdn.svg
+++ b/gns3server/symbols/affinity/circle/red/isdn.svg
@@ -1,36 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/laptop.svg b/gns3server/symbols/affinity/circle/red/laptop.svg
new file mode 100644
index 000000000..68452f751
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/laptop.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/ldap.svg b/gns3server/symbols/affinity/circle/red/ldap.svg
index ef0e75d73..35b6e1cd2 100644
--- a/gns3server/symbols/affinity/circle/red/ldap.svg
+++ b/gns3server/symbols/affinity/circle/red/ldap.svg
@@ -1,34 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/light_bulb.svg b/gns3server/symbols/affinity/circle/red/light_bulb.svg
index ce62f0cb1..cae737f8d 100644
--- a/gns3server/symbols/affinity/circle/red/light_bulb.svg
+++ b/gns3server/symbols/affinity/circle/red/light_bulb.svg
@@ -1,67 +1,11 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/link.svg b/gns3server/symbols/affinity/circle/red/link.svg
index 439f813c5..4f7c6a54f 100644
--- a/gns3server/symbols/affinity/circle/red/link.svg
+++ b/gns3server/symbols/affinity/circle/red/link.svg
@@ -1,34 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/loadbalancer.svg b/gns3server/symbols/affinity/circle/red/loadbalancer.svg
index 2ce0a1f85..ea28b17d7 100644
--- a/gns3server/symbols/affinity/circle/red/loadbalancer.svg
+++ b/gns3server/symbols/affinity/circle/red/loadbalancer.svg
@@ -1,44 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/nas.svg b/gns3server/symbols/affinity/circle/red/nas.svg
index bb39e7e13..892b86ac2 100644
--- a/gns3server/symbols/affinity/circle/red/nas.svg
+++ b/gns3server/symbols/affinity/circle/red/nas.svg
@@ -1,35 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/office.svg b/gns3server/symbols/affinity/circle/red/office.svg
new file mode 100644
index 000000000..bde0e573e
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/office.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/optical.svg b/gns3server/symbols/affinity/circle/red/optical.svg
new file mode 100644
index 000000000..5d1d77537
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/optical.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/phone_cloud.svg b/gns3server/symbols/affinity/circle/red/phone_cloud.svg
new file mode 100644
index 000000000..674f68e15
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/phone_cloud.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/phone_old.svg b/gns3server/symbols/affinity/circle/red/phone_old.svg
new file mode 100644
index 000000000..14764295e
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/phone_old.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/phone_wireless.svg b/gns3server/symbols/affinity/circle/red/phone_wireless.svg
new file mode 100644
index 000000000..39dd713be
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/phone_wireless.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/pinpoint.svg b/gns3server/symbols/affinity/circle/red/pinpoint.svg
index c419eb827..ba7953326 100644
--- a/gns3server/symbols/affinity/circle/red/pinpoint.svg
+++ b/gns3server/symbols/affinity/circle/red/pinpoint.svg
@@ -1,49 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/printer.svg b/gns3server/symbols/affinity/circle/red/printer.svg
index f16291f2a..2e7aea1bc 100644
--- a/gns3server/symbols/affinity/circle/red/printer.svg
+++ b/gns3server/symbols/affinity/circle/red/printer.svg
@@ -1,97 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/rj45.svg b/gns3server/symbols/affinity/circle/red/rj45.svg
index bbbc68814..369753aa8 100644
--- a/gns3server/symbols/affinity/circle/red/rj45.svg
+++ b/gns3server/symbols/affinity/circle/red/rj45.svg
@@ -1,69 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/router.svg b/gns3server/symbols/affinity/circle/red/router.svg
index a14f8ffb7..e54d19b7e 100644
--- a/gns3server/symbols/affinity/circle/red/router.svg
+++ b/gns3server/symbols/affinity/circle/red/router.svg
@@ -1,35 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/router2.svg b/gns3server/symbols/affinity/circle/red/router2.svg
new file mode 100644
index 000000000..7ed109a0c
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/router2.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/router_cloud.svg b/gns3server/symbols/affinity/circle/red/router_cloud.svg
index e0058c1c6..31f55bdfe 100644
--- a/gns3server/symbols/affinity/circle/red/router_cloud.svg
+++ b/gns3server/symbols/affinity/circle/red/router_cloud.svg
@@ -1,43 +1,6 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/satellite.svg b/gns3server/symbols/affinity/circle/red/satellite.svg
index 8aa569898..b53207cdf 100644
--- a/gns3server/symbols/affinity/circle/red/satellite.svg
+++ b/gns3server/symbols/affinity/circle/red/satellite.svg
@@ -1,40 +1,6 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/satellite_dish.svg b/gns3server/symbols/affinity/circle/red/satellite_dish.svg
index 15b5def95..ac5660af6 100644
--- a/gns3server/symbols/affinity/circle/red/satellite_dish.svg
+++ b/gns3server/symbols/affinity/circle/red/satellite_dish.svg
@@ -1,43 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/scull.svg b/gns3server/symbols/affinity/circle/red/scull.svg
index a500ea83f..f1c069e6c 100644
--- a/gns3server/symbols/affinity/circle/red/scull.svg
+++ b/gns3server/symbols/affinity/circle/red/scull.svg
@@ -1,50 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/server-cluster.svg b/gns3server/symbols/affinity/circle/red/server-cluster.svg
deleted file mode 100644
index 5c9626d86..000000000
--- a/gns3server/symbols/affinity/circle/red/server-cluster.svg
+++ /dev/null
@@ -1,48 +0,0 @@
-
-
diff --git a/gns3server/symbols/affinity/circle/red/server.svg b/gns3server/symbols/affinity/circle/red/server.svg
index d7a6e88c2..fe5a5fe2a 100644
--- a/gns3server/symbols/affinity/circle/red/server.svg
+++ b/gns3server/symbols/affinity/circle/red/server.svg
@@ -1,34 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/server_cluster.svg b/gns3server/symbols/affinity/circle/red/server_cluster.svg
new file mode 100644
index 000000000..17e279c61
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/server_cluster.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/shield.svg b/gns3server/symbols/affinity/circle/red/shield.svg
new file mode 100644
index 000000000..41c7b9ddb
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/shield.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/statistics.svg b/gns3server/symbols/affinity/circle/red/statistics.svg
index 4a21f1b74..6b279fb7a 100644
--- a/gns3server/symbols/affinity/circle/red/statistics.svg
+++ b/gns3server/symbols/affinity/circle/red/statistics.svg
@@ -1,47 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/storage.svg b/gns3server/symbols/affinity/circle/red/storage.svg
index 71a1fca1b..eafd47000 100644
--- a/gns3server/symbols/affinity/circle/red/storage.svg
+++ b/gns3server/symbols/affinity/circle/red/storage.svg
@@ -1,34 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/switch.svg b/gns3server/symbols/affinity/circle/red/switch.svg
index 72984af3f..842d82dcc 100644
--- a/gns3server/symbols/affinity/circle/red/switch.svg
+++ b/gns3server/symbols/affinity/circle/red/switch.svg
@@ -1,50 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/switch_multilayer.svg b/gns3server/symbols/affinity/circle/red/switch_multilayer.svg
index 1202d9cab..da99dff06 100644
--- a/gns3server/symbols/affinity/circle/red/switch_multilayer.svg
+++ b/gns3server/symbols/affinity/circle/red/switch_multilayer.svg
@@ -1,42 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/tablet.svg b/gns3server/symbols/affinity/circle/red/tablet.svg
index a5e628b9e..72d155ca8 100644
--- a/gns3server/symbols/affinity/circle/red/tablet.svg
+++ b/gns3server/symbols/affinity/circle/red/tablet.svg
@@ -1,47 +1,11 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/template.svg b/gns3server/symbols/affinity/circle/red/template.svg
new file mode 100644
index 000000000..e1df555b5
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/template.svg
@@ -0,0 +1,4 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/tree.svg b/gns3server/symbols/affinity/circle/red/tree.svg
index 97ef87e71..af59a42ff 100644
--- a/gns3server/symbols/affinity/circle/red/tree.svg
+++ b/gns3server/symbols/affinity/circle/red/tree.svg
@@ -1,34 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/user.svg b/gns3server/symbols/affinity/circle/red/user.svg
index a7ac691b9..0669a6b5a 100644
--- a/gns3server/symbols/affinity/circle/red/user.svg
+++ b/gns3server/symbols/affinity/circle/red/user.svg
@@ -1,36 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/virtualbox.svg b/gns3server/symbols/affinity/circle/red/virtualbox.svg
index 008a7794a..0e0437e0a 100644
--- a/gns3server/symbols/affinity/circle/red/virtualbox.svg
+++ b/gns3server/symbols/affinity/circle/red/virtualbox.svg
@@ -1,60 +1,7 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/circle/red/vm.svg b/gns3server/symbols/affinity/circle/red/vm.svg
index 60bccee11..53cc3d3d3 100644
--- a/gns3server/symbols/affinity/circle/red/vm.svg
+++ b/gns3server/symbols/affinity/circle/red/vm.svg
@@ -1,41 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/vmware.svg b/gns3server/symbols/affinity/circle/red/vmware.svg
index ac9298948..893096e17 100644
--- a/gns3server/symbols/affinity/circle/red/vmware.svg
+++ b/gns3server/symbols/affinity/circle/red/vmware.svg
@@ -1,61 +1,7 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/circle/red/vrf.svg b/gns3server/symbols/affinity/circle/red/vrf.svg
new file mode 100644
index 000000000..f086dc61c
--- /dev/null
+++ b/gns3server/symbols/affinity/circle/red/vrf.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/circle/red/wifi.svg b/gns3server/symbols/affinity/circle/red/wifi.svg
index ce1b0bf8d..41ead64ba 100644
--- a/gns3server/symbols/affinity/circle/red/wifi.svg
+++ b/gns3server/symbols/affinity/circle/red/wifi.svg
@@ -1,62 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/wlc.svg b/gns3server/symbols/affinity/circle/red/wlc.svg
index 3062f88cb..96f37fbd5 100644
--- a/gns3server/symbols/affinity/circle/red/wlc.svg
+++ b/gns3server/symbols/affinity/circle/red/wlc.svg
@@ -1,35 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/circle/red/xml.svg b/gns3server/symbols/affinity/circle/red/xml.svg
index 9444bd82f..a5628b572 100644
--- a/gns3server/symbols/affinity/circle/red/xml.svg
+++ b/gns3server/symbols/affinity/circle/red/xml.svg
@@ -1,45 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/atm.svg b/gns3server/symbols/affinity/square/blue/atm.svg
index c03f2c0dc..6376f9f44 100644
--- a/gns3server/symbols/affinity/square/blue/atm.svg
+++ b/gns3server/symbols/affinity/square/blue/atm.svg
@@ -1,55 +1,5 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/square/blue/bug.svg b/gns3server/symbols/affinity/square/blue/bug.svg
new file mode 100644
index 000000000..a4c52bc63
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/bug.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/camera.svg b/gns3server/symbols/affinity/square/blue/camera.svg
index 57a3b4d64..339c9cd13 100644
--- a/gns3server/symbols/affinity/square/blue/camera.svg
+++ b/gns3server/symbols/affinity/square/blue/camera.svg
@@ -1,50 +1,12 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/camera_dome.svg b/gns3server/symbols/affinity/square/blue/camera_dome.svg
index 6fe10332d..94fbdbdd2 100644
--- a/gns3server/symbols/affinity/square/blue/camera_dome.svg
+++ b/gns3server/symbols/affinity/square/blue/camera_dome.svg
@@ -1,36 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/client.svg b/gns3server/symbols/affinity/square/blue/client.svg
index 831d05616..8c637bc21 100644
--- a/gns3server/symbols/affinity/square/blue/client.svg
+++ b/gns3server/symbols/affinity/square/blue/client.svg
@@ -1,41 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/client_vm.svg b/gns3server/symbols/affinity/square/blue/client_vm.svg
index 83b20fa1e..5b7e2edc8 100644
--- a/gns3server/symbols/affinity/square/blue/client_vm.svg
+++ b/gns3server/symbols/affinity/square/blue/client_vm.svg
@@ -1,44 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/cloud.svg b/gns3server/symbols/affinity/square/blue/cloud.svg
index 1625c1a39..52063fc7b 100644
--- a/gns3server/symbols/affinity/square/blue/cloud.svg
+++ b/gns3server/symbols/affinity/square/blue/cloud.svg
@@ -1,57 +1,12 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/square/blue/coffee.svg b/gns3server/symbols/affinity/square/blue/coffee.svg
new file mode 100644
index 000000000..510759603
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/coffee.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/cog.svg b/gns3server/symbols/affinity/square/blue/cog.svg
index e187e6fbe..047b05ce0 100644
--- a/gns3server/symbols/affinity/square/blue/cog.svg
+++ b/gns3server/symbols/affinity/square/blue/cog.svg
@@ -1,40 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/communications.svg b/gns3server/symbols/affinity/square/blue/communications.svg
index a2564240e..a8e149760 100644
--- a/gns3server/symbols/affinity/square/blue/communications.svg
+++ b/gns3server/symbols/affinity/square/blue/communications.svg
@@ -1,38 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/conversation.svg b/gns3server/symbols/affinity/square/blue/conversation.svg
index c9e7e026f..2b14bbce5 100644
--- a/gns3server/symbols/affinity/square/blue/conversation.svg
+++ b/gns3server/symbols/affinity/square/blue/conversation.svg
@@ -1,45 +1,12 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/dna.svg b/gns3server/symbols/affinity/square/blue/dna.svg
new file mode 100644
index 000000000..97f9c3036
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/dna.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/dna2.svg b/gns3server/symbols/affinity/square/blue/dna2.svg
new file mode 100644
index 000000000..9f1c462f2
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/dna2.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/docker.svg b/gns3server/symbols/affinity/square/blue/docker.svg
index 3e2fd6bc1..21c2f2035 100644
--- a/gns3server/symbols/affinity/square/blue/docker.svg
+++ b/gns3server/symbols/affinity/square/blue/docker.svg
@@ -1,106 +1,11 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/square/blue/dslam.svg b/gns3server/symbols/affinity/square/blue/dslam.svg
index 4da49336f..077ffd069 100644
--- a/gns3server/symbols/affinity/square/blue/dslam.svg
+++ b/gns3server/symbols/affinity/square/blue/dslam.svg
@@ -1,39 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/factory.svg b/gns3server/symbols/affinity/square/blue/factory.svg
new file mode 100644
index 000000000..a0a9c1f27
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/factory.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/fingerprint.svg b/gns3server/symbols/affinity/square/blue/fingerprint.svg
index d8127f75d..ecc5fcc6a 100644
--- a/gns3server/symbols/affinity/square/blue/fingerprint.svg
+++ b/gns3server/symbols/affinity/square/blue/fingerprint.svg
@@ -1,39 +1,9 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/firewall.svg b/gns3server/symbols/affinity/square/blue/firewall.svg
index ca442a521..433eefd0e 100644
--- a/gns3server/symbols/affinity/square/blue/firewall.svg
+++ b/gns3server/symbols/affinity/square/blue/firewall.svg
@@ -1,38 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/firewall3.svg b/gns3server/symbols/affinity/square/blue/firewall3.svg
index bfbfe58e9..b6d88cdad 100644
--- a/gns3server/symbols/affinity/square/blue/firewall3.svg
+++ b/gns3server/symbols/affinity/square/blue/firewall3.svg
@@ -1,38 +1,6 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/globe.svg b/gns3server/symbols/affinity/square/blue/globe.svg
new file mode 100644
index 000000000..6dd03cbd9
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/globe.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/grid.svg b/gns3server/symbols/affinity/square/blue/grid.svg
index 707a14677..de9073d32 100644
--- a/gns3server/symbols/affinity/square/blue/grid.svg
+++ b/gns3server/symbols/affinity/square/blue/grid.svg
@@ -1,34 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/grid2.svg b/gns3server/symbols/affinity/square/blue/grid2.svg
index 1e6de9352..09e3f6036 100644
--- a/gns3server/symbols/affinity/square/blue/grid2.svg
+++ b/gns3server/symbols/affinity/square/blue/grid2.svg
@@ -1,34 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/health.svg b/gns3server/symbols/affinity/square/blue/health.svg
new file mode 100644
index 000000000..78dae838d
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/health.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/house.svg b/gns3server/symbols/affinity/square/blue/house.svg
new file mode 100644
index 000000000..5ac25b790
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/house.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/hub.svg b/gns3server/symbols/affinity/square/blue/hub.svg
index fa00a60c5..e65dcfd0b 100644
--- a/gns3server/symbols/affinity/square/blue/hub.svg
+++ b/gns3server/symbols/affinity/square/blue/hub.svg
@@ -1,33 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/inspect.svg b/gns3server/symbols/affinity/square/blue/inspect.svg
new file mode 100644
index 000000000..abf381b86
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/inspect.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/inspect2.svg b/gns3server/symbols/affinity/square/blue/inspect2.svg
index a2390b187..c763e6c6b 100644
--- a/gns3server/symbols/affinity/square/blue/inspect2.svg
+++ b/gns3server/symbols/affinity/square/blue/inspect2.svg
@@ -1,44 +1,9 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/inspect3.svg b/gns3server/symbols/affinity/square/blue/inspect3.svg
deleted file mode 100644
index ed4b10dea..000000000
--- a/gns3server/symbols/affinity/square/blue/inspect3.svg
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
diff --git a/gns3server/symbols/affinity/square/blue/interconnect.svg b/gns3server/symbols/affinity/square/blue/interconnect.svg
index c6c6a2b55..6ff759628 100644
--- a/gns3server/symbols/affinity/square/blue/interconnect.svg
+++ b/gns3server/symbols/affinity/square/blue/interconnect.svg
@@ -1,37 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/ip_phone.svg b/gns3server/symbols/affinity/square/blue/ip_phone.svg
new file mode 100644
index 000000000..702776d04
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/ip_phone.svg
@@ -0,0 +1,23 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/isdn.svg b/gns3server/symbols/affinity/square/blue/isdn.svg
index 65c6b7077..c57044e4e 100644
--- a/gns3server/symbols/affinity/square/blue/isdn.svg
+++ b/gns3server/symbols/affinity/square/blue/isdn.svg
@@ -1,33 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/laptop.svg b/gns3server/symbols/affinity/square/blue/laptop.svg
new file mode 100644
index 000000000..87c833b21
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/laptop.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/ldap.svg b/gns3server/symbols/affinity/square/blue/ldap.svg
index 027b58ca4..eefefaa17 100644
--- a/gns3server/symbols/affinity/square/blue/ldap.svg
+++ b/gns3server/symbols/affinity/square/blue/ldap.svg
@@ -1,31 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/light_bulb.svg b/gns3server/symbols/affinity/square/blue/light_bulb.svg
index 785648b8b..13e0aaf3d 100644
--- a/gns3server/symbols/affinity/square/blue/light_bulb.svg
+++ b/gns3server/symbols/affinity/square/blue/light_bulb.svg
@@ -1,63 +1,11 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/link.svg b/gns3server/symbols/affinity/square/blue/link.svg
index 3c7d4a23f..8b3c2819d 100644
--- a/gns3server/symbols/affinity/square/blue/link.svg
+++ b/gns3server/symbols/affinity/square/blue/link.svg
@@ -1,31 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/loadbalancer.svg b/gns3server/symbols/affinity/square/blue/loadbalancer.svg
new file mode 100644
index 000000000..142a91e6a
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/loadbalancer.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/nas.svg b/gns3server/symbols/affinity/square/blue/nas.svg
index 8edcb408e..8b9233bcd 100644
--- a/gns3server/symbols/affinity/square/blue/nas.svg
+++ b/gns3server/symbols/affinity/square/blue/nas.svg
@@ -1,33 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/office.svg b/gns3server/symbols/affinity/square/blue/office.svg
new file mode 100644
index 000000000..51343200a
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/office.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/optical.svg b/gns3server/symbols/affinity/square/blue/optical.svg
new file mode 100644
index 000000000..7ed27411f
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/optical.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/phone_cloud.svg b/gns3server/symbols/affinity/square/blue/phone_cloud.svg
new file mode 100644
index 000000000..4996273b2
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/phone_cloud.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/phone_old.svg b/gns3server/symbols/affinity/square/blue/phone_old.svg
new file mode 100644
index 000000000..037d3094f
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/phone_old.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/phone_wireless.svg b/gns3server/symbols/affinity/square/blue/phone_wireless.svg
new file mode 100644
index 000000000..6124446d1
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/phone_wireless.svg
@@ -0,0 +1,10 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/pinpoint.svg b/gns3server/symbols/affinity/square/blue/pinpoint.svg
index 2883f25fc..f78859d8b 100644
--- a/gns3server/symbols/affinity/square/blue/pinpoint.svg
+++ b/gns3server/symbols/affinity/square/blue/pinpoint.svg
@@ -1,49 +1,9 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/printer.svg b/gns3server/symbols/affinity/square/blue/printer.svg
index 9f37660a8..ca32544f9 100644
--- a/gns3server/symbols/affinity/square/blue/printer.svg
+++ b/gns3server/symbols/affinity/square/blue/printer.svg
@@ -1,95 +1,27 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/rj45.svg b/gns3server/symbols/affinity/square/blue/rj45.svg
index e0467863c..ef6607910 100644
--- a/gns3server/symbols/affinity/square/blue/rj45.svg
+++ b/gns3server/symbols/affinity/square/blue/rj45.svg
@@ -1,66 +1,14 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/router.svg b/gns3server/symbols/affinity/square/blue/router.svg
index 5e331a0fb..01d44c181 100644
--- a/gns3server/symbols/affinity/square/blue/router.svg
+++ b/gns3server/symbols/affinity/square/blue/router.svg
@@ -1,33 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/router2.svg b/gns3server/symbols/affinity/square/blue/router2.svg
new file mode 100644
index 000000000..69cb857d7
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/router2.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/router_cloud.svg b/gns3server/symbols/affinity/square/blue/router_cloud.svg
index 2efb4854f..2201fb0f9 100644
--- a/gns3server/symbols/affinity/square/blue/router_cloud.svg
+++ b/gns3server/symbols/affinity/square/blue/router_cloud.svg
@@ -1,39 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/satellite.svg b/gns3server/symbols/affinity/square/blue/satellite.svg
index c9d9995ad..bf3816b64 100644
--- a/gns3server/symbols/affinity/square/blue/satellite.svg
+++ b/gns3server/symbols/affinity/square/blue/satellite.svg
@@ -1,38 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/satellite_dish.svg b/gns3server/symbols/affinity/square/blue/satellite_dish.svg
index ce8d95f55..f5a81a37d 100644
--- a/gns3server/symbols/affinity/square/blue/satellite_dish.svg
+++ b/gns3server/symbols/affinity/square/blue/satellite_dish.svg
@@ -1,39 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/scull.svg b/gns3server/symbols/affinity/square/blue/scull.svg
index 3ec598e38..ea9120b72 100644
--- a/gns3server/symbols/affinity/square/blue/scull.svg
+++ b/gns3server/symbols/affinity/square/blue/scull.svg
@@ -1,47 +1,10 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/server-cluster.svg b/gns3server/symbols/affinity/square/blue/server-cluster.svg
deleted file mode 100644
index 85c040867..000000000
--- a/gns3server/symbols/affinity/square/blue/server-cluster.svg
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
diff --git a/gns3server/symbols/affinity/square/blue/server.svg b/gns3server/symbols/affinity/square/blue/server.svg
index daa38df7e..93e23fae5 100644
--- a/gns3server/symbols/affinity/square/blue/server.svg
+++ b/gns3server/symbols/affinity/square/blue/server.svg
@@ -1,31 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/server_cluster.svg b/gns3server/symbols/affinity/square/blue/server_cluster.svg
new file mode 100644
index 000000000..b24db4d4a
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/server_cluster.svg
@@ -0,0 +1,9 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/shield.svg b/gns3server/symbols/affinity/square/blue/shield.svg
new file mode 100644
index 000000000..ffc683f95
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/shield.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/square.svg b/gns3server/symbols/affinity/square/blue/square.svg
deleted file mode 100644
index 252869b04..000000000
--- a/gns3server/symbols/affinity/square/blue/square.svg
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
diff --git a/gns3server/symbols/affinity/square/blue/statistics.svg b/gns3server/symbols/affinity/square/blue/statistics.svg
index fb3cd8ead..c6ea68aa3 100644
--- a/gns3server/symbols/affinity/square/blue/statistics.svg
+++ b/gns3server/symbols/affinity/square/blue/statistics.svg
@@ -1,41 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/storage.svg b/gns3server/symbols/affinity/square/blue/storage.svg
index 4aa57fa77..1abe53bb8 100644
--- a/gns3server/symbols/affinity/square/blue/storage.svg
+++ b/gns3server/symbols/affinity/square/blue/storage.svg
@@ -1,31 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/switch.svg b/gns3server/symbols/affinity/square/blue/switch.svg
index c6402d689..2892340f7 100644
--- a/gns3server/symbols/affinity/square/blue/switch.svg
+++ b/gns3server/symbols/affinity/square/blue/switch.svg
@@ -1,46 +1,10 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/switch_multilayer.svg b/gns3server/symbols/affinity/square/blue/switch_multilayer.svg
index e6adbb403..909f849b2 100644
--- a/gns3server/symbols/affinity/square/blue/switch_multilayer.svg
+++ b/gns3server/symbols/affinity/square/blue/switch_multilayer.svg
@@ -1,46 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/tablet.svg b/gns3server/symbols/affinity/square/blue/tablet.svg
index 8cb60a879..e0dd6b5df 100644
--- a/gns3server/symbols/affinity/square/blue/tablet.svg
+++ b/gns3server/symbols/affinity/square/blue/tablet.svg
@@ -1,43 +1,9 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/template.svg b/gns3server/symbols/affinity/square/blue/template.svg
new file mode 100644
index 000000000..0df271fc5
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/template.svg
@@ -0,0 +1,4 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/tree.svg b/gns3server/symbols/affinity/square/blue/tree.svg
index 45dca30fb..df07b2abb 100644
--- a/gns3server/symbols/affinity/square/blue/tree.svg
+++ b/gns3server/symbols/affinity/square/blue/tree.svg
@@ -1,31 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/user.svg b/gns3server/symbols/affinity/square/blue/user.svg
index 66a94d1dd..c82973ea8 100644
--- a/gns3server/symbols/affinity/square/blue/user.svg
+++ b/gns3server/symbols/affinity/square/blue/user.svg
@@ -1,33 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/virtualbox.svg b/gns3server/symbols/affinity/square/blue/virtualbox.svg
index 73ca65281..c2837bf58 100644
--- a/gns3server/symbols/affinity/square/blue/virtualbox.svg
+++ b/gns3server/symbols/affinity/square/blue/virtualbox.svg
@@ -1,58 +1,7 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/square/blue/vm.svg b/gns3server/symbols/affinity/square/blue/vm.svg
index 7a9c06468..a8a29521a 100644
--- a/gns3server/symbols/affinity/square/blue/vm.svg
+++ b/gns3server/symbols/affinity/square/blue/vm.svg
@@ -1,39 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/vmware.svg b/gns3server/symbols/affinity/square/blue/vmware.svg
index 025d0d73b..71193339f 100644
--- a/gns3server/symbols/affinity/square/blue/vmware.svg
+++ b/gns3server/symbols/affinity/square/blue/vmware.svg
@@ -1,58 +1,7 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/square/blue/vrf.svg b/gns3server/symbols/affinity/square/blue/vrf.svg
new file mode 100644
index 000000000..f9cf9e5f9
--- /dev/null
+++ b/gns3server/symbols/affinity/square/blue/vrf.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/blue/wifi.svg b/gns3server/symbols/affinity/square/blue/wifi.svg
index 484e0ea96..e188cf1fb 100644
--- a/gns3server/symbols/affinity/square/blue/wifi.svg
+++ b/gns3server/symbols/affinity/square/blue/wifi.svg
@@ -1,60 +1,13 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/wlc.svg b/gns3server/symbols/affinity/square/blue/wlc.svg
index 4420984fd..628e3f2e4 100644
--- a/gns3server/symbols/affinity/square/blue/wlc.svg
+++ b/gns3server/symbols/affinity/square/blue/wlc.svg
@@ -1,33 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/blue/xml.svg b/gns3server/symbols/affinity/square/blue/xml.svg
index 07c43180b..e69b32235 100644
--- a/gns3server/symbols/affinity/square/blue/xml.svg
+++ b/gns3server/symbols/affinity/square/blue/xml.svg
@@ -1,42 +1,10 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/atm.svg b/gns3server/symbols/affinity/square/gray/atm.svg
index 9546cb672..2a4888c2c 100644
--- a/gns3server/symbols/affinity/square/gray/atm.svg
+++ b/gns3server/symbols/affinity/square/gray/atm.svg
@@ -1,55 +1,5 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/square/gray/bug.svg b/gns3server/symbols/affinity/square/gray/bug.svg
new file mode 100644
index 000000000..64b520433
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/bug.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/camera.svg b/gns3server/symbols/affinity/square/gray/camera.svg
index e03927760..8a7f2c864 100644
--- a/gns3server/symbols/affinity/square/gray/camera.svg
+++ b/gns3server/symbols/affinity/square/gray/camera.svg
@@ -1,50 +1,12 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/camera_dome.svg b/gns3server/symbols/affinity/square/gray/camera_dome.svg
index 88df01b37..5b53915bc 100644
--- a/gns3server/symbols/affinity/square/gray/camera_dome.svg
+++ b/gns3server/symbols/affinity/square/gray/camera_dome.svg
@@ -1,36 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/client.svg b/gns3server/symbols/affinity/square/gray/client.svg
index 691cadc27..d85e5279b 100644
--- a/gns3server/symbols/affinity/square/gray/client.svg
+++ b/gns3server/symbols/affinity/square/gray/client.svg
@@ -1,41 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/client_vm.svg b/gns3server/symbols/affinity/square/gray/client_vm.svg
index 56325050e..2de2d7da0 100644
--- a/gns3server/symbols/affinity/square/gray/client_vm.svg
+++ b/gns3server/symbols/affinity/square/gray/client_vm.svg
@@ -1,44 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/cloud.svg b/gns3server/symbols/affinity/square/gray/cloud.svg
index f2960e300..293424b05 100644
--- a/gns3server/symbols/affinity/square/gray/cloud.svg
+++ b/gns3server/symbols/affinity/square/gray/cloud.svg
@@ -1,57 +1,24 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/square/gray/coffee.svg b/gns3server/symbols/affinity/square/gray/coffee.svg
new file mode 100644
index 000000000..2a8f5d64f
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/coffee.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/cog.svg b/gns3server/symbols/affinity/square/gray/cog.svg
index bcc6dfc39..81bbe2135 100644
--- a/gns3server/symbols/affinity/square/gray/cog.svg
+++ b/gns3server/symbols/affinity/square/gray/cog.svg
@@ -1,40 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/communications.svg b/gns3server/symbols/affinity/square/gray/communications.svg
index 9bcddbe05..bebd6878e 100644
--- a/gns3server/symbols/affinity/square/gray/communications.svg
+++ b/gns3server/symbols/affinity/square/gray/communications.svg
@@ -1,38 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/conversation.svg b/gns3server/symbols/affinity/square/gray/conversation.svg
index 58a3ca030..1c8b47a6c 100644
--- a/gns3server/symbols/affinity/square/gray/conversation.svg
+++ b/gns3server/symbols/affinity/square/gray/conversation.svg
@@ -1,45 +1,12 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/dna.svg b/gns3server/symbols/affinity/square/gray/dna.svg
new file mode 100644
index 000000000..51b522614
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/dna.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/dna2.svg b/gns3server/symbols/affinity/square/gray/dna2.svg
new file mode 100644
index 000000000..536ad925c
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/dna2.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/docker.svg b/gns3server/symbols/affinity/square/gray/docker.svg
index c848f6417..438efc7b3 100644
--- a/gns3server/symbols/affinity/square/gray/docker.svg
+++ b/gns3server/symbols/affinity/square/gray/docker.svg
@@ -1,106 +1,11 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/square/gray/dslam.svg b/gns3server/symbols/affinity/square/gray/dslam.svg
index de0f4c401..26fb6dc41 100644
--- a/gns3server/symbols/affinity/square/gray/dslam.svg
+++ b/gns3server/symbols/affinity/square/gray/dslam.svg
@@ -1,39 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/factory.svg b/gns3server/symbols/affinity/square/gray/factory.svg
new file mode 100644
index 000000000..0dc9a9f16
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/factory.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/fingerprint.svg b/gns3server/symbols/affinity/square/gray/fingerprint.svg
index 2ca9dc5eb..308d0ddfb 100644
--- a/gns3server/symbols/affinity/square/gray/fingerprint.svg
+++ b/gns3server/symbols/affinity/square/gray/fingerprint.svg
@@ -1,39 +1,9 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/firewall.svg b/gns3server/symbols/affinity/square/gray/firewall.svg
index 0e12ee4cb..5073aeee9 100644
--- a/gns3server/symbols/affinity/square/gray/firewall.svg
+++ b/gns3server/symbols/affinity/square/gray/firewall.svg
@@ -1,38 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/firewall3.svg b/gns3server/symbols/affinity/square/gray/firewall3.svg
index 590c3f5d3..8dd36417b 100644
--- a/gns3server/symbols/affinity/square/gray/firewall3.svg
+++ b/gns3server/symbols/affinity/square/gray/firewall3.svg
@@ -1,38 +1,6 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/globe.svg b/gns3server/symbols/affinity/square/gray/globe.svg
new file mode 100644
index 000000000..c2622b2d1
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/globe.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/grid.svg b/gns3server/symbols/affinity/square/gray/grid.svg
index bfdbc27a8..c28080eaa 100644
--- a/gns3server/symbols/affinity/square/gray/grid.svg
+++ b/gns3server/symbols/affinity/square/gray/grid.svg
@@ -1,34 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/grid2.svg b/gns3server/symbols/affinity/square/gray/grid2.svg
index e3e0b720c..583e6a0a0 100644
--- a/gns3server/symbols/affinity/square/gray/grid2.svg
+++ b/gns3server/symbols/affinity/square/gray/grid2.svg
@@ -1,34 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/health.svg b/gns3server/symbols/affinity/square/gray/health.svg
new file mode 100644
index 000000000..29b856479
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/health.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/house.svg b/gns3server/symbols/affinity/square/gray/house.svg
new file mode 100644
index 000000000..bb3a36d60
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/house.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/hub.svg b/gns3server/symbols/affinity/square/gray/hub.svg
index de51198c9..430f8ade0 100644
--- a/gns3server/symbols/affinity/square/gray/hub.svg
+++ b/gns3server/symbols/affinity/square/gray/hub.svg
@@ -1,33 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/inspect.svg b/gns3server/symbols/affinity/square/gray/inspect.svg
new file mode 100644
index 000000000..6e7f651d4
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/inspect.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/inspect2.svg b/gns3server/symbols/affinity/square/gray/inspect2.svg
index e1989a3a4..9567cf49e 100644
--- a/gns3server/symbols/affinity/square/gray/inspect2.svg
+++ b/gns3server/symbols/affinity/square/gray/inspect2.svg
@@ -1,44 +1,9 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/inspect3.svg b/gns3server/symbols/affinity/square/gray/inspect3.svg
deleted file mode 100644
index 93559b1b2..000000000
--- a/gns3server/symbols/affinity/square/gray/inspect3.svg
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
diff --git a/gns3server/symbols/affinity/square/gray/interconnect.svg b/gns3server/symbols/affinity/square/gray/interconnect.svg
index 2abbc2dd1..4a9adb3aa 100644
--- a/gns3server/symbols/affinity/square/gray/interconnect.svg
+++ b/gns3server/symbols/affinity/square/gray/interconnect.svg
@@ -1,37 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/ip_phone.svg b/gns3server/symbols/affinity/square/gray/ip_phone.svg
new file mode 100644
index 000000000..a1e9e7f2c
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/ip_phone.svg
@@ -0,0 +1,23 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/isdn.svg b/gns3server/symbols/affinity/square/gray/isdn.svg
index 762666792..afd1f0145 100644
--- a/gns3server/symbols/affinity/square/gray/isdn.svg
+++ b/gns3server/symbols/affinity/square/gray/isdn.svg
@@ -1,33 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/laptop.svg b/gns3server/symbols/affinity/square/gray/laptop.svg
new file mode 100644
index 000000000..69c461132
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/laptop.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/ldap.svg b/gns3server/symbols/affinity/square/gray/ldap.svg
index e8b124652..3f8144e2e 100644
--- a/gns3server/symbols/affinity/square/gray/ldap.svg
+++ b/gns3server/symbols/affinity/square/gray/ldap.svg
@@ -1,31 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/light_bulb.svg b/gns3server/symbols/affinity/square/gray/light_bulb.svg
index a6c59612a..111bb87fe 100644
--- a/gns3server/symbols/affinity/square/gray/light_bulb.svg
+++ b/gns3server/symbols/affinity/square/gray/light_bulb.svg
@@ -1,63 +1,11 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/link.svg b/gns3server/symbols/affinity/square/gray/link.svg
index eb1e3e749..7d7753194 100644
--- a/gns3server/symbols/affinity/square/gray/link.svg
+++ b/gns3server/symbols/affinity/square/gray/link.svg
@@ -1,31 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/loadbalancer.svg b/gns3server/symbols/affinity/square/gray/loadbalancer.svg
new file mode 100644
index 000000000..d2049a33a
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/loadbalancer.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/nas.svg b/gns3server/symbols/affinity/square/gray/nas.svg
index 68188666a..bcf0a6a28 100644
--- a/gns3server/symbols/affinity/square/gray/nas.svg
+++ b/gns3server/symbols/affinity/square/gray/nas.svg
@@ -1,33 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/office.svg b/gns3server/symbols/affinity/square/gray/office.svg
new file mode 100644
index 000000000..83e3a8ce5
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/office.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/optical.svg b/gns3server/symbols/affinity/square/gray/optical.svg
new file mode 100644
index 000000000..e18cfd4e3
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/optical.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/phone_cloud.svg b/gns3server/symbols/affinity/square/gray/phone_cloud.svg
new file mode 100644
index 000000000..86183738b
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/phone_cloud.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/phone_old.svg b/gns3server/symbols/affinity/square/gray/phone_old.svg
new file mode 100644
index 000000000..25469aa57
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/phone_old.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/phone_wireless.svg b/gns3server/symbols/affinity/square/gray/phone_wireless.svg
new file mode 100644
index 000000000..3cbf08c1d
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/phone_wireless.svg
@@ -0,0 +1,10 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/pinpoint.svg b/gns3server/symbols/affinity/square/gray/pinpoint.svg
index de8538c8c..878e8fe2b 100644
--- a/gns3server/symbols/affinity/square/gray/pinpoint.svg
+++ b/gns3server/symbols/affinity/square/gray/pinpoint.svg
@@ -1,49 +1,9 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/printer.svg b/gns3server/symbols/affinity/square/gray/printer.svg
index 6802242bf..83dea26d5 100644
--- a/gns3server/symbols/affinity/square/gray/printer.svg
+++ b/gns3server/symbols/affinity/square/gray/printer.svg
@@ -1,95 +1,27 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/rj45.svg b/gns3server/symbols/affinity/square/gray/rj45.svg
index b9068ec76..d555ce879 100644
--- a/gns3server/symbols/affinity/square/gray/rj45.svg
+++ b/gns3server/symbols/affinity/square/gray/rj45.svg
@@ -1,66 +1,14 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/router.svg b/gns3server/symbols/affinity/square/gray/router.svg
index cf729cb73..c0d7afdb8 100644
--- a/gns3server/symbols/affinity/square/gray/router.svg
+++ b/gns3server/symbols/affinity/square/gray/router.svg
@@ -1,33 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/router2.svg b/gns3server/symbols/affinity/square/gray/router2.svg
new file mode 100644
index 000000000..3ffc73ca2
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/router2.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/router_cloud.svg b/gns3server/symbols/affinity/square/gray/router_cloud.svg
index 7be089a1d..513cbd152 100644
--- a/gns3server/symbols/affinity/square/gray/router_cloud.svg
+++ b/gns3server/symbols/affinity/square/gray/router_cloud.svg
@@ -1,39 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/satellite.svg b/gns3server/symbols/affinity/square/gray/satellite.svg
index 10b0a61cc..5e25d1c37 100644
--- a/gns3server/symbols/affinity/square/gray/satellite.svg
+++ b/gns3server/symbols/affinity/square/gray/satellite.svg
@@ -1,38 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/satellite_dish.svg b/gns3server/symbols/affinity/square/gray/satellite_dish.svg
index 97a59ce29..556a1afc8 100644
--- a/gns3server/symbols/affinity/square/gray/satellite_dish.svg
+++ b/gns3server/symbols/affinity/square/gray/satellite_dish.svg
@@ -1,39 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/scull.svg b/gns3server/symbols/affinity/square/gray/scull.svg
index edb21c806..e966cdcd2 100644
--- a/gns3server/symbols/affinity/square/gray/scull.svg
+++ b/gns3server/symbols/affinity/square/gray/scull.svg
@@ -1,47 +1,10 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/server-cluster.svg b/gns3server/symbols/affinity/square/gray/server-cluster.svg
deleted file mode 100644
index 4ee477795..000000000
--- a/gns3server/symbols/affinity/square/gray/server-cluster.svg
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
diff --git a/gns3server/symbols/affinity/square/gray/server.svg b/gns3server/symbols/affinity/square/gray/server.svg
index d3e1047fa..23abea2a6 100644
--- a/gns3server/symbols/affinity/square/gray/server.svg
+++ b/gns3server/symbols/affinity/square/gray/server.svg
@@ -1,31 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/server_cluster.svg b/gns3server/symbols/affinity/square/gray/server_cluster.svg
new file mode 100644
index 000000000..24d7becf0
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/server_cluster.svg
@@ -0,0 +1,9 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/shield.svg b/gns3server/symbols/affinity/square/gray/shield.svg
new file mode 100644
index 000000000..fcc4831e3
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/shield.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/square.svg b/gns3server/symbols/affinity/square/gray/square.svg
deleted file mode 100644
index 85150d433..000000000
--- a/gns3server/symbols/affinity/square/gray/square.svg
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
diff --git a/gns3server/symbols/affinity/square/gray/statistics.svg b/gns3server/symbols/affinity/square/gray/statistics.svg
index a43834af8..477743921 100644
--- a/gns3server/symbols/affinity/square/gray/statistics.svg
+++ b/gns3server/symbols/affinity/square/gray/statistics.svg
@@ -1,41 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/storage.svg b/gns3server/symbols/affinity/square/gray/storage.svg
index 82e49b5d9..5ee34828a 100644
--- a/gns3server/symbols/affinity/square/gray/storage.svg
+++ b/gns3server/symbols/affinity/square/gray/storage.svg
@@ -1,31 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/switch.svg b/gns3server/symbols/affinity/square/gray/switch.svg
index 773a18606..071ea8c89 100644
--- a/gns3server/symbols/affinity/square/gray/switch.svg
+++ b/gns3server/symbols/affinity/square/gray/switch.svg
@@ -1,46 +1,10 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/switch_multilayer.svg b/gns3server/symbols/affinity/square/gray/switch_multilayer.svg
index c2a59e2c0..e4815429a 100644
--- a/gns3server/symbols/affinity/square/gray/switch_multilayer.svg
+++ b/gns3server/symbols/affinity/square/gray/switch_multilayer.svg
@@ -1,46 +1,9 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/tablet.svg b/gns3server/symbols/affinity/square/gray/tablet.svg
index 491add8d9..945d8277e 100644
--- a/gns3server/symbols/affinity/square/gray/tablet.svg
+++ b/gns3server/symbols/affinity/square/gray/tablet.svg
@@ -1,43 +1,9 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/template.svg b/gns3server/symbols/affinity/square/gray/template.svg
new file mode 100644
index 000000000..ed9acfc7c
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/template.svg
@@ -0,0 +1,4 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/tree.svg b/gns3server/symbols/affinity/square/gray/tree.svg
index 18c342c25..329b99e8c 100644
--- a/gns3server/symbols/affinity/square/gray/tree.svg
+++ b/gns3server/symbols/affinity/square/gray/tree.svg
@@ -1,31 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/user.svg b/gns3server/symbols/affinity/square/gray/user.svg
index 34b0952c2..e000487f4 100644
--- a/gns3server/symbols/affinity/square/gray/user.svg
+++ b/gns3server/symbols/affinity/square/gray/user.svg
@@ -1,33 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/virtualbox.svg b/gns3server/symbols/affinity/square/gray/virtualbox.svg
index f035d6b37..92b5b21b8 100644
--- a/gns3server/symbols/affinity/square/gray/virtualbox.svg
+++ b/gns3server/symbols/affinity/square/gray/virtualbox.svg
@@ -1,58 +1,7 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/square/gray/vm.svg b/gns3server/symbols/affinity/square/gray/vm.svg
index 5d2403a90..a31fbd4bf 100644
--- a/gns3server/symbols/affinity/square/gray/vm.svg
+++ b/gns3server/symbols/affinity/square/gray/vm.svg
@@ -1,39 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/vmware.svg b/gns3server/symbols/affinity/square/gray/vmware.svg
index 16f994df1..4ce7c8af6 100644
--- a/gns3server/symbols/affinity/square/gray/vmware.svg
+++ b/gns3server/symbols/affinity/square/gray/vmware.svg
@@ -1,58 +1,7 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/square/gray/vrf.svg b/gns3server/symbols/affinity/square/gray/vrf.svg
new file mode 100644
index 000000000..bd7d72dba
--- /dev/null
+++ b/gns3server/symbols/affinity/square/gray/vrf.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/gray/wifi.svg b/gns3server/symbols/affinity/square/gray/wifi.svg
index 94fc57d5a..980feee30 100644
--- a/gns3server/symbols/affinity/square/gray/wifi.svg
+++ b/gns3server/symbols/affinity/square/gray/wifi.svg
@@ -1,60 +1,13 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/wlc.svg b/gns3server/symbols/affinity/square/gray/wlc.svg
index 04cb280cc..51800a063 100644
--- a/gns3server/symbols/affinity/square/gray/wlc.svg
+++ b/gns3server/symbols/affinity/square/gray/wlc.svg
@@ -1,33 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/gray/xml.svg b/gns3server/symbols/affinity/square/gray/xml.svg
index 34012cfd7..b45705431 100644
--- a/gns3server/symbols/affinity/square/gray/xml.svg
+++ b/gns3server/symbols/affinity/square/gray/xml.svg
@@ -1,42 +1,10 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/green/atm.svg b/gns3server/symbols/affinity/square/green/atm.svg
new file mode 100644
index 000000000..12ab29443
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/atm.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/bug.svg b/gns3server/symbols/affinity/square/green/bug.svg
new file mode 100644
index 000000000..81fae1927
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/bug.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/camera.svg b/gns3server/symbols/affinity/square/green/camera.svg
new file mode 100644
index 000000000..adbb21da8
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/camera.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/camera_dome.svg b/gns3server/symbols/affinity/square/green/camera_dome.svg
new file mode 100644
index 000000000..96bb5720a
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/camera_dome.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/square/green/client.svg b/gns3server/symbols/affinity/square/green/client.svg
new file mode 100644
index 000000000..4a91eaaa7
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/client.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/client_vm.svg b/gns3server/symbols/affinity/square/green/client_vm.svg
new file mode 100644
index 000000000..64379f3a3
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/client_vm.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/square/green/cloud.svg b/gns3server/symbols/affinity/square/green/cloud.svg
new file mode 100644
index 000000000..aec8adc33
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/cloud.svg
@@ -0,0 +1,24 @@
+
diff --git a/gns3server/symbols/affinity/square/green/coffee.svg b/gns3server/symbols/affinity/square/green/coffee.svg
new file mode 100644
index 000000000..f47d8605e
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/coffee.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/cog.svg b/gns3server/symbols/affinity/square/green/cog.svg
new file mode 100644
index 000000000..4a51ebefe
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/cog.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/communications.svg b/gns3server/symbols/affinity/square/green/communications.svg
new file mode 100644
index 000000000..812b486e3
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/communications.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/conversation.svg b/gns3server/symbols/affinity/square/green/conversation.svg
new file mode 100644
index 000000000..d47183e01
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/conversation.svg
@@ -0,0 +1,12 @@
+
diff --git a/gns3server/symbols/affinity/square/green/dna.svg b/gns3server/symbols/affinity/square/green/dna.svg
new file mode 100644
index 000000000..1d6aed842
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/dna.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/square/green/dna2.svg b/gns3server/symbols/affinity/square/green/dna2.svg
new file mode 100644
index 000000000..650471d64
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/dna2.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/square/green/docker.svg b/gns3server/symbols/affinity/square/green/docker.svg
new file mode 100644
index 000000000..27aa0ca88
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/docker.svg
@@ -0,0 +1,11 @@
+
diff --git a/gns3server/symbols/affinity/square/green/dslam.svg b/gns3server/symbols/affinity/square/green/dslam.svg
new file mode 100644
index 000000000..a508c8b0b
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/dslam.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/factory.svg b/gns3server/symbols/affinity/square/green/factory.svg
new file mode 100644
index 000000000..a99554dcc
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/factory.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/fingerprint.svg b/gns3server/symbols/affinity/square/green/fingerprint.svg
new file mode 100644
index 000000000..c09e4f105
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/fingerprint.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/firewall.svg b/gns3server/symbols/affinity/square/green/firewall.svg
new file mode 100644
index 000000000..7db0bdca9
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/firewall.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/firewall3.svg b/gns3server/symbols/affinity/square/green/firewall3.svg
new file mode 100644
index 000000000..3a611e717
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/firewall3.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/globe.svg b/gns3server/symbols/affinity/square/green/globe.svg
new file mode 100644
index 000000000..31121bcfa
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/globe.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/grid.svg b/gns3server/symbols/affinity/square/green/grid.svg
new file mode 100644
index 000000000..77317030a
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/grid.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/grid2.svg b/gns3server/symbols/affinity/square/green/grid2.svg
new file mode 100644
index 000000000..702cf7119
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/grid2.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/health.svg b/gns3server/symbols/affinity/square/green/health.svg
new file mode 100644
index 000000000..242f8d3c4
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/health.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/house.svg b/gns3server/symbols/affinity/square/green/house.svg
new file mode 100644
index 000000000..ab49e640d
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/house.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/square/green/hub.svg b/gns3server/symbols/affinity/square/green/hub.svg
new file mode 100644
index 000000000..1d2aafb73
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/hub.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/inspect.svg b/gns3server/symbols/affinity/square/green/inspect.svg
new file mode 100644
index 000000000..e79e0d59b
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/inspect.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/inspect2.svg b/gns3server/symbols/affinity/square/green/inspect2.svg
new file mode 100644
index 000000000..ee5512236
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/inspect2.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/interconnect.svg b/gns3server/symbols/affinity/square/green/interconnect.svg
new file mode 100644
index 000000000..1479dd481
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/interconnect.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/ip_phone.svg b/gns3server/symbols/affinity/square/green/ip_phone.svg
new file mode 100644
index 000000000..ecb74a406
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/ip_phone.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/square/green/isdn.svg b/gns3server/symbols/affinity/square/green/isdn.svg
new file mode 100644
index 000000000..5632a3fed
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/isdn.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/laptop.svg b/gns3server/symbols/affinity/square/green/laptop.svg
new file mode 100644
index 000000000..c43c83975
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/laptop.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/square/green/ldap.svg b/gns3server/symbols/affinity/square/green/ldap.svg
new file mode 100644
index 000000000..d4d29b9b9
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/ldap.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/light_bulb.svg b/gns3server/symbols/affinity/square/green/light_bulb.svg
new file mode 100644
index 000000000..76ed423a6
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/light_bulb.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/link.svg b/gns3server/symbols/affinity/square/green/link.svg
new file mode 100644
index 000000000..05e833d51
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/link.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/loadbalancer.svg b/gns3server/symbols/affinity/square/green/loadbalancer.svg
new file mode 100644
index 000000000..cd0de73ac
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/loadbalancer.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/nas.svg b/gns3server/symbols/affinity/square/green/nas.svg
new file mode 100644
index 000000000..95612fc74
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/nas.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/office.svg b/gns3server/symbols/affinity/square/green/office.svg
new file mode 100644
index 000000000..967a35c0c
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/office.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/optical.svg b/gns3server/symbols/affinity/square/green/optical.svg
new file mode 100644
index 000000000..06a62c9ae
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/optical.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/square/green/phone_cloud.svg b/gns3server/symbols/affinity/square/green/phone_cloud.svg
new file mode 100644
index 000000000..e61ae73f8
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/phone_cloud.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/square/green/phone_old.svg b/gns3server/symbols/affinity/square/green/phone_old.svg
new file mode 100644
index 000000000..7888af43a
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/phone_old.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/phone_wireless.svg b/gns3server/symbols/affinity/square/green/phone_wireless.svg
new file mode 100644
index 000000000..cdc8c3e20
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/phone_wireless.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/pinpoint.svg b/gns3server/symbols/affinity/square/green/pinpoint.svg
new file mode 100644
index 000000000..69824bf51
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/pinpoint.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/printer.svg b/gns3server/symbols/affinity/square/green/printer.svg
new file mode 100644
index 000000000..780b0f64d
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/printer.svg
@@ -0,0 +1,27 @@
+
diff --git a/gns3server/symbols/affinity/square/green/rj45.svg b/gns3server/symbols/affinity/square/green/rj45.svg
new file mode 100644
index 000000000..7f095c279
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/rj45.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/router.svg b/gns3server/symbols/affinity/square/green/router.svg
new file mode 100644
index 000000000..1e0cb6490
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/router.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/router2.svg b/gns3server/symbols/affinity/square/green/router2.svg
new file mode 100644
index 000000000..dce58cf1b
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/router2.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/router_cloud.svg b/gns3server/symbols/affinity/square/green/router_cloud.svg
new file mode 100644
index 000000000..3afbcc4e9
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/router_cloud.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/square/green/satellite.svg b/gns3server/symbols/affinity/square/green/satellite.svg
new file mode 100644
index 000000000..7d443f732
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/satellite.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/satellite_dish.svg b/gns3server/symbols/affinity/square/green/satellite_dish.svg
new file mode 100644
index 000000000..3e0f3e95e
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/satellite_dish.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/scull.svg b/gns3server/symbols/affinity/square/green/scull.svg
new file mode 100644
index 000000000..49249e1f4
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/scull.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/square/green/server.svg b/gns3server/symbols/affinity/square/green/server.svg
new file mode 100644
index 000000000..143cfaa34
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/server.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/server_cluster.svg b/gns3server/symbols/affinity/square/green/server_cluster.svg
new file mode 100644
index 000000000..7aaad0ab7
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/server_cluster.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/square/green/shield.svg b/gns3server/symbols/affinity/square/green/shield.svg
new file mode 100644
index 000000000..689d91b0e
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/shield.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/statistics.svg b/gns3server/symbols/affinity/square/green/statistics.svg
new file mode 100644
index 000000000..5754dfa4e
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/statistics.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/storage.svg b/gns3server/symbols/affinity/square/green/storage.svg
new file mode 100644
index 000000000..325914a16
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/storage.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/switch.svg b/gns3server/symbols/affinity/square/green/switch.svg
new file mode 100644
index 000000000..70f15805c
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/switch.svg
@@ -0,0 +1,10 @@
+
diff --git a/gns3server/symbols/affinity/square/green/switch_multilayer.svg b/gns3server/symbols/affinity/square/green/switch_multilayer.svg
new file mode 100644
index 000000000..26127b979
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/switch_multilayer.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/tablet.svg b/gns3server/symbols/affinity/square/green/tablet.svg
new file mode 100644
index 000000000..65e1820fa
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/tablet.svg
@@ -0,0 +1,9 @@
+
diff --git a/gns3server/symbols/affinity/square/green/template.svg b/gns3server/symbols/affinity/square/green/template.svg
new file mode 100644
index 000000000..c97f20dc1
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/template.svg
@@ -0,0 +1,4 @@
+
diff --git a/gns3server/symbols/affinity/square/green/tree.svg b/gns3server/symbols/affinity/square/green/tree.svg
new file mode 100644
index 000000000..00c744c24
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/tree.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/user.svg b/gns3server/symbols/affinity/square/green/user.svg
new file mode 100644
index 000000000..4c27e4081
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/user.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/square/green/virtualbox.svg b/gns3server/symbols/affinity/square/green/virtualbox.svg
new file mode 100644
index 000000000..78196c324
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/virtualbox.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/square/green/vm.svg b/gns3server/symbols/affinity/square/green/vm.svg
new file mode 100644
index 000000000..67a00eb4d
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/vm.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/square/green/vmware.svg b/gns3server/symbols/affinity/square/green/vmware.svg
new file mode 100644
index 000000000..489d19428
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/vmware.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/square/green/vrf.svg b/gns3server/symbols/affinity/square/green/vrf.svg
new file mode 100644
index 000000000..821973ace
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/vrf.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/wifi.svg b/gns3server/symbols/affinity/square/green/wifi.svg
new file mode 100644
index 000000000..8bd77083e
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/wifi.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/wlc.svg b/gns3server/symbols/affinity/square/green/wlc.svg
new file mode 100644
index 000000000..97e78c9c3
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/wlc.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/green/xml.svg b/gns3server/symbols/affinity/square/green/xml.svg
new file mode 100644
index 000000000..0dcec5a4b
--- /dev/null
+++ b/gns3server/symbols/affinity/square/green/xml.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/red/atm.svg b/gns3server/symbols/affinity/square/red/atm.svg
index 0a8b06544..f99cf6ce4 100644
--- a/gns3server/symbols/affinity/square/red/atm.svg
+++ b/gns3server/symbols/affinity/square/red/atm.svg
@@ -1,55 +1,5 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/square/red/bug.svg b/gns3server/symbols/affinity/square/red/bug.svg
new file mode 100644
index 000000000..62905dc4f
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/bug.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/red/camera.svg b/gns3server/symbols/affinity/square/red/camera.svg
index a85036164..fe9b5e7b1 100644
--- a/gns3server/symbols/affinity/square/red/camera.svg
+++ b/gns3server/symbols/affinity/square/red/camera.svg
@@ -1,50 +1,12 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/camera_dome.svg b/gns3server/symbols/affinity/square/red/camera_dome.svg
index 0a87c8760..b67414012 100644
--- a/gns3server/symbols/affinity/square/red/camera_dome.svg
+++ b/gns3server/symbols/affinity/square/red/camera_dome.svg
@@ -1,36 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/client.svg b/gns3server/symbols/affinity/square/red/client.svg
index f85e5ab62..130a7c7d0 100644
--- a/gns3server/symbols/affinity/square/red/client.svg
+++ b/gns3server/symbols/affinity/square/red/client.svg
@@ -1,41 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/client_vm.svg b/gns3server/symbols/affinity/square/red/client_vm.svg
index 0c7e0ffee..066c28e8d 100644
--- a/gns3server/symbols/affinity/square/red/client_vm.svg
+++ b/gns3server/symbols/affinity/square/red/client_vm.svg
@@ -1,44 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/cloud.svg b/gns3server/symbols/affinity/square/red/cloud.svg
index 4a0b045ca..3d4cae62e 100644
--- a/gns3server/symbols/affinity/square/red/cloud.svg
+++ b/gns3server/symbols/affinity/square/red/cloud.svg
@@ -1,57 +1,12 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/square/red/coffee.svg b/gns3server/symbols/affinity/square/red/coffee.svg
new file mode 100644
index 000000000..87fd2f893
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/coffee.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/red/cog.svg b/gns3server/symbols/affinity/square/red/cog.svg
index 70c77245e..8cd6eb3a2 100644
--- a/gns3server/symbols/affinity/square/red/cog.svg
+++ b/gns3server/symbols/affinity/square/red/cog.svg
@@ -1,40 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/communications.svg b/gns3server/symbols/affinity/square/red/communications.svg
index c04e42a67..fbb281a90 100644
--- a/gns3server/symbols/affinity/square/red/communications.svg
+++ b/gns3server/symbols/affinity/square/red/communications.svg
@@ -1,38 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/conversation.svg b/gns3server/symbols/affinity/square/red/conversation.svg
index 694f4488d..7909803ed 100644
--- a/gns3server/symbols/affinity/square/red/conversation.svg
+++ b/gns3server/symbols/affinity/square/red/conversation.svg
@@ -1,45 +1,12 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/dna.svg b/gns3server/symbols/affinity/square/red/dna.svg
new file mode 100644
index 000000000..39f974918
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/dna.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/square/red/dna2.svg b/gns3server/symbols/affinity/square/red/dna2.svg
new file mode 100644
index 000000000..3cdb7bacc
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/dna2.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/square/red/docker.svg b/gns3server/symbols/affinity/square/red/docker.svg
index 28ef76894..19d6b838f 100644
--- a/gns3server/symbols/affinity/square/red/docker.svg
+++ b/gns3server/symbols/affinity/square/red/docker.svg
@@ -1,106 +1,11 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/square/red/dslam.svg b/gns3server/symbols/affinity/square/red/dslam.svg
index b914299a1..d40a37cfd 100644
--- a/gns3server/symbols/affinity/square/red/dslam.svg
+++ b/gns3server/symbols/affinity/square/red/dslam.svg
@@ -1,39 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/factory.svg b/gns3server/symbols/affinity/square/red/factory.svg
new file mode 100644
index 000000000..9d42848dd
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/factory.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/red/fingerprint.svg b/gns3server/symbols/affinity/square/red/fingerprint.svg
index e7685b6fa..a795a3f81 100644
--- a/gns3server/symbols/affinity/square/red/fingerprint.svg
+++ b/gns3server/symbols/affinity/square/red/fingerprint.svg
@@ -1,39 +1,9 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/firewall.svg b/gns3server/symbols/affinity/square/red/firewall.svg
index 0785fff8f..17e7e21e5 100644
--- a/gns3server/symbols/affinity/square/red/firewall.svg
+++ b/gns3server/symbols/affinity/square/red/firewall.svg
@@ -1,38 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/firewall3.svg b/gns3server/symbols/affinity/square/red/firewall3.svg
index 2ce7389b8..5d645bbed 100644
--- a/gns3server/symbols/affinity/square/red/firewall3.svg
+++ b/gns3server/symbols/affinity/square/red/firewall3.svg
@@ -1,38 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/globe.svg b/gns3server/symbols/affinity/square/red/globe.svg
new file mode 100644
index 000000000..161614c9a
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/globe.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/red/grid.svg b/gns3server/symbols/affinity/square/red/grid.svg
index 367e17270..92f90b04e 100644
--- a/gns3server/symbols/affinity/square/red/grid.svg
+++ b/gns3server/symbols/affinity/square/red/grid.svg
@@ -1,34 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/grid2.svg b/gns3server/symbols/affinity/square/red/grid2.svg
index 30cc6fc28..893a56392 100644
--- a/gns3server/symbols/affinity/square/red/grid2.svg
+++ b/gns3server/symbols/affinity/square/red/grid2.svg
@@ -1,34 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/health.svg b/gns3server/symbols/affinity/square/red/health.svg
new file mode 100644
index 000000000..6f267756d
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/health.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/red/house.svg b/gns3server/symbols/affinity/square/red/house.svg
new file mode 100644
index 000000000..0a8c121f8
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/house.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/square/red/hub.svg b/gns3server/symbols/affinity/square/red/hub.svg
index c85a6efab..6003f7bff 100644
--- a/gns3server/symbols/affinity/square/red/hub.svg
+++ b/gns3server/symbols/affinity/square/red/hub.svg
@@ -1,33 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/inspect.svg b/gns3server/symbols/affinity/square/red/inspect.svg
new file mode 100644
index 000000000..e6688167a
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/inspect.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/red/inspect2.svg b/gns3server/symbols/affinity/square/red/inspect2.svg
index fa93643b0..4828f6b33 100644
--- a/gns3server/symbols/affinity/square/red/inspect2.svg
+++ b/gns3server/symbols/affinity/square/red/inspect2.svg
@@ -1,44 +1,9 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/inspect3.svg b/gns3server/symbols/affinity/square/red/inspect3.svg
deleted file mode 100644
index c109c0831..000000000
--- a/gns3server/symbols/affinity/square/red/inspect3.svg
+++ /dev/null
@@ -1,43 +0,0 @@
-
-
diff --git a/gns3server/symbols/affinity/square/red/interconnect.svg b/gns3server/symbols/affinity/square/red/interconnect.svg
index a1a6e8a46..f7bd0619c 100644
--- a/gns3server/symbols/affinity/square/red/interconnect.svg
+++ b/gns3server/symbols/affinity/square/red/interconnect.svg
@@ -1,37 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/ip_phone.svg b/gns3server/symbols/affinity/square/red/ip_phone.svg
new file mode 100644
index 000000000..bf0cc140a
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/ip_phone.svg
@@ -0,0 +1,7 @@
+
diff --git a/gns3server/symbols/affinity/square/red/isdn.svg b/gns3server/symbols/affinity/square/red/isdn.svg
index 30c49bea0..0b3a71e7a 100644
--- a/gns3server/symbols/affinity/square/red/isdn.svg
+++ b/gns3server/symbols/affinity/square/red/isdn.svg
@@ -1,33 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/laptop.svg b/gns3server/symbols/affinity/square/red/laptop.svg
new file mode 100644
index 000000000..bee6f0658
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/laptop.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/square/red/ldap.svg b/gns3server/symbols/affinity/square/red/ldap.svg
index 4b663799e..8219bb960 100644
--- a/gns3server/symbols/affinity/square/red/ldap.svg
+++ b/gns3server/symbols/affinity/square/red/ldap.svg
@@ -1,31 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/light_bulb.svg b/gns3server/symbols/affinity/square/red/light_bulb.svg
index 33f005b8d..715870838 100644
--- a/gns3server/symbols/affinity/square/red/light_bulb.svg
+++ b/gns3server/symbols/affinity/square/red/light_bulb.svg
@@ -1,63 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/link.svg b/gns3server/symbols/affinity/square/red/link.svg
index 4b78f67a8..f829f5c0d 100644
--- a/gns3server/symbols/affinity/square/red/link.svg
+++ b/gns3server/symbols/affinity/square/red/link.svg
@@ -1,31 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/loadbalancer.svg b/gns3server/symbols/affinity/square/red/loadbalancer.svg
new file mode 100644
index 000000000..601591561
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/loadbalancer.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/red/nas.svg b/gns3server/symbols/affinity/square/red/nas.svg
index ece3902b5..cd82066a1 100644
--- a/gns3server/symbols/affinity/square/red/nas.svg
+++ b/gns3server/symbols/affinity/square/red/nas.svg
@@ -1,33 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/office.svg b/gns3server/symbols/affinity/square/red/office.svg
new file mode 100644
index 000000000..41e33980f
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/office.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/red/optical.svg b/gns3server/symbols/affinity/square/red/optical.svg
new file mode 100644
index 000000000..a30f2d393
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/optical.svg
@@ -0,0 +1,8 @@
+
diff --git a/gns3server/symbols/affinity/square/red/phone_cloud.svg b/gns3server/symbols/affinity/square/red/phone_cloud.svg
new file mode 100644
index 000000000..6d56fb083
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/phone_cloud.svg
@@ -0,0 +1,6 @@
+
diff --git a/gns3server/symbols/affinity/square/red/phone_old.svg b/gns3server/symbols/affinity/square/red/phone_old.svg
new file mode 100644
index 000000000..eca3c75f9
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/phone_old.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/red/phone_wireless.svg b/gns3server/symbols/affinity/square/red/phone_wireless.svg
new file mode 100644
index 000000000..4b2c43f27
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/phone_wireless.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/red/pinpoint.svg b/gns3server/symbols/affinity/square/red/pinpoint.svg
index a5eca8aab..faa3c1feb 100644
--- a/gns3server/symbols/affinity/square/red/pinpoint.svg
+++ b/gns3server/symbols/affinity/square/red/pinpoint.svg
@@ -1,49 +1,9 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/printer.svg b/gns3server/symbols/affinity/square/red/printer.svg
index 757412829..e33096900 100644
--- a/gns3server/symbols/affinity/square/red/printer.svg
+++ b/gns3server/symbols/affinity/square/red/printer.svg
@@ -1,95 +1,27 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/rj45.svg b/gns3server/symbols/affinity/square/red/rj45.svg
index 4fecd4866..1c017359d 100644
--- a/gns3server/symbols/affinity/square/red/rj45.svg
+++ b/gns3server/symbols/affinity/square/red/rj45.svg
@@ -1,66 +1,14 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/router.svg b/gns3server/symbols/affinity/square/red/router.svg
index b7dcd8193..664b6b188 100644
--- a/gns3server/symbols/affinity/square/red/router.svg
+++ b/gns3server/symbols/affinity/square/red/router.svg
@@ -1,33 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/router2.svg b/gns3server/symbols/affinity/square/red/router2.svg
new file mode 100644
index 000000000..7e94bd5ea
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/router2.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/red/router_cloud.svg b/gns3server/symbols/affinity/square/red/router_cloud.svg
index 887792677..7a9d51b79 100644
--- a/gns3server/symbols/affinity/square/red/router_cloud.svg
+++ b/gns3server/symbols/affinity/square/red/router_cloud.svg
@@ -1,39 +1,6 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/satellite.svg b/gns3server/symbols/affinity/square/red/satellite.svg
index 1add72eb4..7360650eb 100644
--- a/gns3server/symbols/affinity/square/red/satellite.svg
+++ b/gns3server/symbols/affinity/square/red/satellite.svg
@@ -1,38 +1,8 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/satellite_dish.svg b/gns3server/symbols/affinity/square/red/satellite_dish.svg
index ef00eab2d..c6047e75c 100644
--- a/gns3server/symbols/affinity/square/red/satellite_dish.svg
+++ b/gns3server/symbols/affinity/square/red/satellite_dish.svg
@@ -1,39 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/scull.svg b/gns3server/symbols/affinity/square/red/scull.svg
index 79e11fdfe..97f6a98a5 100644
--- a/gns3server/symbols/affinity/square/red/scull.svg
+++ b/gns3server/symbols/affinity/square/red/scull.svg
@@ -1,47 +1,10 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/server-cluster.svg b/gns3server/symbols/affinity/square/red/server-cluster.svg
deleted file mode 100644
index 75e5c1ef4..000000000
--- a/gns3server/symbols/affinity/square/red/server-cluster.svg
+++ /dev/null
@@ -1,44 +0,0 @@
-
-
diff --git a/gns3server/symbols/affinity/square/red/server.svg b/gns3server/symbols/affinity/square/red/server.svg
index 0d73bb40d..882f1eb74 100644
--- a/gns3server/symbols/affinity/square/red/server.svg
+++ b/gns3server/symbols/affinity/square/red/server.svg
@@ -1,31 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/server_cluster.svg b/gns3server/symbols/affinity/square/red/server_cluster.svg
new file mode 100644
index 000000000..96a55c314
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/server_cluster.svg
@@ -0,0 +1,9 @@
+
diff --git a/gns3server/symbols/affinity/square/red/shield.svg b/gns3server/symbols/affinity/square/red/shield.svg
new file mode 100644
index 000000000..890f269ee
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/shield.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/red/square.svg b/gns3server/symbols/affinity/square/red/square.svg
deleted file mode 100644
index fcf9fcb46..000000000
--- a/gns3server/symbols/affinity/square/red/square.svg
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
diff --git a/gns3server/symbols/affinity/square/red/statistics.svg b/gns3server/symbols/affinity/square/red/statistics.svg
index 3d7ac8651..f75881b47 100644
--- a/gns3server/symbols/affinity/square/red/statistics.svg
+++ b/gns3server/symbols/affinity/square/red/statistics.svg
@@ -1,41 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/storage.svg b/gns3server/symbols/affinity/square/red/storage.svg
index c89349d2c..4cea4c524 100644
--- a/gns3server/symbols/affinity/square/red/storage.svg
+++ b/gns3server/symbols/affinity/square/red/storage.svg
@@ -1,31 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/switch.svg b/gns3server/symbols/affinity/square/red/switch.svg
index 62b5c95b8..02a831196 100644
--- a/gns3server/symbols/affinity/square/red/switch.svg
+++ b/gns3server/symbols/affinity/square/red/switch.svg
@@ -1,46 +1,10 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/switch_multilayer.svg b/gns3server/symbols/affinity/square/red/switch_multilayer.svg
index 1fbd59146..78b060066 100644
--- a/gns3server/symbols/affinity/square/red/switch_multilayer.svg
+++ b/gns3server/symbols/affinity/square/red/switch_multilayer.svg
@@ -1,46 +1,9 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/tablet.svg b/gns3server/symbols/affinity/square/red/tablet.svg
index 6ca36adbf..977a80f9e 100644
--- a/gns3server/symbols/affinity/square/red/tablet.svg
+++ b/gns3server/symbols/affinity/square/red/tablet.svg
@@ -1,43 +1,9 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/template.svg b/gns3server/symbols/affinity/square/red/template.svg
new file mode 100644
index 000000000..f6217c1f5
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/template.svg
@@ -0,0 +1,4 @@
+
diff --git a/gns3server/symbols/affinity/square/red/tree.svg b/gns3server/symbols/affinity/square/red/tree.svg
index 2678cca70..592b1e240 100644
--- a/gns3server/symbols/affinity/square/red/tree.svg
+++ b/gns3server/symbols/affinity/square/red/tree.svg
@@ -1,31 +1,5 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/user.svg b/gns3server/symbols/affinity/square/red/user.svg
index 43efcaee8..78f01cd83 100644
--- a/gns3server/symbols/affinity/square/red/user.svg
+++ b/gns3server/symbols/affinity/square/red/user.svg
@@ -1,33 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/virtualbox.svg b/gns3server/symbols/affinity/square/red/virtualbox.svg
index dd89627e5..4042f2a56 100644
--- a/gns3server/symbols/affinity/square/red/virtualbox.svg
+++ b/gns3server/symbols/affinity/square/red/virtualbox.svg
@@ -1,58 +1,7 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/square/red/vm.svg b/gns3server/symbols/affinity/square/red/vm.svg
index e3883434b..24e742fbf 100644
--- a/gns3server/symbols/affinity/square/red/vm.svg
+++ b/gns3server/symbols/affinity/square/red/vm.svg
@@ -1,39 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/vmware.svg b/gns3server/symbols/affinity/square/red/vmware.svg
index c9fef843c..21cbc3a76 100644
--- a/gns3server/symbols/affinity/square/red/vmware.svg
+++ b/gns3server/symbols/affinity/square/red/vmware.svg
@@ -1,58 +1,7 @@
-
-
\ No newline at end of file
+
diff --git a/gns3server/symbols/affinity/square/red/vrf.svg b/gns3server/symbols/affinity/square/red/vrf.svg
new file mode 100644
index 000000000..e730a41a8
--- /dev/null
+++ b/gns3server/symbols/affinity/square/red/vrf.svg
@@ -0,0 +1,5 @@
+
diff --git a/gns3server/symbols/affinity/square/red/wifi.svg b/gns3server/symbols/affinity/square/red/wifi.svg
index f8fc0dd57..7c7ff6bb2 100644
--- a/gns3server/symbols/affinity/square/red/wifi.svg
+++ b/gns3server/symbols/affinity/square/red/wifi.svg
@@ -1,60 +1,13 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/wlc.svg b/gns3server/symbols/affinity/square/red/wlc.svg
index 118291cac..fd953c038 100644
--- a/gns3server/symbols/affinity/square/red/wlc.svg
+++ b/gns3server/symbols/affinity/square/red/wlc.svg
@@ -1,33 +1,7 @@
-
-
+
diff --git a/gns3server/symbols/affinity/square/red/xml.svg b/gns3server/symbols/affinity/square/red/xml.svg
index ad3eae8c3..3056cfa7f 100644
--- a/gns3server/symbols/affinity/square/red/xml.svg
+++ b/gns3server/symbols/affinity/square/red/xml.svg
@@ -1,42 +1,10 @@
-
-
+
diff --git a/gns3server/utils/path.py b/gns3server/utils/path.py
index ad0fc5301..8b6af46c1 100644
--- a/gns3server/utils/path.py
+++ b/gns3server/utils/path.py
@@ -48,7 +48,7 @@ def is_safe_path(file_path: str, basedir: str) -> bool:
return Path(basedir).resolve() in test_path.resolve().parents
-def check_path_allowed(path):
+def check_path_allowed(path: str):
"""
If the server is non local raise an error if
the path is outside project directories
@@ -62,3 +62,16 @@ def check_path_allowed(path):
if Config.instance().settings.Server.local is False:
raise HTTPException(status_code=status.HTTP_403_FORBIDDEN, detail="The path is not allowed")
+
+
+def get_mountpoint(path: str):
+ """
+ Find the mount point of a path.
+ """
+
+ path = os.path.abspath(path)
+ while path != os.path.sep:
+ if os.path.ismount(path):
+ return path
+ path = os.path.abspath(os.path.join(path, os.pardir))
+ return path
diff --git a/requirements.txt b/requirements.txt
index d37864278..9b23503f7 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -17,3 +17,4 @@ python-jose==3.3.0
email-validator==1.1.3
async-exit-stack==1.0.1 ; python_version < "3.7"
async-generator==1.10 ; python_version < "3.7"
+setuptools
\ No newline at end of file
diff --git a/scripts/sync_affinity_symbols.sh b/scripts/sync_affinity_symbols.sh
new file mode 100755
index 000000000..a6c02e170
--- /dev/null
+++ b/scripts/sync_affinity_symbols.sh
@@ -0,0 +1,40 @@
+#!/bin/sh
+#
+# Copyright (C) 2021 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 .
+
+#
+# This script will sync the affinity symbols
+#
+
+rm -Rf /tmp/gns3-affinity
+
+git clone https://github.com/grossmj/affinity.git /tmp/gns3-affinity
+rm -rf /tmp/gns3-affinity/svg/naked
+
+for file in $(find "/tmp/gns3-affinity/svg" -name "*.svg")
+do
+ mv "$file" "`dirname $file`/`basename $file | sed -r "s/^(.*)_(blue|green|red).svg$/\1.svg/" | sed -r "s/(c|sq)_(.*)$/\2/"`";
+done
+
+for file in $(find "/tmp/gns3-affinity/svg" -name "*.svg")
+do
+ sed -i -r 's/width="100%"/width="60"/' $file
+ sed -i -r 's/height="100%"/height="60"/' $file
+ svgo --pretty $file # install instructions for svgo on https://github.com/svg/svgo
+done
+
+rm -rf gns3server/symbols/affinity
+mv /tmp/gns3-affinity/svg gns3server/symbols/affinity
diff --git a/tests/compute/qemu/test_qcow2.py b/tests/compute/qemu/test_qcow2.py
index e8f2f7bfe..c75368e9c 100644
--- a/tests/compute/qemu/test_qcow2.py
+++ b/tests/compute/qemu/test_qcow2.py
@@ -74,5 +74,5 @@ async def test_rebase(tmpdir):
qcow2 = Qcow2(str(tmpdir / "linked.qcow2"))
assert qcow2.version == 3
assert qcow2.backing_file == "empty8G.qcow2"
- await qcow2.rebase(qemu_img(), str(tmpdir / "empty16G.qcow2"))
+ await qcow2.rebase(qemu_img(), str(tmpdir / "empty16G.qcow2"), "qcow2")
assert qcow2.backing_file == str(tmpdir / "empty16G.qcow2")
diff --git a/tests/compute/qemu/test_qemu_vm.py b/tests/compute/qemu/test_qemu_vm.py
index 25507f695..52e53d0db 100644
--- a/tests/compute/qemu/test_qemu_vm.py
+++ b/tests/compute/qemu/test_qemu_vm.py
@@ -372,11 +372,12 @@ async def test_disk_options(vm, tmpdir, fake_qemu_img_binary):
vm._hda_disk_image = str(tmpdir / "test.qcow2")
open(vm._hda_disk_image, "w+").close()
- with asyncio_patch("asyncio.create_subprocess_exec", return_value=MagicMock()) as process:
- options = await vm._disk_options()
- assert process.called
- args, kwargs = process.call_args
- assert args == (fake_qemu_img_binary, "create", "-o", "backing_file={}".format(vm._hda_disk_image), "-f", "qcow2", os.path.join(vm.working_dir, "hda_disk.qcow2"))
+ with asyncio_patch("gns3server.compute.qemu.qemu_vm.QemuVM._find_disk_file_format", return_value="qcow2"):
+ with asyncio_patch("asyncio.create_subprocess_exec", return_value=MagicMock()) as process:
+ options = await vm._disk_options()
+ assert process.called
+ args, kwargs = process.call_args
+ assert args == (fake_qemu_img_binary, "create", "-o", "backing_file={}".format(vm._hda_disk_image), "-F", "qcow2", "-f", "qcow2", os.path.join(vm.working_dir, "hda_disk.qcow2"))
assert options == ['-drive', 'file=' + os.path.join(vm.working_dir, "hda_disk.qcow2") + ',if=ide,index=0,media=disk,id=drive0']
@@ -434,8 +435,9 @@ async def test_disk_options_multiple_disk(vm, tmpdir, fake_qemu_img_binary):
open(vm._hdc_disk_image, "w+").close()
open(vm._hdd_disk_image, "w+").close()
- with asyncio_patch("asyncio.create_subprocess_exec", return_value=MagicMock()):
- options = await vm._disk_options()
+ with asyncio_patch("gns3server.compute.qemu.qemu_vm.QemuVM._find_disk_file_format", return_value="qcow2"):
+ with asyncio_patch("asyncio.create_subprocess_exec", return_value=MagicMock()):
+ options = await vm._disk_options()
assert options == [
'-drive', 'file=' + os.path.join(vm.working_dir, "hda_disk.qcow2") + ',if=ide,index=0,media=disk,id=drive0',
@@ -912,8 +914,8 @@ async def test_run_with_kvm_linux(linux_platform, vm):
async def test_run_with_kvm_linux_options_no_kvm(linux_platform, vm):
with patch("os.path.exists", return_value=True) as os_path:
- vm.manager.config.settings.Qemu.enable_hardware_acceleration = True
- assert await vm._run_with_hardware_acceleration("qemu-system-x86_64", "-machine accel=tcg") is False
+ vm.manager.config.set("Qemu", "enable_kvm", True)
+ assert await vm._run_with_hardware_acceleration("qemu-system-x86_64", "-no-kvm") is False
@pytest.mark.asyncio