Files
2024-06-03 14:45:12 +03:00

4 lines
72 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<!-- Do not edit this file with editors other than diagrams.net -->
<!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="1303px" height="1011px" viewBox="-0.5 -0.5 1303 1011" content="&lt;mxfile host=&quot;app.diagrams.net&quot; modified=&quot;2023-01-20T06:51:09.537Z&quot; agent=&quot;5.0 (X11)&quot; etag=&quot;UaFI1X4a4pkGoXysUE4p&quot; version=&quot;20.8.6&quot; type=&quot;device&quot;&gt;&lt;diagram id=&quot;-U58cjVHTWCObBDe0kVI&quot; name=&quot;Page-1&quot;&gt;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&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><path d="M 122 240 L 365.63 240" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 370.88 240 L 363.88 243.5 L 365.63 240 L 363.88 236.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 240px; margin-left: 247px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">fetch data</div></div></div></foreignObject><text x="247" y="243" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">fetch data</text></switch></g><path d="M 12 185 L 112 185 L 122 195 L 122 295 L 22 295 L 12 285 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 12 185 L 112 185 L 122 195 L 22 195 L 22 295 L 12 285 Z" fill-opacity="0.5" fill="#000000" stroke="none" pointer-events="all"/><path d="M 12 185 L 112 185 L 122 195 L 122 295 L 22 295 L 12 285 Z M 22 295 L 22 195 L 122 195 M 12 185 L 22 195" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="17.5" y="200" width="50" height="30" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="42" y="219.5">SISU</text></g><path d="M 622 240 L 805.63 240" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 810.88 240 L 803.88 243.5 L 805.63 240 L 803.88 236.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 240px; margin-left: 717px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 11px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">direct SISU data</div></div></div></foreignObject><text x="717" y="243" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="11px" text-anchor="middle">direct SISU data</text></switch></g><path d="M 462 240 L 555.63 240" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 560.88 240 L 553.88 243.5 L 555.63 240 L 553.88 236.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 832 0 L 892 0 L 902 10 L 902 70 L 842 70 L 832 60 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 832 0 L 892 0 L 902 10 L 842 10 L 842 70 L 832 60 Z" fill-opacity="0.5" fill="#000000" stroke="none" pointer-events="all"/><path d="M 832 0 L 892 0 L 902 10 L 902 70 L 842 70 L 832 60 Z M 842 70 L 842 10 L 902 10 M 832 0 L 842 10" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="830.5" y="15" width="60" height="20" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="860" y="29.5">Norppa</text></g><path d="M 742 0 L 802 0 L 812 10 L 812 70 L 752 70 L 742 60 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 742 0 L 802 0 L 812 10 L 752 10 L 752 70 L 742 60 Z" fill-opacity="0.5" fill="#000000" stroke="none" pointer-events="all"/><path d="M 742 0 L 802 0 L 812 10 L 812 70 L 752 70 L 742 60 Z M 752 70 L 752 10 L 812 10 M 742 0 L 752 10" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="745.5" y="15" width="50" height="20" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="770" y="29.5">Suotar</text></g><path d="M 922 0 L 982 0 L 992 10 L 992 70 L 932 70 L 922 60 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 922 0 L 982 0 L 992 10 L 932 10 L 932 70 L 922 60 Z" fill-opacity="0.5" fill="#000000" stroke="none" pointer-events="all"/><path d="M 922 0 L 982 0 L 992 10 L 992 70 L 932 70 L 922 60 Z M 932 70 L 932 10 L 992 10 M 922 0 L 932 10" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="930.5" y="15" width="40" height="20" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="950" y="29.5">etc.</text></g><path d="M 872 120 L 872 210" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><g transform="translate(-0.5 -0.5)"><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: 165px; margin-left: 872px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;"><div>outbound API data</div></div></div></div></foreignObject><text x="872" y="168" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">outbound...</text></switch></g><path d="M 782 120 L 872 120 L 962 120" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 782 120 L 782 70" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 872 120 L 872 70" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 962 120 L 962 70" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><rect x="812" y="210" width="120" height="60" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 240px; margin-left: 872px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><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;">«interface»<br />API GATEWAY</div></div></div></foreignObject><text x="872" y="244" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">«interface»...</text></switch></g><path d="M 312 152.5 L 372 152.5 L 372 167.5 L 362 182.5 L 312 182.5 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 372 152.5 L 662 152.5 L 662 327.5 L 312 327.5 L 312 182.5" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 57px; height: 1px; padding-top: 168px; margin-left: 313px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><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;"><div>ok-</div><div>importer<br /></div></div></div></div></foreignObject><text x="342" y="171" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">ok-...</text></switch></g><path d="M 82 563 L 82 613.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 82 618.88 L 78.5 611.88 L 82 613.63 L 85.5 611.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 591px; margin-left: 82px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;"><div>autotrigger</div></div></div></div></foreignObject><text x="82" y="595" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">autotrigger</text></switch></g><path d="M 132 645 L 225.63 645" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 230.88 645 L 223.88 648.5 L 225.63 645 L 223.88 641.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 42 620 L 132 620 L 132 670 L 42 670 L 42 660 L 32 660 L 32 650 L 42 650 L 42 640 L 32 640 L 32 630 L 42 630 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 42 630 L 52 630 L 52 640 L 42 640 M 42 650 L 52 650 L 52 660 L 42 660" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="91.5" y="637.5">Scheduler</text></g><path d="M 372 215 L 462 215 L 462 265 L 372 265 L 372 255 L 362 255 L 362 245 L 372 245 L 372 235 L 362 235 L 362 225 L 372 225 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 372 225 L 382 225 L 382 235 L 372 235 M 372 245 L 382 245 L 382 255 L 372 255" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="421.5" y="232.5">importer</text></g><path d="M 322 645.06 L 412 645.06 L 412 556.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 412 551.12 L 415.5 558.12 L 412 556.37 L 408.5 558.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 232 620 L 322 620 L 322 670 L 232 670 L 232 660 L 222 660 L 222 650 L 232 650 L 232 640 L 222 640 L 222 630 L 232 630 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 232 630 L 242 630 L 242 640 L 232 640 M 232 650 L 242 650 L 242 660 L 232 660" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="281.5" y="637.5">«NATS»</text><text x="281.5" y="651.5">Job queue</text></g><path d="M 392 480 L 482 480 L 482 530 L 392 530 L 392 520 L 382 520 L 382 510 L 392 510 L 392 500 L 382 500 L 382 490 L 392 490 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 392 490 L 402 490 L 402 500 L 392 500 M 392 510 L 402 510 L 402 520 L 392 520" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="441.5" y="497.5">Worker(s)</text></g><path d="M 402 490 L 492 490 L 492 540 L 402 540 L 402 530 L 392 530 L 392 520 L 402 520 L 402 510 L 392 510 L 392 500 L 402 500 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 402 500 L 412 500 L 412 510 L 402 510 M 402 520 L 412 520 L 412 530 L 402 530" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="451.5" y="507.5">Worker(s)</text></g><path d="M 477 550 L 482 550 L 482 573.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 482 578.88 L 478.5 571.88 L 482 573.63 L 485.5 571.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 412 500 L 502 500 L 502 550 L 412 550 L 412 540 L 402 540 L 402 530 L 412 530 L 412 520 L 402 520 L 402 510 L 412 510 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 412 510 L 422 510 L 422 520 L 412 520 M 412 530 L 422 530 L 422 540 L 412 540" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="461.5" y="517.5">Worker(s)</text></g><path d="M 222.4 503 C 216.45 503 212 498.03 212 492.9 L 212 450.2 C 212 444.87 216.53 440 222.22 440 L 261.81 440 C 267.1 440 272 444.44 272 450.37 L 272 492.81 C 272 497.78 267.9 503 261.75 503 Z" fill="#2e73b8" stroke="none" pointer-events="all"/><path d="M 212 490.1 C 212 494.84 215.98 500.27 222.41 500.27 L 261.92 500.27 C 267.65 500.27 272 495.15 272 490.04 L 272 492.81 C 272 497.92 267.79 503 261.75 503 L 222.4 503 C 216.36 503 212 498 212 492.9 Z" fill-opacity="0.3" fill="#000000" stroke="none" pointer-events="all"/><rect x="212" y="440" width="0" height="0" fill="none" stroke="rgb(0, 0, 0)" pointer-events="all"/><path d="M 237.46 469.23 L 237.46 463.55 L 242.63 463.55 C 244.16 463.55 245.55 464.08 245.61 466.22 C 245.68 468.34 244.44 469.23 242.59 469.23 Z M 232.95 480.61 L 237.46 480.61 L 237.46 472.63 L 242.05 472.63 C 243.34 472.63 244.6 472.93 245.11 474.52 C 245.56 475.78 245.49 477.6 245.65 478.88 C 245.73 479.54 245.88 480.2 246.06 480.61 L 250.48 480.61 C 249.94 479.83 249.65 478.22 249.52 476.27 C 249.38 473.93 249 472.74 248.13 471.74 C 247.76 471.34 247.18 470.86 246.21 470.67 C 247.9 470.01 249.08 469.01 249.56 467.37 C 250 465.91 249.85 464.12 249.18 462.93 C 248.11 460.89 246.1 460.14 244.2 460.14 L 232.95 460.14 Z M 220.5 486.29 L 220.5 481.73 L 226.14 481.73 L 226.14 479.47 L 220.48 479.47 L 220.5 474.9 L 226.14 474.9 L 226.14 472.64 L 220.48 472.64 L 220.48 468.08 L 226.14 468.08 L 226.14 465.82 L 220.48 465.82 L 220.48 461.26 L 226.14 461.26 L 226.14 459 L 220.48 459 L 220.5 454.43 L 226.14 454.43 L 226.14 448.75 L 230.67 448.75 L 230.67 454.43 L 232.93 454.43 L 232.93 448.75 L 237.46 448.75 L 237.46 454.43 L 239.74 454.43 L 239.74 448.75 L 244.25 448.75 L 244.25 454.43 L 246.51 454.43 L 246.51 448.75 L 251.05 448.75 L 251.05 454.43 L 253.32 454.43 L 253.32 448.75 L 257.85 448.75 L 257.85 454.43 L 263.49 454.43 L 263.49 459 L 257.85 459 L 257.85 461.26 L 263.49 461.26 L 263.49 465.82 L 257.85 465.82 L 257.85 468.08 L 263.49 468.08 L 263.49 472.64 L 257.85 472.64 L 257.85 474.9 L 263.49 474.9 L 263.49 479.47 L 257.85 479.47 L 257.85 481.73 L 263.49 481.73 L 263.49 486.29 L 257.85 486.29 L 257.85 491.98 L 253.32 491.98 L 253.32 486.29 L 251.05 486.29 L 251.05 491.98 L 246.51 491.98 L 246.51 486.29 L 244.25 486.29 L 244.25 491.98 L 239.74 491.98 L 239.74 486.29 L 237.46 486.29 L 237.46 491.98 L 232.93 491.98 L 232.93 486.29 L 230.67 486.29 L 230.67 491.98 L 226.14 491.98 L 226.14 486.29 Z" fill="#ffffff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 510px; margin-left: 242px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><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;">REDIS</div></div></div></foreignObject><text x="242" y="522" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">REDIS</text></switch></g><path d="M 332 505 L 392 505" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 332 500 L 332 470" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><g transform="translate(-0.5 -0.5)"><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: 485px; margin-left: 332px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">analytics</div></div></div></foreignObject><text x="332" y="488" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">analytics</text></switch></g><path d="M 272 473.39 L 332 473" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 215 499.85 L 215 570" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 212 570 L 132 570" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><g transform="translate(-0.5 -0.5)"><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: 570px; margin-left: 172px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">analytics</div></div></div></foreignObject><text x="172" y="574" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">analytics</text></switch></g><path d="M 132 620 L 132 570" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 2 420 L 62 420 L 62 435 L 52 450 L 2 450 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 62 420 L 582 420 L 582 690 L 2 690 L 2 450" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 435px; margin-left: 3px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><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;">ok-updater</div></div></div></foreignObject><text x="32" y="439" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">ok-updater</text></switch></g><path d="M 922 480 L 922 375.06 L 872 375.06 L 872 276.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 872 271.12 L 875.5 278.12 L 872 276.37 L 868.5 278.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 359px; margin-left: 872px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Processed SISU data</div></div></div></foreignObject><text x="872" y="363" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Processed SISU data</text></switch></g><path d="M 882 480 L 972 480 L 972 530 L 882 530 L 882 520 L 872 520 L 872 510 L 882 510 L 882 500 L 872 500 L 872 490 L 882 490 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 882 490 L 892 490 L 892 500 L 882 500 M 882 510 L 892 510 L 892 520 L 882 520" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="931.5" y="497.5">Oodikone</text></g><path d="M 1052.4 633 C 1046.45 633 1042 628.03 1042 622.9 L 1042 580.2 C 1042 574.87 1046.53 570 1052.22 570 L 1091.81 570 C 1097.1 570 1102 574.44 1102 580.37 L 1102 622.81 C 1102 627.78 1097.9 633 1091.75 633 Z" fill="#2e73b8" stroke="none" pointer-events="all"/><path d="M 1042 620.1 C 1042 624.84 1045.98 630.27 1052.41 630.27 L 1091.92 630.27 C 1097.65 630.27 1102 625.15 1102 620.04 L 1102 622.81 C 1102 627.92 1097.79 633 1091.75 633 L 1052.4 633 C 1046.36 633 1042 628 1042 622.9 Z" fill-opacity="0.3" fill="#000000" stroke="none" pointer-events="all"/><rect x="1042" y="570" width="0" height="0" fill="none" stroke="rgb(0, 0, 0)" pointer-events="all"/><path d="M 1067.46 599.23 L 1067.46 593.55 L 1072.63 593.55 C 1074.16 593.55 1075.55 594.08 1075.61 596.22 C 1075.68 598.34 1074.44 599.23 1072.59 599.23 Z M 1062.95 610.61 L 1067.46 610.61 L 1067.46 602.63 L 1072.05 602.63 C 1073.34 602.63 1074.6 602.93 1075.11 604.52 C 1075.56 605.78 1075.49 607.6 1075.65 608.88 C 1075.73 609.54 1075.88 610.2 1076.06 610.61 L 1080.48 610.61 C 1079.94 609.83 1079.65 608.22 1079.52 606.27 C 1079.38 603.93 1079 602.74 1078.13 601.74 C 1077.76 601.34 1077.18 600.86 1076.21 600.67 C 1077.9 600.01 1079.08 599.01 1079.56 597.37 C 1080 595.91 1079.85 594.12 1079.18 592.93 C 1078.11 590.89 1076.1 590.14 1074.2 590.14 L 1062.95 590.14 Z M 1050.5 616.29 L 1050.5 611.73 L 1056.14 611.73 L 1056.14 609.47 L 1050.48 609.47 L 1050.5 604.9 L 1056.14 604.9 L 1056.14 602.64 L 1050.48 602.64 L 1050.48 598.08 L 1056.14 598.08 L 1056.14 595.82 L 1050.48 595.82 L 1050.48 591.26 L 1056.14 591.26 L 1056.14 589 L 1050.48 589 L 1050.5 584.43 L 1056.14 584.43 L 1056.14 578.75 L 1060.67 578.75 L 1060.67 584.43 L 1062.93 584.43 L 1062.93 578.75 L 1067.46 578.75 L 1067.46 584.43 L 1069.74 584.43 L 1069.74 578.75 L 1074.25 578.75 L 1074.25 584.43 L 1076.51 584.43 L 1076.51 578.75 L 1081.05 578.75 L 1081.05 584.43 L 1083.32 584.43 L 1083.32 578.75 L 1087.85 578.75 L 1087.85 584.43 L 1093.49 584.43 L 1093.49 589 L 1087.85 589 L 1087.85 591.26 L 1093.49 591.26 L 1093.49 595.82 L 1087.85 595.82 L 1087.85 598.08 L 1093.49 598.08 L 1093.49 602.64 L 1087.85 602.64 L 1087.85 604.9 L 1093.49 604.9 L 1093.49 609.47 L 1087.85 609.47 L 1087.85 611.73 L 1093.49 611.73 L 1093.49 616.29 L 1087.85 616.29 L 1087.85 621.98 L 1083.32 621.98 L 1083.32 616.29 L 1081.05 616.29 L 1081.05 621.98 L 1076.51 621.98 L 1076.51 616.29 L 1074.25 616.29 L 1074.25 621.98 L 1069.74 621.98 L 1069.74 616.29 L 1067.46 616.29 L 1067.46 621.98 L 1062.93 621.98 L 1062.93 616.29 L 1060.67 616.29 L 1060.67 621.98 L 1056.14 621.98 L 1056.14 616.29 Z" fill="#ffffff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 640px; margin-left: 1072px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><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;">REDIS</div></div></div></foreignObject><text x="1072" y="652" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">REDIS</text></switch></g><path d="M 752 483 C 752 472.33 812 472.33 812 483 L 812 527 C 812 537.67 752 537.67 752 527 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 752 483 C 752 491 812 491 812 483 M 752 487 C 752 495 812 495 812 487 M 752 491 C 752 499 812 499 812 491" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 514px; margin-left: 753px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><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;">sis-db</div></div></div></foreignObject><text x="782" y="517" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">sis-db</text></switch></g><path d="M 747 598 C 747 587.33 807 587.33 807 598 L 807 642 C 807 652.67 747 652.67 747 642 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 747 598 C 747 606 807 606 807 598 M 747 602 C 747 610 807 610 807 602 M 747 606 C 747 614 807 614 807 606" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 629px; margin-left: 748px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><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-db</div></div></div></foreignObject><text x="777" y="632" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">user-db</text></switch></g><path d="M 1057 483 C 1057 472.33 1117 472.33 1117 483 L 1117 527 C 1117 537.67 1057 537.67 1057 527 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1057 483 C 1057 491 1117 491 1117 483 M 1057 487 C 1057 495 1117 495 1117 487 M 1057 491 C 1057 499 1117 499 1117 491" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 514px; margin-left: 1058px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><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;">kone-db</div></div></div></foreignObject><text x="1087" y="517" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">kone-db</text></switch></g><path d="M 592 270 L 592 370 L 82 370 L 82 496.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 82 501.88 L 78.5 494.88 L 82 496.63 L 85.5 494.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 370px; margin-left: 320px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">replicate</div></div></div></foreignObject><text x="320" y="374" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">replicate</text></switch></g><path d="M 562 218 C 562 207.33 622 207.33 622 218 L 622 262 C 622 272.67 562 272.67 562 262 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 562 218 C 562 226 622 226 622 218 M 562 222 C 562 230 622 230 622 222 M 562 226 C 562 234 622 234 622 226" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 249px; margin-left: 563px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><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;">import-db</div></div></div></foreignObject><text x="592" y="252" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">import-db</text></switch></g><path d="M 52 511 C 52 500.33 112 500.33 112 511 L 112 555 C 112 565.67 52 565.67 52 555 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 52 511 C 52 519 112 519 112 511 M 52 515 C 52 523 112 523 112 515 M 52 519 C 52 527 112 527 112 519" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 542px; margin-left: 53px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><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;"><div>import-db-</div><div>replica<br /></div></div></div></div></foreignObject><text x="82" y="545" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">import-db-...</text></switch></g><path d="M 452 588 C 452 577.33 512 577.33 512 588 L 512 632 C 512 642.67 452 642.67 452 632 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 452 588 C 452 596 512 596 512 588 M 452 592 C 452 600 512 600 512 592 M 452 596 C 452 604 512 604 512 596" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 619px; margin-left: 453px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><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;">updater-db</div></div></div></foreignObject><text x="482" y="622" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">updater-db</text></switch></g><path d="M 812 505 L 874.63 505" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 879.88 505 L 872.88 508.5 L 874.63 505 L 872.88 501.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 972 505 L 1050.63 505" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1055.88 505 L 1048.88 508.5 L 1050.63 505 L 1048.88 501.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 798 586.63 L 798 560 L 882 560 L 882 536.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 798 591.88 L 794.5 584.88 L 798 586.63 L 801.5 584.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 882 531.12 L 885.5 538.12 L 882 536.37 L 878.5 538.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 560px; margin-left: 838px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">supplement AD</div></div></div></foreignObject><text x="838" y="564" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">supplemen...</text></switch></g><path d="M 972 530 L 972 600" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 972 602 L 1042 601.65" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><g transform="translate(-0.5 -0.5)"><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: 602px; margin-left: 1007px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">analytics</div></div></div></foreignObject><text x="1007" y="605" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">analytics</text></switch></g><path d="M 702 430 L 762 430 L 762 445 L 752 460 L 702 460 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 762 430 L 1142 430 L 1142 660 L 702 660 L 702 460" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 445px; margin-left: 703px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><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;">ok-core</div></div></div></foreignObject><text x="732" y="449" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">ok-core</text></switch></g><path d="M 42 800 L 95.63 800" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 100.88 800 L 93.88 803.5 L 95.63 800 L 93.88 796.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 800px; margin-left: 73px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">login</div></div></div></foreignObject><text x="73" y="804" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">login</text></switch></g><ellipse cx="27" cy="777.5" rx="7.5" ry="7.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><path d="M 27 785 L 27 810 M 27 790 L 12 790 M 27 790 L 42 790 M 27 810 L 12 830 M 27 810 L 42 830" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 837px; margin-left: 27px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><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="27" y="849" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">User</text></switch></g><ellipse cx="27" cy="897.75" rx="7.5" ry="7.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><path d="M 27 905.25 L 27 930.25 M 27 910.25 L 12 910.25 M 27 910.25 L 42 910.25 M 27 930.25 L 12 950.25 M 27 930.25 L 42 950.25" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 957px; margin-left: 27px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><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;">Developer</div></div></div></foreignObject><text x="27" y="969" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Devel...</text></switch></g><path d="M 212 800 L 257.06 800 L 295.63 800" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 300.88 800 L 293.88 803.5 L 295.63 800 L 293.88 796.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="102" y="775" width="110" height="50" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 800px; margin-left: 157px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><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;"><div>«AD authentication»</div><div><b>Shibboleth</b><br /></div></div></div></div></foreignObject><text x="157" y="804" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">«AD authentication...</text></switch></g><path d="M 352 800 L 922 800 L 922 536.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 922 531.12 L 925.5 538.12 L 922 536.37 L 918.5 538.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 800px; margin-left: 772px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">fetch data</div></div></div></foreignObject><text x="772" y="804" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">fetch data</text></switch></g><rect x="302" y="782.25" width="50" height="35.5" fill="none" stroke="none" pointer-events="all"/><path d="M 302 782.25 L 302 783.04 L 302 817.75 L 352 817.75 L 352 782.25 Z M 303.57 783.82 L 350.43 783.82 L 350.43 789.5 L 303.57 789.5 Z M 347.76 785.2 C 347.39 785.2 347.03 785.35 346.77 785.62 C 346.5 785.88 346.35 786.24 346.35 786.62 C 346.35 787 346.5 787.36 346.77 787.62 C 347.03 787.89 347.39 788.04 347.76 788.04 C 348.14 788.04 348.5 787.89 348.76 787.62 C 349.03 787.36 349.18 787 349.18 786.62 C 349.18 786.24 349.03 785.88 348.76 785.62 C 348.5 785.35 348.14 785.2 347.76 785.2 Z M 342.94 785.21 C 342.56 785.21 342.2 785.36 341.94 785.63 C 341.67 785.89 341.52 786.25 341.52 786.63 C 341.52 787.01 341.67 787.37 341.94 787.63 C 342.2 787.9 342.56 788.05 342.94 788.05 C 343.31 788.05 343.67 787.9 343.93 787.64 C 344.2 787.37 344.35 787.01 344.35 786.63 C 344.35 786.25 344.2 785.89 343.93 785.63 C 343.67 785.36 343.31 785.21 342.94 785.21 Z M 338.13 785.22 C 337.76 785.22 337.4 785.37 337.13 785.63 C 336.87 785.9 336.72 786.26 336.72 786.64 C 336.72 787.01 336.87 787.38 337.13 787.64 C 337.4 787.91 337.76 788.06 338.13 788.06 C 338.5 788.06 338.86 787.91 339.13 787.64 C 339.39 787.38 339.54 787.01 339.54 786.64 C 339.54 786.26 339.39 785.9 339.13 785.63 C 338.86 785.37 338.5 785.22 338.13 785.22 Z M 303.57 791.08 L 350.43 791.08 L 350.43 816.18 L 303.57 816.18 Z M 322.62 796.87 L 325.21 806.86 L 327.77 804.28 L 333.49 810.07 L 335.75 807.83 L 329.99 802.03 L 332.54 799.49 Z" fill="#434445" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 825px; margin-left: 327px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><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;">UI (SPA)</div></div></div></foreignObject><text x="327" y="837" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">UI (SPA)</text></switch></g><path d="M 337 919.51 L 465.63 919.51" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 470.88 919.51 L 463.88 923.01 L 465.63 919.51 L 463.88 916.01 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 920px; margin-left: 404px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">new container ver.</div></div></div></foreignObject><text x="404" y="923" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">new container ver.</text></switch></g><path d="M 324.53 932 C 317.16 932 312 925.99 312 919.6 C 312 911.95 318.16 907 324.62 907 C 330.85 907 337 912.11 337 919.5 C 337 926.11 331.74 932 324.53 932 Z" fill="#0d2636" stroke="none" pointer-events="all"/><path d="M 321.83 929.26 C 321.83 929.8 321.42 930.03 320.8 929.82 C 317.1 928.52 313.55 924.52 313.55 919.52 C 313.55 912.75 319.33 908.49 324.35 908.49 C 330.85 908.49 335.48 913.82 335.48 919.45 C 335.48 924.1 332.49 928.37 328.01 929.87 C 327.51 930.01 327.19 929.74 327.19 929.29 L 327.19 926.04 C 327.19 925.41 326.94 924.74 326.46 924.27 C 328.28 924.06 329.39 923.61 330.23 922.74 C 331.06 921.91 331.43 920.7 331.5 919.21 C 331.55 918.02 331.23 916.87 330.37 915.98 C 330.67 915.26 330.72 914.29 330.27 913.1 C 329.37 913.03 328.34 913.57 327.29 914.22 C 325.45 913.74 323.6 913.67 321.76 914.24 C 320.93 913.71 320.18 913.1 318.75 913.1 C 318.37 914.15 318.31 915.11 318.64 915.97 C 317.62 917.1 317.5 918.21 317.52 919.32 C 317.63 921.46 318.41 922.55 319.28 923.19 C 320.01 923.73 321.02 924.07 322.56 924.29 C 322.15 924.7 321.92 925.19 321.88 925.76 C 320.97 926.18 319.67 926.39 318.78 925.13 C 318.38 924.49 317.84 923.78 316.81 923.78 C 316.65 923.78 316.48 923.84 316.45 923.92 C 316.43 924 316.53 924.16 316.64 924.23 C 317.54 924.8 317.69 925.12 318.05 925.91 C 318.4 926.82 318.99 927.17 319.63 927.42 C 320.28 927.65 321.34 927.59 321.83 927.42 Z" fill="#ffffff" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 939px; margin-left: 325px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><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;"><div>Github</div><div>git + actions<br /></div></div></div></div></foreignObject><text x="325" y="951" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Gith...</text></switch></g><path d="M 522 920.24 L 572 920.24 L 615.63 919.59" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 620.88 919.52 L 613.93 923.12 L 615.63 919.59 L 613.83 916.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 920px; margin-left: 572px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;"><div>autofetch</div></div></div></div></foreignObject><text x="572" y="923" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">autofetch</text></switch></g><image x="471.5" y="899.25" width="50" height="41" xlink:href="https://app.diagrams.net/img/lib/mscae/Docker.svg"/><g transform="translate(-0.5 -0.5)"><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: 948px; margin-left: 497px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">dockerhub</div></div></div></foreignObject><text x="497" y="960" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">dockerhub</text></switch></g><path d="M 712 919.41 L 759.53 919.41 L 800.63 919.51" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 805.88 919.53 L 798.87 923.01 L 800.63 919.51 L 798.89 916.01 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="622" y="899.75" width="90" height="39.5" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 88px; height: 1px; padding-top: 919px; margin-left: 623px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><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;">watchtower</div></div></div></foreignObject><text x="667" y="923" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">watchtower</text></switch></g><rect x="807" y="890.25" width="33.75" height="58.5" fill="none" stroke="none" pointer-events="all"/><path d="M 838.81 890.37 L 808.94 890.37 C 807.87 890.37 807 891.24 807 892.32 L 807 946.68 C 807 947.76 807.87 948.63 808.94 948.63 L 838.81 948.63 C 839.88 948.63 840.75 947.76 840.75 946.68 L 840.75 892.32 C 840.75 891.24 839.88 890.37 838.81 890.37 Z M 809.65 945.98 L 809.65 893.02 L 838.1 893.02 L 838.1 945.98 Z M 812.87 898.97 L 834.88 898.97 L 834.88 896.32 L 812.87 896.32 Z M 812.87 904.62 L 834.88 904.62 L 834.88 901.97 L 812.87 901.97 Z M 812.87 910.49 L 834.88 910.49 L 834.88 907.84 L 812.87 907.84 Z M 812.87 916.21 L 834.88 916.21 L 834.88 913.56 L 812.87 913.56 Z" fill="#232f3d" stroke="none" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 956px; margin-left: 824px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: #232F3E; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(35, 47, 62); line-height: 1.2; pointer-events: all; white-space: nowrap;"><div>svm-101</div><div>Univ. server running Oodikone<br /></div></div></div></div></foreignObject><text x="824" y="968" fill="#232F3E" font-family="Helvetica" font-size="12px" text-anchor="middle">svm-1...</text></switch></g><path d="M 152 920 L 305.63 919.55" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 310.88 919.54 L 303.89 923.06 L 305.63 919.55 L 303.87 916.06 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 920px; margin-left: 232px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">Pushes commit</div></div></div></foreignObject><text x="232" y="923" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Pushes co...</text></switch></g><path d="M 42 920.22 L 152 920" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 157 920 L 157 831.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 157 826.12 L 160.5 833.12 L 157 831.37 L 153.5 833.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 873px; margin-left: 157px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">login</div></div></div></foreignObject><text x="157" y="877" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">login</text></switch></g><path d="M 182 860 L 312 860 L 312 865 L 302 880 L 182 880 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 312 860 L 932 860 L 932 1010 L 182 1010 L 182 880" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 128px; height: 1px; padding-top: 870px; margin-left: 183px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><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;">Deployment pipeline</div></div></div></foreignObject><text x="247" y="873" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Deployment pipeline</text></switch></g><path d="M 1042 295 L 1132 295 L 1132 345 L 1042 345 L 1042 335 L 1032 335 L 1032 325 L 1042 325 L 1042 315 L 1032 315 L 1032 305 L 1042 305 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1042 305 L 1052 305 L 1052 315 L 1042 315 M 1042 325 L 1052 325 L 1052 335 L 1042 335" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="1091.5" y="312.5">Jami</text></g><path d="M 1142 213 C 1142 202.33 1202 202.33 1202 213 L 1202 257 C 1202 267.67 1142 267.67 1142 257 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1142 213 C 1142 221 1202 221 1202 213 M 1142 217 C 1142 225 1202 225 1202 217 M 1142 221 C 1142 229 1202 229 1202 221" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 244px; margin-left: 1143px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><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;">jami-db</div></div></div></foreignObject><text x="1172" y="247" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">jami-db</text></switch></g><path d="M 1082 295 L 1082 235 L 1135.63 235" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1140.88 235 L 1133.88 238.5 L 1135.63 235 L 1133.88 231.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 947 480 L 947 410 L 1082 410 L 1082 351.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1082 346.12 L 1085.5 353.12 L 1082 351.37 L 1078.5 353.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 410px; margin-left: 1012px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">IAM authentication</div></div></div></foreignObject><text x="1012" y="414" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">IAM authe...</text></switch></g><path d="M 1192 295 L 1282 295 L 1282 345 L 1192 345 L 1192 335 L 1182 335 L 1182 325 L 1192 325 L 1192 315 L 1182 315 L 1182 305 L 1192 305 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1192 305 L 1202 305 L 1202 315 L 1192 315 M 1192 325 L 1202 325 L 1202 335 L 1192 335" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g fill="rgb(0, 0, 0)" font-family="Helvetica" text-anchor="middle" font-size="12px"><text x="1241.5" y="312.5">Pate</text></g><path d="M 972 480 L 972 450 L 1032 450 L 1232 450 L 1232 351.37" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 1232 346.12 L 1235.5 353.12 L 1232 351.37 L 1228.5 353.12 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 452px; margin-left: 1184px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(0, 0, 0); line-height: 1.2; pointer-events: all; background-color: rgb(255, 255, 255); white-space: nowrap;">email server</div></div></div></foreignObject><text x="1184" y="455" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">email server</text></switch></g><path d="M 1022 185 L 1112 185 L 1112 200 L 1102 215 L 1022 215 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 1112 185 L 1302 185 L 1302 380 L 1022 380 L 1022 215" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><g transform="translate(-0.5 -0.5)"><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: 87px; height: 1px; padding-top: 200px; margin-left: 1023px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: rgb(0, 0, 0); "><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;"><div>microservices</div></div></div></div></foreignObject><text x="1067" y="204" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">microservices</text></switch></g></g><switch><g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/><a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/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>