mirror of
https://github.com/fosrl/docs-v2.git
synced 2026-02-08 05:56:45 +00:00
4 lines
53 KiB
XML
4 lines
53 KiB
XML
<?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" style="background: transparent; background-color: transparent; color-scheme: light dark;" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="761px" height="726px" viewBox="0 0 761 726" content="<mxfile host="app.diagrams.net" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:145.0) Gecko/20100101 Firefox/145.0" scale="1" border="0" version="29.2.1">
 <diagram name="Page-1" id="i9NMFHI7oyaaUYboOMHq">
 <mxGraphModel dx="943" dy="668" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
 <root>
 <mxCell id="0" />
 <mxCell id="1" parent="0" />
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-4" parent="1" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;" value="" vertex="1">
 <mxGeometry height="255" width="750" x="50" y="560" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-3" parent="1" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;" value="" vertex="1">
 <mxGeometry height="255" width="750" x="50" y="220" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-21" edge="1" parent="1" source="OaWGxQ0N4_RKAhKiknkE-1" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.75;entryY=1;entryDx=0;entryDy=0;startArrow=classic;startFill=1;jumpStyle=sharp;jumpSize=11;" target="OaWGxQ0N4_RKAhKiknkE-2">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="650" y="430" />
 <mxPoint x="332" y="430" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-1" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="&lt;div&gt;&lt;span style=&quot;background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));&quot;&gt;Pangolin&lt;/span&gt;&lt;/div&gt;" vertex="1">
 <mxGeometry height="120" width="120" x="590" y="270" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-2" parent="1" style="rounded=0;whiteSpace=wrap;html=1;align=left;" value="&lt;div&gt;&lt;span style=&quot;background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Gerbil&lt;/span&gt;&lt;/div&gt;" vertex="1">
 <mxGeometry height="120" width="230" x="160" y="270" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-9" edge="1" parent="1" source="OaWGxQ0N4_RKAhKiknkE-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" target="OaWGxQ0N4_RKAhKiknkE-8">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-10" edge="1" parent="1" source="OaWGxQ0N4_RKAhKiknkE-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" target="OaWGxQ0N4_RKAhKiknkE-7">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-11" edge="1" parent="1" source="OaWGxQ0N4_RKAhKiknkE-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" target="OaWGxQ0N4_RKAhKiknkE-6">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-44" edge="1" parent="1" source="OaWGxQ0N4_RKAhKiknkE-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.348;entryY=1.012;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;dashed=1;dashPattern=8 8;" target="OaWGxQ0N4_RKAhKiknkE-2">
 <mxGeometry relative="1" as="geometry">
 <mxPoint x="240" y="400" as="targetPoint" />
 </mxGeometry>
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-47" edge="1" parent="1" source="OaWGxQ0N4_RKAhKiknkE-5" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;jumpStyle=line;jumpSize=11;" target="OaWGxQ0N4_RKAhKiknkE-15">
 <mxGeometry relative="1" as="geometry">
 <Array as="points">
 <mxPoint x="270" y="510" />
 <mxPoint x="435" y="510" />
 </Array>
 </mxGeometry>
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-5" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="&lt;span style=&quot;background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));&quot;&gt;Newt&lt;/span&gt;" vertex="1">
 <mxGeometry height="120" width="120" x="180" y="627.5" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-6" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="&lt;span style=&quot;background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));&quot;&gt;http 80&lt;/span&gt;" vertex="1">
 <mxGeometry height="70" width="120" x="550" y="736" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-7" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="&lt;span style=&quot;background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));&quot;&gt;https 443&lt;/span&gt;" vertex="1">
 <mxGeometry height="70" width="120" x="550" y="652.5" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-8" parent="1" style="rounded=0;whiteSpace=wrap;html=1;" value="&lt;span style=&quot;background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));&quot;&gt;http 8080&lt;/span&gt;" vertex="1">
 <mxGeometry height="70" width="120" x="550" y="570" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-20" edge="1" parent="1" source="OaWGxQ0N4_RKAhKiknkE-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;startArrow=classic;startFill=1;" target="OaWGxQ0N4_RKAhKiknkE-1">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-22" edge="1" parent="1" source="OaWGxQ0N4_RKAhKiknkE-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=1;entryY=0.3333333333333333;entryDx=0;entryDy=0;entryPerimeter=0;" target="OaWGxQ0N4_RKAhKiknkE-26">
 <mxGeometry relative="1" as="geometry">
 <mxPoint x="475" y="40" as="targetPoint" />
 </mxGeometry>
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-24" edge="1" parent="1" source="OaWGxQ0N4_RKAhKiknkE-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;">
 <mxGeometry relative="1" as="geometry">
 <mxPoint x="240" y="390" as="targetPoint" />
 </mxGeometry>
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-15" parent="1" style="rounded=0;whiteSpace=wrap;html=1;align=left;" value="&lt;span style=&quot;background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Traefik&lt;/span&gt;" vertex="1">
 <mxGeometry height="80" width="190" x="340" y="290" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-26" parent="1" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" value="&lt;span style=&quot;background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));&quot;&gt;User&lt;/span&gt;" vertex="1">
 <mxGeometry height="60" width="30" x="305" y="90" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-28" parent="1" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" value="&lt;span style=&quot;background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));&quot;&gt;User&lt;/span&gt;" vertex="1">
 <mxGeometry height="60" width="31" x="514" y="90" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-30" edge="1" parent="1" source="OaWGxQ0N4_RKAhKiknkE-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.75;exitY=0;exitDx=0;exitDy=0;entryX=0;entryY=0.3333333333333333;entryDx=0;entryDy=0;entryPerimeter=0;" target="OaWGxQ0N4_RKAhKiknkE-28">
 <mxGeometry relative="1" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-31" parent="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" value="&lt;font style=&quot;font-size: 19px; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));&quot;&gt;Edge Server&lt;/font&gt;" vertex="1">
 <mxGeometry height="20" width="180" x="335" y="537" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-32" parent="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" value="&lt;font style=&quot;font-size: 19px; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));&quot;&gt;Cloud VPS&lt;/font&gt;" vertex="1">
 <mxGeometry height="20" width="180" x="335" y="200" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-42" parent="1" style="triangle;whiteSpace=wrap;html=1;" value="&lt;span style=&quot;background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));&quot;&gt;Badger&lt;/span&gt;" vertex="1">
 <mxGeometry height="55" width="60" x="470" y="302.5" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-48" parent="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" value="&lt;div&gt;&lt;span style=&quot;background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));&quot;&gt;Websocket&lt;/span&gt;&lt;/div&gt;" vertex="1">
 <mxGeometry height="30" width="60" x="440" y="490" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-62" connectable="0" parent="1" style="group" value="" vertex="1">
 <mxGeometry height="37" width="88" x="165" y="498" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-63" parent="OaWGxQ0N4_RKAhKiknkE-62" style="sketch=0;pointerEvents=1;shadow=0;dashed=0;html=1;strokeColor=none;fillColor=#505050;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;outlineConnect=0;align=center;shape=mxgraph.office.security.lock_protected;" value="" vertex="1">
 <mxGeometry height="37" width="28" x="60" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-64" parent="OaWGxQ0N4_RKAhKiknkE-62" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" value="&lt;div&gt;&lt;span style=&quot;background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));&quot;&gt;WireGuard&lt;/span&gt;&lt;/div&gt;" vertex="1">
 <mxGeometry height="30" width="60" y="7" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-72" connectable="0" parent="1" style="group" value="" vertex="1">
 <mxGeometry height="105" width="120" x="690" y="95" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-61" parent="OaWGxQ0N4_RKAhKiknkE-72" style="shape=note;whiteSpace=wrap;html=1;backgroundOutline=1;darkOpacity=0.05;" value="" vertex="1">
 <mxGeometry height="105" width="113.6842105263158" x="6.3157894736842115" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-65" parent="OaWGxQ0N4_RKAhKiknkE-72" style="rounded=0;whiteSpace=wrap;html=1;" value="&lt;span style=&quot;background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));&quot;&gt;Container&lt;/span&gt;" vertex="1">
 <mxGeometry height="22.4" width="63.37" x="22" y="16" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-66" parent="OaWGxQ0N4_RKAhKiknkE-72" style="shape=process;whiteSpace=wrap;html=1;backgroundOutline=1;" value="&lt;span style=&quot;background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));&quot;&gt;Server&lt;/span&gt;" vertex="1">
 <mxGeometry height="22.400000000000002" width="75.78947368421053" x="22.263157894736846" y="43" as="geometry" />
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-67" edge="1" parent="OaWGxQ0N4_RKAhKiknkE-72" style="endArrow=classic;startArrow=classic;html=1;rounded=0;dashed=1;" value="">
 <mxGeometry height="50" relative="1" width="50" as="geometry">
 <mxPoint x="20.210526315789476" y="102.9" as="sourcePoint" />
 <mxPoint x="51.789473684210535" y="67.9" as="targetPoint" />
 </mxGeometry>
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-68" connectable="0" parent="OaWGxQ0N4_RKAhKiknkE-67" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="VPN" vertex="1">
 <mxGeometry relative="1" x="0.3807" as="geometry">
 <mxPoint as="offset" />
 </mxGeometry>
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-69" edge="1" parent="OaWGxQ0N4_RKAhKiknkE-72" style="endArrow=classic;startArrow=classic;html=1;rounded=0;" value="">
 <mxGeometry height="50" relative="1" width="50" as="geometry">
 <mxPoint x="69.47368421052632" y="102.9" as="sourcePoint" />
 <mxPoint x="101.05263157894738" y="67.9" as="targetPoint" />
 </mxGeometry>
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-70" connectable="0" parent="OaWGxQ0N4_RKAhKiknkE-69" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" value="HTTP" vertex="1">
 <mxGeometry relative="1" x="0.2276" as="geometry">
 <mxPoint as="offset" />
 </mxGeometry>
 </mxCell>
 <mxCell id="OaWGxQ0N4_RKAhKiknkE-71" parent="OaWGxQ0N4_RKAhKiknkE-72" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" value="KEY:" vertex="1">
 <mxGeometry height="21" width="37.89473684210527" x="3" y="-1" as="geometry" />
 </mxCell>
 </root>
 </mxGraphModel>
 </diagram>
</mxfile>
"><defs/><g><g data-cell-id="0"><g data-cell-id="1"><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-4"><g transform="translate(0.5,0.5)"><rect x="0" y="470" width="750" height="255" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/><path d="M 75 470 L 75 725 M 675 470 L 675 725" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-3"><g transform="translate(0.5,0.5)"><rect x="0" y="130" width="750" height="255" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/><path d="M 75 130 L 75 385 M 675 130 L 675 385" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-21"><g transform="translate(0.5,0.5)"><path d="M 600 306.37 L 600 340 L 282.5 340 L 282.5 306.37" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 600 301.12 L 603.5 308.12 L 600 306.37 L 596.5 308.12 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 282.5 301.12 L 286 308.12 L 282.5 306.37 L 279 308.12 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-1"><g transform="translate(0.5,0.5)"><rect x="540" y="180" width="120" height="120" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><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: 240px; margin-left: 541px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div><span style="background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));">Pangolin</span></div></div></div></div></foreignObject><text x="600" y="244" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Pangolin</text></switch></g></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-2"><g transform="translate(0.5,0.5)"><rect x="110" y="180" width="230" height="120" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 228px; height: 1px; padding-top: 240px; margin-left: 112px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div><span style="background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));"> Gerbil</span></div></div></div></div></foreignObject><text x="112" y="244" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px"> Gerbil</text></switch></g></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-9"><g transform="translate(0.5,0.5)"><path d="M 250 597.5 L 375 597.5 L 375 515 L 493.63 515" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 498.88 515 L 491.88 518.5 L 493.63 515 L 491.88 511.5 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-10"><g transform="translate(0.5,0.5)"><path d="M 250 597.5 L 493.63 597.5" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 498.88 597.5 L 491.88 601 L 493.63 597.5 L 491.88 594 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-11"><g transform="translate(0.5,0.5)"><path d="M 250 597.5 L 375 597.5 L 375 681 L 493.63 681" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 498.88 681 L 491.88 684.5 L 493.63 681 L 491.88 677.5 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-44"><g transform="translate(0.5,0.5)"><path d="M 190 531.13 L 190.04 307.81" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="8 8" pointer-events="stroke"/><path d="M 190 536.38 L 186.5 529.38 L 190 531.13 L 193.5 529.38 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 190.04 302.56 L 193.54 309.56 L 190.04 307.81 L 186.54 309.56 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-47"><g transform="translate(0.5,0.5)"><path d="M 220 537.5 L 220 420 L 385 420 L 385 345.5 M 379.5 345.5 L 390.5 345.5 M 390.5 334.5 L 379.5 334.5 M 385 334.5 L 385 334.5 L 385 286.37" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 385 281.12 L 388.5 288.12 L 385 286.37 L 381.5 288.12 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-5"><g transform="translate(0.5,0.5)"><rect x="130" y="537.5" width="120" height="120" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><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: 598px; margin-left: 131px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));">Newt</span></div></div></div></foreignObject><text x="190" y="601" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Newt</text></switch></g></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-6"><g transform="translate(0.5,0.5)"><rect x="500" y="646" width="120" height="70" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><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: 681px; margin-left: 501px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));">http 80</span></div></div></div></foreignObject><text x="560" y="685" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">http 80</text></switch></g></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-7"><g transform="translate(0.5,0.5)"><rect x="500" y="562.5" width="120" height="70" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><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: 598px; margin-left: 501px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));">https 443</span></div></div></div></foreignObject><text x="560" y="601" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">https 443</text></switch></g></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-8"><g transform="translate(0.5,0.5)"><rect x="500" y="480" width="120" height="70" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><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: 515px; margin-left: 501px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));">http 8080</span></div></div></div></foreignObject><text x="560" y="519" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">http 8080</text></switch></g></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-20"><g transform="translate(0.5,0.5)"><path d="M 486.37 240 L 533.63 240" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 481.12 240 L 488.12 236.5 L 486.37 240 L 488.12 243.5 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 538.88 240 L 531.88 243.5 L 533.63 240 L 531.88 236.5 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-22"><g transform="translate(0.5,0.5)"><path d="M 432.5 200 L 432.5 20 L 291.37 20" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 286.12 20 L 293.12 16.5 L 291.37 20 L 293.12 23.5 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-24"><g transform="translate(0.5,0.5)"><path d="M 290 240 L 190 240 L 190 293.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 190 298.88 L 186.5 291.88 L 190 293.63 L 193.5 291.88 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-15"><g transform="translate(0.5,0.5)"><rect x="290" y="200" width="190" height="80" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe flex-start; width: 188px; height: 1px; padding-top: 240px; margin-left: 292px;"><div style="box-sizing: border-box; font-size: 0; text-align: left; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));"> Traefik</span></div></div></div></foreignObject><text x="292" y="244" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px"> Traefik</text></switch></g></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-26"><g transform="translate(0.5,0.5)"><ellipse cx="270" cy="7.5" rx="7.5" ry="7.5" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/><path d="M 270 15 L 270 40 M 270 20 L 255 20 M 270 20 L 285 20 M 270 40 L 255 60 M 270 40 L 285 60" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><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: 67px; margin-left: 270px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><span style="background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));">User</span></div></div></div></foreignObject><text x="270" y="79" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">User</text></switch></g></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-28"><g transform="translate(0.5,0.5)"><ellipse cx="479.5" cy="7.5" rx="7.75" ry="7.5" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/><path d="M 479.5 15 L 479.5 40 M 479.5 20 L 464 20 M 479.5 20 L 495 20 M 479.5 40 L 464 60 M 479.5 40 L 495 60" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><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: 67px; margin-left: 480px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: nowrap; "><span style="background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));">User</span></div></div></div></foreignObject><text x="480" y="79" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">User</text></switch></g></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-30"><g transform="translate(0.5,0.5)"><path d="M 432.5 200 L 432.5 20 L 457.63 20" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 462.88 20 L 455.88 23.5 L 457.63 20 L 455.88 16.5 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-31"><g transform="translate(0.5,0.5)"><rect x="285" y="447" width="180" height="20" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 178px; height: 1px; padding-top: 457px; margin-left: 286px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 19px; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));">Edge Server</font></div></div></div></foreignObject><text x="375" y="461" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Edge Server</text></switch></g></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-32"><g transform="translate(0.5,0.5)"><rect x="285" y="110" width="180" height="20" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 178px; height: 1px; padding-top: 120px; margin-left: 286px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><font style="font-size: 19px; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));">Cloud VPS</font></div></div></div></foreignObject><text x="375" y="124" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Cloud VPS</text></switch></g></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-42"><g transform="translate(0.5,0.5)"><path d="M 420 212.5 L 480 240 L 420 267.5 Z" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 240px; margin-left: 421px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));">Badger</span></div></div></div></foreignObject><text x="450" y="244" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Badger</text></switch></g></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-48"><g transform="translate(0.5,0.5)"><rect x="390" y="400" width="60" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 415px; margin-left: 391px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div><span style="background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));">Websocket</span></div></div></div></div></foreignObject><text x="420" y="419" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Websocket</text></switch></g></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-62"><g transform="translate(0.5,0.5)"/><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-63"><g transform="translate(0.5,0.5)"><rect x="175" y="408" width="28" height="37" fill="none" stroke="none" pointer-events="all"/><path d="M 196.96 424.39 L 196.96 418.57 C 196.96 415.1 193.82 411.17 189.02 411.17 C 184.18 411.17 181.04 415.08 181.04 418.77 L 181.04 424.39 Z M 177.16 445 C 176.01 445 175 444.04 175 442.93 L 175 426.44 C 175 425.36 176.01 424.39 177.12 424.39 L 177.75 424.39 L 177.75 418.67 C 177.75 413.04 182.78 408 188.85 408 C 195.43 408 200.25 412.98 200.25 418.68 L 200.25 424.39 L 200.86 424.39 C 201.97 424.39 203 425.31 203 426.5 L 203 442.91 C 203 444.06 201.98 445 200.84 445 Z" fill="#505050" style="fill: light-dark(rgb(80, 80, 80), rgb(168, 168, 168));" stroke="none" pointer-events="all"/></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-64"><g transform="translate(0.5,0.5)"><rect x="115" y="415" width="60" height="30" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 430px; margin-left: 116px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><div><span style="background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));">WireGuard</span></div></div></div></div></foreignObject><text x="145" y="434" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">WireGuard</text></switch></g></g></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-72"><g transform="translate(0.5,0.5)"/><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-61"><g transform="translate(0.5,0.5)"><path d="M 646.32 5 L 730 5 L 760 35 L 760 110 L 646.32 110 L 646.32 5 Z" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 730 5 L 730 35 L 760 35 Z" fill-opacity="0.05" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(237, 237, 237));" stroke="none" pointer-events="all"/><path d="M 730 5 L 730 35 L 760 35" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="all"/></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-65"><g transform="translate(0.5,0.5)"><rect x="662" y="21" width="63.37" height="22.4" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 61px; height: 1px; padding-top: 32px; margin-left: 663px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));">Container</span></div></div></div></foreignObject><text x="694" y="36" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Container</text></switch></g></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-66"><g transform="translate(0.5,0.5)"><rect x="662.26" y="48" width="75.79" height="22.4" fill="#ffffff" style="fill: light-dark(#ffffff, var(--ge-dark-color, #121212)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" pointer-events="all"/><path d="M 670.26 48 L 670.26 70.4 M 730.05 48 L 730.05 70.4" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 59px; height: 1px; padding-top: 59px; margin-left: 671px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; "><span style="background-color: light-dark(#ffffff, var(--ge-dark-color, #121212));">Server</span></div></div></div></foreignObject><text x="701" y="63" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">Server</text></switch></g></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-67"><g transform="translate(0.5,0.5)"><path d="M 664.48 103.17 L 687.52 77.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 660.96 107.07 L 663.05 99.53 L 664.48 103.17 L 668.25 104.22 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 691.04 73.73 L 688.95 81.27 L 687.52 77.63 L 683.75 76.58 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-68"><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 84px; margin-left: 683px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">VPN</div></div></div></foreignObject><text x="683" y="87" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="11px" text-anchor="middle">VPN</text></switch></g></g></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-69"><g transform="translate(0.5,0.5)"><path d="M 713.74 103.17 L 736.79 77.63" fill="none" stroke="#000000" style="stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 710.22 107.07 L 712.31 99.53 L 713.74 103.17 L 717.51 104.22 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/><path d="M 740.3 73.73 L 738.21 81.27 L 736.79 77.63 L 733.02 76.58 Z" fill="#000000" style="fill: light-dark(rgb(0, 0, 0), rgb(255, 255, 255)); stroke: light-dark(rgb(0, 0, 0), rgb(255, 255, 255));" stroke="#000000" stroke-miterlimit="10" pointer-events="all"/></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-70"><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 1px; height: 1px; padding-top: 87px; margin-left: 729px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; background-color: #ffffff; "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; background-color: light-dark(#ffffff, var(--ge-dark-color, #121212)); white-space: nowrap; ">HTTP</div></div></div></foreignObject><text x="729" y="90" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="11px" text-anchor="middle">HTTP</text></switch></g></g></g></g><g data-cell-id="OaWGxQ0N4_RKAhKiknkE-71"><g transform="translate(0.5,0.5)"><rect x="643" y="4" width="37.89" height="21" fill="none" stroke="none" pointer-events="all"/></g><g><g><switch><foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"><div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 36px; height: 1px; padding-top: 15px; margin-left: 644px;"><div style="box-sizing: border-box; font-size: 0; text-align: center; color: #000000; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: light-dark(#000000, #ffffff); line-height: 1.2; pointer-events: all; white-space: normal; word-wrap: normal; ">KEY:</div></div></div></foreignObject><text x="662" y="18" fill="light-dark(#000000, #ffffff)" font-family="Helvetica" font-size="12px" text-anchor="middle">KEY:</text></switch></g></g></g></g></g></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> |