commit f871dc898f7585b14fa4ce26b894f6c04ac40663
Author: stepanekp <80317129+stepanekp@users.noreply.github.com>
Date:   Sat Jan 20 20:38:40 2024 +0100

    Add files via upload

diff --git a/wiki_img/arch-diagram.svg b/wiki_img/arch-diagram.svg
new file mode 100644
index 0000000..9d728dc
--- /dev/null
+++ b/wiki_img/arch-diagram.svg
@@ -0,0 +1,4 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Do not edit this file with editors other than draw.io -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
+<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="1351px" height="541px" viewBox="-0.5 -0.5 1351 541" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2024-01-20T19:37:57.150Z&quot; agent=&quot;Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36&quot; etag=&quot;VQ19o3VPpDRnhRkBUUmp&quot; version=&quot;22.1.21&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;_gXjMoejvCwkgX0OyAWi&quot; name=&quot;Page-1&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;" style="background-color: rgb(255, 255, 255);"><defs><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-dae8fc-1-7ea6e0-1-s-0"><stop offset="0%" style="stop-color: rgb(218, 232, 252); stop-opacity: 1;"/><stop offset="100%" style="stop-color: rgb(126, 166, 224); stop-opacity: 1;"/></linearGradient><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-d5e8d4-1-97d077-1-s-0"><stop offset="0%" style="stop-color: rgb(213, 232, 212); stop-opacity: 1;"/><stop offset="100%" style="stop-color: rgb(151, 208, 119); stop-opacity: 1;"/></linearGradient><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-f8cecc-1-ea6b66-1-s-0"><stop offset="0%" style="stop-color: rgb(248, 206, 204); stop-opacity: 1;"/><stop offset="100%" style="stop-color: rgb(234, 107, 102); stop-opacity: 1;"/></linearGradient><linearGradient x1="0%" y1="0%" x2="0%" y2="100%" id="mx-gradient-f5f5f5-1-b3b3b3-1-s-0"><stop offset="0%" style="stop-color: rgb(245, 245, 245); stop-opacity: 1;"/><stop offset="100%" style="stop-color: rgb(179, 179, 179); stop-opacity: 1;"/></linearGradient></defs><g><path d="M 90 20 L 430 20 L 440 30 L 440 330 L 100 330 L 90 320 L 90 20 Z" fill="url(#mx-gradient-dae8fc-1-7ea6e0-1-s-0)" stroke="#6c8ebf" stroke-miterlimit="10" transform="rotate(90,265,175)" pointer-events="all"/><path d="M 100 330 L 100 30 L 90 20 M 100 30 L 440 30" fill="none" stroke="#6c8ebf" stroke-miterlimit="10" transform="rotate(90,265,175)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 294px; height: 1px; padding-top: 15px; margin-left: 113px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; text-decoration: underline; white-space: normal; overflow-wrap: normal;"><font style="font-size: 15px;" face="Tahoma">SPAWn - Web Interface</font></div></div></div></foreignObject><text x="260" y="27" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" text-decoration="underline">SPAWn - Web Interface</text></switch></g><path d="M 580 -100 L 920 -100 L 930 -90 L 930 450 L 590 450 L 580 440 L 580 -100 Z" fill="url(#mx-gradient-d5e8d4-1-97d077-1-s-0)" stroke="#82b366" stroke-miterlimit="10" transform="rotate(90,755,175)" pointer-events="all"/><path d="M 590 450 L 590 -90 L 580 -100 M 590 -90 L 930 -90" fill="none" stroke="#82b366" stroke-miterlimit="10" transform="rotate(90,755,175)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 534px; height: 1px; padding-top: 15px; margin-left: 483px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; text-decoration: underline; white-space: normal; overflow-wrap: normal;"><font style="font-size: 15px;" face="Tahoma">SPADe - Detector<br /></font></div></div></div></foreignObject><text x="750" y="27" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" text-decoration="underline">SPADe - Detector&#xa;</text></switch></g><path d="M 1050 50 L 1390 50 L 1400 60 L 1400 300 L 1060 300 L 1050 290 L 1050 50 Z" fill="url(#mx-gradient-f8cecc-1-ea6b66-1-s-0)" stroke="#b85450" stroke-miterlimit="10" transform="rotate(90,1225,175)" pointer-events="all"/><path d="M 1060 300 L 1060 60 L 1050 50 M 1060 60 L 1400 60" fill="none" stroke="#b85450" stroke-miterlimit="10" transform="rotate(90,1225,175)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 234px; height: 1px; padding-top: 15px; margin-left: 1103px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; text-decoration: underline; white-space: normal; overflow-wrap: normal;"><font style="font-size: 15px;" face="Tahoma">Autenticator</font></div></div></div></foreignObject><text x="1220" y="27" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle" text-decoration="underline">Autenticator</text></switch></g><path d="M 720 520 L 720 440 C 720 428.95 746.86 420 780 420 C 813.14 420 840 428.95 840 440 L 840 520 C 840 531.05 813.14 540 780 540 C 746.86 540 720 531.05 720 520 Z" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" stroke-miterlimit="10" pointer-events="all"/><path d="M 720 440 C 720 451.05 746.86 460 780 460 C 813.14 460 840 451.05 840 440" fill="none" stroke="#666666" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 480px; margin-left: 721px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Project Data<br />Database</div></div></div></foreignObject><text x="780" y="484" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Project Data...</text></switch></g><path d="M 857.5 520 L 857.5 440 C 857.5 428.95 884.36 420 917.5 420 C 950.64 420 977.5 428.95 977.5 440 L 977.5 520 C 977.5 531.05 950.64 540 917.5 540 C 884.36 540 857.5 531.05 857.5 520 Z" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" stroke-miterlimit="10" pointer-events="all"/><path d="M 857.5 440 C 857.5 451.05 884.36 460 917.5 460 C 950.64 460 977.5 451.05 977.5 440" fill="none" stroke="#666666" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 480px; margin-left: 859px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">SPAWn<br />Database</div></div></div></foreignObject><text x="918" y="484" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">SPAWn...</text></switch></g><rect x="510" y="60" width="80" height="260" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 190px; margin-left: 511px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Rest API</div></div></div></foreignObject><text x="550" y="194" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Rest API</text></switch></g><rect x="290" y="90" width="80" height="190" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 185px; margin-left: 291px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">API<br />Caller</div></div></div></foreignObject><text x="330" y="189" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">API...</text></switch></g><rect x="150" y="90" width="80" height="190" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 185px; margin-left: 151px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">UI components</div></div></div></foreignObject><text x="190" y="189" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">UI components</text></switch></g><path d="M 238.12 185 L 281.88 185" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 231.12 185 L 238.12 181.5 L 238.12 188.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 288.88 185 L 281.88 188.5 L 281.88 181.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><ellipse cx="15" cy="153.75" rx="7.5" ry="8.75" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><path d="M 15 162.5 L 15 191.67 M 15 168.33 L 0 168.33 M 15 168.33 L 30 168.33 M 15 191.67 L 0 215 M 15 191.67 L 30 215" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 222px; margin-left: 15px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;">User</div></div></div></foreignObject><text x="15" y="234" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">User</text></switch></g><rect x="720" y="270" width="120" height="50" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 295px; margin-left: 721px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Project Data<br />Repositories</div></div></div></foreignObject><text x="780" y="299" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Project Data...</text></switch></g><rect x="855" y="270" width="125" height="50" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 123px; height: 1px; padding-top: 295px; margin-left: 856px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Application<br />Repositories</div></div></div></foreignObject><text x="918" y="299" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Application...</text></switch></g><rect x="1130" y="80" width="70" height="200" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 180px; margin-left: 1131px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Rest API</div></div></div></foreignObject><text x="1165" y="184" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Rest API</text></switch></g><rect x="1250" y="80" width="70" height="200" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 68px; height: 1px; padding-top: 180px; margin-left: 1251px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Token<br />Manager<br />Module</div></div></div></foreignObject><text x="1285" y="184" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Token...</text></switch></g><path d="M 1208.12 180 L 1241.88 180" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1201.12 180 L 1208.12 176.5 L 1208.12 183.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1248.88 180 L 1241.88 183.5 L 1241.88 176.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="920" y="60" width="80" height="180" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 150px; margin-left: 921px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">User<br />Module</div></div></div></foreignObject><text x="960" y="154" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">User...</text></switch></g><rect x="820" y="90" width="80" height="130" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 155px; margin-left: 821px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Configuration<br />Module</div></div></div></foreignObject><text x="860" y="159" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Configuration...</text></switch></g><rect x="720" y="125" width="80" height="120" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 185px; margin-left: 721px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Detecting module</div></div></div></foreignObject><text x="760" y="189" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Detecting mod...</text></switch></g><path d="M 597.64 82.06 L 910.68 80.56" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 590.64 82.09 L 597.62 78.56 L 597.65 85.56 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 917.68 80.53 L 910.7 84.06 L 910.67 77.06 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 599.48 110.17 L 811.56 109.9" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 592.48 110.18 L 599.47 106.67 L 599.48 113.67 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 818.56 109.89 L 811.57 113.4 L 811.56 106.4 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 599.4 170.99 L 712.2 170.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 592.4 171.02 L 599.39 167.49 L 599.41 174.49 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 719.2 170.6 L 712.21 174.13 L 712.19 167.13 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 759.63 253.11 L 759.37 259.09" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 759.95 246.12 L 763.13 253.27 L 756.14 252.95 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 759.05 266.08 L 755.87 258.93 L 762.86 259.25 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="620" y="200" width="80" height="120" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 260px; margin-left: 621px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Anti-patterns<br />module</div></div></div></foreignObject><text x="660" y="264" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Anti-patterns...</text></switch></g><path d="M 580 520 L 580 440 C 580 428.95 606.86 420 640 420 C 673.14 420 700 428.95 700 440 L 700 520 C 700 531.05 673.14 540 640 540 C 606.86 540 580 531.05 580 520 Z" fill="url(#mx-gradient-f5f5f5-1-b3b3b3-1-s-0)" stroke="#666666" stroke-miterlimit="10" pointer-events="all"/><path d="M 580 440 C 580 451.05 606.86 460 640 460 C 673.14 460 700 451.05 700 440" fill="none" stroke="#666666" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 118px; height: 1px; padding-top: 480px; margin-left: 581px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Anti-patterns<br />Catalogue</div></div></div></foreignObject><text x="640" y="484" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Anti-patterns...</text></switch></g><path d="M 598.12 254.99 L 611.88 254.97" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 591.12 255 L 598.11 251.49 L 598.12 258.49 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 618.88 254.96 L 611.89 258.47 L 611.88 251.47 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 880 261.88 L 880 228.12" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 880 268.88 L 876.5 261.88 L 883.5 261.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 880 221.12 L 883.5 228.12 L 876.5 228.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 960 261.88 L 960 248.12" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 960 268.88 L 956.5 261.88 L 963.5 261.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 960 241.12 L 963.5 248.12 L 956.5 248.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 708.12 260 L 740 260 L 740 253.12" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 701.12 260 L 708.12 256.5 L 708.12 263.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 740 246.12 L 743.5 253.12 L 736.5 253.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 809.24 235.13 L 850 235 L 850 228.12" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 802.24 235.16 L 809.23 231.63 L 809.25 238.63 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 850 221.12 L 853.5 228.12 L 846.5 228.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1019.52 185.51 L 1019.57 196.01 L 1000.5 180.6 L 1019.43 165.01 L 1019.48 175.51 L 1110.48 175.09 L 1110.43 164.59 L 1129.5 180 L 1110.57 195.59 L 1110.52 185.09 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 187px; margin-left: 1065px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font style="font-size: 9px;">HTTP</font></div></div></div></foreignObject><text x="1065" y="197" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="10px" text-anchor="middle">HTTP</text></switch></g><path d="M 389.5 190 L 389.5 200.5 L 370.5 185 L 389.5 169.5 L 389.5 180 L 490.5 180 L 490.5 169.5 L 509.5 185 L 490.5 200.5 L 490.5 190 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 192px; margin-left: 440px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font style="font-size: 9px;">HTTP</font></div></div></div></foreignObject><text x="440" y="202" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="10px" text-anchor="middle">HTTP</text></switch></g><path d="M 922.5 400.5 L 933 400.5 L 917.5 419.5 L 902 400.5 L 912.5 400.5 L 912.5 339.5 L 902 339.5 L 917.5 320.5 L 933 339.5 L 922.5 339.5 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 370px; margin-left: 920px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font style="font-size: 9px;">   JDBC</font></div></div></div></foreignObject><text x="920" y="373" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="10px">   JDBC</text></switch></g><path d="M 785 400.5 L 795.5 400.5 L 780 419.5 L 764.5 400.5 L 775 400.5 L 775 339.5 L 764.5 339.5 L 780 320.5 L 795.5 339.5 L 785 339.5 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 370px; margin-left: 782px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font style="font-size: 9px;">   JDBC</font></div></div></div></foreignObject><text x="782" y="373" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="10px">   JDBC</text></switch></g><path d="M 645 400.5 L 655.5 400.5 L 640 419.5 L 624.5 400.5 L 635 400.5 L 635 339.5 L 624.5 339.5 L 640 320.5 L 655.5 339.5 L 645 339.5 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 1px; height: 1px; padding-top: 370px; margin-left: 642px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: left;"><div style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font size="1">   HTTP</font></div></div></div></foreignObject><text x="642" y="373" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="10px">   HTTP</text></switch></g><path d="M 49.5 190 L 49.5 200.5 L 30.5 185 L 49.5 169.5 L 49.5 180 L 130.5 180 L 130.5 169.5 L 149.5 185 L 130.5 200.5 L 130.5 190 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><switch><foreignObject pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility" style="overflow: visible; text-align: left;"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 192px; margin-left: 90px;"><div data-drawio-colors="color: rgb(0, 0, 0); " style="box-sizing: border-box; font-size: 0px; text-align: center;"><div style="display: inline-block; font-size: 10px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; white-space: nowrap;"><font style="font-size: 9px;">Browser<br /></font></div></div></div></foreignObject><text x="90" y="202" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="10px" text-anchor="middle">Browser&#xa;</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.drawio.com/doc/faq/svg-export-text-problems" target="_blank"><text text-anchor="middle" font-size="10px" x="50%" y="100%">Text is not SVG - cannot display</text></a></switch></svg>
\ No newline at end of file
