From db2fb19888bd04b74b4fddbb49e1fba1dcd3c3c6 Mon Sep 17 00:00:00 2001 From: gryaznovas Date: Wed, 30 Oct 2024 11:47:39 +0300 Subject: [PATCH 1/3] feat: Changed webkit scrollbar. --- front/src/static/assets/css/scrollbar.css | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 front/src/static/assets/css/scrollbar.css diff --git a/front/src/static/assets/css/scrollbar.css b/front/src/static/assets/css/scrollbar.css new file mode 100644 index 00000000..eaa220cf --- /dev/null +++ b/front/src/static/assets/css/scrollbar.css @@ -0,0 +1,11 @@ +body::-webkit-scrollbar { + width: 10px; +} +body::-webkit-scrollbar-track { + background: white; +} +body::-webkit-scrollbar-thumb { + background-color: #AAAAAA; + border-radius: 5px; + border: 3px solid white; +} \ No newline at end of file From 8f76e0440e35e5bf294a1219008d4e157ee5d110 Mon Sep 17 00:00:00 2001 From: gryaznovas Date: Wed, 30 Oct 2024 11:49:02 +0300 Subject: [PATCH 2/3] feat: Configurations redesign prepared. --- front/src/static/config_edge.html | 12 ++-- front/src/static/config_host.html | 92 ++++++++++++------------ front/src/static/config_hub.html | 8 +-- front/src/static/config_router.html | 108 ++++++++++++++-------------- front/src/static/config_server.html | 64 ++++++++--------- front/src/static/config_switch.html | 16 ++--- 6 files changed, 150 insertions(+), 150 deletions(-) diff --git a/front/src/static/config_edge.html b/front/src/static/config_edge.html index 8ee445c9..fca82785 100644 --- a/front/src/static/config_edge.html +++ b/front/src/static/config_edge.html @@ -6,13 +6,13 @@ diff --git a/front/src/static/config_host.html b/front/src/static/config_host.html index 56f283b2..abc11fc1 100644 --- a/front/src/static/config_host.html +++ b/front/src/static/config_host.html @@ -3,21 +3,21 @@
- +
@@ -115,8 +115,8 @@ \ No newline at end of file diff --git a/front/src/static/config_hub.html b/front/src/static/config_hub.html index e6091d42..580c1e02 100644 --- a/front/src/static/config_hub.html +++ b/front/src/static/config_hub.html @@ -2,13 +2,13 @@
- +
diff --git a/front/src/static/config_router.html b/front/src/static/config_router.html index 50772b07..094138e7 100644 --- a/front/src/static/config_router.html +++ b/front/src/static/config_router.html @@ -2,40 +2,40 @@
- +
diff --git a/front/src/static/config_server.html b/front/src/static/config_server.html index cd6926c3..593716e4 100644 --- a/front/src/static/config_server.html +++ b/front/src/static/config_server.html @@ -2,21 +2,21 @@
- +
\ No newline at end of file diff --git a/front/src/static/config_switch.html b/front/src/static/config_switch.html index 164c8a8f..3284242e 100644 --- a/front/src/static/config_switch.html +++ b/front/src/static/config_switch.html @@ -2,26 +2,26 @@
- +
\ No newline at end of file From e36b2b9efdb87bf8a8a2248da1a54db8efe7dae3 Mon Sep 17 00:00:00 2001 From: gryaznovas Date: Wed, 30 Oct 2024 11:51:16 +0300 Subject: [PATCH 3/3] feat: Reworked workspace and dependencies. --- front/src/static/assets/css/workspace.css | 290 +++++++++++++ front/src/static/config.js | 4 +- front/src/static/icons.js | 10 +- front/src/static/images/host.png | Bin 1691 -> 543 bytes front/src/static/images/hub.png | Bin 4421 -> 1636 bytes front/src/static/images/l2_switch.png | Bin 1972 -> 1101 bytes front/src/static/images/l3_router.png | Bin 3119 -> 1562 bytes front/src/static/images/server.png | Bin 2327 -> 481 bytes .../static/images/workspace/branding/logo.svg | 4 + .../static/images/workspace/devices/host.svg | 4 + .../static/images/workspace/devices/hub.svg | 17 + .../images/workspace/devices/router.svg | 7 + .../images/workspace/devices/server.svg | 8 + .../images/workspace/devices/switch.svg | 5 + front/src/static/netfront_f.js | 26 +- front/src/templates/base.html | 393 ++++++++++++------ front/src/templates/network.html | 295 +++++++++---- front/src/templates/network_shared.html | 282 ++++++++++--- 18 files changed, 1056 insertions(+), 289 deletions(-) create mode 100644 front/src/static/assets/css/workspace.css create mode 100644 front/src/static/images/workspace/branding/logo.svg create mode 100644 front/src/static/images/workspace/devices/host.svg create mode 100644 front/src/static/images/workspace/devices/hub.svg create mode 100644 front/src/static/images/workspace/devices/router.svg create mode 100644 front/src/static/images/workspace/devices/server.svg create mode 100644 front/src/static/images/workspace/devices/switch.svg diff --git a/front/src/static/assets/css/workspace.css b/front/src/static/assets/css/workspace.css new file mode 100644 index 00000000..4d6213d9 --- /dev/null +++ b/front/src/static/assets/css/workspace.css @@ -0,0 +1,290 @@ +@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap'); + +/* Header Name */ + +.ws-name-case { + padding: 10px; + padding-left: 25px; + padding-right: 25px; + background-color: white; + border-radius: 15px; + box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.05); + font-family: 'Montserrat', sans-serif; + font-weight: 500; + color: #222; +} + +/* Header Buttons */ + +a.ws-login-button { + background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTYiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA5NiA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMSIgeT0iMSIgd2lkdGg9Ijk0IiBoZWlnaHQ9IjM4IiByeD0iMTQiIHN0cm9rZT0iIzUwOTJFMCIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxwYXRoIGQ9Ik0yOS4xNzM3IDI2VjE0LjhIMzMuOTg5N0MzNS4yMDU3IDE0LjggMzYuMTYwNCAxNS4wNDUzIDM2Ljg1MzcgMTUuNTM2QzM3LjU0NyAxNi4wMjY3IDM3Ljg5MzcgMTYuNzQxMyAzNy44OTM3IDE3LjY4QzM3Ljg5MzcgMTguNTk3MyAzNy41NjMgMTkuMzAxMyAzNi45MDE3IDE5Ljc5MkMzNi4yNDA0IDIwLjI3MiAzNS4zNzEgMjAuNTEyIDM0LjI5MzcgMjAuNTEyTDM0LjU4MTcgMjAuMDMyQzM1LjgyOTcgMjAuMDMyIDM2Ljc4NDQgMjAuMjgyNyAzNy40NDU3IDIwLjc4NEMzOC4xMTc3IDIxLjI3NDcgMzguNDUzNyAyMS45OTQ3IDM4LjQ1MzcgMjIuOTQ0QzM4LjQ1MzcgMjMuOTA0IDM4LjEwMTcgMjQuNjU2IDM3LjM5NzcgMjUuMkMzNi43MDQ0IDI1LjczMzMgMzUuNjY5NyAyNiAzNC4yOTM3IDI2SDI5LjE3MzdaTTMwLjc1NzcgMjQuNzM2SDM0LjI2MTdDMzUuMTE1IDI0LjczNiAzNS43NTUgMjQuNTgxMyAzNi4xODE3IDI0LjI3MkMzNi42MTkgMjMuOTUyIDM2LjgzNzcgMjMuNDY2NyAzNi44Mzc3IDIyLjgxNkMzNi44Mzc3IDIyLjE2NTMgMzYuNjE5IDIxLjY5MDcgMzYuMTgxNyAyMS4zOTJDMzUuNzU1IDIxLjA5MzMgMzUuMTE1IDIwLjk0NCAzNC4yNjE3IDIwLjk0NEgzMC43NTc3VjI0LjczNlpNMzAuNzU3NyAxOS43MjhIMzMuODc3N0MzNC42NTY0IDE5LjcyOCAzNS4yNDg0IDE5LjU3MzMgMzUuNjUzNyAxOS4yNjRDMzYuMDY5NyAxOC45NTQ3IDM2LjI3NzcgMTguNTAxMyAzNi4yNzc3IDE3LjkwNEMzNi4yNzc3IDE3LjI5NiAzNi4wNjk3IDE2LjgzNzMgMzUuNjUzNyAxNi41MjhDMzUuMjQ4NCAxNi4yMTg3IDM0LjY1NjQgMTYuMDY0IDMzLjg3NzcgMTYuMDY0SDMwLjc1NzdWMTkuNzI4Wk0zOS41MjY4IDI2TDQzLjE3NDggMjEuMjY0TDQzLjE1ODggMjIuMDQ4TDM5LjY4NjggMTcuNTJINDEuMzk4OEw0NC4wNTQ4IDIxLjAwOEg0My4zOTg4TDQ2LjA1NDggMTcuNTJINDcuNzM0OEw0NC4yMTQ4IDIyLjA4TDQ0LjIzMDggMjEuMjY0TDQ3LjkxMDggMjZINDYuMTY2OEw0My4zNjY4IDIyLjI4OEw0My45OTA4IDIyLjM4NEw0MS4yMzg4IDI2SDM5LjUyNjhaTTUyLjg3NzggMjYuMDk2QzUyLjAyNDUgMjYuMDk2IDUxLjI2NzEgMjUuOTA5MyA1MC42MDU4IDI1LjUzNkM0OS45NDQ1IDI1LjE2MjcgNDkuNDIxOCAyNC42NTA3IDQ5LjAzNzggMjRDNDguNjUzOCAyMy4zMzg3IDQ4LjQ2MTggMjIuNTkyIDQ4LjQ2MTggMjEuNzZDNDguNDYxOCAyMC45MTczIDQ4LjY1MzggMjAuMTcwNyA0OS4wMzc4IDE5LjUyQzQ5LjQyMTggMTguODY5MyA0OS45NDQ1IDE4LjM2MjcgNTAuNjA1OCAxOEM1MS4yNjcxIDE3LjYyNjcgNTIuMDI0NSAxNy40NCA1Mi44Nzc4IDE3LjQ0QzUzLjcyMDUgMTcuNDQgNTQuNDcyNSAxNy42MjY3IDU1LjEzMzggMThDNTUuODA1OCAxOC4zNjI3IDU2LjMyODUgMTguODY5MyA1Ni43MDE4IDE5LjUyQzU3LjA4NTggMjAuMTYgNTcuMjc3OCAyMC45MDY3IDU3LjI3NzggMjEuNzZDNTcuMjc3OCAyMi42MDI3IDU3LjA4NTggMjMuMzQ5MyA1Ni43MDE4IDI0QzU2LjMyODUgMjQuNjUwNyA1NS44MDU4IDI1LjE2MjcgNTUuMTMzOCAyNS41MzZDNTQuNDcyNSAyNS45MDkzIDUzLjcyMDUgMjYuMDk2IDUyLjg3NzggMjYuMDk2Wk01Mi44Nzc4IDI0Ljc1MkM1My40MjE4IDI0Ljc1MiA1My45MDcxIDI0LjYyOTMgNTQuMzMzOCAyNC4zODRDNTQuNzcxMSAyNC4xMzg3IDU1LjExMjUgMjMuNzkyIDU1LjM1NzggMjMuMzQ0QzU1LjYwMzEgMjIuODg1MyA1NS43MjU4IDIyLjM1NzMgNTUuNzI1OCAyMS43NkM1NS43MjU4IDIxLjE1MiA1NS42MDMxIDIwLjYyOTMgNTUuMzU3OCAyMC4xOTJDNTUuMTEyNSAxOS43NDQgNTQuNzcxMSAxOS4zOTczIDU0LjMzMzggMTkuMTUyQzUzLjkwNzEgMTguOTA2NyA1My40MjE4IDE4Ljc4NCA1Mi44Nzc4IDE4Ljc4NEM1Mi4zMzM4IDE4Ljc4NCA1MS44NDg1IDE4LjkwNjcgNTEuNDIxOCAxOS4xNTJDNTAuOTk1MSAxOS4zOTczIDUwLjY1MzggMTkuNzQ0IDUwLjM5NzggMjAuMTkyQzUwLjE0MTggMjAuNjI5MyA1MC4wMTM4IDIxLjE1MiA1MC4wMTM4IDIxLjc2QzUwLjAxMzggMjIuMzU3MyA1MC4xNDE4IDIyLjg4NTMgNTAuMzk3OCAyMy4zNDRDNTAuNjUzOCAyMy43OTIgNTAuOTk1MSAyNC4xMzg3IDUxLjQyMTggMjQuMzg0QzUxLjg0ODUgMjQuNjI5MyA1Mi4zMzM4IDI0Ljc1MiA1Mi44Nzc4IDI0Ljc1MlpNNjUuMjI1MyAyNS4yOFYxOC44NjRINjEuNTQ1M0w2MS40NjUzIDIwLjQ5NkM2MS40NDQgMjEuMDI5MyA2MS40MDY2IDIxLjU0NjcgNjEuMzUzMyAyMi4wNDhDNjEuMzEwNiAyMi41Mzg3IDYxLjIzNiAyMi45OTIgNjEuMTI5MyAyMy40MDhDNjEuMDMzMyAyMy44MjQgNjAuODg5MyAyNC4xNjUzIDYwLjY5NzMgMjQuNDMyQzYwLjUwNTMgMjQuNjk4NyA2MC4yNDkzIDI0Ljg2NCA1OS45MjkzIDI0LjkyOEw1OC40MDkzIDI0LjY1NkM1OC43NCAyNC42NjY3IDU5LjAwNjYgMjQuNTYgNTkuMjA5MyAyNC4zMzZDNTkuNDEyIDI0LjEwMTMgNTkuNTY2NiAyMy43ODEzIDU5LjY3MzMgMjMuMzc2QzU5Ljc5MDYgMjIuOTcwNyA1OS44NzYgMjIuNTEyIDU5LjkyOTMgMjJDNTkuOTgyNiAyMS40NzczIDYwLjAyNTMgMjAuOTM4NyA2MC4wNTczIDIwLjM4NEw2MC4xODUzIDE3LjUySDY2Ljc2MTNWMjUuMjhINjUuMjI1M1pNNTguMDczMyAyNy45NjhWMjQuNjU2SDY4LjA1NzNWMjcuOTY4SDY2LjYxNzNWMjZINTkuNTI5M1YyNy45NjhINTguMDczM1oiIGZpbGw9IiM1MDkyRTAiLz4KPC9zdmc+Cg=="); + display: block; + width: 96px; + height: 40px; + transition: 0.5s ease; +} + +a.ws-login-button:hover { + background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iOTYiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA5NiA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9Ijk2IiBoZWlnaHQ9IjQwIiByeD0iMTUiIGZpbGw9IiM1MDkyRTAiLz4KPHBhdGggZD0iTTI5LjE3MzcgMjZWMTQuOEgzMy45ODk3QzM1LjIwNTcgMTQuOCAzNi4xNjA0IDE1LjA0NTMgMzYuODUzNyAxNS41MzZDMzcuNTQ3IDE2LjAyNjcgMzcuODkzNyAxNi43NDEzIDM3Ljg5MzcgMTcuNjhDMzcuODkzNyAxOC41OTczIDM3LjU2MyAxOS4zMDEzIDM2LjkwMTcgMTkuNzkyQzM2LjI0MDQgMjAuMjcyIDM1LjM3MSAyMC41MTIgMzQuMjkzNyAyMC41MTJMMzQuNTgxNyAyMC4wMzJDMzUuODI5NyAyMC4wMzIgMzYuNzg0NCAyMC4yODI3IDM3LjQ0NTcgMjAuNzg0QzM4LjExNzcgMjEuMjc0NyAzOC40NTM3IDIxLjk5NDcgMzguNDUzNyAyMi45NDRDMzguNDUzNyAyMy45MDQgMzguMTAxNyAyNC42NTYgMzcuMzk3NyAyNS4yQzM2LjcwNDQgMjUuNzMzMyAzNS42Njk3IDI2IDM0LjI5MzcgMjZIMjkuMTczN1pNMzAuNzU3NyAyNC43MzZIMzQuMjYxN0MzNS4xMTUgMjQuNzM2IDM1Ljc1NSAyNC41ODEzIDM2LjE4MTcgMjQuMjcyQzM2LjYxOSAyMy45NTIgMzYuODM3NyAyMy40NjY3IDM2LjgzNzcgMjIuODE2QzM2LjgzNzcgMjIuMTY1MyAzNi42MTkgMjEuNjkwNyAzNi4xODE3IDIxLjM5MkMzNS43NTUgMjEuMDkzMyAzNS4xMTUgMjAuOTQ0IDM0LjI2MTcgMjAuOTQ0SDMwLjc1NzdWMjQuNzM2Wk0zMC43NTc3IDE5LjcyOEgzMy44Nzc3QzM0LjY1NjQgMTkuNzI4IDM1LjI0ODQgMTkuNTczMyAzNS42NTM3IDE5LjI2NEMzNi4wNjk3IDE4Ljk1NDcgMzYuMjc3NyAxOC41MDEzIDM2LjI3NzcgMTcuOTA0QzM2LjI3NzcgMTcuMjk2IDM2LjA2OTcgMTYuODM3MyAzNS42NTM3IDE2LjUyOEMzNS4yNDg0IDE2LjIxODcgMzQuNjU2NCAxNi4wNjQgMzMuODc3NyAxNi4wNjRIMzAuNzU3N1YxOS43MjhaTTM5LjUyNjggMjZMNDMuMTc0OCAyMS4yNjRMNDMuMTU4OCAyMi4wNDhMMzkuNjg2OCAxNy41Mkg0MS4zOTg4TDQ0LjA1NDggMjEuMDA4SDQzLjM5ODhMNDYuMDU0OCAxNy41Mkg0Ny43MzQ4TDQ0LjIxNDggMjIuMDhMNDQuMjMwOCAyMS4yNjRMNDcuOTEwOCAyNkg0Ni4xNjY4TDQzLjM2NjggMjIuMjg4TDQzLjk5MDggMjIuMzg0TDQxLjIzODggMjZIMzkuNTI2OFpNNTIuODc3OCAyNi4wOTZDNTIuMDI0NSAyNi4wOTYgNTEuMjY3MSAyNS45MDkzIDUwLjYwNTggMjUuNTM2QzQ5Ljk0NDUgMjUuMTYyNyA0OS40MjE4IDI0LjY1MDcgNDkuMDM3OCAyNEM0OC42NTM4IDIzLjMzODcgNDguNDYxOCAyMi41OTIgNDguNDYxOCAyMS43NkM0OC40NjE4IDIwLjkxNzMgNDguNjUzOCAyMC4xNzA3IDQ5LjAzNzggMTkuNTJDNDkuNDIxOCAxOC44NjkzIDQ5Ljk0NDUgMTguMzYyNyA1MC42MDU4IDE4QzUxLjI2NzEgMTcuNjI2NyA1Mi4wMjQ1IDE3LjQ0IDUyLjg3NzggMTcuNDRDNTMuNzIwNSAxNy40NCA1NC40NzI1IDE3LjYyNjcgNTUuMTMzOCAxOEM1NS44MDU4IDE4LjM2MjcgNTYuMzI4NSAxOC44NjkzIDU2LjcwMTggMTkuNTJDNTcuMDg1OCAyMC4xNiA1Ny4yNzc4IDIwLjkwNjcgNTcuMjc3OCAyMS43NkM1Ny4yNzc4IDIyLjYwMjcgNTcuMDg1OCAyMy4zNDkzIDU2LjcwMTggMjRDNTYuMzI4NSAyNC42NTA3IDU1LjgwNTggMjUuMTYyNyA1NS4xMzM4IDI1LjUzNkM1NC40NzI1IDI1LjkwOTMgNTMuNzIwNSAyNi4wOTYgNTIuODc3OCAyNi4wOTZaTTUyLjg3NzggMjQuNzUyQzUzLjQyMTggMjQuNzUyIDUzLjkwNzEgMjQuNjI5MyA1NC4zMzM4IDI0LjM4NEM1NC43NzExIDI0LjEzODcgNTUuMTEyNSAyMy43OTIgNTUuMzU3OCAyMy4zNDRDNTUuNjAzMSAyMi44ODUzIDU1LjcyNTggMjIuMzU3MyA1NS43MjU4IDIxLjc2QzU1LjcyNTggMjEuMTUyIDU1LjYwMzEgMjAuNjI5MyA1NS4zNTc4IDIwLjE5MkM1NS4xMTI1IDE5Ljc0NCA1NC43NzExIDE5LjM5NzMgNTQuMzMzOCAxOS4xNTJDNTMuOTA3MSAxOC45MDY3IDUzLjQyMTggMTguNzg0IDUyLjg3NzggMTguNzg0QzUyLjMzMzggMTguNzg0IDUxLjg0ODUgMTguOTA2NyA1MS40MjE4IDE5LjE1MkM1MC45OTUxIDE5LjM5NzMgNTAuNjUzOCAxOS43NDQgNTAuMzk3OCAyMC4xOTJDNTAuMTQxOCAyMC42MjkzIDUwLjAxMzggMjEuMTUyIDUwLjAxMzggMjEuNzZDNTAuMDEzOCAyMi4zNTczIDUwLjE0MTggMjIuODg1MyA1MC4zOTc4IDIzLjM0NEM1MC42NTM4IDIzLjc5MiA1MC45OTUxIDI0LjEzODcgNTEuNDIxOCAyNC4zODRDNTEuODQ4NSAyNC42MjkzIDUyLjMzMzggMjQuNzUyIDUyLjg3NzggMjQuNzUyWk02NS4yMjUzIDI1LjI4VjE4Ljg2NEg2MS41NDUzTDYxLjQ2NTMgMjAuNDk2QzYxLjQ0NCAyMS4wMjkzIDYxLjQwNjYgMjEuNTQ2NyA2MS4zNTMzIDIyLjA0OEM2MS4zMTA2IDIyLjUzODcgNjEuMjM2IDIyLjk5MiA2MS4xMjkzIDIzLjQwOEM2MS4wMzMzIDIzLjgyNCA2MC44ODkzIDI0LjE2NTMgNjAuNjk3MyAyNC40MzJDNjAuNTA1MyAyNC42OTg3IDYwLjI0OTMgMjQuODY0IDU5LjkyOTMgMjQuOTI4TDU4LjQwOTMgMjQuNjU2QzU4Ljc0IDI0LjY2NjcgNTkuMDA2NiAyNC41NiA1OS4yMDkzIDI0LjMzNkM1OS40MTIgMjQuMTAxMyA1OS41NjY2IDIzLjc4MTMgNTkuNjczMyAyMy4zNzZDNTkuNzkwNiAyMi45NzA3IDU5Ljg3NiAyMi41MTIgNTkuOTI5MyAyMkM1OS45ODI2IDIxLjQ3NzMgNjAuMDI1MyAyMC45Mzg3IDYwLjA1NzMgMjAuMzg0TDYwLjE4NTMgMTcuNTJINjYuNzYxM1YyNS4yOEg2NS4yMjUzWk01OC4wNzMzIDI3Ljk2OFYyNC42NTZINjguMDU3M1YyNy45NjhINjYuNjE3M1YyNkg1OS41MjkzVjI3Ljk2OEg1OC4wNzMzWiIgZmlsbD0id2hpdGUiLz4KPC9zdmc+Cg=="); +} + +a.ws-settings-button { + background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMSIgeT0iMSIgd2lkdGg9IjM4IiBoZWlnaHQ9IjM4IiByeD0iMTQiIHN0cm9rZT0iIzhGRTA1MCIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxwYXRoIGQ9Ik0yMS4wMDUxIDEwLjA2NjdDMjAuNzc2NCAxMCAyMC41MTc3IDEwIDIwIDEwQzE5LjQ4MjMgMTAgMTkuMjIzNiAxMCAxOC45OTQ5IDEwLjA2NjdDMTguNjYwMiAxMC4xNjQ0IDE4LjM2NDYgMTAuMzY0NSAxOC4xNDk2IDEwLjYzOUMxOC4wMDI3IDEwLjgyNjUgMTcuOTA2NiAxMS4wNjY4IDE3LjcxNDMgMTEuNTQ3NUMxNy40MzggMTIuMjM4NCAxNi42NzEgMTIuNTk0MSAxNS45NjUxIDEyLjM1ODlMMTUuMzMwOSAxMi4xNDc2QzE0Ljg4MSAxMS45OTc2IDE0LjY1NjEgMTEuOTIyNiAxNC40MzU1IDExLjkwOThDMTQuMTExNSAxMS44OTA5IDEzLjc4OTEgMTEuOTY3IDEzLjUwNzggMTIuMTI4OEMxMy4zMTYzIDEyLjIzODkgMTMuMTQ4NiAxMi40MDY2IDEyLjgxMzMgMTIuNzQxOUMxMi40NTY5IDEzLjA5ODMgMTIuMjc4NyAxMy4yNzY1IDEyLjE2NTUgMTMuNDc5OUMxMS45OTkyIDEzLjc3ODcgMTEuOTI4OCAxNC4xMjE1IDExLjk2NCAxNC40NjE3QzExLjk4NzkgMTQuNjkzMiAxMi4wODE1IDE0LjkyNzIgMTIuMjY4NyAxNS4zOTUyQzEyLjU2MTggMTYuMTI4IDEyLjI3OTggMTYuOTY1MyAxMS42MDMgMTcuMzcxNUwxMS4yOTQ3IDE3LjU1NjVDMTAuODIyNiAxNy44Mzk4IDEwLjU4NjUgMTcuOTgxNCAxMC40MTUgMTguMTc2NEMxMC4yNjMzIDE4LjM0OSAxMC4xNDg5IDE4LjU1MTEgMTAuMDc5IDE4Ljc3QzEwIDE5LjAxNzMgMTAgMTkuMjk1MyAxMCAxOS44NTE0QzEwIDIwLjUwOTkgMTAgMjAuODM5IDEwLjEwNTEgMjEuMTIwOUMxMC4xOTggMjEuMzY5OSAxMC4zNDkxIDIxLjU5MyAxMC41NDU4IDIxLjc3MThDMTAuNzY4NCAyMS45NzQgMTEuMDcxMSAyMi4wOTUxIDExLjY3NjMgMjIuMzM3MkMxMi4yOTQ4IDIyLjU4NDYgMTIuNjEzMyAyMy4yNzEyIDEyLjQwMjYgMjMuOTAzMkwxMi4xNjM2IDI0LjYyMDRDMTEuOTk4IDI1LjExNzEgMTEuOTE1MiAyNS4zNjU2IDExLjkwNzcgMjUuNjA5NkMxMS44OTg2IDI1LjkwMyAxMS45NjcyIDI2LjE5MzYgMTIuMTA2NSAyNi40NTE5QzEyLjIyMjQgMjYuNjY2OSAxMi40MDc1IDI2Ljg1MiAxMi43Nzc4IDI3LjIyMjJDMTMuMTQ4IDI3LjU5MjQgMTMuMzMzMiAyNy43Nzc2IDEzLjU0ODEgMjcuODkzNEMxMy44MDY0IDI4LjAzMjggMTQuMDk3IDI4LjEwMTQgMTQuMzkwNCAyOC4wOTIzQzE0LjYzNDUgMjguMDg0OCAxNC44ODI4IDI4LjAwMiAxNS4zNzk2IDI3LjgzNjRMMTUuOTY1MSAyNy42NDEyQzE2LjY3MSAyNy40MDYgMTcuNDM4IDI3Ljc2MTcgMTcuNzE0MyAyOC40NTI2QzE3LjkwNjYgMjguOTMzMSAxOC4wMDI3IDI5LjE3MzQgMTguMTQ5NiAyOS4zNjFDMTguMzY0NiAyOS42MzU0IDE4LjY2MDIgMjkuODM1NyAxOC45OTQ5IDI5LjkzMzNDMTkuMjIzNiAzMCAxOS40ODIzIDMwIDIwIDMwQzIwLjUxNzcgMzAgMjAuNzc2NCAzMCAyMS4wMDUxIDI5LjkzMzNDMjEuMzM5OCAyOS44MzU3IDIxLjYzNTQgMjkuNjM1NCAyMS44NTA0IDI5LjM2MUMyMS45OTczIDI5LjE3MzQgMjIuMDkzNCAyOC45MzMxIDIyLjI4NTcgMjguNDUyNkMyMi41NjIgMjcuNzYxNyAyMy4zMjkgMjcuNDA2IDI0LjAzNDggMjcuNjQxNEwyNC42MTk5IDI3LjgzNjZDMjUuMTE2NyAyOC4wMDIxIDI1LjM2NTEgMjguMDg0OSAyNS42MDkxIDI4LjA5MjRDMjUuOTAyNiAyOC4xMDE0IDI2LjE5MzEgMjguMDMyOSAyNi40NTE0IDI3Ljg5MzZDMjYuNjY2MyAyNy43Nzc3IDI2Ljg1MTYgMjcuNTkyNiAyNy4yMjE4IDI3LjIyMjNDMjcuNTkyIDI2Ljg1MjEgMjcuNzc3MSAyNi42NjY5IDI3Ljg5MyAyNi40NTJDMjguMDMyMyAyNi4xOTM3IDI4LjEwMDkgMjUuOTAzIDI4LjA5MTkgMjUuNjA5N0MyOC4wODQzIDI1LjM2NTcgMjguMDAxNiAyNS4xMTcyIDI3LjgzNiAyNC42MjA0TDI3LjU5NzEgMjMuOTAzOEMyNy4zODYzIDIzLjI3MTYgMjcuNzA0OSAyMi41ODQ3IDI4LjMyMzcgMjIuMzM3MkMyOC45Mjg5IDIyLjA5NTEgMjkuMjMxNiAyMS45NzQgMjkuNDU0MiAyMS43NzE4QzI5LjY1MDkgMjEuNTkzIDI5LjgwMiAyMS4zNjk5IDI5Ljg5NDkgMjEuMTIwOUMzMCAyMC44MzkgMzAgMjAuNTA5OSAzMCAxOS44NTE0QzMwIDE5LjI5NTMgMzAgMTkuMDE3MyAyOS45MjEgMTguNzdDMjkuODUxMSAxOC41NTExIDI5LjczNjcgMTguMzQ5IDI5LjU4NSAxOC4xNzY0QzI5LjQxMzQgMTcuOTgxNCAyOS4xNzc0IDE3LjgzOTggMjguNzA1MyAxNy41NTY1TDI4LjM5NjYgMTcuMzcxM0MyNy43MTk4IDE2Ljk2NTIgMjcuNDM3NyAxNi4xMjc5IDI3LjczMDkgMTUuMzk1MUMyNy45MTggMTQuOTI3MSAyOC4wMTE3IDE0LjY5MzEgMjguMDM1NiAxNC40NjE2QzI4LjA3MDcgMTQuMTIxNCAyOC4wMDAzIDEzLjc3ODYgMjcuODM0IDEzLjQ3OThDMjcuNzIwOCAxMy4yNzY0IDI3LjU0MjcgMTMuMDk4MiAyNy4xODYyIDEyLjc0MThDMjYuODUwOSAxMi40MDY1IDI2LjY4MzIgMTIuMjM4OCAyNi40OTE4IDEyLjEyODdDMjYuMjEwNCAxMS45NjY5IDI1Ljg4OCAxMS44OTA4IDI1LjU2NCAxMS45MDk3QzI1LjM0MzQgMTEuOTIyNSAyNS4xMTg2IDExLjk5NzUgMjQuNjY4NyAxMi4xNDc1TDI0LjAzNDkgMTIuMzU4N0MyMy4zMjkgMTIuNTk0IDIyLjU2MiAxMi4yMzgzIDIyLjI4NTcgMTEuNTQ3NUMyMi4wOTM0IDExLjA2NjggMjEuOTk3MyAxMC44MjY1IDIxLjg1MDQgMTAuNjM5QzIxLjYzNTQgMTAuMzY0NSAyMS4zMzk4IDEwLjE2NDQgMjEuMDA1MSAxMC4wNjY3WiIgc3Ryb2tlPSIjOEZFMDUwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMjMuMzMzNyAxOS45OTk4QzIzLjMzMzcgMjEuODQwOCAyMS44NDEzIDIzLjMzMzIgMjAuMDAwMyAyMy4zMzMyQzE4LjE1OTMgMjMuMzMzMiAxNi42NjcgMjEuODQwOCAxNi42NjcgMTkuOTk5OEMxNi42NjcgMTguMTU4OCAxOC4xNTkzIDE2LjY2NjUgMjAuMDAwMyAxNi42NjY1QzIxLjg0MTMgMTYuNjY2NSAyMy4zMzM3IDE4LjE1ODggMjMuMzMzNyAxOS45OTk4WiIgc3Ryb2tlPSIjOEZFMDUwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8L3N2Zz4K"); + display: block; + width: 40px; + height: 40px; + transition: 0.5s ease; +} + +a.ws-settings-button:hover { + background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiByeD0iMTUiIGZpbGw9IiM4RkUwNTAiLz4KPHBhdGggZD0iTTIxLjAwNTEgMTAuMDY2N0MyMC43NzY0IDEwIDIwLjUxNzcgMTAgMjAgMTBDMTkuNDgyMyAxMCAxOS4yMjM2IDEwIDE4Ljk5NDkgMTAuMDY2N0MxOC42NjAyIDEwLjE2NDQgMTguMzY0NiAxMC4zNjQ1IDE4LjE0OTYgMTAuNjM5QzE4LjAwMjcgMTAuODI2NSAxNy45MDY2IDExLjA2NjggMTcuNzE0MyAxMS41NDc1QzE3LjQzOCAxMi4yMzg0IDE2LjY3MSAxMi41OTQxIDE1Ljk2NTEgMTIuMzU4OUwxNS4zMzA5IDEyLjE0NzZDMTQuODgxIDExLjk5NzYgMTQuNjU2MSAxMS45MjI2IDE0LjQzNTUgMTEuOTA5OEMxNC4xMTE1IDExLjg5MDkgMTMuNzg5MSAxMS45NjcgMTMuNTA3OCAxMi4xMjg4QzEzLjMxNjMgMTIuMjM4OSAxMy4xNDg2IDEyLjQwNjYgMTIuODEzMyAxMi43NDE5QzEyLjQ1NjkgMTMuMDk4MyAxMi4yNzg3IDEzLjI3NjUgMTIuMTY1NSAxMy40Nzk5QzExLjk5OTIgMTMuNzc4NyAxMS45Mjg4IDE0LjEyMTUgMTEuOTY0IDE0LjQ2MTdDMTEuOTg3OSAxNC42OTMyIDEyLjA4MTUgMTQuOTI3MiAxMi4yNjg3IDE1LjM5NTJDMTIuNTYxOCAxNi4xMjggMTIuMjc5OCAxNi45NjUzIDExLjYwMyAxNy4zNzE1TDExLjI5NDcgMTcuNTU2NUMxMC44MjI2IDE3LjgzOTggMTAuNTg2NSAxNy45ODE0IDEwLjQxNSAxOC4xNzY0QzEwLjI2MzMgMTguMzQ5IDEwLjE0ODkgMTguNTUxMSAxMC4wNzkgMTguNzdDMTAgMTkuMDE3MyAxMCAxOS4yOTUzIDEwIDE5Ljg1MTRDMTAgMjAuNTA5OSAxMCAyMC44MzkgMTAuMTA1MSAyMS4xMjA5QzEwLjE5OCAyMS4zNjk5IDEwLjM0OTEgMjEuNTkzIDEwLjU0NTggMjEuNzcxOEMxMC43Njg0IDIxLjk3NCAxMS4wNzExIDIyLjA5NTEgMTEuNjc2MyAyMi4zMzcyQzEyLjI5NDggMjIuNTg0NiAxMi42MTMzIDIzLjI3MTIgMTIuNDAyNiAyMy45MDMyTDEyLjE2MzYgMjQuNjIwNEMxMS45OTggMjUuMTE3MSAxMS45MTUyIDI1LjM2NTYgMTEuOTA3NyAyNS42MDk2QzExLjg5ODYgMjUuOTAzIDExLjk2NzIgMjYuMTkzNiAxMi4xMDY1IDI2LjQ1MTlDMTIuMjIyNCAyNi42NjY5IDEyLjQwNzUgMjYuODUyIDEyLjc3NzggMjcuMjIyMkMxMy4xNDggMjcuNTkyNCAxMy4zMzMyIDI3Ljc3NzYgMTMuNTQ4MSAyNy44OTM0QzEzLjgwNjQgMjguMDMyOCAxNC4wOTcgMjguMTAxNCAxNC4zOTA0IDI4LjA5MjNDMTQuNjM0NSAyOC4wODQ4IDE0Ljg4MjggMjguMDAyIDE1LjM3OTYgMjcuODM2NEwxNS45NjUxIDI3LjY0MTJDMTYuNjcxIDI3LjQwNiAxNy40MzggMjcuNzYxNyAxNy43MTQzIDI4LjQ1MjZDMTcuOTA2NiAyOC45MzMxIDE4LjAwMjcgMjkuMTczNCAxOC4xNDk2IDI5LjM2MUMxOC4zNjQ2IDI5LjYzNTQgMTguNjYwMiAyOS44MzU3IDE4Ljk5NDkgMjkuOTMzM0MxOS4yMjM2IDMwIDE5LjQ4MjMgMzAgMjAgMzBDMjAuNTE3NyAzMCAyMC43NzY0IDMwIDIxLjAwNTEgMjkuOTMzM0MyMS4zMzk4IDI5LjgzNTcgMjEuNjM1NCAyOS42MzU0IDIxLjg1MDQgMjkuMzYxQzIxLjk5NzMgMjkuMTczNCAyMi4wOTM0IDI4LjkzMzEgMjIuMjg1NyAyOC40NTI2QzIyLjU2MiAyNy43NjE3IDIzLjMyOSAyNy40MDYgMjQuMDM0OCAyNy42NDE0TDI0LjYxOTkgMjcuODM2NkMyNS4xMTY3IDI4LjAwMjEgMjUuMzY1MSAyOC4wODQ5IDI1LjYwOTEgMjguMDkyNEMyNS45MDI2IDI4LjEwMTQgMjYuMTkzMSAyOC4wMzI5IDI2LjQ1MTQgMjcuODkzNkMyNi42NjYzIDI3Ljc3NzcgMjYuODUxNiAyNy41OTI2IDI3LjIyMTggMjcuMjIyM0MyNy41OTIgMjYuODUyMSAyNy43NzcxIDI2LjY2NjkgMjcuODkzIDI2LjQ1MkMyOC4wMzIzIDI2LjE5MzcgMjguMTAwOSAyNS45MDMgMjguMDkxOSAyNS42MDk3QzI4LjA4NDMgMjUuMzY1NyAyOC4wMDE2IDI1LjExNzIgMjcuODM2IDI0LjYyMDRMMjcuNTk3MSAyMy45MDM4QzI3LjM4NjMgMjMuMjcxNiAyNy43MDQ5IDIyLjU4NDcgMjguMzIzNyAyMi4zMzcyQzI4LjkyODkgMjIuMDk1MSAyOS4yMzE2IDIxLjk3NCAyOS40NTQyIDIxLjc3MThDMjkuNjUwOSAyMS41OTMgMjkuODAyIDIxLjM2OTkgMjkuODk0OSAyMS4xMjA5QzMwIDIwLjgzOSAzMCAyMC41MDk5IDMwIDE5Ljg1MTRDMzAgMTkuMjk1MyAzMCAxOS4wMTczIDI5LjkyMSAxOC43N0MyOS44NTExIDE4LjU1MTEgMjkuNzM2NyAxOC4zNDkgMjkuNTg1IDE4LjE3NjRDMjkuNDEzNCAxNy45ODE0IDI5LjE3NzQgMTcuODM5OCAyOC43MDUzIDE3LjU1NjVMMjguMzk2NiAxNy4zNzEzQzI3LjcxOTggMTYuOTY1MiAyNy40Mzc3IDE2LjEyNzkgMjcuNzMwOSAxNS4zOTUxQzI3LjkxOCAxNC45MjcxIDI4LjAxMTcgMTQuNjkzMSAyOC4wMzU2IDE0LjQ2MTZDMjguMDcwNyAxNC4xMjE0IDI4LjAwMDMgMTMuNzc4NiAyNy44MzQgMTMuNDc5OEMyNy43MjA4IDEzLjI3NjQgMjcuNTQyNyAxMy4wOTgyIDI3LjE4NjIgMTIuNzQxOEMyNi44NTA5IDEyLjQwNjUgMjYuNjgzMiAxMi4yMzg4IDI2LjQ5MTggMTIuMTI4N0MyNi4yMTA0IDExLjk2NjkgMjUuODg4IDExLjg5MDggMjUuNTY0IDExLjkwOTdDMjUuMzQzNCAxMS45MjI1IDI1LjExODYgMTEuOTk3NSAyNC42Njg3IDEyLjE0NzVMMjQuMDM0OSAxMi4zNTg3QzIzLjMyOSAxMi41OTQgMjIuNTYyIDEyLjIzODMgMjIuMjg1NyAxMS41NDc1QzIyLjA5MzQgMTEuMDY2OCAyMS45OTczIDEwLjgyNjUgMjEuODUwNCAxMC42MzlDMjEuNjM1NCAxMC4zNjQ1IDIxLjMzOTggMTAuMTY0NCAyMS4wMDUxIDEwLjA2NjdaIiBmaWxsPSIjOEZFMDUwIiBzdHJva2U9IndoaXRlIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMjMuMzMzNyAxOS45OTk4QzIzLjMzMzcgMjEuODQwOCAyMS44NDEzIDIzLjMzMzIgMjAuMDAwMyAyMy4zMzMyQzE4LjE1OTMgMjMuMzMzMiAxNi42NjcgMjEuODQwOCAxNi42NjcgMTkuOTk5OEMxNi42NjcgMTguMTU4OCAxOC4xNTkzIDE2LjY2NjUgMjAuMDAwMyAxNi42NjY1QzIxLjg0MTMgMTYuNjY2NSAyMy4zMzM3IDE4LjE1ODggMjMuMzMzNyAxOS45OTk4WiIgc3Ryb2tlPSJ3aGl0ZSIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg=="); +} + +a.ws-copy-button { + background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMSIgeT0iMSIgd2lkdGg9IjM4IiBoZWlnaHQ9IjM4IiByeD0iMTQiIHN0cm9rZT0iIzcyRTA1MCIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMTUuNDMwNiAxMUgyMC45Njk2QzIyLjE1MSAxMS4wMDY1IDIzLjI4MTcgMTEuNDgyIDI0LjExMjUgMTIuMzIyMUMyNC45NDM0IDEzLjE2MjIgMjUuNDA2NiAxNC4yOTc5IDI1LjQwMDEgMTUuNDc5NFYyMC45MjA2QzI1LjQwNjYgMjIuMTAyMSAyNC45NDM0IDIzLjIzNzkgMjQuMTEyNSAyNC4wNzhDMjMuMjgxNyAyNC45MTc5IDIyLjE1MSAyNS4zOTM1IDIwLjk2OTYgMjUuNDAwMUgxNS40MzA2QzE0LjI0OTEgMjUuMzkzNSAxMy4xMTg1IDI0LjkxNzkgMTIuMjg3NiAyNC4wNzhDMTEuNDU2NyAyMy4yMzc5IDEwLjk5MzYgMjIuMTAyMSAxMS4wMDAxIDIwLjkyMDZWMTUuNDgwN0MxMC45OTMyIDE0LjI5ODkgMTEuNDU2MiAxMy4xNjI5IDEyLjI4NzIgMTIuMzIyNkMxMy4xMTgxIDExLjQ4MjIgMTQuMjQ4OSAxMS4wMDY1IDE1LjQzMDYgMTFaIiBzdHJva2U9IiM3MkUwNTAiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xNyAyOC45OTk5SDIzLjEzMjlDMjYuNDA5NiAyOC45NjI1IDI5LjAzNiAyNi4yNzYyIDI4Ljk5OTYgMjIuOTk5NVYxNi45OTkiIHN0cm9rZT0iIzcyRTA1MCIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+Cg=="); + display: block; + width: 40px; + height: 40px; + transition: 0.5s ease; +} + +a.ws-copy-button:hover { + background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiByeD0iMTUiIGZpbGw9IiM3MkUwNTAiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xNS40MzA2IDExSDIwLjk2OTZDMjIuMTUxIDExLjAwNjUgMjMuMjgxNyAxMS40ODIgMjQuMTEyNSAxMi4zMjIxQzI0Ljk0MzQgMTMuMTYyMiAyNS40MDY2IDE0LjI5NzkgMjUuNDAwMSAxNS40Nzk0VjIwLjkyMDZDMjUuNDA2NiAyMi4xMDIxIDI0Ljk0MzQgMjMuMjM3OSAyNC4xMTI1IDI0LjA3OEMyMy4yODE3IDI0LjkxNzkgMjIuMTUxIDI1LjM5MzUgMjAuOTY5NiAyNS40MDAxSDE1LjQzMDZDMTQuMjQ5MSAyNS4zOTM1IDEzLjExODUgMjQuOTE3OSAxMi4yODc2IDI0LjA3OEMxMS40NTY3IDIzLjIzNzkgMTAuOTkzNiAyMi4xMDIxIDExLjAwMDEgMjAuOTIwNlYxNS40ODA3QzEwLjk5MzIgMTQuMjk4OSAxMS40NTYyIDEzLjE2MjkgMTIuMjg3MiAxMi4zMjI2QzEzLjExODEgMTEuNDgyMiAxNC4yNDg5IDExLjAwNjUgMTUuNDMwNiAxMVoiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0xNyAyOC45OTk5SDIzLjEzMjlDMjYuNDA5NiAyOC45NjI1IDI5LjAzNiAyNi4yNzYyIDI4Ljk5OTYgMjIuOTk5NVYxNi45OTkiIHN0cm9rZT0id2hpdGUiIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPgo="); +} + +a.ws-share-button { + background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMSIgeT0iMSIgd2lkdGg9IjM4IiBoZWlnaHQ9IjM4IiByeD0iMTQiIHN0cm9rZT0iIzUwRTA1QSIgc3Ryb2tlLXdpZHRoPSIyIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNMjQuNjE1NCAyOC40NjE1QzIzLjM0MDggMjguNDYxNSAyMi4zMDc3IDI3LjQyODUgMjIuMzA3NyAyNi4xNTM4QzIyLjMwNzcgMjQuODc5MiAyMy4zNDA4IDIzLjg0NjIgMjQuNjE1NCAyMy44NDYyQzI1Ljg5IDIzLjg0NjIgMjYuOTIzMSAyNC44NzkyIDI2LjkyMzEgMjYuMTUzOEMyNi45MjMxIDI3LjQyODUgMjUuODkgMjguNDYxNSAyNC42MTU0IDI4LjQ2MTVaTTEzLjg0NjIgMjIuMzA3N0MxMi41NzE1IDIyLjMwNzcgMTEuNTM4NSAyMS4yNzQ2IDExLjUzODUgMjBDMTEuNTM4NSAxOC43MjYyIDEyLjU3MTUgMTcuNjkyMyAxMy44NDYyIDE3LjY5MjNDMTUuMTIwOCAxNy42OTIzIDE2LjE1MzggMTguNzI2MiAxNi4xNTM4IDIwQzE2LjE1MzggMjEuMjc0NiAxNS4xMjA4IDIyLjMwNzcgMTMuODQ2MiAyMi4zMDc3Wk0yNC42MTU0IDExLjUzODVDMjUuODkgMTEuNTM4NSAyNi45MjMxIDEyLjU3MTUgMjYuOTIzMSAxMy44NDYyQzI2LjkyMzEgMTUuMTIwOCAyNS44OSAxNi4xNTM4IDI0LjYxNTQgMTYuMTUzOEMyMy4zNDA4IDE2LjE1MzggMjIuMzA3NyAxNS4xMjA4IDIyLjMwNzcgMTMuODQ2MkMyMi4zMDc3IDEyLjU3MTUgMjMuMzQwOCAxMS41Mzg1IDI0LjYxNTQgMTEuNTM4NVpNMjQuNjE1NCAyMi4zMDc3QzIzLjI1MzggMjIuMzA3NyAyMi4wNjU0IDIzLjAxOTIgMjEuMzgxNSAyNC4wODYyTDE3LjI2MjMgMjEuNzMyM0MxNy41Mjg1IDIxLjIwOTIgMTcuNjkyMyAyMC42MjYyIDE3LjY5MjMgMjBDMTcuNjkyMyAxOS42MTMxIDE3LjYxNzcgMTkuMjQ2OSAxNy41MTE1IDE4Ljg5NDZMMjEuNzk2OSAxNi40NDYyQzIyLjQ5OTIgMTcuMjA3NyAyMy40OTc3IDE3LjY5MjMgMjQuNjE1NCAxNy42OTIzQzI2Ljc0IDE3LjY5MjMgMjguNDYxNSAxNS45NzA4IDI4LjQ2MTUgMTMuODQ2MkMyOC40NjE1IDExLjcyMTUgMjYuNzQgMTAgMjQuNjE1NCAxMEMyMi40OTA4IDEwIDIwLjc2OTIgMTEuNzIxNSAyMC43NjkyIDEzLjg0NjJDMjAuNzY5MiAxNC4yMzMxIDIwLjg0MzggMTQuNTk5MiAyMC45NSAxNC45NTIzTDE2LjY2NDYgMTcuNEMxNS45NjIzIDE2LjYzOTIgMTQuOTYzOCAxNi4xNTM4IDEzLjg0NjIgMTYuMTUzOEMxMS43MjE1IDE2LjE1MzggMTAgMTcuODc1NCAxMCAyMEMxMCAyMi4xMjQ2IDExLjcyMTUgMjMuODQ2MiAxMy44NDYyIDIzLjg0NjJDMTQuNzIzMSAyMy44NDYyIDE1LjUyMjMgMjMuNTQxNSAxNi4xNjkyIDIzLjA0NzdMMTYuMTUzOCAyMy4wNzY5TDIwLjgxMTUgMjUuNzM4NUMyMC43OTYxIDI1Ljg3NjkgMjAuNzY5MiAyNi4wMTA4IDIwLjc2OTIgMjYuMTUzOEMyMC43NjkyIDI4LjI3ODUgMjIuNDkwOCAzMCAyNC42MTU0IDMwQzI2Ljc0IDMwIDI4LjQ2MTUgMjguMjc4NSAyOC40NjE1IDI2LjE1MzhDMjguNDYxNSAyNC4wMjkyIDI2Ljc0IDIyLjMwNzcgMjQuNjE1NCAyMi4zMDc3WiIgZmlsbD0iIzUwRTA1QSIvPgo8L3N2Zz4K"); + display: block; + width: 40px; + height: 40px; + transition: 0.5s ease; +} + +a.ws-share-button:hover { + background: url("data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iNDAiIHZpZXdCb3g9IjAgMCA0MCA0MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjQwIiBoZWlnaHQ9IjQwIiByeD0iMTUiIGZpbGw9IiM1MEUwNUEiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0yNC42MTU0IDI4LjQ2MTVDMjMuMzQwOCAyOC40NjE1IDIyLjMwNzcgMjcuNDI4NSAyMi4zMDc3IDI2LjE1MzhDMjIuMzA3NyAyNC44NzkyIDIzLjM0MDggMjMuODQ2MiAyNC42MTU0IDIzLjg0NjJDMjUuODkgMjMuODQ2MiAyNi45MjMxIDI0Ljg3OTIgMjYuOTIzMSAyNi4xNTM4QzI2LjkyMzEgMjcuNDI4NSAyNS44OSAyOC40NjE1IDI0LjYxNTQgMjguNDYxNVpNMTMuODQ2MiAyMi4zMDc3QzEyLjU3MTUgMjIuMzA3NyAxMS41Mzg1IDIxLjI3NDYgMTEuNTM4NSAyMEMxMS41Mzg1IDE4LjcyNjIgMTIuNTcxNSAxNy42OTIzIDEzLjg0NjIgMTcuNjkyM0MxNS4xMjA4IDE3LjY5MjMgMTYuMTUzOCAxOC43MjYyIDE2LjE1MzggMjBDMTYuMTUzOCAyMS4yNzQ2IDE1LjEyMDggMjIuMzA3NyAxMy44NDYyIDIyLjMwNzdaTTI0LjYxNTQgMTEuNTM4NUMyNS44OSAxMS41Mzg1IDI2LjkyMzEgMTIuNTcxNSAyNi45MjMxIDEzLjg0NjJDMjYuOTIzMSAxNS4xMjA4IDI1Ljg5IDE2LjE1MzggMjQuNjE1NCAxNi4xNTM4QzIzLjM0MDggMTYuMTUzOCAyMi4zMDc3IDE1LjEyMDggMjIuMzA3NyAxMy44NDYyQzIyLjMwNzcgMTIuNTcxNSAyMy4zNDA4IDExLjUzODUgMjQuNjE1NCAxMS41Mzg1Wk0yNC42MTU0IDIyLjMwNzdDMjMuMjUzOCAyMi4zMDc3IDIyLjA2NTQgMjMuMDE5MiAyMS4zODE1IDI0LjA4NjJMMTcuMjYyMyAyMS43MzIzQzE3LjUyODUgMjEuMjA5MiAxNy42OTIzIDIwLjYyNjIgMTcuNjkyMyAyMEMxNy42OTIzIDE5LjYxMzEgMTcuNjE3NyAxOS4yNDY5IDE3LjUxMTUgMTguODk0NkwyMS43OTY5IDE2LjQ0NjJDMjIuNDk5MiAxNy4yMDc3IDIzLjQ5NzcgMTcuNjkyMyAyNC42MTU0IDE3LjY5MjNDMjYuNzQgMTcuNjkyMyAyOC40NjE1IDE1Ljk3MDggMjguNDYxNSAxMy44NDYyQzI4LjQ2MTUgMTEuNzIxNSAyNi43NCAxMCAyNC42MTU0IDEwQzIyLjQ5MDggMTAgMjAuNzY5MiAxMS43MjE1IDIwLjc2OTIgMTMuODQ2MkMyMC43NjkyIDE0LjIzMzEgMjAuODQzOCAxNC41OTkyIDIwLjk1IDE0Ljk1MjNMMTYuNjY0NiAxNy40QzE1Ljk2MjMgMTYuNjM5MiAxNC45NjM4IDE2LjE1MzggMTMuODQ2MiAxNi4xNTM4QzExLjcyMTUgMTYuMTUzOCAxMCAxNy44NzU0IDEwIDIwQzEwIDIyLjEyNDYgMTEuNzIxNSAyMy44NDYyIDEzLjg0NjIgMjMuODQ2MkMxNC43MjMxIDIzLjg0NjIgMTUuNTIyMyAyMy41NDE1IDE2LjE2OTIgMjMuMDQ3N0wxNi4xNTM4IDIzLjA3NjlMMjAuODExNSAyNS43Mzg1QzIwLjc5NjEgMjUuODc2OSAyMC43NjkyIDI2LjAxMDggMjAuNzY5MiAyNi4xNTM4QzIwLjc2OTIgMjguMjc4NSAyMi40OTA4IDMwIDI0LjYxNTQgMzBDMjYuNzQgMzAgMjguNDYxNSAyOC4yNzg1IDI4LjQ2MTUgMjYuMTUzOEMyOC40NjE1IDI0LjAyOTIgMjYuNzQgMjIuMzA3NyAyNC42MTU0IDIyLjMwNzdaIiBmaWxsPSJ3aGl0ZSIvPgo8L3N2Zz4K"); +} + +/* Menu Devices */ + +.ws-menu-devices-name { + margin-bottom: 16px; + padding: 10px; + width: 90px; + background-color: white; + border-radius: 15px; + box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.05); + font-family: 'Montserrat', sans-serif; + text-align: center; + font-weight: 500; + color: #222; +} + +.ws-menu-devices { + padding: 10px; + width: 90px; + background-color: white; + border-radius: 15px; + box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.05); + font-family: 'Montserrat', sans-serif; + text-align: center; + color: #222; +} + +/* Menu Settings */ + +.ws-menu-settings-name { + margin-bottom: 16px; + padding: 10px; + width: 270px; + background-color: white; + border-radius: 15px; + box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.05); + font-family: 'Montserrat', sans-serif; + text-align: center; + font-weight: 500; + color: #222; +} + +.ws-menu-settings { + max-height: 490px; + padding: 20px; + width: 270px; + background-color: white; + border-radius: 15px; + box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.05); + font-family: 'Montserrat', sans-serif; + color: #222; +} + +.ws-save-button { + padding: 10px; + width: 230px; + background-color: #5092E0; + border: none; + border-radius: 15px; + color: white; + text-align: center; + transition: 0.5s ease; + font-family: 'Montserrat', sans-serif; + text-align: center; + margin-top: 8px; +} + +.ws-save-button:hover { + background-color: #2983EE; +} + +.ws-input-name { + font-family: 'Montserrat', sans-serif; + font-size: 15px; + color: #222; + margin-bottom: 4px; +} + +.ws-input-frame { + padding: 10px; + border: 1.5px solid #3E7ECA; + width: 230px; + height: 35px; + border-radius: 10px; + margin-bottom: 8px; +} + +.ws-stp-name { + font-family: 'Montserrat', sans-serif; + font-size: 15px; + color: #222; + margin-top: 4px; + margin-left: 8px; +} + +.ws-input-mask { + padding: 10px; + border: 1.5px solid #3E7ECA; + width: 25%; + height: 35px; + border-radius: 10px; + margin-bottom: 8px; +} + +.ws-input-ip { + padding: 10px; + border: 1.5px solid #3E7ECA; + width: 70%; + height: 35px; + border-radius: 10px; + margin-bottom: 8px; + margin-right: 3%; +} + +/* Help Button */ + +.ws-ask-link { + text-decoration: none; + color: #222; + padding: 35px; + font-weight: 500; + transition: 0.5s ease; +} + +.ws-ask-link:hover { + color: black; +} + +.ws-ask-button { + padding: 10px; + width: 180px; + background-color: white; + border-radius: 15px; + box-shadow: 0px 0px 15px rgba(0, 0, 0, 0.05); + font-family: 'Montserrat', sans-serif; + text-align: center; +} + +/* Context Menus */ + +.ws-context-delete { + padding: 10px; + min-width: 100px; + width: auto; + background-color: #eb493e; + border: none; + border-radius: 15px; + color: white; + text-align: center; + transition: 0.5s ease; + font-family: 'Montserrat', sans-serif; + font-size: 15px; + font-weight: 600; + padding-left: 25px; + padding-right: 25px; + text-align: center; + margin-top: 8px; +} + +.ws-context-delete:hover { + background-color: #ff1100; +} + +.ws-context-button { + padding: 10px; + min-width: 100px; + width: auto; + background-color: #5092E0; + border: none; + border-radius: 15px; + color: white; + text-align: center; + transition: 0.5s ease; + font-family: 'Montserrat', sans-serif; + font-size: 15px; + font-weight: 600; + padding-left: 25px; + padding-right: 25px; + text-align: center; + margin-top: 8px; +} + +.ws-context-button:hover { + background-color: #2983EE; +} + +.ws-context-button-light { + padding: 10px; + min-width: 100px; + width: auto; + background-color: #dcecff; + border: none; + border-radius: 15px; + color: #222; + text-align: center; + transition: 0.5s ease; + font-family: 'Montserrat', sans-serif; + font-size: 15px; + font-weight: 600; + padding-left: 25px; + padding-right: 25px; + text-align: center; + margin-top: 8px; +} + +.ws-context-button-light:hover { + background-color: #cce3ff; +} + +.ws-context-text { + font-family: 'Montserrat', sans-serif; + font-size: 16px; + color: #222; + margin-top: 20px; +} + +.ws-context-name { + font-family: 'Montserrat', sans-serif; + font-weight: 700; + font-size: 18px; + color: #222; + margin-top: 16px; +} + +/* Made by Artem Sergeevich Gryaznov. */ \ No newline at end of file diff --git a/front/src/static/config.js b/front/src/static/config.js index 2a9cd0c3..5fdbebd8 100644 --- a/front/src/static/config.js +++ b/front/src/static/config.js @@ -20,12 +20,12 @@ const ClearConfigForm = function (text) { let txt = '' if (!text) { - txt = 'Тут будут настройки устройств. Выделите любое на схеме.'; + txt = 'Выберите устройство, чтобы настроить его.'; } // Clear all child $(config_content_id).empty(); - $(config_content_id).append('

' + txt + '

'); + $(config_content_id).append('' + txt + ''); } const HostWarningMsg = function (msg) { diff --git a/front/src/static/icons.js b/front/src/static/icons.js index 6dd9f1cd..648bfaa7 100644 --- a/front/src/static/icons.js +++ b/front/src/static/icons.js @@ -1,10 +1,10 @@ const DiagramIcons = { - host: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABRCAYAAAAtvqMwAAAAAXNSR0IArs4c6QAAA2NJREFUeF7tnNFx2zAMhiG3e7TZJN5AG7TeoBf3PfF7nesGTTfQBnUmiTpIqh5lJ5EdKflBE4Sk+32Xp0AA+H8ERckGC+HHVYHCNTqDCwE4TwICIABnBZzDswIIwFkB5/CsAAJwVsA5PCtg0gDKb5/3+S++OI/DI/xfkUUt1Y/dOcHjKqAVPohe3JwTfD7XNjdS3W5ixqMHUH6/FGn+xASb+TW1SLHSVoQOQDvzPzycCFmLNHczF7dneEVYfsPfZeeftcjjUqqfNaqHEsA6zPxOwGKpJY4mNhm71yvCTqrtEs1fC6B5cUzxn7Uor76KFL9etHm8QKsAB3AapNri16LTYcp25ToszYddIT45cRHLq+vOrqe/zFpI8mnKOr6f+7/fvbO77C7P+K4oMYDTe8T7w5mexcDsJoBcKAkgl9IDcQiAAERk4CbMe8B+dvAmbFglXIIMxUVcEwCikqENARiKi7gmAEQlQxsCMBQXcU0AiEqGNgRgKC7imgAQlQxtCMBQXMQ1ASAqGdoQgKG4iGsCQFQytCEAQ3ER1wSAqGRoQwCG4iKuCQBRydCGAAzFRVwTAKKSoQ0BGIqLuCYARCVDGwIwFBdxTQCISoY2BGAoLuKaABCVDG0IwFBcxPW4AYQukW7PFDKiidkMNOKN4ufpE5MyabpHHTLNSqpbqHFR0aBx1J5aS7W9SDqAqTsr153+OZMesVctqndSbVdT1y1J/sftWyKK/jm8AkKmp4EUP8NOMtCxOek9MQD/aXoYjhJAWwV9N9rQmAw3J49Nx8h8+jYbqh5hPYC2CnhOxAAwtfhxAJ6i7/uGwykpM992vlkfh8ovNrEnBuiWoKFc2qr4eGhSjizoNy9rruNBF/CxAarMzzym5ilWGgCqzCOMy3W474QmcO1n9NtlAtAiTWxPAIkF1bojAK1iie0JILGgWncEoFUssX1+APvXGeHZYUzPD2E/vxNp7tG3mKk45AVw9M481RCS+gnn321yQsgNoPPKNqlwKZ1FvVKITSAfgOkcd5n14S0jgN4jL2MnjuV1Wb/nyAcgSNZ/7qilmFrfWZefkFxeAM8QFmEHNLLD/Rb3sW80tZS79vkBnJPtDK8lAGeoBEAAzgo4h2cFEICzAs7hWQEE4KyAc3hWAAE4K+Ac/j9oMVNwgtAfYAAAAABJRU5ErkJggg==", - l3_router: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAzCAYAAAA6oTAqAAAAAXNSR0IArs4c6QAABGh0RVh0bXhmaWxlACUzQ214ZmlsZSUyMGhvc3QlM0QlMjJhcHAuZGlhZ3JhbXMubmV0JTIyJTIwbW9kaWZpZWQlM0QlMjIyMDIzLTAyLTE2VDA3JTNBMjklM0E1Ni44MDRaJTIyJTIwYWdlbnQlM0QlMjI1LjAlMjAoTWFjaW50b3NoJTNCJTIwSW50ZWwlMjBNYWMlMjBPUyUyMFglMjAxMF8xNV83KSUyMEFwcGxlV2ViS2l0JTJGNTM3LjM2JTIwKEtIVE1MJTJDJTIwbGlrZSUyMEdlY2tvKSUyMENocm9tZSUyRjEwOS4wLjAuMCUyMFNhZmFyaSUyRjUzNy4zNiUyMiUyMHZlcnNpb24lM0QlMjIyMC44LjQlMjIlMjBldGFnJTNEJTIyb3AxMEUxZHBZRTIyVmxkeDJ0R0wlMjIlMjB0eXBlJTNEJTIyZ29vZ2xlJTIyJTNFJTNDZGlhZ3JhbSUyMGlkJTNEJTIybkVVZEMteGZMeTEtaThPN1RFTTUlMjIlMjBuYW1lJTNEJTIyJUQwJUExJUQxJTgyJUQxJTgwJUQwJUIwJUQwJUJEJUQwJUI4JUQxJTg2JUQwJUIwJTIwMSUyMiUzRWpaVGRicU13RUlXZmhzdEVHTmR0Y3BuUWRGdXBsYXJ0UmFYZXVUQUJid3pER3BPUWZmcTFzUjFBJTJGVkVWUXZCM2pnZDdQSk9JcGxYJTJGUyUyRkdtZk1JY1pKVEVlUiUyRlIyeWhKMXV6SzNDMDRPOERvdFFPRkVybERaQVF2NGg5NEdIdmFpUnphbVZFalNpMmFPY3l3cmlIVE04YVZ3dFBjdGtjNWYydkRDJTJGZ0FYakl1UDlKWGtldlMwVlZ5TSUyRko3RUVVWjNreXUxMDZwZUREN25iUWx6JTJGRTBRWFFYMFZRaGF2ZFU5U2xJbTd1UUZ6ZnY3Z3Yxc2pBRnRmN0poSDV4JTJCTnZkdm0yNmJ2R2s5NzhmbiUyRnMlMkZ6Y0pIT1hMWiUyQlEzN3hlcHp5RUI3QUozWnJjUVIzVFlvYWoya2xHM05GUzlabEtUeDhHWEduQnBHN01qendOeVl6Tm1uUG5JMWtQQTdVVmFNZlNNTlNyQjhFbTgxS3Vh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", - l2_switch: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADMAAAAzCAYAAAA6oTAqAAAAAXNSR0IArs4c6QAABIJ0RVh0bXhmaWxlACUzQ214ZmlsZSUyMGhvc3QlM0QlMjJhcHAuZGlhZ3JhbXMubmV0JTIyJTIwbW9kaWZpZWQlM0QlMjIyMDIyLTEwLTE0VDE1JTNBMDQlM0EyNC41NDFaJTIyJTIwYWdlbnQlM0QlMjI1LjAlMjAoV2luZG93cyUyME5UJTIwMTAuMCUzQiUyMFdpbjY0JTNCJTIweDY0KSUyMEFwcGxlV2ViS2l0JTJGNTM3LjM2JTIwKEtIVE1MJTJDJTIwbGlrZSUyMEdlY2tvKSUyMENocm9tZSUyRjEwNi4wLjAuMCUyMFNhZmFyaSUyRjUzNy4zNiUyMiUyMGV0YWclM0QlMjI3WmtFSjRTUENFcG9Ba3VKM1VoMSUyMiUyMHZlcnNpb24lM0QlMjIyMC40LjElMjIlMjB0eXBlJTNEJTIyZ29vZ2xlJTIyJTNFJTNDZGlhZ3JhbSUyMGlkJTNEJTIyekVhelR2Y3BtOUJkVEpSWThOX3MlMjIlMjBuYW1lJTNEJTIyJUQwJUExJUQxJTgyJUQxJTgwJUQwJUIwJUQwJUJEJUQwJUI4JUQxJTg2JUQwJUIwJTIwMSUyMiUzRWpaUkxiNk13RUlCJTJGRGNkR2ZvU1FIQXROZDZ0dXBhMTYyR1BrZ2dOV0RZT01rNUQlMkIlMkJyV3hDWkJRdGNJUzhNM1Q0eGtITkNuYlg0clZ4UXRrWEFZRVpXMUFId0pDOEpLUXdDNlVuUjJKYU9SQXJrVG1sUWJ3Smo2NWg4alRnOGg0TTFIVUFGS0xlZ3BUcUNxZTZnbGpTc0ZwcXJZSE9ZMWFzNXpmZ0xlVXlWdjZUMlM2Y0hSTm9vSCUyRjVpSXYlMkJzaDR0WEdTa3ZYS2ZpZE53VEk0alJEZEJqUlJBTnA5bFczQ3BTMWVYeGRuOSUyRmlGOUpLWTRwWCUyQmljRnhzMTYlMkJ4b2ZkN2xtJTJCZkphdm1LenVWbmZleTVISmc5JTJCd1QxYWYlMkJ3bzBIMXluZGlzb29IRU5vdEpkU2NQWUxMUkFPQXhJY25rSG9URkpPc2xtJTJGWjNFdjBlUzN0dXRoRGd3aFhNc3VvVzQ4MG5DR1RqSG91dllIY0F6c2E4Wm1ZR3pMbWRpbzZza3phTHhrU3N0VERQJTJCWWU5YyUyRm9WR2FBR1ZxZjQ3YUEybFVTaDBLYzAlMkZIdW5lUzVGYkhRMjFvYXlwM1Zqc1Jjc3pDN3c0TlczRFZYJTJCa1hHMlAzSjJzOVdWNnRiYkhYN2E1SGV0Rktwb1U4R2FoT2w5eHJaN1NMZzlKZHMxSmRPMFI3NFdVQ1VoUVhkdlF4M3Y3V0Y5YXdRY2ZTUkFLVVVTTnhQZWV5WnUzWHpZMXZveUt1V000bEZ5cnMxSHhCa3U4ZENiJTJCZXFIOXRKMkdZUTA5S2taejJqUG1yNGY4NG5tWUlQUGhoNmolMkZIWWExazQydVBMcjlEdyUzRCUzRCUzQyUyRmRpYWdyYW0lM0UlM0MlMkZteGZpbGUlM0UXJ+6nAAAC4ElEQVRoQ+2aPUscQRjHn21SGzTEKuIRm0gavTo59Yp8ABXSGIsIor0gnJ4vgYC9Ipgi0UL08gEOvJxnarVQtFEUrZQYYm2z4b/6hMmyezuzs3u7A051x+3Mzm+f1//cWrZt20REZ1c39G17lyzLwlcjxouWJmp/3kw9r186+7UAkyss0c7RGbU9e2oEBG/y4tcf5+P0YJ5m378jq3pwYvdOL9OXsX4aynUbB7Na26P50g+qzo2SVVwv27MbW3S3+dkoENE6+ZkVGu7N3sN8re7SyeKEkTDYdMf4QrphEA+yMZx6GGxwKNdFUwP5QI9JPcyTwUkHAtZBcnrbmfGFSgSGU2ngo36IA/E6ZNqpgT5P10sEZr5UcdJo2AErebmekTD8ENxQjzBh3YPncbWWWccvvhA37gyXiGVkIPgazmb8HdkMWc2r9hgD09DUDHf4uPSdCv19dWuBilW4RWlY0QSEGANbxZFIYVTgtdzMq14YB8MuBSEXdiAGou7QlSzjdqmwINxrJQrDsaHSW/kBJ24ZbCwq66QCRpSpXpXcuAQguo47GRgNI7ream0/UEDVSxoqEtlrHaVsFpS9dDeDuoUHIlvx3fuJFCYINuh3sQjL9GKJwCBRyIy1nX3nRNUtviCVZU5oYrcMXA830Rl+MrnhlokCRrRUZWbE10pGWIbbH6jLeufgDYGRjZmfx+f/xQxbxEsix56adeICc92Sop5ENgYmTFpmVar8LwA3m29eZSJVlXBHrC1zrhyJZURXSLIP04JBMcOBhahljINJq0RWtozuAbdY7KKWyEowaZfISjBpl8jKMDzBT/cblwDEJwAo/D3NGc1oGLfrGQ8jup6MYNLt11Tmx941q2xG99pHGN0nGNf8f5bht5pkhVBcGwq7Loo8ekfnrSa8b1ZcL9PcZkXqJCTsTeOYx6UCYq72aeweBjfaPjyl8+vfdHlzG8d9Y1kTW//Qk6VMa4uz/l/tjAf+44PQ6wAAAABJRU5ErkJggg==", - l1_hub: "data:image/png;base64,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", + host: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIHZpZXdCb3g9IjAgMCA1MCA1MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iMi41IiB5PSIxMC41IiB3aWR0aD0iNDUiIGhlaWdodD0iMjUiIHJ4PSI0LjUiIHN0cm9rZT0iIzNFN0VDQSIgc3Ryb2tlLXdpZHRoPSI1Ii8+CjxyZWN0IHg9IjE1IiB5PSI0MyIgd2lkdGg9IjIwIiBoZWlnaHQ9IjUiIHJ4PSIyLjUiIGZpbGw9IiMzRTdFQ0EiLz4KPC9zdmc+Cg==", + l3_router: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIHZpZXdCb3g9IjAgMCA1MCA1MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zLjUyMjg0IDMzLjI0NzJMNy41MDc2NiAyOS4yNjI0QzcuMTc1ODYgMjcuODk2IDcgMjYuNDY4NSA3IDI1QzcgMTUuMDU4OSAxNS4wNTg5IDcgMjUgN0MyNi40Njg1IDcgMjcuODk2IDcuMTc1ODYgMjkuMjYyNCA3LjUwNzY2TDMzLjI0NzIgMy41MjI4NEMzMC42ODcxIDIuNTM5MTMgMjcuOTA2NSAyIDI1IDJDMTIuMjk3NSAyIDIgMTIuMjk3NSAyIDI1QzIgMjcuOTA2NSAyLjUzOTEzIDMwLjY4NzEgMy41MjI4NCAzMy4yNDcyWk00Ni41ODkzIDE3LjA1MDhMNDIuNTY5OCAyMS4wNzA0QzQyLjg1MTQgMjIuMzM1MiA0MyAyMy42NTAzIDQzIDI1QzQzIDM0Ljk0MTEgMzQuOTQxMSA0MyAyNSA0M0MyMy42NTAzIDQzIDIyLjMzNTIgNDIuODUxNCAyMS4wNzA0IDQyLjU2OThMMTcuMDUwOCA0Ni41ODkzQzE5LjUyODIgNDcuNTAxOCAyMi4yMDU5IDQ4IDI1IDQ4QzM3LjcwMjUgNDggNDggMzcuNzAyNSA0OCAyNUM0OCAyMi4yMDU5IDQ3LjUwMTggMTkuNTI4MiA0Ni41ODkzIDE3LjA1MDhaIiBmaWxsPSIjM0U3RUNBIi8+CjxwYXRoIGQ9Ik00Mi43OTk3IDM5LjI2MzRMMzkuMjY0MiA0Mi43OTg5TDMwLjc3ODkgMzQuMzEzNkwyOC42NTc2IDM2LjQzNDlMMjcgMjdMMzYuNDM1OCAyOC42NTY4TDM0LjMxNDQgMzAuNzc4MUw0Mi43OTk3IDM5LjI2MzRaIiBmaWxsPSIjM0U3RUNBIi8+CjxwYXRoIGQ9Ik03LjEyMDY5IDEwLjY1NzFMMTAuNjU2MiA3LjEyMTUyTDE5LjE0MTUgMTUuNjA2OEwyMS4yNjI4IDEzLjQ4NTVMMjMgMjNMMTMuNDg0NiAyMS4yNjM3TDE1LjYwNiAxOS4xNDIzTDcuMTIwNjkgMTAuNjU3MVoiIGZpbGw9IiMzRTdFQ0EiLz4KPHBhdGggZD0iTTM5LjE0MjYgMTQuMzEzN0wzMC42NTczIDIyLjc5OUgyNy4xMjE4VjE5LjI2MzVMMzUuNjA3IDEwLjc3ODJMMzMuNDg1NyA4LjY1Njg1TDQzLjAzMTcgNi44ODkwOUw0MS4yNjM5IDE2LjQzNUwzOS4xNDI2IDE0LjMxMzdaIiBmaWxsPSIjM0U3RUNBIi8+CjxwYXRoIGQ9Ik0xMC43NzczIDM1LjYwNjdMMTkuMjYyNiAyNy4xMjE0TDIyLjc5ODIgMjcuMTM3OUwyMi43OTgyIDMwLjY1N0wxNC4zMTI5IDM5LjE0MjJMMTYuNDM0MiA0MS4yNjM2TDYuODg4MjYgNDMuMDMxM0w4LjY1NjAyIDMzLjQ4NTRMMTAuNzc3MyAzNS42MDY3WiIgZmlsbD0iIzNFN0VDQSIvPgo8L3N2Zz4K", + l2_switch: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIHZpZXdCb3g9IjAgMCA1MCA1MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTE3LjYzOTYgMjguNjgwMkg2LjU5OTYxVjM0LjIwMDJIMTcuNjM5NlYzOS43MjAyTDMwLjUxOTYgMzEuNDQwMkwxNy42Mzk2IDIzLjE2MDJWMjguNjgwMloiIGZpbGw9IiMzRTdFQ0EiLz4KPHBhdGggZD0iTTMyLjM2MDQgMTUuNzk5OEg0My40MDA0VjIxLjMxOThIMzIuMzYwNFYyNi44Mzk4TDE5LjQ4MDQgMTguNTU5OEwzMi4zNjA0IDEwLjI3OThWMTUuNzk5OFoiIGZpbGw9IiMzRTdFQ0EiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0zOSA3SDExQzguNzkwODYgNyA3IDguNzkwODYgNyAxMVYyNC4wOEgyVjExQzIgNi4wMjk0NCA2LjAyOTQ0IDIgMTEgMkgzOUM0My45NzA2IDIgNDggNi4wMjk0NCA0OCAxMVYyMS4zMkg0M1YxMUM0MyA4Ljc5MDg2IDQxLjIwOTEgNyAzOSA3Wk0yIDI4LjY4VjM5QzIgNDMuOTcwNiA2LjAyOTQ0IDQ4IDExIDQ4SDM5QzQzLjk3MDYgNDggNDggNDMuOTcwNiA0OCAzOVYyNS45Mkg0M1YzOUM0MyA0MS4yMDkxIDQxLjIwOTEgNDMgMzkgNDNIMTFDOC43OTA4NiA0MyA3IDQxLjIwOTEgNyAzOVYyOC42OEgyWiIgZmlsbD0iIzNFN0VDQSIvPgo8L3N2Zz4K", + l1_hub: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIHZpZXdCb3g9IjAgMCA1MCA1MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPGcgY2xpcC1wYXRoPSJ1cmwoI2NsaXAwXzc1OV85MDgpIj4KPHBhdGggZD0iTTQwLjgzMiAxMy4wNjMzTDMxLjM3OTkgMjIuNTE1NEgyNy40NDE1VjE4LjU3N0wzNi44OTM2IDkuMTI0OUwzNC41MzA2IDYuNzYxODZMNDUuMTY0MyA0Ljc5MjY3TDQzLjE5NTEgMTUuNDI2M0w0MC44MzIgMTMuMDYzM1oiIGZpbGw9IiMzRTdFQ0EiLz4KPHBhdGggZD0iTTkuMjMwNDcgMzYuNzgyNEwxOC42ODI2IDI3LjMzMDNMMjIuNjIxIDI3LjM0ODdMMjIuNjIxIDMxLjI2ODdMMTMuMTY4OSA0MC43MjA4TDE1LjUzMTkgNDMuMDgzOEw0Ljg5ODI1IDQ1LjA1M0w2Ljg2NzQ0IDM0LjQxOTRMOS4yMzA0NyAzNi43ODI0WiIgZmlsbD0iIzNFN0VDQSIvPgo8cGF0aCBkPSJNMTMuMTY5MiA5LjEyNDAyTDIyLjYyMTQgMTguNTc2MVYyMi41MTQ1SDE4LjY4M0w5LjIzMDg1IDEzLjA2MjRMNi44Njc4MiAxNS40MjU0TDQuODk4NjMgNC43OTE4TDE1LjUzMjMgNi43NjA5OUwxMy4xNjkyIDkuMTI0MDJaIiBmaWxsPSIjM0U3RUNBIi8+CjxwYXRoIGQ9Ik0zNi44OTEzIDQwLjcyMDdMMjcuNDM5MiAzMS4yNjg2TDI3LjQ1NzYgMjcuMzMwMkwzMS4zNzc2IDI3LjMzMDJMNDAuODI5NyAzNi43ODIzTDQzLjE5MjcgMzQuNDE5M0w0NS4xNjE5IDQ1LjA1MjlMMzQuNTI4MyA0My4wODM3TDM2Ljg5MTMgNDAuNzIwN1oiIGZpbGw9IiMzRTdFQ0EiLz4KPHBhdGggZD0iTTQxLjgxOSAyNy40NjU4TDMwLjI1MzkgMjcuMzM2N0wyNy44NzE0IDI0LjkwMDRMMzAuMzA3NyAyMi41MTc5TDQxLjg3MjggMjIuNjQ3TDQxLjkwNTEgMTkuNzU1N0w0OS41NTYgMjUuMTQyNUw0MS43ODY4IDMwLjM1NzFMNDEuODE5IDI3LjQ2NThaIiBmaWxsPSIjM0U3RUNBIi8+CjxwYXRoIGQ9Ik04LjAzNjQzIDIyLjM4OTdMMTkuNjAxNiAyMi41MTg4TDIxLjk3MjcgMjQuOTY2MkwxOS41NDc4IDI3LjMzNzZMNy45ODI2MiAyNy4yMDg1TDcuOTUwMzQgMzAuMDk5OEwwLjI5OTQyIDI0LjcxM0w4LjA2ODcxIDE5LjQ5ODRMOC4wMzY0MyAyMi4zODk3WiIgZmlsbD0iIzNFN0VDQSIvPgo8cGF0aCBkPSJNMjcuNTc1MiA4LjA5NDA0TDI3LjQ0NjEgMTkuNjU5MkwyNS4wMDk3IDIyLjA0MTdMMjIuNjI3MiAxOS42MDU0TDIyLjc1NjQgOC4wNDAyNEwxOS44NjUxIDguMDA3OTVMMjUuMjUxOSAwLjM1NzAzOEwzMC40NjY1IDguMTI2MzNMMjcuNTc1MiA4LjA5NDA0WiIgZmlsbD0iIzNFN0VDQSIvPgo8cGF0aCBkPSJNMjIuNDkzMiA0MS44ODJMMjIuNjIyMyAzMC4zMTY5TDI1LjA2OTggMjcuOTQ1OEwyNy40NDExIDMwLjM3MDdMMjcuMzEyIDQxLjkzNThMMzAuMjAzMyA0MS45NjgxTDI0LjgxNjUgNDkuNjE5TDE5LjYwMTkgNDEuODQ5N0wyMi40OTMyIDQxLjg4MloiIGZpbGw9IiMzRTdFQ0EiLz4KPC9nPgo8ZGVmcz4KPGNsaXBQYXRoIGlkPSJjbGlwMF83NTlfOTA4Ij4KPHJlY3Qgd2lkdGg9IjUwIiBoZWlnaHQ9IjUwIiBmaWxsPSJ3aGl0ZSIvPgo8L2NsaXBQYXRoPgo8L2RlZnM+Cjwvc3ZnPgo=", smartphone: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAAAsTAAALEwEAmpwYAAACXElEQVR4nO2bQUtUURiGnxl1tKwcUMiojQhhCyldmz+hTX+kRbQKivYhWDvBf+AmCGsVFRZtxF3kIoqCihaZDFRqTovv3GAK0XvOmfsafQ9cZgbmfO973vvN3M35auRlHLgAHM9ct2ATWANed6l+NGeAZaBd0XUfOJ3DeC1DjVngHjAEfAZWgU+Y0ZzUgFFgGhgBNoBLwNPMOqVoAu+wzd4EGhVo9gO3guZbLHgZd4KRBYH2YtCeE2j/pmj1CYH2ZNB+L9AG4Ggw8APoEej3AdvBQ39skd4EA8XvfRu4mFAnhR1sD33YjaiUk1T32NvvGo7dREoHbIXXHWAloU4KM9jPb2u/L3aDJpb+hkI80AoejsUWqOfz8m/iAagNqPEA1AbUeABqA2o8ALUBNR6A2oAaD0BtQI0HoDagxgNQG1DjAagNqPEA1AbUeABqA2o8ALUBNR6A2oAaD0BtQI0HoDagxgNQG1DjAagNqPEA1AbUeABqA2o8ALUBNf99AClnhQuOAHcz1ImhigmVPTlMp8VHYjeR0gHF+fxvwLWEOincxrrge2yBlKmxJvAF+Brel+EUnWf828Ar7Oh9GVrAIDan2Cq5NpkGZvwnMFBi3Sh2x/5s4/mS+oPAbtCP7uTUgYl14CxwHnhxwHWbwGM6Bx/bJdYXTGEd/JLynZONq5j5R1T7SK0DT4L2lQp1/6IXeB6MPMDG53JMo+5FDTgHPAyaz0icWMthdgxYwloS7E+xm6OzJ8LnVeAy8CazThQN4Abwke4/8z8A17FRuWRyt2udzruUm6K7dnMV/AUxANH3cWxJTQAAAABJRU5ErkJggg==", - server: "data:image/png;base64,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", + server: "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIHZpZXdCb3g9IjAgMCA1MCA1MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3QgeD0iNDMiIHk9IjM2IiB3aWR0aD0iNSIgaGVpZ2h0PSIxMiIgcng9IjIuNSIgZmlsbD0iIzNFN0VDQSIvPgo8cmVjdCB4PSI0MyIgeT0iMTkiIHdpZHRoPSI1IiBoZWlnaHQ9IjEyIiByeD0iMi41IiBmaWxsPSIjM0U3RUNBIi8+CjxyZWN0IHg9IjQzIiB5PSIyIiB3aWR0aD0iNSIgaGVpZ2h0PSIxMiIgcng9IjIuNSIgZmlsbD0iIzNFN0VDQSIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTUgMTlDMy4zNDMxNSAxOSAyIDIwLjM0MzEgMiAyMlYyOEMyIDI5LjY1NjkgMy4zNDMxNSAzMSA1IDMxSDM2QzM3LjY1NjkgMzEgMzkgMjkuNjU2OSAzOSAyOFYyMkMzOSAyMC4zNDMxIDM3LjY1NjkgMTkgMzYgMTlINVpNOCAyM0M2Ljg5NTQzIDIzIDYgMjMuODk1NCA2IDI1QzYgMjYuMTA0NiA2Ljg5NTQzIDI3IDggMjdDOS4xMDQ1NyAyNyAxMCAyNi4xMDQ2IDEwIDI1QzEwIDIzLjg5NTQgOS4xMDQ1NyAyMyA4IDIzWk0xMiAyNUMxMiAyMy44OTU0IDEyLjg5NTQgMjMgMTQgMjNDMTUuMTA0NiAyMyAxNiAyMy44OTU0IDE2IDI1QzE2IDI2LjEwNDYgMTUuMTA0NiAyNyAxNCAyN0MxMi44OTU0IDI3IDEyIDI2LjEwNDYgMTIgMjVaTTIwIDIzQzE4Ljg5NTQgMjMgMTggMjMuODk1NCAxOCAyNUMxOCAyNi4xMDQ2IDE4Ljg5NTQgMjcgMjAgMjdDMjEuMTA0NiAyNyAyMiAyNi4xMDQ2IDIyIDI1QzIyIDIzLjg5NTQgMjEuMTA0NiAyMyAyMCAyM1oiIGZpbGw9IiMzRTdFQ0EiLz4KPHBhdGggZmlsbC1ydWxlPSJldmVub2RkIiBjbGlwLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik01IDJDMy4zNDMxNSAyIDIgMy4zNDMxNSAyIDVWMTFDMiAxMi42NTY5IDMuMzQzMTUgMTQgNSAxNEgzNkMzNy42NTY5IDE0IDM5IDEyLjY1NjkgMzkgMTFWNUMzOSAzLjM0MzE1IDM3LjY1NjkgMiAzNiAySDVaTTggNkM2Ljg5NTQzIDYgNiA2Ljg5NTQzIDYgOEM2IDkuMTA0NTcgNi44OTU0MyAxMCA4IDEwQzkuMTA0NTcgMTAgMTAgOS4xMDQ1NyAxMCA4QzEwIDYuODk1NDMgOS4xMDQ1NyA2IDggNlpNMTIgOEMxMiA2Ljg5NTQzIDEyLjg5NTQgNiAxNCA2QzE1LjEwNDYgNiAxNiA2Ljg5NTQzIDE2IDhDMTYgOS4xMDQ1NyAxNS4xMDQ2IDEwIDE0IDEwQzEyLjg5NTQgMTAgMTIgOS4xMDQ1NyAxMiA4Wk0yMCA2QzE4Ljg5NTQgNiAxOCA2Ljg5NTQzIDE4IDhDMTggOS4xMDQ1NyAxOC44OTU0IDEwIDIwIDEwQzIxLjEwNDYgMTAgMjIgOS4xMDQ1NyAyMiA4QzIyIDYuODk1NDMgMjEuMTA0NiA2IDIwIDZaIiBmaWxsPSIjM0U3RUNBIi8+CjxwYXRoIGZpbGwtcnVsZT0iZXZlbm9kZCIgY2xpcC1ydWxlPSJldmVub2RkIiBkPSJNNSAzNkMzLjM0MzE1IDM2IDIgMzcuMzQzMSAyIDM5VjQ1QzIgNDYuNjU2OSAzLjM0MzE1IDQ4IDUgNDhIMzZDMzcuNjU2OSA0OCAzOSA0Ni42NTY5IDM5IDQ1VjM5QzM5IDM3LjM0MzEgMzcuNjU2OSAzNiAzNiAzNkg1Wk04IDQwQzYuODk1NDMgNDAgNiA0MC44OTU0IDYgNDJDNiA0My4xMDQ2IDYuODk1NDMgNDQgOCA0NEM5LjEwNDU3IDQ0IDEwIDQzLjEwNDYgMTAgNDJDMTAgNDAuODk1NCA5LjEwNDU3IDQwIDggNDBaTTEyIDQyQzEyIDQwLjg5NTQgMTIuODk1NCA0MCAxNCA0MEMxNS4xMDQ2IDQwIDE2IDQwLjg5NTQgMTYgNDJDMTYgNDMuMTA0NiAxNS4xMDQ2IDQ0IDE0IDQ0QzEyLjg5NTQgNDQgMTIgNDMuMTA0NiAxMiA0MlpNMjAgNDBDMTguODk1NCA0MCAxOCA0MC44OTU0IDE4IDQyQzE4IDQzLjEwNDYgMTguODk1NCA0NCAyMCA0NEMyMS4xMDQ2IDQ0IDIyIDQzLjEwNDYgMjIgNDJDMjIgNDAuODk1NCAyMS4xMDQ2IDQwIDIwIDQwWiIgZmlsbD0iIzNFN0VDQSIvPgo8L3N2Zz4K", database: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAABQ5JREFUeJzt2uurVFUYx/HPeCuP0kklQ820ThbZ/WIhFkTUHxBBdEEpSaTohb3pQlAhERFRBApdsYLoZvUiLxFURPpCopumSZaeTMsyr6XHkx7txZrd7Dkze87ZM3vmnLH5woLNzF5rPev+/J61afH/JtegeoZiPMZhDE7CCAzP/38Y/2A/9mAX/kBPvQ3LugNG4CLMwHk4Fx2YiGEpyzqC7fgJ32M9vsBaobMGBTmcjwfxCQ7hWJ3TIXyM+zE9iwZUw3jMxRxhlJPoQacwituxA7uxD13C1CcshZFox1hMwCScianCEkpiPV7FK9iZvinpOAMvCFOw98gcxddYhNm4UFgStTIiX9YcLMY3Zeo+hm48hykZ1FlCGx5X2vAuvItbcUo9Kk5gPG7De0qXXTcWCjMqE6YL0yxeyUbcjZOzqqQGxuAe/KDYxrU4p9bCZ2JvrNCtuEXlNTlQDBVmxS8K9u4STqSq6BDO5KiwJRhVs5n1Z7SwKUZ271TFvpDDZ7FCFmqc05QFOTymYP9HUtp/dSzzsrSZBwk5rFBox5VpMr8Yyzgzc9MaxyyFdixOk3FLLGNb9nY1jFEK7fix3AtDEjLGRciEjI1qJBNjz2WFVVIH7Io935mZOY0nbnsqN/l9halzGNdkZ1PDuFZQlFE73i73Un+WwDAsxw1ZWldnbhROr7jDdjRNAUuVFxxLcGo2NtaFCYqdoHh6M01B8Q6Yr1gE/Y2ncHpWVmfAFDyNA4rjBnNl0AFwmVIZ2iMsjdkGRhSNESTySmF6x237Ehfn38ukAwh7wXxBEPWeXofxOR7BdULML2vacT0exSrFG1yUOoWdP772K3ZAmjjdETwvRF5uwl0KXuIwXJVPEZuxDpvyz9vxm3DE7hViCVFsb4TgcLULgdMoItSBabhACMYksUoIhrwjo3jhGqUzoBxn4QGsVn5E6pWOCI2+TwibVSLKs6rcn0kiZysm55/bhNHqi3ZhBlyRT9Nlt1FuVYgKrxEas78f+UbiYP65U5lZlLQEDsaeLxVGuC/2CZvi8thvo/OVTsZpCvcC7UIg9IT8e91K7wW2CcGNLcLJUw2Xx54PpMn4qcLU+VBzyuEhQhwgHhPoN70doSc0Vyfk8KSMHKEova4+x1vWtOMNGXqCu2PPv+J26a+5GsFwwfPboTgeWHMHnI1vFffmZiwQNrWBZhzuVRzEibzBDhl0AJyIh4XjMF5JNz7AHYqDD/VmkjDay/I2xG06iIcUTpjMXGHCUbZIaUdEaQNewjwhHp9FOK1N8Cvm4WXhprhc3V14VulAVOyApJ19qaCpk94ZK+wFsxVERxLb1OYKT+qj/K/wWj7tKfN/NIhv4eY+yvqPpBlQjmnCGlwhOCz1doP/EpytBUIH9UVVM2CNMO0qvVOOoYILHLnC0QcSk6W/rOwSPMHeH0hskO7LkWgQVysWa8hWC1QiJ7jAaVzh6FquFvrUAklsVJg6s2o0YiCJ33B9lyZjSwso3nhaWkBLC7S0QEsLaGmBlhaIaGmBGE2tBbLYzTfhmXwajFqgIkkdEL9dGan/WqBHuA1a1+v3gdQCEWVvjJI64OfYc3/vBSoR+RO7aywnLfF7gc40GeNfVx0vWiDVF6M54Zv840ULrKymkKn4M1ZIs2qB3wX/pSpmaH4tcEmtBTe7FsiEZtYCmdKMWqAi1e7szaQF6s5g1wIVyfpsbzot0CjnZqC0QIsWffAvCMEDw7ldJ8MAAAAASUVORK5CYII=", person: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAACqUlEQVR42u2ZzUpbURCAbzaaRjF0X6suFF1I8AGkuBbFXdV258Kgbiw2/ryGlWTh1oo+gW1BSh9AgtBK3Er6AFZMIjbthE5AhkmT+3PCzGUOfBv1zjnz3Xvm/Oh53W0jwC7wGSgDD0gZf7YDDHkxbMPACfAb+NOGxt8cAy/jkvxb4K6DxCm/gCXtyb8PkDjlneY3zyV0AawCo0APMgZkgWKLZxY1znn62d8DK22eS6CcCjMdBjUJOGWSn/bx/CtGwkctyY8w1X4lQJwsszqoWCL3mDkfpCWYmpDTIOALGfRqiFhrJNaZBgE/yaBHQ8QaJ7FuNAh4IIPuCRGrl8SqmQAFrUwGPRYi1oTGKUCLYDZErA2NRXCXDLqIS1qQZfBS4zI4zGyEgiyF6yTGo6Yj8gkZfAW3t522GaBKYhxpOgsMMYehCn4JiTaf/TqT/C3wQtuJ8E2Lo20Rd3jjuMz1YrXfYOZ8k9da7wS2IrgQ2dR+K7SM53m/id9qfvO0Nar3sdfZpegjFrxBL4atURy3gU+4q6shN7jJyXkxuA2eAgrANSYXtgY0YpSAPJCRnPgz4DCChP9HHeUmJSb/zXHyT/kqTcJhF5Nvkpc05+ngvgOzQCqC+H3AHHDFTAcRNaHAJD/goJ80I+FAgoBrMqhZh33Nk76uJAigS13KYV/9pK+qBAF0/setPxNgAkxAuAH5HXDU8UyACTAB3d0I9TkUIHIjVCKDmnMoYIH87ocEAXlmf552IOA5I3tfgoAMHk2phHnmkw0ioB/ffIk5Dk9KuRMo+LjI8CugFR8k3Qgl8ZqqWwLOvX//UfKkSSgw0yFKAXV88+KSpzXhAOtANQIBVaz2+5LmvMvDi7iNjgkwASbABJgAE2ACTIAJMAEmIBIBfjEBJsAEuGt/Af99DsfoQhFtAAAAAElFTkSuQmCC", worker: "data:image/png;base64,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", diff --git a/front/src/static/images/host.png b/front/src/static/images/host.png index fca6aa7a46f889a10062389b1aa9bc1513a25247..d2ea1c8526ce9bfa1778715582aa9223dcfbdf0e 100644 GIT binary patch literal 543 zcmeAS@N?(olHy`uVBq!ia0vp^Mj*_=1|;R|J2nC-&H|6fVg?3oVGw3ym^DWND9BhG zSO$4mpUhefXYsz|_4#`hizW zLKUk&!#sx_4NI#Sp0GUN+~c&EyGQSZ;Eu-F?zzurdzu6&9^<*Va$mgDCBMu=)Bnxo zXHYz{zu~oZ;GPVL&qfYM^zUW1!8Z9dq|MEO?_+czeeqsnke0oikZ`vfJ-JNoy}#^*i!d@LhF1`3x3O zw>yR!ty?+u*+Y$Lg4cyk)UalMwkeTgYO33|V XkF&Zv7m1kz|+J?LuJM&P=DT>0|oX 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 AIRF3v literal 4421 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 diff --git a/front/src/static/images/l2_switch.png b/front/src/static/images/l2_switch.png index 55240b289a72d63f0ae2f6e1e83ef61a2858096e..8ba27fe66118222de232413703437fea568563b3 100644 GIT binary patch literal 1101 zcmV-T1hV^yP)?63LD zut9-BOzW3{uu?-r6P60>YeMeX<*okg6`v5(`uR@c>NPdjVL7?i#DK(XcfFlcLf8@# z^$skr2p1CLYP9MnJv0}>=PA#4Q_KvuvbP(Ug|##T@muPGJ6R&d~< zMpifoALSV4=Q|T(Ajyx0p-jk*b#qKsump%Xk%A~m9br)t7m`)voT!jt?C>kX1^MBFYwfvyv~-21eL8M5qg)*{~o=-R~&z z+1NR`Ii?S5K|rp6R3b#Tf-rJGS-ksd$;>#)C?MTbR|t!&(+l%#i;zLi{$!mF2bho`sSBZy#2%JAx4V!aX%-)-3L;Ci%YO$2 zL<&KDQUHq_=Ll1ah;}K-y41C`qRL`lq>z@CYd{Rhb#KVP7-3j9ZdLQK?z0H$)(GOc zTQ`OjP_RbQvx1j|ErO*qt>7inB3ze>vp^kyo-PK7yVU0}7D8*a?>o7D{KuP?J?|!I zSYUJzHQPOYaFeMe{2y5AT8*s&88fUK%d^>j+FboY1ULc74TlpC9rH^&qU5O#7BH$C z^8u~l8z98^+PS1Jg;GZy(9B>^YC9$T_l#!e`tXoo!IHgWYhV`NK2lBYRW{^(;2pS6<40sF}JP T0vjkB00000NkvXXu0mjf@pAGz literal 1972 zcmYjS32+nF8J3S?#$#&QB#ms7#x)VR1mxY->T+-zNh@h}Sk`@+0an`8wUSoWu1*3e zS0)Ch83NdW5HlfR8sb6=j$`5k(iBoB0X*0=b-;#j%+zfG&yczSH*V;Y?aXv$_y52B z-uutD|8Be4q+L{AUC!h27U^)z3bd$jFI)g*?aywB#Q=Ug;K2?dD?H zKsZYA1R~WO5+G2BVL5>a6CenYNC?R=5lj*>Rv4!^K!NobLxuxkik#bnKnSu5hE~C- z9Tp2j3J3)PL4{%z_Rj4mf>eCop;!n32lcLSoMbXAfF?T-Fa&6k5+JZ30rmx$m7u=_ zN|8uJDHr84gh6zTSR@sSB!I3r;Pz&t08s%P4bv1*TFOr|1rt>$$;1Gofgy%>ajDk+-MUD_WmwlQ_vSB9vL$N|sIKRN<64V?U zWSC$S1VjWPHE85~$AJIve2?;KB5zOo6EV4xwCk-NnQ0v;zK}tj0GZDAT7W?U1uVc| zfee|IP=Qg-No*F&W_igx5BfG2GUBxweUj#kS_k^3!Th8)z}PIff-{j4E|nl)38FRA z!Jx^7d0LujF*sSUQJHjQRbHiq^XqJ~W|1Au(zr<#_qoxeGi%{!x5A_Lx?lyK(W_*7 zgC(PqIO0}BPqbJSN!lKZT6`IOL?RB!BKDvxgf_#tL!mJksbIq1rfQ=k!Dz(BY7%Wp z58mQ|309mB1dWs<=S)lNh)v?httN)S3nvoRr9nPy2<6;b8=ZC=0%6jWvFp%?6(f}q zt5so2$fGWiDq({ucb1IHfmK)|*Bd-&!VOHreodBz!F!?1G67N=jR6$U6X}>CpK`_n zR8EZRgTP3cvBN~5pcx2~5rGyx#IE^8}IAmHP)Do3vlU}LK7?kTt7S@w3kX4Gh z94bf1;wICUtSBvYY2-x4;t$xY3WLL8GiA*bmGh=V?z{(1GdV-b)r>|pxg-nYStXs4 zkt!buO|{{2PLF6k7D#TOy?G>JjwR8642{P;IM8O|C7_-)(XII?($?JIasYdy~ zcRbH~Y=pma;h|Ht2f70jgSAc?eh~G zp6Tt~@L`E5HF)>@5OZ+!;kftx*cgTdUDB!8hOU+8{^VNv=bfF)A}?GsHvN8G<9B_$ z-A}I^9vZIdYuXSgEoHvBIr`+pt*Q0hfv-Pa+LKTC?wcAebsgVS{Y9##tk*mC*7Qi_ zyF)L(>R8h-)?3rc^-o`}Up(A6z3;K=$qU!cJb!d@I+{&su)j8R3t9@p!s+!J)~E zdsp5{ANfP=I4vkYbNtPb*6E_<@v7*`6}R6m*6ca5cJKJf(%OOFJX6JAv~=KFB=#%w zb6*;&SN!xc{lwwu&-R?+q+18Jm({i2yZT-Gqstab{+>C$@Z6NI{g1Vl&pP_v*f@cG zx$1Q7Udj~m^;fK^lnz&ILO!_B*Fdl|s?M=Dq5a(|_Slkk3UlEnDlctO zz-KmZe~0SWs_Vg=?{`cV^}FvJ>ikR(g}dg&7trcYTJG0$@y;&i)z36tsJam1_usCn zTsqL*v3}(4sQqt)*Tg+h&HXD{{?+CD(U})IZ}jgcx0~10lz%APu{y7vIJ)d3#<`~9 z(s)4q&!?Wc(|qf-!NbMAW8a4F{Ct7*%CoBv|LgYGT#l_7-01f_()#e??!!iUXYcpx Z?sk-Ye{1W-+u%3M)2U6^G3EL#{{zmb*U|t0 diff --git a/front/src/static/images/l3_router.png b/front/src/static/images/l3_router.png index 43933bde89ea65e20c0030c2afee0bf724e32f2d..ef7f1d954096a9cdff1fa65652e810ab86ababae 100644 GIT binary patch literal 1562 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 Ef@NgHXaE2J delta 2322 zcmV+t3GMdb1D6sZiBL{Q4GJ0x0000DNk~Le0000p0000p2nGNE06L*CDv>rHe*g(^ zNLh0L01m_e01m_fl`9S#000QANklvcIB~;L&(8M}P zZApzu7_F(DjA@&WEwPolM8nC2HFkEjmt28k@Q_E{W3+5?Z&W7+fHtAhH@3 z0}&cFk;jAA^W8-+Jnkzq&h!aqf94Kx~;it z{SZ*w;ZYwrjgwskY<ClePmsbZ0lm5n>IUsxbAglLL{>OXNwRUItkvM zp4k5WzmQ*4rjV=kkI*_f!_)vcLP*BThYH(~G&KZ|q$gof=GTy&aj!y9*%eOy?bJ9d znUjXBw0LeBr;~cF{U|~iI9-Wnp8PVbDE)5JIG-v|m&rHPQfA>wtlMl>Ph&zGv ziyVX*!_ea?!d}uJ6_49IUfe5WUiE#A>o@@aLoNN_m<|<-4TG5<=AdqKADgBBt|B~z-4T9 zzUUKVKfVO@e|D~3>UZ2jNQjhth^d}kIK2O_m^nLBYjB23GNTRV24ECoOp$SU%*rob z!1os~MinMvAT7&ncg9l8OK(gBt1YCALYZ+-HBDP{n)sDms&prreuEb;%4moq?#Vu8;{LN z#p;C*qL*QKd3_6>-m*tc(E9pOyloY(cXS~*z#o~SXxPNpCpxPrQ4ogz{`yk`aTw zYgcF;2gB3=ID*5t3yc65LQD$@LI#zXn;gv&rLL~50rQj8X`z@mJq~G6VQSnZ^<2@+ z_(;r2ib5s{#fLF(m(ZX6@1e&}kDZDKQeyD%f7cV$h+rr^vs_|8JQAeL4hZ$);<7o)_J@nv|0!Cjx!~3=6$Z@>#vq!J|`&&7xxCv<7Fm zBs1DzY5+zf#uOQs$L!-1$FTT`CvgoEfK>P8GhjXw#ycaw0iCKcn{z;I6picQg6!qX(;gzUmxZ z9as@%!{(iDsP#i&dS{v=(%DMI=`fefOGnkd^|-WWE%v^&Ocf+VD6H|&W)#2i5*iL} zg0DD7iHb=icf}JZ`^#EX?p=qRf9$!c(frn$N92iI zk*_#ziw7D)XK0Js@0MTC!R=$&@L@=LFR*YmwC^RULIZYVCf+sMN zk>HH=Oc@fxLzEITWfH=JCn~v&L=1uBd=WW0i1SRrthk8VQGyYiU*w29e~~Nll|>SL z0)n+p&M+loafopBxnC5~AYadJVaN$JzS;~qklip|iQhEz4o5_TuOSHa(gR%%RrE4} z`Odf#ydy8Xorh;%KZ0Mqc@+626?c{bxD~v6`wNQj>VX1m*_)5js)jowW6Wo6Z8PB~ zUygNX?K+IFeqOixc^gyUf05=hVoc;4jg&jiXIg4`Iq6$yisie^(KBT@Sa<i2E4t)G6-a2+p zReGf8>xH$YPJ3~Nsh@fAndSH$k1G6_Z@A7UA!Gf3nXt-Ug8w^u2pEork zG$tO7hn}Mex;r8OOWyC%SXqH7;o(}tV3?8-wEw3Kix)h^d}ciJ8TZ9z){=ZAdURp` s(L78HGWRns$&5Cb8i3J=F+>LVFH6R?-873cEC2ui07*qoM6N<$g4|qBr~m)} diff --git a/front/src/static/images/workspace/branding/logo.svg b/front/src/static/images/workspace/branding/logo.svg new file mode 100644 index 00000000..43e6fdcb --- /dev/null +++ b/front/src/static/images/workspace/branding/logo.svg @@ -0,0 +1,4 @@ + + + + diff --git a/front/src/static/images/workspace/devices/host.svg b/front/src/static/images/workspace/devices/host.svg new file mode 100644 index 00000000..7201ad9d --- /dev/null +++ b/front/src/static/images/workspace/devices/host.svg @@ -0,0 +1,4 @@ + + + + diff --git a/front/src/static/images/workspace/devices/hub.svg b/front/src/static/images/workspace/devices/hub.svg new file mode 100644 index 00000000..21e10ead --- /dev/null +++ b/front/src/static/images/workspace/devices/hub.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/front/src/static/images/workspace/devices/router.svg b/front/src/static/images/workspace/devices/router.svg new file mode 100644 index 00000000..39dbe97a --- /dev/null +++ b/front/src/static/images/workspace/devices/router.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/front/src/static/images/workspace/devices/server.svg b/front/src/static/images/workspace/devices/server.svg new file mode 100644 index 00000000..046ef150 --- /dev/null +++ b/front/src/static/images/workspace/devices/server.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/front/src/static/images/workspace/devices/switch.svg b/front/src/static/images/workspace/devices/switch.svg new file mode 100644 index 00000000..e367622f --- /dev/null +++ b/front/src/static/images/workspace/devices/switch.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/front/src/static/netfront_f.js b/front/src/static/netfront_f.js index f5d14530..2ca4c650 100644 --- a/front/src/static/netfront_f.js +++ b/front/src/static/netfront_f.js @@ -772,7 +772,7 @@ const MoveNodes = function(){ const prepareStylesheet = function() { const getColor = function(ele) { - return ele.data('color') || '#ffaaaa'; + return ele.data('color') || '#9FBFE5'; }; const getEdgeLabel = function(ele) { return ele.data('label') || ''; @@ -856,7 +856,7 @@ const prepareStylesheet = function() { }) .selector('.eh-handle') .css({ - 'background-color': 'red', + 'background-color': 'blue', 'width': 8, 'height': 8, 'shape': 'ellipse', @@ -867,35 +867,35 @@ const prepareStylesheet = function() { .selector('.eh-hover') .css({ - 'background-color': 'red' + 'background-color': 'blue' }) .selector('.eh-source') .css({ 'border-width': 2, - 'border-color': 'red' + 'border-color': 'blue' }) .selector('.eh-target') .css({ 'border-width': 2, - 'border-color': 'red' + 'border-color': 'blue' }) .selector('.eh-preview') .css({ - 'background-color': 'red', - 'line-color': 'red', - 'target-arrow-color': 'red', - 'source-arrow-color': 'red' + 'background-color': 'blue', + 'line-color': 'blue', + 'target-arrow-color': 'blue', + 'source-arrow-color': 'blue' }) .selector('.eh-ghost-edge') .css({ - 'background-color': 'red', - 'line-color': 'red', - 'target-arrow-color': 'red', - 'source-arrow-color': 'red' + 'background-color': 'blue', + 'line-color': 'blue', + 'target-arrow-color': 'blue', + 'source-arrow-color': 'blue' }) .selector('node[name]') diff --git a/front/src/templates/base.html b/front/src/templates/base.html index f7cebadb..87fd88fe 100644 --- a/front/src/templates/base.html +++ b/front/src/templates/base.html @@ -28,6 +28,8 @@ + + @@ -39,174 +41,284 @@ {% if mimishark_nav is not defined %} {% endif %} {% if network %} -