forked from amigoscode/microservices
-
Notifications
You must be signed in to change notification settings - Fork 0
/
diagrams.drawio
1347 lines (1347 loc) · 567 KB
/
diagrams.drawio
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<mxfile host="65bd71144e">
<diagram id="J-hNA5ClU3yTLYx-0fgb" name="Main">
<mxGraphModel dx="2394" dy="753" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="0"/>
<mxCell id="1" parent="0"/>
<mxCell id="76" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;fillColor=none;strokeWidth=2;dashed=1;" parent="1" vertex="1">
<mxGeometry x="-270" y="4" width="999" height="750" as="geometry"/>
</mxCell>
<mxCell id="17" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;fillColor=none;strokeWidth=2;dashed=1;" parent="1" vertex="1">
<mxGeometry x="-150" y="40" width="817" height="480" as="geometry"/>
</mxCell>
<mxCell id="69" style="edgeStyle=none;shape=link;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=none;startFill=0;endArrow=none;endFill=0;strokeWidth=1;" parent="1" source="106" target="8" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="478" y="379" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="10" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;fillColor=#1ba1e2;strokeColor=#006EAF;" parent="1" source="3" target="107" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="277" y="305" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="34" value="Async<br>Send Notifications" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="10" vertex="1" connectable="0">
<mxGeometry x="-0.1732" y="-2" relative="1" as="geometry">
<mxPoint x="17" y="-8" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="24" style="edgeStyle=none;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startArrow=classic;startFill=1;fillColor=#1ba1e2;strokeColor=#006EAF;strokeWidth=3;" parent="1" source="3" target="5" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="33" value="Internal Communication" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="24" vertex="1" connectable="0">
<mxGeometry x="0.1091" relative="1" as="geometry">
<mxPoint y="16" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="68" style="edgeStyle=none;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=none;startFill=0;endArrow=none;endFill=0;strokeWidth=1;shape=link;" parent="1" source="3" target="6" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="3" value="Customer" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="20" y="390" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="23" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#1ba1e2;strokeColor=#006EAF;strokeWidth=3;" parent="1" source="5" target="107" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="277" y="275" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="56" value="Async <br>Send Notifications" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="23" vertex="1" connectable="0">
<mxGeometry x="0.052" y="-2" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="70" style="edgeStyle=none;shape=link;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;startArrow=none;startFill=0;endArrow=none;endFill=0;strokeWidth=1;" parent="1" source="5" target="7" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="5" value="Fraud" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="20" y="110" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="6" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" parent="1" vertex="1">
<mxGeometry x="260.62" y="394" width="60" height="80" as="geometry"/>
</mxCell>
<mxCell id="7" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" parent="1" vertex="1">
<mxGeometry x="225" y="84" width="60" height="80" as="geometry"/>
</mxCell>
<mxCell id="8" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" parent="1" vertex="1">
<mxGeometry x="526" y="389" width="60" height="80" as="geometry"/>
</mxCell>
<mxCell id="59" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" source="73" target="5" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-200" y="280" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="116" value="/fraud" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="59" vertex="1" connectable="0">
<mxGeometry x="-0.0223" y="4" relative="1" as="geometry">
<mxPoint x="1" y="1" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="60" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" source="73" target="3" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-200" y="280" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="117" value="/customer" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="60" vertex="1" connectable="0">
<mxGeometry x="-0.073" y="-1" relative="1" as="geometry">
<mxPoint x="8" y="-1" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="41" style="edgeStyle=none;html=1;startArrow=classic;startFill=1;strokeWidth=1;endArrow=none;endFill=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.576;entryY=0.998;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" source="27" target="17" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="290" y="600" as="sourcePoint"/>
<mxPoint x="353" y="520" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="43" value="Pull Environment <br>Configuration" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="41" vertex="1" connectable="0">
<mxGeometry x="0.0238" y="-1" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="NRwvb_30eyufFlA1yozx-124" style="edgeStyle=none;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fontSize=11;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=1;" parent="1" source="27" target="100" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="27" value="config server" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="262" y="616" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="40" style="edgeStyle=none;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.829;entryY=1.004;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;strokeWidth=1;endArrow=none;endFill=0;exitPerimeter=0;" parent="1" source="NRwvb_30eyufFlA1yozx-119" target="17" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="529" y="621" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="42" value="Distributed Tracing" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="40" vertex="1" connectable="0">
<mxGeometry x="0.0184" relative="1" as="geometry">
<mxPoint y="11" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="NRwvb_30eyufFlA1yozx-117" value="Sleuth" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;" parent="40" vertex="1" connectable="0">
<mxGeometry x="-0.3677" y="2" relative="1" as="geometry">
<mxPoint y="-24" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="49" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=data:image/png,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;" parent="1" vertex="1">
<mxGeometry x="281" y="684.98" width="45" height="45" as="geometry"/>
</mxCell>
<mxCell id="50" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://upload.wikimedia.org/wikipedia/commons/thumb/9/91/Octicons-mark-github.svg/2048px-Octicons-mark-github.svg.png;" parent="1" vertex="1">
<mxGeometry x="333" y="685" width="35" height="35" as="geometry"/>
</mxCell>
<mxCell id="53" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://upload.wikimedia.org/wikipedia/commons/thumb/2/29/Postgresql_elephant.svg/1200px-Postgresql_elephant.svg.png;" parent="1" vertex="1">
<mxGeometry x="542" y="430" width="29.07" height="30" as="geometry"/>
</mxCell>
<mxCell id="55" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://upload.wikimedia.org/wikipedia/commons/thumb/2/29/Postgresql_elephant.svg/1200px-Postgresql_elephant.svg.png;" parent="1" vertex="1">
<mxGeometry x="276.08000000000004" y="435" width="29.07" height="30" as="geometry"/>
</mxCell>
<mxCell id="57" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://miro.medium.com/max/300/1*R4c8lHBHuH5qyqOtZb3h-w.png;" parent="1" vertex="1">
<mxGeometry x="557" y="217.5" width="35" height="35" as="geometry"/>
</mxCell>
<mxCell id="58" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://twilio-cms-prod.s3.amazonaws.com/images/library-logo-resource2x.width-1000.png;" parent="1" vertex="1">
<mxGeometry x="496" y="222.5" width="53.79" height="30" as="geometry"/>
</mxCell>
<mxCell id="64" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;fillColor=#fff2cc;strokeColor=#d6b656;" parent="1" source="62" target="73" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-320" y="280" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="62" value="" style="outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.internet_3;fillColor=#D2D3D3;gradientColor=none;strokeColor=#B266FF;strokeWidth=2;" parent="1" vertex="1">
<mxGeometry x="-502" y="262.5" width="79.5" height="54" as="geometry"/>
</mxCell>
<mxCell id="73" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=0;strokeColor=none;" parent="1" vertex="1">
<mxGeometry x="-320" y="232.5" width="110" height="110" as="geometry"/>
</mxCell>
<mxCell id="72" value="" style="outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.network_load_balancer;fillColor=#6a00ff;strokeColor=#3700CC;fontColor=#ffffff;" parent="1" vertex="1">
<mxGeometry x="-305" y="256.5" width="74" height="74" as="geometry"/>
</mxCell>
<mxCell id="74" value="Public <br>Network" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;" parent="1" vertex="1">
<mxGeometry x="-374" y="155" width="54" height="32" as="geometry"/>
</mxCell>
<mxCell id="75" value="Private<br>Network" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;" parent="1" vertex="1">
<mxGeometry x="-242" y="74" width="54" height="32" as="geometry"/>
</mxCell>
<mxCell id="77" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://g.foolcdn.com/art/companylogos/square/mdb.png;" parent="1" vertex="1">
<mxGeometry x="233.41" y="116" width="42.67" height="42.67" as="geometry"/>
</mxCell>
<mxCell id="92" value="" style="aspect=fixed;html=1;points=[];align=center;image;fontSize=12;image=img/lib/mscae/Docker.svg;strokeColor=#000000;strokeWidth=0;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="107.1" y="119.00000000000001" width="23.12" height="18.96" as="geometry"/>
</mxCell>
<mxCell id="93" value="" style="aspect=fixed;html=1;points=[];align=center;image;fontSize=12;image=img/lib/mscae/Docker.svg;strokeColor=#000000;strokeWidth=0;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="114.39" y="394" width="20.73" height="17" as="geometry"/>
</mxCell>
<mxCell id="97" style="edgeStyle=none;html=1;entryX=0.111;entryY=0.998;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;strokeWidth=1;" parent="1" source="95" target="17" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="98" value="Pull Images" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="97" vertex="1" connectable="0">
<mxGeometry x="0.2059" relative="1" as="geometry">
<mxPoint x="-1" y="9" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="95" value="Private Docker Registry" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="-119" y="616" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="99" value="" style="aspect=fixed;html=1;points=[];align=center;image;fontSize=12;image=img/lib/mscae/Docker.svg;strokeColor=#000000;strokeWidth=0;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="-86.43" y="685" width="54.85" height="44.98" as="geometry"/>
</mxCell>
<mxCell id="100" value="Eureka Server" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="58.66" y="616" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="101" style="edgeStyle=none;html=1;startArrow=classic;startFill=1;endArrow=none;endFill=0;strokeWidth=1;entryX=0.332;entryY=1.002;entryDx=0;entryDy=0;entryPerimeter=0;" parent="1" target="17" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="121" y="615" as="sourcePoint"/>
<mxPoint x="124" y="521" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="102" value="Microservices Register <br>As A Client" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="101" vertex="1" connectable="0">
<mxGeometry x="0.2059" relative="1" as="geometry">
<mxPoint x="-1" y="9" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="106" value="Notificatication" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="496" y="257.5" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="94" value="" style="aspect=fixed;html=1;points=[];align=center;image;fontSize=12;image=img/lib/mscae/Docker.svg;strokeColor=#000000;strokeWidth=0;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="589" y="263" width="21.34" height="17.5" as="geometry"/>
</mxCell>
<mxCell id="109" value="" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;strokeWidth=1;" parent="1" source="107" target="106" edge="1">
<mxGeometry x="0.04" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="NRwvb_30eyufFlA1yozx-119" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" parent="1" vertex="1">
<mxGeometry x="486" y="610" width="82.93" height="81" as="geometry"/>
</mxCell>
<mxCell id="111" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://www.snaplogic.com/wp-content/uploads/2016/05/kafka-logo-600x390.jpg;" parent="1" vertex="1">
<mxGeometry x="290.22" y="197.5" width="100.78" height="65.5" as="geometry"/>
</mxCell>
<mxCell id="114" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://blog.iron.io/wp-content/uploads/2020/11/RabbitMQ.jpg;" parent="1" vertex="1">
<mxGeometry x="320.62" y="311" width="89.38" height="50.36" as="geometry"/>
</mxCell>
<mxCell id="107" value="Message Queue" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
<mxGeometry x="301" y="257.5" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="110" value="Load Balancer" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;" parent="1" vertex="1">
<mxGeometry x="-309.5" y="236.5" width="87" height="18" as="geometry"/>
</mxCell>
<mxCell id="113" value="" style="outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.sqs;fillColor=#D9A741;gradientColor=none;strokeColor=#000000;strokeWidth=0;" parent="1" vertex="1">
<mxGeometry x="387.5" y="217.5" width="22.5" height="27.35" as="geometry"/>
</mxCell>
<mxCell id="NRwvb_30eyufFlA1yozx-122" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=data:image/png,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;" parent="1" vertex="1">
<mxGeometry x="492" y="641.98" width="41" height="41" as="geometry"/>
</mxCell>
<mxCell id="NRwvb_30eyufFlA1yozx-123" value="" style="aspect=fixed;html=1;points=[];align=center;image;fontSize=12;image=img/lib/mscae/Docker.svg;strokeColor=#000000;strokeWidth=0;fillColor=none;" parent="1" vertex="1">
<mxGeometry x="530.93" y="650" width="28.07" height="23.02" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram name="Service Discovery" id="NjUWEUbKktNb05nLPYvM">
<mxGraphModel dx="2658" dy="1967" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="wIK1BDM-tyvRzp2XeRGC-0"/>
<mxCell id="wIK1BDM-tyvRzp2XeRGC-1" parent="wIK1BDM-tyvRzp2XeRGC-0"/>
<mxCell id="Y1gfFd0ynq9f1__zWaiz-0" value="" style="group" parent="wIK1BDM-tyvRzp2XeRGC-1" vertex="1" connectable="0">
<mxGeometry x="69" y="344" width="584" height="270" as="geometry"/>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-17" value="Microservices (Eureka Clients)" style="fillColor=#EFF0F3;dashed=1;verticalAlign=top;fontStyle=0;fontColor=#232F3D;fontSize=12;" parent="Y1gfFd0ynq9f1__zWaiz-0" vertex="1">
<mxGeometry width="234" height="270" as="geometry"/>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-13" value="" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#4286c5;strokeColor=#57A2D8;aspect=fixed;fontSize=12;" parent="Y1gfFd0ynq9f1__zWaiz-0" vertex="1">
<mxGeometry x="409" y="64" width="143.11" height="158.8" as="geometry"/>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-14" value="" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#f0a30a;strokeColor=#BD7000;aspect=fixed;fontSize=12;fontColor=#000000;" parent="Y1gfFd0ynq9f1__zWaiz-0" vertex="1">
<mxGeometry x="64" y="131" width="62" height="68.8" as="geometry"/>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-15" value="" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#f0a30a;strokeColor=#BD7000;aspect=fixed;fontSize=12;fontColor=#000000;" parent="Y1gfFd0ynq9f1__zWaiz-0" vertex="1">
<mxGeometry x="162" y="112" width="50.47" height="56" as="geometry"/>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-16" value="" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#f0a30a;strokeColor=#BD7000;aspect=fixed;fontSize=12;fontColor=#000000;" parent="Y1gfFd0ynq9f1__zWaiz-0" vertex="1">
<mxGeometry x="47" y="50" width="62" height="68.8" as="geometry"/>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-18" value="" style="endArrow=classic;html=1;fontSize=12;strokeWidth=1;" parent="Y1gfFd0ynq9f1__zWaiz-0" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="267" y="90" as="sourcePoint"/>
<mxPoint x="368" y="90" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-21" value="1 - Register" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=12;" parent="PH91zAjFHpjKP6Gzf9oe-18" vertex="1" connectable="0">
<mxGeometry x="-0.5266" y="1" relative="1" as="geometry">
<mxPoint x="22" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-19" value="" style="endArrow=classic;html=1;fontSize=12;strokeWidth=1;" parent="Y1gfFd0ynq9f1__zWaiz-0" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="269" y="136.36" as="sourcePoint"/>
<mxPoint x="368" y="136" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-23" value="2 - Lookup" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=12;" parent="PH91zAjFHpjKP6Gzf9oe-19" vertex="1" connectable="0">
<mxGeometry x="-0.6071" y="1" relative="1" as="geometry">
<mxPoint x="26" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-20" value="" style="endArrow=classic;html=1;fontSize=12;strokeWidth=1;" parent="Y1gfFd0ynq9f1__zWaiz-0" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="266" y="179" as="sourcePoint"/>
<mxPoint x="266" y="223" as="targetPoint"/>
<Array as="points">
<mxPoint x="372" y="179"/>
<mxPoint x="372" y="223"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-24" value="3 - Connect" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=12;" parent="PH91zAjFHpjKP6Gzf9oe-20" vertex="1" connectable="0">
<mxGeometry x="-0.7909" y="1" relative="1" as="geometry">
<mxPoint x="25" y="-1" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-25" value="Eureka Server" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fontSize=12;" parent="Y1gfFd0ynq9f1__zWaiz-0" vertex="1">
<mxGeometry x="437.04999999999995" y="24" width="87" height="18" as="geometry"/>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-26" value="" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#f0a30a;strokeColor=#BD7000;aspect=fixed;fontSize=12;fontColor=#000000;" parent="Y1gfFd0ynq9f1__zWaiz-0" vertex="1">
<mxGeometry x="147" y="61" width="24" height="26.63" as="geometry"/>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-27" value="" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#f0a30a;strokeColor=#BD7000;aspect=fixed;fontSize=12;fontColor=#000000;" parent="Y1gfFd0ynq9f1__zWaiz-0" vertex="1">
<mxGeometry x="147.5" y="191" width="43" height="47.71" as="geometry"/>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-28" value="" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#f0a30a;strokeColor=#BD7000;aspect=fixed;fontSize=12;fontColor=#000000;" parent="Y1gfFd0ynq9f1__zWaiz-0" vertex="1">
<mxGeometry x="33" y="209" width="18.74" height="20.8" as="geometry"/>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-29" value="<span style="color: rgb(32 , 33 , 36) ; font-family: &#34;arial&#34; , sans-serif ; font-size: 11px ; text-align: left">Knows all the client applications <br>running on each port and IP address.</span>" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fontSize=11;" parent="Y1gfFd0ynq9f1__zWaiz-0" vertex="1">
<mxGeometry x="393" y="238.70999999999998" width="191" height="30" as="geometry"/>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-1" value="Fraud<br>Running on port 8081" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#f0a30a;strokeColor=#BD7000;aspect=fixed;fontSize=12;fontColor=#000000;" parent="wIK1BDM-tyvRzp2XeRGC-1" vertex="1">
<mxGeometry x="567.4102633807588" y="-673" width="108.0957308604336" height="119.93055259146341" as="geometry"/>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-2" style="edgeStyle=none;html=1;fontSize=11;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=1;" parent="wIK1BDM-tyvRzp2XeRGC-1" source="Dtdai3XazI9elFZAhyv0-6" target="Dtdai3XazI9elFZAhyv0-1" edge="1">
<mxGeometry x="67" y="-673" as="geometry"/>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-3" value="HTTP 8081" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;" parent="Dtdai3XazI9elFZAhyv0-2" vertex="1" connectable="0">
<mxGeometry x="-0.0547" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-6" value="Customer<br>Running on port 8080" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#f0a30a;strokeColor=#BD7000;aspect=fixed;fontSize=12;fontColor=#000000;" parent="wIK1BDM-tyvRzp2XeRGC-1" vertex="1">
<mxGeometry x="67" y="-673" width="108.0957308604336" height="119.93055259146341" as="geometry"/>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-32" value="Customer<br>Running on port 8080" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#f0a30a;strokeColor=#BD7000;aspect=fixed;fontSize=12;fontColor=#000000;" parent="wIK1BDM-tyvRzp2XeRGC-1" vertex="1">
<mxGeometry x="67" y="-174" width="108.0957308604336" height="119.93055259146341" as="geometry"/>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-10" value="" style="group" parent="wIK1BDM-tyvRzp2XeRGC-1" vertex="1" connectable="0">
<mxGeometry x="572.0025482723577" y="15.000999531336513" width="118.55745172764227" height="119.93055259146342" as="geometry"/>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-12" value="" style="group" parent="Dtdai3XazI9elFZAhyv0-10" vertex="1" connectable="0">
<mxGeometry width="118.55745172764227" height="119.93055259146341" as="geometry"/>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-13" value="" style="group" parent="Dtdai3XazI9elFZAhyv0-12" vertex="1" connectable="0">
<mxGeometry width="118.55745172764227" height="119.93055259146341" as="geometry"/>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-38" style="edgeStyle=none;html=1;fontSize=11;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=1;" parent="Dtdai3XazI9elFZAhyv0-13" source="PH91zAjFHpjKP6Gzf9oe-32" edge="1">
<mxGeometry x="-499.1025482723577" y="-191.7409995313365" as="geometry">
<mxPoint y="61.67892292616418" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-39" value="HTTP 8085" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;" parent="PH91zAjFHpjKP6Gzf9oe-38" vertex="1" connectable="0">
<mxGeometry x="-0.1045" y="1" relative="1" as="geometry">
<mxPoint x="7" y="5" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-36" value="Fraud<br>Running on port 8085" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#f0a30a;strokeColor=#BD7000;aspect=fixed;fontSize=12;fontColor=#000000;" parent="Dtdai3XazI9elFZAhyv0-13" vertex="1">
<mxGeometry x="10.461720867208669" width="108.0957308604336" height="119.93055259146341" as="geometry"/>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-11" value="" style="group" parent="wIK1BDM-tyvRzp2XeRGC-1" vertex="1" connectable="0">
<mxGeometry x="567.4102633807588" y="-174" width="108.0957308604336" height="119.93055259146341" as="geometry"/>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-30" value="Fraud<br>Running on port 8081" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#f0a30a;strokeColor=#BD7000;aspect=fixed;fontSize=12;fontColor=#000000;" parent="Dtdai3XazI9elFZAhyv0-11" vertex="1">
<mxGeometry width="108.0957308604336" height="119.93055259146341" as="geometry"/>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-34" style="edgeStyle=none;html=1;fontSize=11;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=1;" parent="Dtdai3XazI9elFZAhyv0-11" source="PH91zAjFHpjKP6Gzf9oe-32" target="PH91zAjFHpjKP6Gzf9oe-30" edge="1">
<mxGeometry x="-500.4102633807588" as="geometry"/>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-35" value="HTTP 8081" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;" parent="PH91zAjFHpjKP6Gzf9oe-34" vertex="1" connectable="0">
<mxGeometry x="-0.0547" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-33" value="Eureka Server" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#4286c5;strokeColor=#57A2D8;aspect=fixed;fontSize=12;" parent="wIK1BDM-tyvRzp2XeRGC-1" vertex="1">
<mxGeometry x="299.99999999999994" y="987" width="143.11" height="158.8" as="geometry"/>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-41" style="edgeStyle=none;html=1;fontSize=11;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=1;" parent="wIK1BDM-tyvRzp2XeRGC-1" source="Dtdai3XazI9elFZAhyv0-28" edge="1">
<mxGeometry x="4" y="830" as="geometry">
<mxPoint x="344" y="992" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-22" style="edgeStyle=none;html=1;startArrow=none;" parent="wIK1BDM-tyvRzp2XeRGC-1" source="Dtdai3XazI9elFZAhyv0-25" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="279" y="1069" as="targetPoint"/>
<mxPoint x="68" y="997" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-45" value="" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#f0a30a;strokeColor=#BD7000;aspect=fixed;fontSize=12;fontColor=#000000;" parent="wIK1BDM-tyvRzp2XeRGC-1" vertex="1">
<mxGeometry x="4" y="902" width="82.66" height="91.71" as="geometry"/>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-17" style="edgeStyle=none;html=1;startArrow=none;" parent="wIK1BDM-tyvRzp2XeRGC-1" source="Dtdai3XazI9elFZAhyv0-27" target="PH91zAjFHpjKP6Gzf9oe-33" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-19" value="Register as a client" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Dtdai3XazI9elFZAhyv0-17" vertex="1" connectable="0">
<mxGeometry x="0.1325" relative="1" as="geometry">
<mxPoint x="58" y="-28" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-46" value="Fraud<br>Running on port 8082" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#f0a30a;strokeColor=#BD7000;aspect=fixed;fontSize=12;fontColor=#000000;" parent="wIK1BDM-tyvRzp2XeRGC-1" vertex="1">
<mxGeometry x="626" y="1005" width="82.66" height="91.71" as="geometry"/>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-16" style="edgeStyle=none;html=1;startArrow=none;" parent="wIK1BDM-tyvRzp2XeRGC-1" source="Dtdai3XazI9elFZAhyv0-26" target="PH91zAjFHpjKP6Gzf9oe-33" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-47" value="Fraud<br>Fraud on port 8081" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#f0a30a;strokeColor=#BD7000;aspect=fixed;fontSize=12;fontColor=#000000;" parent="wIK1BDM-tyvRzp2XeRGC-1" vertex="1">
<mxGeometry x="618" y="830" width="82.66" height="91.71" as="geometry"/>
</mxCell>
<mxCell id="PH91zAjFHpjKP6Gzf9oe-48" style="edgeStyle=none;html=1;fontSize=11;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=1;" parent="wIK1BDM-tyvRzp2XeRGC-1" source="Dtdai3XazI9elFZAhyv0-32" target="PH91zAjFHpjKP6Gzf9oe-47" edge="1">
<mxGeometry x="4" y="830" as="geometry">
<Array as="points">
<mxPoint x="338" y="912"/>
</Array>
</mxGeometry>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-14" style="edgeStyle=none;html=1;fontSize=11;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=1;" parent="wIK1BDM-tyvRzp2XeRGC-1" source="Dtdai3XazI9elFZAhyv0-29" edge="1">
<mxGeometry x="11.5" y="833" as="geometry">
<mxPoint x="99" y="979" as="targetPoint"/>
<mxPoint x="297" y="1026" as="sourcePoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-21" value="Customer<br>Running on port 8080" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;" parent="wIK1BDM-tyvRzp2XeRGC-1" vertex="1">
<mxGeometry x="-21" y="859.85" width="125" height="32" as="geometry"/>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-29" value="3" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#d5e8d4;strokeColor=#82b366;" parent="wIK1BDM-tyvRzp2XeRGC-1" vertex="1">
<mxGeometry x="184.85" y="992" width="20.15" height="20.15" as="geometry"/>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-30" value="" style="edgeStyle=none;html=1;fontSize=11;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=1;" parent="wIK1BDM-tyvRzp2XeRGC-1" target="Dtdai3XazI9elFZAhyv0-29" edge="1">
<mxGeometry x="11.5" y="833" as="geometry">
<mxPoint x="99" y="979" as="targetPoint"/>
<mxPoint x="297" y="1026" as="sourcePoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-31" value="Fraud Location&nbsp;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;" parent="Dtdai3XazI9elFZAhyv0-30" vertex="1" connectable="0">
<mxGeometry x="-0.0547" relative="1" as="geometry">
<mxPoint x="-3" y="1" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-32" value="3" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#dae8fc;strokeColor=#6c8ebf;" parent="wIK1BDM-tyvRzp2XeRGC-1" vertex="1">
<mxGeometry x="332" y="901.56" width="20.15" height="20.15" as="geometry"/>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-33" value="" style="edgeStyle=none;html=1;fontSize=11;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=1;" parent="wIK1BDM-tyvRzp2XeRGC-1" source="PH91zAjFHpjKP6Gzf9oe-45" target="Dtdai3XazI9elFZAhyv0-32" edge="1">
<mxGeometry x="4" y="830" as="geometry">
<mxPoint x="86.66000000000008" y="942.7916619400689" as="sourcePoint"/>
<mxPoint x="618" y="880.5040301247936" as="targetPoint"/>
<Array as="points"/>
</mxGeometry>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-34" value="Request" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Dtdai3XazI9elFZAhyv0-33" vertex="1" connectable="0">
<mxGeometry relative="1" as="geometry">
<mxPoint x="133" y="-39" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-28" value="2" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#f8cecc;strokeColor=#b85450;" parent="wIK1BDM-tyvRzp2XeRGC-1" vertex="1">
<mxGeometry x="205" y="963" width="20.15" height="20.15" as="geometry"/>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-35" value="" style="edgeStyle=none;html=1;fontSize=11;startArrow=none;startFill=0;endArrow=none;endFill=1;strokeWidth=1;" parent="wIK1BDM-tyvRzp2XeRGC-1" source="PH91zAjFHpjKP6Gzf9oe-45" target="Dtdai3XazI9elFZAhyv0-28" edge="1">
<mxGeometry x="4" y="830" as="geometry">
<mxPoint x="344" y="992" as="targetPoint"/>
<mxPoint x="86.66000000000008" y="953.963791810359" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-36" value="Service Discorvery Request" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;rotation=8;" parent="Dtdai3XazI9elFZAhyv0-35" vertex="1" connectable="0">
<mxGeometry x="-0.0547" relative="1" as="geometry">
<mxPoint x="82" y="-9" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-25" value="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="wIK1BDM-tyvRzp2XeRGC-1" vertex="1">
<mxGeometry x="164.7" y="1022" width="20.15" height="20.15" as="geometry"/>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-38" value="" style="edgeStyle=none;html=1;endArrow=none;" parent="wIK1BDM-tyvRzp2XeRGC-1" target="Dtdai3XazI9elFZAhyv0-25" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="279" y="1069" as="targetPoint"/>
<mxPoint x="68" y="997" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-39" value="Register as a client" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Dtdai3XazI9elFZAhyv0-38" vertex="1" connectable="0">
<mxGeometry x="-0.203" y="2" relative="1" as="geometry">
<mxPoint x="68" y="43" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-26" value="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="wIK1BDM-tyvRzp2XeRGC-1" vertex="1">
<mxGeometry x="522" y="942.85" width="20.15" height="20.15" as="geometry"/>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-40" value="" style="edgeStyle=none;html=1;endArrow=none;" parent="wIK1BDM-tyvRzp2XeRGC-1" source="PH91zAjFHpjKP6Gzf9oe-47" target="Dtdai3XazI9elFZAhyv0-26" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="618" y="903.2209103466248" as="sourcePoint"/>
<mxPoint x="443.1099999999999" y="1019.0211537659629" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-42" value="Register as a client" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="Dtdai3XazI9elFZAhyv0-40" vertex="1" connectable="0">
<mxGeometry x="0.3916" relative="1" as="geometry">
<mxPoint x="-7" y="-5" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-27" value="1" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;fillColor=#e1d5e7;strokeColor=#9673a6;" parent="wIK1BDM-tyvRzp2XeRGC-1" vertex="1">
<mxGeometry x="527" y="1047" width="20.15" height="20.15" as="geometry"/>
</mxCell>
<mxCell id="Dtdai3XazI9elFZAhyv0-43" value="" style="edgeStyle=none;html=1;endArrow=none;" parent="wIK1BDM-tyvRzp2XeRGC-1" source="PH91zAjFHpjKP6Gzf9oe-46" target="Dtdai3XazI9elFZAhyv0-27" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="626" y="1053.0271742878876" as="sourcePoint"/>
<mxPoint x="443.1099999999999" y="1062.6392951567914" as="targetPoint"/>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="4BMdVCB4eWE25W27CFtz" name="Api Gateway">
<mxGraphModel dx="3058" dy="1167" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="VvIa1sczMv5pocf-aeUb-0"/>
<mxCell id="VvIa1sczMv5pocf-aeUb-1" parent="VvIa1sczMv5pocf-aeUb-0"/>
<mxCell id="sqeSvVJFWsEA9AuavhHC-20" value="Fraud" style="rounded=0;whiteSpace=wrap;html=1;" parent="VvIa1sczMv5pocf-aeUb-1" vertex="1">
<mxGeometry x="50" y="66" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="sqeSvVJFWsEA9AuavhHC-1" style="edgeStyle=none;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startArrow=classic;startFill=1;fillColor=#1ba1e2;strokeColor=#006EAF;strokeWidth=3;" parent="VvIa1sczMv5pocf-aeUb-1" source="sqeSvVJFWsEA9AuavhHC-4" target="sqeSvVJFWsEA9AuavhHC-6" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="sqeSvVJFWsEA9AuavhHC-2" value="Internal communication" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="sqeSvVJFWsEA9AuavhHC-1" vertex="1" connectable="0">
<mxGeometry x="0.1091" relative="1" as="geometry">
<mxPoint y="16" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="sqeSvVJFWsEA9AuavhHC-3" style="edgeStyle=none;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=none;startFill=0;endArrow=none;endFill=0;strokeWidth=1;shape=link;" parent="VvIa1sczMv5pocf-aeUb-1" source="sqeSvVJFWsEA9AuavhHC-4" target="sqeSvVJFWsEA9AuavhHC-7" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="sqeSvVJFWsEA9AuavhHC-4" value="Customer" style="rounded=0;whiteSpace=wrap;html=1;" parent="VvIa1sczMv5pocf-aeUb-1" vertex="1">
<mxGeometry x="20" y="390" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="sqeSvVJFWsEA9AuavhHC-5" style="edgeStyle=none;shape=link;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;startArrow=none;startFill=0;endArrow=none;endFill=0;strokeWidth=1;" parent="VvIa1sczMv5pocf-aeUb-1" source="sqeSvVJFWsEA9AuavhHC-20" target="sqeSvVJFWsEA9AuavhHC-8" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="sqeSvVJFWsEA9AuavhHC-7" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" parent="VvIa1sczMv5pocf-aeUb-1" vertex="1">
<mxGeometry x="232" y="395" width="60" height="80" as="geometry"/>
</mxCell>
<mxCell id="sqeSvVJFWsEA9AuavhHC-8" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" parent="VvIa1sczMv5pocf-aeUb-1" vertex="1">
<mxGeometry x="245" y="56" width="60" height="80" as="geometry"/>
</mxCell>
<mxCell id="sqeSvVJFWsEA9AuavhHC-9" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;fillColor=#fff2cc;strokeColor=#d6b656;" parent="VvIa1sczMv5pocf-aeUb-1" target="sqeSvVJFWsEA9AuavhHC-6" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-178" y="286" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="sqeSvVJFWsEA9AuavhHC-10" value="/fraud" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="sqeSvVJFWsEA9AuavhHC-9" vertex="1" connectable="0">
<mxGeometry x="-0.0223" y="4" relative="1" as="geometry">
<mxPoint x="-30" y="27" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="sqeSvVJFWsEA9AuavhHC-11" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;fillColor=#fff2cc;strokeColor=#d6b656;" parent="VvIa1sczMv5pocf-aeUb-1" target="sqeSvVJFWsEA9AuavhHC-4" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-178" y="289" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="sqeSvVJFWsEA9AuavhHC-12" value="/customer" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="sqeSvVJFWsEA9AuavhHC-11" vertex="1" connectable="0">
<mxGeometry x="-0.073" y="-1" relative="1" as="geometry">
<mxPoint x="-29" y="-22" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="sqeSvVJFWsEA9AuavhHC-13" value="" style="outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.internet_3;fillColor=#D2D3D3;gradientColor=none;strokeColor=#B266FF;strokeWidth=2;" parent="VvIa1sczMv5pocf-aeUb-1" vertex="1">
<mxGeometry x="-412" y="250" width="79.5" height="54" as="geometry"/>
</mxCell>
<mxCell id="sqeSvVJFWsEA9AuavhHC-14" value="" style="outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.network_load_balancer;fillColor=#6a00ff;strokeColor=#3700CC;fontColor=#ffffff;" parent="VvIa1sczMv5pocf-aeUb-1" vertex="1">
<mxGeometry x="-252" y="250" width="74" height="74" as="geometry"/>
</mxCell>
<mxCell id="sqeSvVJFWsEA9AuavhHC-18" value="Fraud" style="rounded=0;whiteSpace=wrap;html=1;" parent="VvIa1sczMv5pocf-aeUb-1" vertex="1">
<mxGeometry x="36" y="88" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="sqeSvVJFWsEA9AuavhHC-19" value="" style="group" parent="VvIa1sczMv5pocf-aeUb-1" vertex="1" connectable="0">
<mxGeometry x="20" y="110" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="sqeSvVJFWsEA9AuavhHC-6" value="Fraud" style="rounded=0;whiteSpace=wrap;html=1;" parent="sqeSvVJFWsEA9AuavhHC-19" vertex="1">
<mxGeometry width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="sqeSvVJFWsEA9AuavhHC-15" value="" style="aspect=fixed;html=1;points=[];align=center;image;fontSize=12;image=img/lib/mscae/Docker.svg;strokeColor=#000000;strokeWidth=0;fillColor=none;" parent="sqeSvVJFWsEA9AuavhHC-19" vertex="1">
<mxGeometry x="87.1" y="9.000000000000014" width="23.12" height="18.96" as="geometry"/>
</mxCell>
<mxCell id="sqeSvVJFWsEA9AuavhHC-21" value="Customer" style="rounded=0;whiteSpace=wrap;html=1;" parent="VvIa1sczMv5pocf-aeUb-1" vertex="1">
<mxGeometry x="36" y="409" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="sqeSvVJFWsEA9AuavhHC-22" value="Customer" style="rounded=0;whiteSpace=wrap;html=1;" parent="VvIa1sczMv5pocf-aeUb-1" vertex="1">
<mxGeometry x="46" y="427" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="sqeSvVJFWsEA9AuavhHC-16" value="" style="aspect=fixed;html=1;points=[];align=center;image;fontSize=12;image=img/lib/mscae/Docker.svg;strokeColor=#000000;strokeWidth=0;fillColor=none;" parent="VvIa1sczMv5pocf-aeUb-1" vertex="1">
<mxGeometry x="136.99999999999997" y="433" width="20.73" height="17" as="geometry"/>
</mxCell>
<mxCell id="gZ6arKePF3R_qXDye3f3-0" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://upload.wikimedia.org/wikipedia/commons/thumb/2/29/Postgresql_elephant.svg/1200px-Postgresql_elephant.svg.png;" parent="VvIa1sczMv5pocf-aeUb-1" vertex="1">
<mxGeometry x="247.46000000000004" y="435" width="29.07" height="30" as="geometry"/>
</mxCell>
<mxCell id="gZ6arKePF3R_qXDye3f3-1" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://upload.wikimedia.org/wikipedia/commons/thumb/2/29/Postgresql_elephant.svg/1200px-Postgresql_elephant.svg.png;" parent="VvIa1sczMv5pocf-aeUb-1" vertex="1">
<mxGeometry x="260.46000000000004" y="96" width="29.07" height="30" as="geometry"/>
</mxCell>
<mxCell id="gZ6arKePF3R_qXDye3f3-2" style="edgeStyle=none;html=1;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;fillColor=#fff2cc;strokeColor=#d6b656;" parent="VvIa1sczMv5pocf-aeUb-1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-320" y="286.65999999999997" as="sourcePoint"/>
<mxPoint x="-258" y="286.65999999999997" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="8TkGhMzJDVNN6pFFRsk9-0" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;fillColor=none;strokeWidth=2;dashed=1;" parent="VvIa1sczMv5pocf-aeUb-1" vertex="1">
<mxGeometry x="-60" y="35" width="595" height="480" as="geometry"/>
</mxCell>
<mxCell id="8TkGhMzJDVNN6pFFRsk9-1" style="edgeStyle=none;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;startArrow=none;startFill=0;endArrow=none;endFill=0;strokeWidth=1;shape=link;" parent="VvIa1sczMv5pocf-aeUb-1" source="8TkGhMzJDVNN6pFFRsk9-5" target="8TkGhMzJDVNN6pFFRsk9-3" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="8TkGhMzJDVNN6pFFRsk9-2" value="Customer" style="rounded=0;whiteSpace=wrap;html=1;" parent="VvIa1sczMv5pocf-aeUb-1" vertex="1">
<mxGeometry x="312" y="212" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="8TkGhMzJDVNN6pFFRsk9-3" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" parent="VvIa1sczMv5pocf-aeUb-1" vertex="1">
<mxGeometry x="368" y="370" width="60" height="80" as="geometry"/>
</mxCell>
<mxCell id="8TkGhMzJDVNN6pFFRsk9-4" value="Customer" style="rounded=0;whiteSpace=wrap;html=1;" parent="VvIa1sczMv5pocf-aeUb-1" vertex="1">
<mxGeometry x="328" y="231" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="8TkGhMzJDVNN6pFFRsk9-5" value="Notification" style="rounded=0;whiteSpace=wrap;html=1;" parent="VvIa1sczMv5pocf-aeUb-1" vertex="1">
<mxGeometry x="338" y="249" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="8TkGhMzJDVNN6pFFRsk9-6" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://upload.wikimedia.org/wikipedia/commons/thumb/2/29/Postgresql_elephant.svg/1200px-Postgresql_elephant.svg.png;" parent="VvIa1sczMv5pocf-aeUb-1" vertex="1">
<mxGeometry x="383.46000000000004" y="413" width="29.07" height="30" as="geometry"/>
</mxCell>
<mxCell id="8TkGhMzJDVNN6pFFRsk9-7" value="" style="aspect=fixed;html=1;points=[];align=center;image;fontSize=12;image=img/lib/mscae/Docker.svg;strokeColor=#000000;strokeWidth=0;fillColor=none;" parent="VvIa1sczMv5pocf-aeUb-1" vertex="1">
<mxGeometry x="427.27" y="255" width="20.73" height="17" as="geometry"/>
</mxCell>
<mxCell id="8TkGhMzJDVNN6pFFRsk9-8" style="edgeStyle=none;html=1;startArrow=classic;startFill=1;fillColor=#1ba1e2;strokeColor=#006EAF;strokeWidth=3;" parent="VvIa1sczMv5pocf-aeUb-1" edge="1">
<mxGeometry relative="1" as="geometry">
<mxPoint x="162" y="407" as="sourcePoint"/>
<mxPoint x="315" y="280" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="8TkGhMzJDVNN6pFFRsk9-9" value="Internal communication" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="8TkGhMzJDVNN6pFFRsk9-8" vertex="1" connectable="0">
<mxGeometry x="0.1091" relative="1" as="geometry">
<mxPoint x="-8" y="3" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="8TkGhMzJDVNN6pFFRsk9-10" value="Private Network" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#6c8ebf;fillColor=#dae8fc;" parent="VvIa1sczMv5pocf-aeUb-1" vertex="1">
<mxGeometry x="417" y="56" width="95" height="18" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="qHXJiI4ehLdGZqHuWrZj" name="Sleuth">
<mxGraphModel dx="1576" dy="1381" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="w4nhSq6OKoXRiqkYa2zD-0"/>
<mxCell id="w4nhSq6OKoXRiqkYa2zD-1" parent="w4nhSq6OKoXRiqkYa2zD-0"/>
<mxCell id="g2zL48WwKDLdGk8KF4jq-4" style="edgeStyle=none;html=1;" parent="w4nhSq6OKoXRiqkYa2zD-1" source="g2zL48WwKDLdGk8KF4jq-1" target="g2zL48WwKDLdGk8KF4jq-2" edge="1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="g2zL48WwKDLdGk8KF4jq-7" value="SpanId: 1 TraceID: 1" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="g2zL48WwKDLdGk8KF4jq-4" vertex="1" connectable="0">
<mxGeometry x="-0.1445" y="1" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="g2zL48WwKDLdGk8KF4jq-1" value="Customer<br>Running on port 8080" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#f0a30a;strokeColor=#BD7000;aspect=fixed;fontSize=12;fontColor=#000000;" parent="w4nhSq6OKoXRiqkYa2zD-1" vertex="1">
<mxGeometry x="20" y="-650" width="108.0957308604336" height="119.93055259146341" as="geometry"/>
</mxCell>
<mxCell id="g2zL48WwKDLdGk8KF4jq-2" value="Fraud<br>Running on port 8081" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#f0a30a;strokeColor=#BD7000;aspect=fixed;fontSize=12;fontColor=#000000;" parent="w4nhSq6OKoXRiqkYa2zD-1" vertex="1">
<mxGeometry x="370" y="-650" width="108.0957308604336" height="119.93055259146341" as="geometry"/>
</mxCell>
<mxCell id="g2zL48WwKDLdGk8KF4jq-3" value="Fraud<br>Running on port 8082" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#f0a30a;strokeColor=#BD7000;aspect=fixed;fontSize=12;fontColor=#000000;" parent="w4nhSq6OKoXRiqkYa2zD-1" vertex="1">
<mxGeometry x="370" y="-310" width="108.0957308604336" height="119.93055259146341" as="geometry"/>
</mxCell>
<mxCell id="g2zL48WwKDLdGk8KF4jq-6" value="" style="endArrow=classic;html=1;" parent="w4nhSq6OKoXRiqkYa2zD-1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="70" y="-480" as="sourcePoint"/>
<mxPoint x="350" y="-250" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="g2zL48WwKDLdGk8KF4jq-8" value="SpanId: 1 TraceID: 2" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" parent="g2zL48WwKDLdGk8KF4jq-6" vertex="1" connectable="0">
<mxGeometry x="-0.0957" relative="1" as="geometry">
<mxPoint x="23" y="6" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="ifdqP8Q9lx2iRH2G2a7A-1" style="edgeStyle=none;html=1;" edge="1" parent="w4nhSq6OKoXRiqkYa2zD-1" source="ifdqP8Q9lx2iRH2G2a7A-0" target="g2zL48WwKDLdGk8KF4jq-1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="ifdqP8Q9lx2iRH2G2a7A-0" value="Request" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;" vertex="1" parent="w4nhSq6OKoXRiqkYa2zD-1">
<mxGeometry x="-175" y="-599.03" width="55" height="18" as="geometry"/>
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram name="MQ Services" id="BRNM0bkBFdDAq6tTig75">
<mxGraphModel dx="2394" dy="787" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-0"/>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-1" parent="58R5_0ambQ2_RqlJ0Scc-0"/>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-100" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://blog.iron.io/wp-content/uploads/2020/11/RabbitMQ.jpg;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="348.31" y="310.32" width="89.38" height="50.36" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-97" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;fillColor=none;strokeWidth=2;dashed=1;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="-270" y="4" width="1364" height="750" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-3" value="" style="rounded=0;whiteSpace=wrap;html=1;fontStyle=1;fillColor=none;strokeWidth=2;dashed=1;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="-150" y="40" width="1136" height="480" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-5" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;strokeWidth=3;fillColor=#1ba1e2;strokeColor=#006EAF;" edge="1" parent="58R5_0ambQ2_RqlJ0Scc-1" source="58R5_0ambQ2_RqlJ0Scc-10" target="58R5_0ambQ2_RqlJ0Scc-57">
<mxGeometry relative="1" as="geometry">
<mxPoint x="277" y="305" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-6" value="Async<br>Send Notifications" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="58R5_0ambQ2_RqlJ0Scc-5">
<mxGeometry x="-0.1732" y="-2" relative="1" as="geometry">
<mxPoint x="-12" y="6" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-7" style="edgeStyle=none;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;startArrow=classic;startFill=1;fillColor=#1ba1e2;strokeColor=#006EAF;strokeWidth=3;" edge="1" parent="58R5_0ambQ2_RqlJ0Scc-1" source="58R5_0ambQ2_RqlJ0Scc-10" target="58R5_0ambQ2_RqlJ0Scc-14">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-8" value="Internal Communication" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="58R5_0ambQ2_RqlJ0Scc-7">
<mxGeometry x="0.1091" relative="1" as="geometry">
<mxPoint y="16" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-9" style="edgeStyle=none;html=1;exitX=1;exitY=0.75;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=none;startFill=0;endArrow=none;endFill=0;strokeWidth=1;shape=link;" edge="1" parent="58R5_0ambQ2_RqlJ0Scc-1" source="58R5_0ambQ2_RqlJ0Scc-10" target="58R5_0ambQ2_RqlJ0Scc-15">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-10" value="Customer" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="20" y="390" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-11" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;fillColor=#1ba1e2;strokeColor=#006EAF;strokeWidth=3;" edge="1" parent="58R5_0ambQ2_RqlJ0Scc-1" source="58R5_0ambQ2_RqlJ0Scc-14" target="58R5_0ambQ2_RqlJ0Scc-57">
<mxGeometry relative="1" as="geometry">
<mxPoint x="277" y="275" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-12" value="Async <br>Send Notifications" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="58R5_0ambQ2_RqlJ0Scc-11">
<mxGeometry x="0.052" y="-2" relative="1" as="geometry">
<mxPoint x="-33" y="-35" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-13" style="edgeStyle=none;shape=link;html=1;exitX=1;exitY=0.25;exitDx=0;exitDy=0;startArrow=none;startFill=0;endArrow=none;endFill=0;strokeWidth=1;" edge="1" parent="58R5_0ambQ2_RqlJ0Scc-1" source="58R5_0ambQ2_RqlJ0Scc-14" target="58R5_0ambQ2_RqlJ0Scc-16">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-14" value="Fraud" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="20" y="110" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-15" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="260.62" y="394" width="60" height="80" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-16" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="225" y="84" width="60" height="80" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-18" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;fillColor=#fff2cc;strokeColor=#d6b656;" edge="1" parent="58R5_0ambQ2_RqlJ0Scc-1" source="58R5_0ambQ2_RqlJ0Scc-37" target="58R5_0ambQ2_RqlJ0Scc-14">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-200" y="280" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-19" value="/fraud" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="58R5_0ambQ2_RqlJ0Scc-18">
<mxGeometry x="-0.0223" y="4" relative="1" as="geometry">
<mxPoint x="1" y="1" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-20" style="edgeStyle=none;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;fillColor=#fff2cc;strokeColor=#d6b656;" edge="1" parent="58R5_0ambQ2_RqlJ0Scc-1" source="58R5_0ambQ2_RqlJ0Scc-37" target="58R5_0ambQ2_RqlJ0Scc-10">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-200" y="280" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-21" value="/customer" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="58R5_0ambQ2_RqlJ0Scc-20">
<mxGeometry x="-0.073" y="-1" relative="1" as="geometry">
<mxPoint x="8" y="-1" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-22" style="edgeStyle=none;html=1;startArrow=classic;startFill=1;strokeWidth=1;endArrow=none;endFill=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.594;entryY=1.001;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="58R5_0ambQ2_RqlJ0Scc-1" source="58R5_0ambQ2_RqlJ0Scc-25" target="58R5_0ambQ2_RqlJ0Scc-3">
<mxGeometry relative="1" as="geometry">
<mxPoint x="493" y="587" as="sourcePoint"/>
<mxPoint x="524" y="528" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-23" value="Pull Environment <br>Configuration" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="58R5_0ambQ2_RqlJ0Scc-22">
<mxGeometry x="0.0238" y="-1" relative="1" as="geometry">
<mxPoint as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-24" style="edgeStyle=none;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;fontSize=11;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=1;" edge="1" parent="58R5_0ambQ2_RqlJ0Scc-1" source="58R5_0ambQ2_RqlJ0Scc-25" target="58R5_0ambQ2_RqlJ0Scc-48">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-25" value="config server" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="465" y="603" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-26" style="edgeStyle=none;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;startArrow=classic;startFill=1;strokeWidth=1;endArrow=none;endFill=0;exitPerimeter=0;entryX=0.775;entryY=1.004;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="58R5_0ambQ2_RqlJ0Scc-1" source="58R5_0ambQ2_RqlJ0Scc-54" target="58R5_0ambQ2_RqlJ0Scc-3">
<mxGeometry relative="1" as="geometry">
<mxPoint x="732" y="608" as="sourcePoint"/>
<mxPoint x="730" y="534" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-27" value="Distributed Tracing" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="58R5_0ambQ2_RqlJ0Scc-26">
<mxGeometry x="0.0184" relative="1" as="geometry">
<mxPoint y="11" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-28" value="Sleuth" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];fontSize=11;" vertex="1" connectable="0" parent="58R5_0ambQ2_RqlJ0Scc-26">
<mxGeometry x="-0.3677" y="2" relative="1" as="geometry">
<mxPoint y="-24" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-29" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=data:image/png,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;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="484" y="671.98" width="45" height="45" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-30" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://upload.wikimedia.org/wikipedia/commons/thumb/9/91/Octicons-mark-github.svg/2048px-Octicons-mark-github.svg.png;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="536" y="672" width="35" height="35" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-32" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://upload.wikimedia.org/wikipedia/commons/thumb/2/29/Postgresql_elephant.svg/1200px-Postgresql_elephant.svg.png;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="276.08000000000004" y="435" width="29.07" height="30" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-35" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=none;startFill=0;endArrow=classic;endFill=1;strokeWidth=3;fillColor=#fff2cc;strokeColor=#d6b656;" edge="1" parent="58R5_0ambQ2_RqlJ0Scc-1" source="58R5_0ambQ2_RqlJ0Scc-36" target="58R5_0ambQ2_RqlJ0Scc-37">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-320" y="280" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-36" value="" style="outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;shape=mxgraph.aws3.internet_3;fillColor=#D2D3D3;gradientColor=none;strokeColor=#B266FF;strokeWidth=2;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="-502" y="262.5" width="79.5" height="54" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-37" value="" style="ellipse;whiteSpace=wrap;html=1;aspect=fixed;strokeWidth=0;strokeColor=none;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="-320" y="232.5" width="110" height="110" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-38" value="" style="outlineConnect=0;dashed=0;verticalLabelPosition=bottom;verticalAlign=top;align=center;html=1;fontSize=12;fontStyle=0;aspect=fixed;pointerEvents=1;shape=mxgraph.aws4.network_load_balancer;fillColor=#6a00ff;strokeColor=#3700CC;fontColor=#ffffff;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="-305" y="256.5" width="74" height="74" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-39" value="Public <br>Network" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="-374" y="155" width="54" height="32" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-40" value="Private<br>Network" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="-242" y="74" width="54" height="32" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-41" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://g.foolcdn.com/art/companylogos/square/mdb.png;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="233.41" y="116" width="42.67" height="42.67" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-42" value="" style="aspect=fixed;html=1;points=[];align=center;image;fontSize=12;image=img/lib/mscae/Docker.svg;strokeColor=#000000;strokeWidth=0;fillColor=none;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="107.1" y="119.00000000000001" width="23.12" height="18.96" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-43" value="" style="aspect=fixed;html=1;points=[];align=center;image;fontSize=12;image=img/lib/mscae/Docker.svg;strokeColor=#000000;strokeWidth=0;fillColor=none;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="114.39" y="394" width="20.73" height="17" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-44" style="edgeStyle=none;html=1;startArrow=classic;startFill=1;endArrow=none;endFill=0;strokeWidth=1;entryX=0.259;entryY=1.007;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="58R5_0ambQ2_RqlJ0Scc-1" source="58R5_0ambQ2_RqlJ0Scc-46" target="58R5_0ambQ2_RqlJ0Scc-3">
<mxGeometry relative="1" as="geometry">
<mxPoint x="144" y="524" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-45" value="Pull Images" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="58R5_0ambQ2_RqlJ0Scc-44">
<mxGeometry x="0.2059" relative="1" as="geometry">
<mxPoint x="-1" y="9" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-46" value="Private Docker Registry" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="84" y="603" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-47" value="" style="aspect=fixed;html=1;points=[];align=center;image;fontSize=12;image=img/lib/mscae/Docker.svg;strokeColor=#000000;strokeWidth=0;fillColor=none;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="116.57" y="672" width="54.85" height="44.98" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-48" value="Eureka Server" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="261.65999999999997" y="603" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-49" style="edgeStyle=none;html=1;startArrow=classic;startFill=1;endArrow=none;endFill=0;strokeWidth=1;entryX=0.416;entryY=0.999;entryDx=0;entryDy=0;entryPerimeter=0;" edge="1" parent="58R5_0ambQ2_RqlJ0Scc-1" target="58R5_0ambQ2_RqlJ0Scc-3">
<mxGeometry relative="1" as="geometry">
<mxPoint x="324" y="602" as="sourcePoint"/>
<mxPoint x="324" y="520" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-50" value="Microservices Register <br>As A Client" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="58R5_0ambQ2_RqlJ0Scc-49">
<mxGeometry x="0.2059" relative="1" as="geometry">
<mxPoint x="-1" y="9" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-53" value="" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=none;startFill=1;endArrow=none;endFill=0;strokeWidth=1;shape=link;" edge="1" parent="58R5_0ambQ2_RqlJ0Scc-1" source="58R5_0ambQ2_RqlJ0Scc-78" target="58R5_0ambQ2_RqlJ0Scc-51">
<mxGeometry x="0.04" relative="1" as="geometry">
<mxPoint as="offset"/>
<mxPoint x="695" y="286" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-54" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="689" y="597" width="82.93" height="81" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-68" style="edgeStyle=none;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=1;shape=link;" edge="1" parent="58R5_0ambQ2_RqlJ0Scc-1" source="58R5_0ambQ2_RqlJ0Scc-57" target="58R5_0ambQ2_RqlJ0Scc-64">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-57" value="Exchange" style="rounded=0;whiteSpace=wrap;html=1;sketch=0;strokeWidth=2;dashed=1;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="333" y="257.5" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-58" value="Load Balancer" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="-309.5" y="236.5" width="87" height="18" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-60" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=data:image/png,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;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="695" y="628.98" width="41" height="41" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-61" value="" style="aspect=fixed;html=1;points=[];align=center;image;fontSize=12;image=img/lib/mscae/Docker.svg;strokeColor=#000000;strokeWidth=0;fillColor=none;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="733.93" y="637" width="28.07" height="23.02" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-63" value="" style="group" vertex="1" connectable="0" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="825" y="216" width="120" height="251.5" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-17" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-63">
<mxGeometry x="30" y="171.5" width="60" height="80" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-31" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://upload.wikimedia.org/wikipedia/commons/thumb/2/29/Postgresql_elephant.svg/1200px-Postgresql_elephant.svg.png;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-63">
<mxGeometry x="46" y="212.5" width="29.07" height="30" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-33" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://miro.medium.com/max/300/1*R4c8lHBHuH5qyqOtZb3h-w.png;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-63">
<mxGeometry x="61" width="35" height="35" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-34" value="" style="shape=image;verticalLabelPosition=bottom;labelBackgroundColor=#ffffff;verticalAlign=top;aspect=fixed;imageAspect=0;image=https://twilio-cms-prod.s3.amazonaws.com/images/library-logo-resource2x.width-1000.png;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-63">
<mxGeometry y="5" width="53.79" height="30" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-51" value="Notificatication" style="rounded=0;whiteSpace=wrap;html=1;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-63">
<mxGeometry y="40" width="120" height="60" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-4" style="edgeStyle=none;shape=link;html=1;entryX=0.5;entryY=0;entryDx=0;entryDy=0;entryPerimeter=0;startArrow=none;startFill=0;endArrow=none;endFill=0;strokeWidth=1;" edge="1" parent="58R5_0ambQ2_RqlJ0Scc-63" source="58R5_0ambQ2_RqlJ0Scc-51" target="58R5_0ambQ2_RqlJ0Scc-17">
<mxGeometry relative="1" as="geometry">
<mxPoint x="-18" y="161.5" as="sourcePoint"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-52" value="" style="aspect=fixed;html=1;points=[];align=center;image;fontSize=12;image=img/lib/mscae/Docker.svg;strokeColor=#000000;strokeWidth=0;fillColor=none;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-63">
<mxGeometry x="93" y="45.5" width="21.34" height="17.5" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-64" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;rotation=90;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="583" y="193.82" width="60" height="187.36" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-74" value="" style="html=1;verticalLabelPosition=bottom;align=center;labelBackgroundColor=#ffffff;verticalAlign=top;strokeWidth=2;strokeColor=#82b366;shadow=0;dashed=0;shape=mxgraph.ios7.icons.mail;fillColor=#d5e8d4;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="547" y="279.25" width="30" height="16.5" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-75" value="" style="html=1;verticalLabelPosition=bottom;align=center;labelBackgroundColor=#ffffff;verticalAlign=top;strokeWidth=2;strokeColor=#82b366;shadow=0;dashed=0;shape=mxgraph.ios7.icons.mail;fillColor=#d5e8d4;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="589" y="279.25" width="30" height="16.5" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-76" value="" style="html=1;verticalLabelPosition=bottom;align=center;labelBackgroundColor=#ffffff;verticalAlign=top;strokeWidth=2;strokeColor=#82b366;shadow=0;dashed=0;shape=mxgraph.ios7.icons.mail;fillColor=#d5e8d4;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="631" y="279.25" width="30" height="16.5" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-78" value="" style="html=1;verticalLabelPosition=bottom;align=center;labelBackgroundColor=#ffffff;verticalAlign=top;strokeWidth=2;strokeColor=#82b366;shadow=0;dashed=0;shape=mxgraph.ios7.icons.envelope_(message);fillColor=#d5e8d4;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="757" y="271" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-79" value="" style="edgeStyle=none;html=1;entryX=0;entryY=0.5;entryDx=0;entryDy=0;startArrow=classic;startFill=1;endArrow=none;endFill=0;strokeWidth=1;shape=link;" edge="1" parent="58R5_0ambQ2_RqlJ0Scc-1" source="58R5_0ambQ2_RqlJ0Scc-64" target="58R5_0ambQ2_RqlJ0Scc-78">
<mxGeometry x="0.04" relative="1" as="geometry">
<mxPoint as="offset"/>
<mxPoint x="706.6800000000003" y="286.83716981132056" as="sourcePoint"/>
<mxPoint x="825" y="286" as="targetPoint"/>
</mxGeometry>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-80" value="" style="html=1;verticalLabelPosition=bottom;align=center;labelBackgroundColor=#ffffff;verticalAlign=top;strokeWidth=2;strokeColor=#82b366;shadow=0;dashed=0;shape=mxgraph.ios7.icons.envelope_(message);fillColor=#d5e8d4;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="251" y="317.5" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-84" value="" style="html=1;verticalLabelPosition=bottom;align=center;labelBackgroundColor=#ffffff;verticalAlign=top;strokeWidth=2;strokeColor=#82b366;shadow=0;dashed=0;shape=mxgraph.ios7.icons.envelope_(message);fillColor=#d5e8d4;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="246.08000000000004" y="211.82" width="30" height="30" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-92" value="Notification Queue" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#9673a6;fillColor=#e1d5e7;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="552" y="232.5" width="109" height="18" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-94" value="Producer" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#9673a6;fillColor=#e1d5e7;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="19.99999999999997" y="456" width="59" height="18" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-95" value="Producer" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#9673a6;fillColor=#e1d5e7;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="19.99999999999997" y="88" width="59" height="18" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-96" value="Consumer" style="text;html=1;align=center;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=#9673a6;fillColor=#e1d5e7;" vertex="1" parent="58R5_0ambQ2_RqlJ0Scc-1">
<mxGeometry x="825" y="193.82" width="65" height="18" as="geometry"/>
</mxCell>
<mxCell id="58R5_0ambQ2_RqlJ0Scc-99" value="" style="endArrow=classic;html=1;strokeWidth=1;entryX=0.528;entryY=-0.032;entryDx=0;entryDy=0;entryPerimeter=0;exitX=0.004;exitY=0.556;exitDx=0;exitDy=0;exitPerimeter=0;" edge="1" parent="58R5_0ambQ2_RqlJ0Scc-1" source="58R5_0ambQ2_RqlJ0Scc-96" target="58R5_0ambQ2_RqlJ0Scc-78">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="389" y="438" as="sourcePoint"/>
<mxPoint x="439" y="388" as="targetPoint"/>
<Array as="points">
<mxPoint x="773" y="204"/>
</Array>
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
<diagram id="ly2NyTDtiVckSzzE7rCK" name="RabbitMQ">
<mxGraphModel dx="1259" dy="519" grid="0" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="0" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="a5ZM4Hzfx91s-1SzIUil-0"/>
<mxCell id="a5ZM4Hzfx91s-1SzIUil-1" parent="a5ZM4Hzfx91s-1SzIUil-0"/>
<mxCell id="So1rTDARL2AYZkngWKtU-15" style="edgeStyle=none;shape=link;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;exitPerimeter=0;strokeWidth=1;" edge="1" parent="a5ZM4Hzfx91s-1SzIUil-1" source="a5ZM4Hzfx91s-1SzIUil-3" target="So1rTDARL2AYZkngWKtU-3">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="a5ZM4Hzfx91s-1SzIUil-3" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;sketch=0;strokeWidth=1;rotation=90;" vertex="1" parent="a5ZM4Hzfx91s-1SzIUil-1">
<mxGeometry x="380" y="290" width="60" height="150" as="geometry"/>
</mxCell>
<mxCell id="So1rTDARL2AYZkngWKtU-16" style="edgeStyle=none;shape=link;html=1;strokeWidth=1;" edge="1" parent="a5ZM4Hzfx91s-1SzIUil-1" source="G4S_lc_L9V6wMhXobJy4-0" target="So1rTDARL2AYZkngWKtU-4">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="G4S_lc_L9V6wMhXobJy4-0" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;sketch=0;strokeWidth=1;rotation=90;" vertex="1" parent="a5ZM4Hzfx91s-1SzIUil-1">
<mxGeometry x="385" y="440" width="60" height="150" as="geometry"/>
</mxCell>
<mxCell id="So1rTDARL2AYZkngWKtU-14" style="edgeStyle=none;shape=link;html=1;strokeWidth=1;" edge="1" parent="a5ZM4Hzfx91s-1SzIUil-1" source="G4S_lc_L9V6wMhXobJy4-1" target="So1rTDARL2AYZkngWKtU-0">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="G4S_lc_L9V6wMhXobJy4-1" value="" style="shape=cylinder3;whiteSpace=wrap;html=1;boundedLbl=1;backgroundOutline=1;size=15;sketch=0;strokeWidth=1;rotation=90;" vertex="1" parent="a5ZM4Hzfx91s-1SzIUil-1">
<mxGeometry x="380" y="130" width="60" height="150" as="geometry"/>
</mxCell>
<mxCell id="So1rTDARL2AYZkngWKtU-0" value="Comsumer<br>App A" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#e1d5e7;strokeColor=#9673a6;aspect=fixed;fontSize=12;" vertex="1" parent="a5ZM4Hzfx91s-1SzIUil-1">
<mxGeometry x="640" y="159.15" width="82.66" height="91.71" as="geometry"/>
</mxCell>
<mxCell id="So1rTDARL2AYZkngWKtU-3" value="Consumer<br>App B" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#fff2cc;strokeColor=#d6b656;aspect=fixed;fontSize=12;" vertex="1" parent="a5ZM4Hzfx91s-1SzIUil-1">
<mxGeometry x="640" y="320" width="82.66" height="91.71" as="geometry"/>
</mxCell>
<mxCell id="So1rTDARL2AYZkngWKtU-4" value="Consumer<br>App C" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#f0a30a;strokeColor=#BD7000;aspect=fixed;fontSize=12;fontColor=#000000;" vertex="1" parent="a5ZM4Hzfx91s-1SzIUil-1">
<mxGeometry x="640" y="469.15" width="82.66" height="91.71" as="geometry"/>
</mxCell>
<mxCell id="So1rTDARL2AYZkngWKtU-13" style="edgeStyle=none;shape=link;html=1;strokeWidth=1;" edge="1" parent="a5ZM4Hzfx91s-1SzIUil-1" source="So1rTDARL2AYZkngWKtU-6" target="So1rTDARL2AYZkngWKtU-9">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="So1rTDARL2AYZkngWKtU-6" value="Producer" style="verticalLabelPosition=bottom;html=1;verticalAlign=top;strokeWidth=1;align=center;outlineConnect=0;dashed=0;outlineConnect=0;shape=mxgraph.aws3d.application;fillColor=#dae8fc;strokeColor=#6c8ebf;aspect=fixed;fontSize=12;" vertex="1" parent="a5ZM4Hzfx91s-1SzIUil-1">
<mxGeometry x="-240" y="320" width="82.66" height="91.71" as="geometry"/>
</mxCell>
<mxCell id="So1rTDARL2AYZkngWKtU-10" style="edgeStyle=none;shape=link;html=1;entryX=0.5;entryY=1;entryDx=0;entryDy=0;entryPerimeter=0;strokeWidth=1;" edge="1" parent="a5ZM4Hzfx91s-1SzIUil-1" source="So1rTDARL2AYZkngWKtU-9" target="G4S_lc_L9V6wMhXobJy4-1">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="zzoEY3L_0gLS3vjDcEmP-0" value="Binding" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="So1rTDARL2AYZkngWKtU-10">
<mxGeometry x="-0.1476" y="2" relative="1" as="geometry">
<mxPoint x="18" y="-10" as="offset"/>
</mxGeometry>
</mxCell>
<mxCell id="So1rTDARL2AYZkngWKtU-11" style="edgeStyle=none;shape=link;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;strokeWidth=1;" edge="1" parent="a5ZM4Hzfx91s-1SzIUil-1" source="So1rTDARL2AYZkngWKtU-9" target="a5ZM4Hzfx91s-1SzIUil-3">
<mxGeometry relative="1" as="geometry"/>
</mxCell>
<mxCell id="zzoEY3L_0gLS3vjDcEmP-1" value="Binding" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="So1rTDARL2AYZkngWKtU-11">