Add FWU documentation

Adds documentation to describe FWU support. Gives an overall
design description and explains the platform configuration
model.

Signed-off-by: Julian Hall <julian.hall@arm.com>
Change-Id: Ib7b362ec645c7afca198f4b5138a249c17bc5056
diff --git a/docs/services/image/fwu-reference-integration.svg b/docs/services/image/fwu-reference-integration.svg
new file mode 100644
index 0000000..e1decb0
--- /dev/null
+++ b/docs/services/image/fwu-reference-integration.svg
@@ -0,0 +1,4 @@
+<?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" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="931px" height="721px" viewBox="-0.5 -0.5 931 721" content="&lt;mxfile host=&quot;confluence.arm.com&quot; modified=&quot;2023-02-16T09:53:31.669Z&quot; agent=&quot;5.0 (X11)&quot; etag=&quot;zn_aC2t2yAJM8WazQzIG&quot; version=&quot;20.3.7&quot; type=&quot;atlas&quot;&gt;&lt;mxAtlasLibraries/&gt;&lt;diagram id=&quot;5UEW7cEHIPK3IHdKgyrX&quot; name=&quot;Page-1&quot;&gt;5Vtbd6I6FP41PrYLiNweq62dzpp22ml75pynrghRmAJxIGqdXz8JBIQkWnXE0Z4+WNm5EPb37Us2sQP68dt1CifBLfZR1DE0/60DLjuGobsA0H9MsuAS2zULyTgNfS5bCh7DX4gLNS6dhj7KGh0JxhEJJ02hh5MEeaQhg2mK581uIxw17zqBY35HbSl49GCEpG7fQ58EhdQxa70/oXAclHfWNd4Sw7IzF2QB9PG8JgJXHdBPMSbFt/itjyKmvVIvxbjBitZqYSlKyCYDHPLyI3Ptga2hK+MVOf1bVz8r1TyD0ZQ/8SecESq5hV4QJoivnSxKhcxQSkKqn4soHCdURPCkA3qQX0VoRBfTyybQC5PxE2u7dJaCL3nzpbGUfOO603NZACfsNt50iNhlwQa6RtDzw5TCG2J2kwxPmW57I5yQR76yLr0OSByx/qwpjKI+jnCaLxqM3JGNfDYlSfErqrUAC7iAtcjq5BpmD4zeaiKu3muEY0TSBe3CW8/MLlcnZ/uZBbhgvuSOW8qCGm/skiWQ83Vczb6ElH7hqG6BsCkBPPjn/mOgivK/1lE1LAFV0zYlVE1HgaqpmS2hqkuoXj4/nSiqe8FIEzFSWF7XUmAE7LYsrythJAGEEv+CBSl6leAENfWS4mniM691qeUchykROq/UHNV66pXm/uASoIO72cR5en2YPY8Xb59L/tA5x4iseQa+ZOSXUXIFDnVLUBpCIUtRBEk4a8ZWleL5He5xmJAlzLojoKx3BfCKB+fD6sFQmMkA4kyuMFOhGmmmnAnVg+9ODksixyiCWcCGxSwloalKGMnRt7S6GPtTJlthzKXtarUeHiUJov6xp/YK+7BCvfR3pVYN2QgNew0/9m6DjqTmDMVhQFMcqiVJu/Q5SdMGm5GFm109DHHRu0qOQ9/PAZsHIUGPFCZ2zznNmiVL3wMSupiI6JaMhNIbtgWEKwHxhDLiwezUOG4agmqBI2cD1S7gICTXt4s0HnU0WeitCzboLST/su/nJr/6r9Zy+Va/WJQXCX2WYpAO9FLAxunnmgZKwXJwftUYfY/SkKqEIbjeEurxbR3d3o1v5lHFN8olcQOxa4A7A2KEszaMcJQmcFHrNmEdsjWL7tpi7qW5AqeLOfcaQHV5Y5OnSHSyjFn7h/XtZ11T1Hf3Lzt33d67A6qcSd2RaGucCDBXeRG1M9PXOrP2PY91XJ7HEElliBWJnVNr41COh7uEdt2OnFFOJz4kKMfg55QmNRmDH7MMfs6+obycdnF/84FdEnAFzCsfVU+K9JZ80k1AerOB+5BNrp0sfbRfkvlCUSG5w2kM2bjvOI18CY3TKJYIJTDfRI7fVZXAHGMILGtfGzs5xCvKK6qkt9p47D3oGDLCdMcQjujMAw+n6XRCPrDFdcWipGKrrSpJtmZvhoTGI/KmKfpg9gaRM/JU9mZ5DhqO2rI3oChnAtc+NxUWt4995rqiYT30ZdQWDCtiUA3ZtzHJNWDBmIGZDDP2b5JiD2WZxICmVajsZgUQ3CZ9mAX5cNYewSGK7nEWcmwlQ/0idGjybaVdDzEhOP5DXKuwaClqBa7CTJ3WvKaE4Wj+wnKUFzgJJYSOuhQjZqzKnOOwhRi5qiupdLdCTLlbyXdB1T7mvULMn++dVsK0t30Q19CR7IOkNwzG3t4wtLYNAlKwsLS1S5NHdA+xdQKScTyXO6eLMUrkbO2kvI+heCl8WO/TYhHm3DY39SWHr7iADT3NcVVcjsDT7GDYytRfrsTuKeptw58aWbfi6u68MzbkHTgq3lVHvqRXg9vyTnzHWJ3ZOxDtZH/3BUNGIjouyQtwKJ5SXeWS8u06Tf0ZMWFKpm28I+CR6S8XBwzRtyheEBy4GifvHZ+vBjdUctt7ojNe3z8xkFiFjhSA+WH22lmehpiHJCj0QvINXFZ0p5+D78/0ky4T0mQCssUnOeBhGs9hXn8YwuQ1O/+oaEtHn1Rgq14HiVFiF7C1HzPXt+zPN+NfX3XrbrG4BSNFnSArS0EVfhIa/59iQNkqRW1FAqkq4bl7OFT407p6oFpM7q77/dep74zH8WdFgt7DmETMqaYSXkednJ9JB2AOmp4rtSsf0rhahqe7r9+YKyuC1GlpeuWZvPd43Jqm5bNGkk5PPB9dZ771fHQdEY8lH7Wls2piFrLxmRdLfA2pi3XU/aWkStUqfk4hUY9GwlkVqLbjYSPGVaSslwZXUlIvmSudjti6Wqi3UC20TpO7juj8dqauI27iN2Tu1tVCQ7QRp1Es3Lb0Ry+XP2Equi9/CQaufgM=&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><path d="M 105 -105 L 815 -105 L 825 -95 L 825 825 L 115 825 L 105 815 L 105 -105 Z" fill="#f9f7ed" stroke="#36393d" stroke-miterlimit="10" transform="rotate(90,465,360)" pointer-events="all"/><path d="M 115 825 L 115 -95 L 105 -105 M 115 -95 L 825 -95" fill="none" stroke="#36393d" stroke-miterlimit="10" transform="rotate(90,465,360)" 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 flex-start; width: 1px; height: 1px; padding-top: 15px; margin-left: 4px;"><div style="box-sizing: border-box; font-size: 0px; text-align: left;" 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; text-decoration: underline; white-space: nowrap;">Host Machine</div></div></div></foreignObject><text x="4" y="27" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-decoration="underline">Host Machine</text></switch></g><path d="M 317.5 17.5 L 812.5 17.5 L 822.5 27.5 L 822.5 597.5 L 327.5 597.5 L 317.5 587.5 L 317.5 17.5 Z" fill="#eeeeee" stroke="#36393d" stroke-miterlimit="10" transform="rotate(90,570,307.5)" pointer-events="all"/><path d="M 327.5 597.5 L 327.5 27.5 L 317.5 17.5 M 327.5 27.5 L 822.5 27.5" fill="none" stroke="#36393d" stroke-miterlimit="10" transform="rotate(90,570,307.5)" 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 flex-start; width: 1px; height: 1px; padding-top: 70px; margin-left: 284px;"><div style="box-sizing: border-box; font-size: 0px; text-align: left;" 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; text-decoration: underline; white-space: nowrap;">FVP</div></div></div></foreignObject><text x="284" y="82" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-decoration="underline">FVP</text></switch></g><path d="M 385 55 L 745 55 L 755 65 L 755 515 L 395 515 L 385 505 L 385 55 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" transform="rotate(90,570,285)" pointer-events="all"/><path d="M 395 515 L 395 65 L 385 55 M 395 65 L 755 65" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" transform="rotate(90,570,285)" 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 flex-start; width: 1px; height: 1px; padding-top: 115px; margin-left: 344px;"><div style="box-sizing: border-box; font-size: 0px; text-align: left;" 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; text-decoration: underline; white-space: nowrap;">DUT</div></div></div></foreignObject><text x="344" y="127" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-decoration="underline">DUT</text></switch></g><path d="M 540 205 L 590 205" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 445 610 L 705 610 L 705 660 L 445 660 L 445 650 L 435 650 L 435 640 L 445 640 L 445 630 L 435 630 L 435 620 L 445 620 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 445 620 L 455 620 L 455 630 L 445 630 M 445 640 L 455 640 L 455 650 L 445 650" 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="579.5" y="627.5">flash image file</text></g><rect x="680" y="470" width="60" height="30" fill="none" 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 center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 485px; margin-left: 681px;"><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;">semihosting</div></div></div></foreignObject><text x="710" y="489" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">semihosting</text></switch></g><path d="M 30 245 L 120 245 L 120 295 L 30 295 L 30 285 L 20 285 L 20 275 L 30 275 L 30 265 L 20 265 L 20 255 L 30 255 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 30 255 L 40 255 L 40 265 L 30 265 M 30 275 L 40 275 L 40 285 L 30 285" 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="79.5" y="262.5">Testcase</text></g><path d="M 70 245 L 70 121 L 271.89 121.15" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 277.14 121.15 L 270.14 124.65 L 271.89 121.15 L 270.14 117.65 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="90" y="90" width="60" height="30" fill="none" 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 center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 105px; margin-left: 91px;"><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;">start/stop</div></div></div></foreignObject><text x="120" y="109" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">start/stop</text></switch></g><path d="M 70 295 L 70 645 L 428.63 645" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 433.88 645 L 426.88 648.5 L 428.63 645 L 426.88 641.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="150" y="180" width="110" height="30" fill="none" 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 center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 195px; margin-left: 151px;"><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;">update requests to fw test API</div></div></div></foreignObject><text x="205" y="199" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">update requests to...</text></switch></g><path d="M 490 10 L 640 10 L 650 20 L 650 410 L 500 410 L 490 400 L 490 10 Z" fill="#d5e8d4" stroke="#82b366" stroke-miterlimit="10" transform="rotate(90,570,210)" pointer-events="all"/><path d="M 500 410 L 500 20 L 490 10 M 500 20 L 650 20" fill="none" stroke="#82b366" stroke-miterlimit="10" transform="rotate(90,570,210)" 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 flex-start; width: 1px; height: 1px; padding-top: 145px; margin-left: 374px;"><div style="box-sizing: border-box; font-size: 0px; text-align: left;" 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; text-decoration: underline; white-space: nowrap;">Normal World</div></div></div></foreignObject><text x="374" y="157" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-decoration="underline">Normal World</text></switch></g><rect x="80" y="610" width="80" height="30" fill="none" 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 center; justify-content: unsafe center; width: 78px; height: 1px; padding-top: 625px; margin-left: 81px;"><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;">modify/corrupt</div></div></div></foreignObject><text x="120" y="629" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">modify/corrupt</text></switch></g><path d="M 493.75 176.25 L 633.75 176.25 L 643.75 186.25 L 643.75 573.75 L 503.75 573.75 L 493.75 563.75 L 493.75 176.25 Z" fill="#dae8fc" stroke="#6c8ebf" stroke-miterlimit="10" transform="rotate(90,568.75,375)" pointer-events="all"/><path d="M 503.75 573.75 L 503.75 186.25 L 493.75 176.25 M 503.75 186.25 L 643.75 186.25" fill="none" stroke="#6c8ebf" stroke-miterlimit="10" transform="rotate(90,568.75,375)" 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 flex-start; width: 1px; height: 1px; padding-top: 315px; margin-left: 374px;"><div style="box-sizing: border-box; font-size: 0px; text-align: left;" 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; text-decoration: underline; white-space: nowrap;">Secure World</div></div></div></foreignObject><text x="374" y="327" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-decoration="underline">Secure World</text></switch></g><rect x="540" y="165" width="190" height="80" fill="none" stroke="rgb(0, 0, 0)" stroke-dasharray="3 3" 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-end; justify-content: unsafe center; width: 188px; height: 1px; padding-top: 162px; margin-left: 541px;"><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<br /> process</div></div></div></foreignObject><text x="635" y="162" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">user...</text></switch></g><path d="M 600 180 L 690 180 L 690 230 L 600 230 L 600 220 L 590 220 L 590 210 L 600 210 L 600 200 L 590 200 L 590 190 L 600 190 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 600 190 L 610 190 L 610 200 L 600 200 M 600 210 L 610 210 L 610 220 L 600 220" 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="649.5" y="197.5">fw_test_api</text></g><path d="M 120 270 L 170 270 L 170 215 L 583.63 215" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 588.88 215 L 581.88 218.5 L 583.63 215 L 581.88 211.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 600 355 L 690 355 L 690 405 L 600 405 L 600 395 L 590 395 L 590 385 L 600 385 L 600 375 L 590 375 L 590 365 L 600 365 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 600 365 L 610 365 L 610 375 L 600 375 M 600 385 L 610 385 L 610 395 L 600 395" 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="649.5" y="372.5">Update Agent</text></g><path d="M 640 405 L 637.58 603.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 637.51 608.88 L 634.1 601.84 L 637.58 603.63 L 641.1 601.93 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 640 230 L 640 348.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 640 353.88 L 636.5 346.88 L 640 348.63 L 643.5 346.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><rect x="260" y="590" width="110" height="30" fill="none" 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 center; justify-content: unsafe flex-start; width: 108px; height: 1px; padding-top: 605px; margin-left: 262px;"><div style="box-sizing: border-box; font-size: 0px; text-align: left;" 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;">Loaded into emulated flash on startup</div></div></div></foreignObject><text x="262" y="609" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">Loaded into emulat...</text></switch></g><rect x="740" y="590" width="160" height="90" fill="none" 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 center; justify-content: unsafe flex-start; width: 158px; height: 1px; padding-top: 635px; margin-left: 742px;"><div style="box-sizing: border-box; font-size: 0px; text-align: left;" 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;">UEFI MBT/GPT formatted disk image with partitions for FWU metadata and firmware banks.</div></div></div></foreignObject><text x="742" y="639" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px">UEFI MBT/GPT formatted dis...</text></switch></g><rect x="550" y="335" width="180" height="95" fill="none" stroke="rgb(0, 0, 0)" stroke-dasharray="3 3" 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-end; justify-content: unsafe center; width: 178px; height: 1px; padding-top: 332px; margin-left: 551px;"><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;">secure partition</div></div></div></foreignObject><text x="640" y="332" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">secure partition</text></switch></g><path d="M 410 355 L 500 355 L 500 405 L 410 405 L 410 395 L 400 395 L 400 385 L 410 385 L 410 375 L 400 375 L 400 365 L 410 365 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 410 365 L 420 365 L 420 375 L 410 375 M 410 385 L 420 385 L 420 395 L 410 395" 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="459.5" y="372.5">Bootloader</text></g><path d="M 370 490 L 540 490 L 540 540 L 370 540 L 370 530 L 360 530 L 360 520 L 370 520 L 370 510 L 360 510 L 360 500 L 370 500 Z" fill="rgb(255, 255, 255)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 370 500 L 380 500 L 380 510 L 370 510 M 370 520 L 380 520 L 380 530 L 370 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="459.5" y="507.5">Emulated NOR Flash</text></g><path d="M 450 405 L 450 483.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 450 488.88 L 446.5 481.88 L 450 483.63 L 453.5 481.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 435 625 Q 250 550 354.11 507.41" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" stroke-dasharray="3 3" pointer-events="stroke"/><path d="M 358.97 505.42 L 353.81 511.31 L 354.11 507.41 L 351.16 504.83 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></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>
\ No newline at end of file
diff --git a/docs/services/image/gpt-based-flash-layout.svg b/docs/services/image/gpt-based-flash-layout.svg
new file mode 100644
index 0000000..8f1061c
--- /dev/null
+++ b/docs/services/image/gpt-based-flash-layout.svg
@@ -0,0 +1,4 @@
+<?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" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="401px" height="781px" viewBox="-0.5 -0.5 401 781" content="&lt;mxfile host=&quot;confluence.arm.com&quot; modified=&quot;2023-02-16T09:50:57.516Z&quot; agent=&quot;5.0 (X11)&quot; etag=&quot;9oA7HNylA2Pn-M09WDsz&quot; version=&quot;20.3.7&quot; type=&quot;atlas&quot;&gt;&lt;mxAtlasLibraries/&gt;&lt;diagram id=&quot;MJao7NBNlqcqI8fyxszN&quot; name=&quot;Page-1&quot;&gt;7Zlbb9owGIZ/TS4tJfEB57LQwqqpHSLtql06sQNZkxgZM2C/fg6YEpZsgo0oakW4wH59iP0+/pBtHDjI1yPF5rMHyUXm+C5fO/DW8X0PQ2i+SmVjFRjgnTJVKbfaQQjTn8KKrlWXKReLo4paykyn82MxlkUhYn2kMaXk6rhaIrPjt87Z1L7RPQhhzDJRq/aScj3bqRRXan8S6XS2f7Pn2pKc7StbYTFjXK4qErxz4EBJqXepfD0QWene3pddu+EfSt8GpkShT2kA5UA9jb49DvjjZC7zBz9ffAe2lx8sW9oJj5XUxsj0hzD6Q39iB683e0eUXBZclJ26DuyvZqkW4ZzFZenKLAKjzXSemZxnkkmaZQOZSbVtCxMaizg2+kIr+SoqJRHFCJcd1qe1H6NQWqwrkp3mSMhcaLUxVWwpoNbyzW/51YEg2nOaVehBqzG7aKZvXR98NQlr7Rk2+w02pznbDno0frqsx7j8NHlMtk/ZQha6ou+elrzHJ3pP2vIe/sX74ctzucqFZpxp5vgkM6PpR8qkpmVqzJROdSoLU+tpMy9DYvR8f+vAG1OD5SWIIlqUX5T1GEXMBRTSHkBuQgCLkAcYjQKGGXG5Dy+LOUn85lDiJCKYtIPT65omqtE01t3cjMEwVfnKTPV/IPoIezEnAgRuIgCKPAyixHMBI0EUC58jRMlFIXIsKEdNEKkfQdISxF7XEHENoneFeG4kwq4pksZQDAeXwUgCzxjLIPB7JUbPRSBinIMehkHsuixw9zvJ940x6BpjrzEYrxjPwuh3vs2hjdE4CcOLYIwDRJmHCcA0jgCKIQURcgkQxI3MRsQvff8AGGHn+5ugMRqvGM/D2PkOZ7+OKhyf74b34CtTKYsysbisy0zQpPEsQGIqoqQdl9GpOxDcmsv164svocl/FqooL6Lev8Wn3ly0Z3H9+Dwpr6zM2Tn8AAbj7tdw/UTbZ/Hrcn69nvgHnKfGS3s//PWz7RvOj33TR1B73pvs4aJ8W1b5vwHe/QI=&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><rect x="0" y="0" width="400" height="30" fill="#f8cecc" stroke="#b85450" 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: 398px; height: 1px; padding-top: 15px; margin-left: 1px;"><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;">Protective MBR</div></div></div></foreignObject><text x="200" y="19" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Protective MBR</text></switch></g><rect x="0" y="30" width="400" height="60" fill="#f5f5f5" stroke="#666666" 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: 398px; height: 1px; padding-top: 60px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: #333333; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Primary GPT</div></div></div></foreignObject><text x="200" y="64" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">Primary GPT</text></switch></g><rect x="0" y="90" width="400" height="60" fill="#fff2cc" stroke="#d6b656" 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: 398px; height: 1px; padding-top: 120px; margin-left: 1px;"><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;">Primary FWU Metadata<br />Partition Type GUID: 8a7a84a0-8387-40f6-ab41-a8b9a5a60d23</div></div></div></foreignObject><text x="200" y="124" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Primary FWU Metadata...</text></switch></g><rect x="0" y="150" width="400" height="60" fill="#d5e8d4" stroke="#82b366" 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: 398px; height: 1px; padding-top: 180px; margin-left: 1px;"><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;">0:AP-Firmware<br />Partition Type GUID: 2451cd6e-90fe-4b15-bf10-a69bce2d4486</div></div></div></foreignObject><text x="200" y="184" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">0:AP-Firmware...</text></switch></g><rect x="0" y="210" width="400" height="60" fill="#d5e8d4" stroke="#82b366" 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: 398px; height: 1px; padding-top: 240px; margin-left: 1px;"><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;">1:AP-Firmware<br />Partition Type GUID: 2451cd6e-90fe-4b15-bf10-a69bce2d4486</div></div></div></foreignObject><text x="200" y="244" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">1:AP-Firmware...</text></switch></g><rect x="0" y="270" width="400" height="60" fill="#d5e8d4" stroke="#82b366" 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: 398px; height: 1px; padding-top: 300px; margin-left: 1px;"><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;">0:SCP-Firmware<br />Partition Type GUID: 691d5ea3-27fe-4104-badd-7539c00a9095</div></div></div></foreignObject><text x="200" y="304" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">0:SCP-Firmware...</text></switch></g><rect x="0" y="330" width="400" height="60" fill="#d5e8d4" stroke="#82b366" 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: 398px; height: 1px; padding-top: 360px; margin-left: 1px;"><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;">1:SCP-Firmware<br />Partition Type GUID: 691d5ea3-27fe-4104-badd-7539c00a9095</div></div></div></foreignObject><text x="200" y="364" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">1:SCP-Firmware...</text></switch></g><rect x="0" y="390" width="400" height="60" fill="#d5e8d4" stroke="#82b366" 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: 398px; height: 1px; padding-top: 420px; margin-left: 1px;"><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;">0:RSS-Firmware<br />Partition Type GUID: c948a156-58cb-4c38-b406-e60bff2223d5</div></div></div></foreignObject><text x="200" y="424" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">0:RSS-Firmware...</text></switch></g><rect x="0" y="450" width="400" height="60" fill="#d5e8d4" stroke="#82b366" 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: 398px; height: 1px; padding-top: 480px; margin-left: 1px;"><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;">1:RSS-Firmware<br />Partition Type GUID: c948a156-58cb-4c38-b406-e60bff2223d5</div></div></div></foreignObject><text x="200" y="484" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">1:RSS-Firmware...</text></switch></g><rect x="0" y="510" width="400" height="50" fill="#dae8fc" stroke="#6c8ebf" 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: 398px; height: 1px; padding-top: 535px; margin-left: 1px;"><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;">UEFI-Variables</div></div></div></foreignObject><text x="200" y="539" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">UEFI-Variables</text></switch></g><rect x="0" y="560" width="400" height="50" fill="#dae8fc" stroke="#6c8ebf" 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: 398px; height: 1px; padding-top: 585px; margin-left: 1px;"><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;">OS Kernel</div></div></div></foreignObject><text x="200" y="589" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">OS Kernel</text></switch></g><rect x="0" y="610" width="400" height="50" fill="#dae8fc" stroke="#6c8ebf" 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: 398px; height: 1px; padding-top: 635px; margin-left: 1px;"><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;">Root FS</div></div></div></foreignObject><text x="200" y="639" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Root FS</text></switch></g><rect x="0" y="660" width="400" height="60" fill="#fff2cc" stroke="#d6b656" 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: 398px; height: 1px; padding-top: 690px; margin-left: 1px;"><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;">Backup FWU Metadata<br />Partition Type GUID: 8a7a84a0-8387-40f6-ab41-a8b9a5a60d23</div></div></div></foreignObject><text x="200" y="694" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="middle">Backup FWU Metadata...</text></switch></g><rect x="0" y="720" width="400" height="60" fill="#f5f5f5" stroke="#666666" 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: 398px; height: 1px; padding-top: 750px; margin-left: 1px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: #333333; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(51, 51, 51); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">Backup GPT</div></div></div></foreignObject><text x="200" y="754" fill="#333333" font-family="Helvetica" font-size="12px" text-anchor="middle">Backup GPT</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>
\ No newline at end of file
diff --git a/docs/services/image/update-agent-components.svg b/docs/services/image/update-agent-components.svg
new file mode 100644
index 0000000..526c3ad
--- /dev/null
+++ b/docs/services/image/update-agent-components.svg
@@ -0,0 +1,4 @@
+<?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" style="background-color: rgb(255, 255, 255);" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="834px" height="501px" viewBox="-0.5 -0.5 834 501" content="&lt;mxfile host=&quot;confluence.arm.com&quot; modified=&quot;2023-02-16T09:32:33.504Z&quot; agent=&quot;5.0 (X11)&quot; etag=&quot;OKKkJQnMIhDDIoBytUQw&quot; version=&quot;20.3.7&quot; type=&quot;atlas&quot;&gt;&lt;mxAtlasLibraries/&gt;&lt;diagram id=&quot;afqreZy9bPJOplJgL8vq&quot; name=&quot;Page-1&quot;&gt;5Ztdk6I4FIZ/jZduARG1L1udnZ2qnq2usqZm56orDUFTE4kb4kfvr98ACWiCvegAZmlvhJPkQN48OSQHHYD55viZwe36Kw0RGXhOeByAxcDzXB8A8ZVa3qQFPPi5ZcVwKG2lYYn/QdLoSOsOhyg5q8gpJRxvz40BjWMU8DMbZIwezqtFlJxfdQtX8opOaVgGkCCj2ncc8nVunfontf9AeLVWV3YdWbKBqrI0JGsY0sOJCXwagDmjlOdHm+MckVQ9pUve7vcLpcWNMRTzOg3Qt+/L5Rc++ca28OnP5WL3FQZDNT57SHayxwNvTITDWYj36V3zNynF+O9deqszjo58CAlexQPwKGoQFKXmsoI4WqXfS8T2OEDK3ytTBV9ijlgEq4qURXQju76yeme34jG6i0OUdswRxYc15mi5TR2CxUGAKGxrviHizBWHESZkTgllWVuA3NBHE2FPOKM/kSqJaSyazwh8ReSZJphjKjq4kL3bI8axoOJJK97gMExvaiYFWbCchaLBo7QXFRNxnzhePWV+s9s3B1KObeoDHU9McmA/I7pBnL2JKrJ06Cns5DwbjuX5oYR2omzrE2AfpA3KebIqfJcoiQNJ0zVkOe2RNaesgp053WzFIMY86YCiEKJpFPScIr8mRN64LYq8h/YoUo6ElnGlp1cY/FxlkAyDfHxTfzgWwwZJpctnAnlE2eYEwNz7+9HN3g7NaRzh1Y7BjNTretXgbIuiyAvuN9vamFsA1JxcrtvW5HKNuRUddi9bRvdizcUaHUDH8R0UpXYa8/OBFR9jYLMW7mI2b0b8qfZwHJnSu16F9O2FNUP53TaEHL2I5aToZW+Vr1iVdCu8udyNDi8Jz9YTfRXdvTvuI0N1HCccEoLYCxYiH3skfrHylup7d1ffN9TfU7LboN5JX2y1rZF+XBVuQsxQIELOW4+kH9oW6CeXQ06jskcOBA40ZXeyT5Xss8UkL2lCdtfXVpUVyE+71H36MXTXZa/YKXcqu7lN7qPstsGudmbGo7VRzcfhdDIeXRPZwaM/Am4zmlsXYVxz29o70Q3SK56n3Ypu7lh7JzqwTnRzt9o70UfWhRdzs2rIjeLwMX23KM4CApMEB+cKnw8HOmL+V3r8my/Pfsh66fHieFJt8aZOYtGXk0bp6Y/TsrJZdqbaXRyRhO5YgN7rd16PQ7ZC/J16Ug0UqvemF8b3ZPz8ivFTNoYI5Hh//ra1alDlFZ4pThNkxdNpemHOKhd5v2WrEg3DkQc0R3rWNRfGcJQxVnT7F7Azd+lNYXcCXYlgNXa34+PVxGdsFT56yNffhtalR/fjgo7pMRMNHyJo1aUOWEXdSMtTFZmRa7EzHOnRr23szCzLr2J3I0Ilrl59Xm/nDtTkbmQVd8WLAJUfdf6v3JlZpsbC3cTmeFeXO98q7sCDhsvo1ses7mjaMXdVv0ZpiLsr4lb33I1qcjexirvRpRehV8c73VHH3Klwe//n7EWE/hONqR1oqO3drY++8eTOKJjZT9tQaCyaPNiBjBz5iRYECr/XImQ40nedbSPkfdCnmF+TO5X6sQU8/Rclt24XDUcdL9u9qj8bfIAsRW3uXLu4036x6t6aHdMdeR1nx7wWU/pWbxdrg+dZDd7NeQrDkb4BaBu81pL6bh+osysr6+vZsVvXd4ajxtZ34rT8v2BevfzbJfj0Lw==&lt;/diagram&gt;&lt;/mxfile&gt;"><defs/><g><rect x="73" y="0" width="760" height="90" fill="#e1d5e7" 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 center; justify-content: unsafe flex-end; width: 762px; height: 1px; padding-top: 45px; margin-left: -691px;"><div style="box-sizing: border-box; font-size: 0px; text-align: right;" 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 style="text-align: left;">Service<br />Interface<br /></div></div></div></div></foreignObject><text x="71" y="49" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="end">Service...</text></switch></g><rect x="73" y="110" width="760" height="260" fill="#dae8fc" 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 center; justify-content: unsafe flex-end; width: 762px; height: 1px; padding-top: 240px; margin-left: -691px;"><div style="box-sizing: border-box; font-size: 0px; text-align: right;" 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 style="text-align: left;">Core<br />Components</div></div></div></div></foreignObject><text x="71" y="244" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="end">Core...</text></switch></g><rect x="73" y="390" width="760" height="110" fill="#fff2cc" 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 center; justify-content: unsafe flex-end; width: 762px; height: 1px; padding-top: 445px; margin-left: -691px;"><div style="box-sizing: border-box; font-size: 0px; text-align: right;" 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 style="text-align: left;"><span style="background-color: initial;">Platform</span></div><div style="text-align: left;"><span style="background-color: initial;">Configuration</span></div></div></div></div></foreignObject><text x="71" y="449" fill="rgb(0, 0, 0)" font-family="Helvetica" font-size="12px" text-anchor="end">Platform...</text></switch></g><rect x="353" y="20" width="120" height="60" fill="#0050ef" stroke="#001dbc" 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: 118px; height: 1px; padding-top: 50px; margin-left: 354px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">fwu_provider</div></div></div></foreignObject><text x="413" y="54" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">fwu_provider</text></switch></g><rect x="353" y="120" width="120" height="60" fill="#0050ef" stroke="#001dbc" 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: 118px; height: 1px; padding-top: 150px; margin-left: 354px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">update_agent</div></div></div></foreignObject><text x="413" y="154" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">update_agent</text></switch></g><rect x="353" y="200" width="120" height="60" fill="#0050ef" stroke="#001dbc" 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: 118px; height: 1px; padding-top: 230px; margin-left: 354px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">fw_store</div></div></div></foreignObject><text x="413" y="234" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">fw_store</text></switch></g><rect x="213" y="300" width="120" height="60" fill="#0050ef" stroke="#001dbc" 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: 118px; height: 1px; padding-top: 330px; margin-left: 214px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">installer_index</div></div></div></foreignObject><text x="273" y="334" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">installer_index</text></switch></g><rect x="493" y="300" width="120" height="60" fill="#0050ef" stroke="#001dbc" 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: 118px; height: 1px; padding-top: 330px; margin-left: 494px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">volume_index</div></div></div></foreignObject><text x="553" y="334" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">volume_index</text></switch></g><rect x="193" y="120" width="120" height="60" fill="#0050ef" stroke="#001dbc" 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: 118px; height: 1px; padding-top: 150px; margin-left: 194px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">fw_directory</div></div></div></foreignObject><text x="253" y="154" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">fw_directory</text></switch></g><rect x="123" y="400" width="80" height="60" fill="#f0a30a" stroke="#bd7000" 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: 78px; height: 1px; padding-top: 430px; margin-left: 124px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: #000000; "><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;">installer</div></div></div></foreignObject><text x="163" y="434" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">installer</text></switch></g><rect x="223" y="410" width="80" height="60" fill="#f0a30a" stroke="#bd7000" 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: 78px; height: 1px; padding-top: 440px; margin-left: 224px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: #000000; "><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;">installer</div></div></div></foreignObject><text x="263" y="444" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">installer</text></switch></g><rect x="323" y="400" width="80" height="60" fill="#f0a30a" stroke="#bd7000" 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: 78px; height: 1px; padding-top: 430px; margin-left: 324px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: #000000; "><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;">installer</div></div></div></foreignObject><text x="363" y="434" fill="#000000" font-family="Helvetica" font-size="12px" text-anchor="middle">installer</text></switch></g><rect x="423" y="400" width="80" height="60" fill="#6d8764" stroke="#3a5431" 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: 78px; height: 1px; padding-top: 430px; margin-left: 424px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">volume</div></div></div></foreignObject><text x="463" y="434" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">volume</text></switch></g><rect x="523" y="420" width="80" height="60" fill="#6d8764" stroke="#3a5431" 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: 78px; height: 1px; padding-top: 450px; margin-left: 524px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">volume</div></div></div></foreignObject><text x="563" y="454" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">volume</text></switch></g><rect x="623" y="420" width="80" height="60" fill="#6d8764" stroke="#3a5431" 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: 78px; height: 1px; padding-top: 450px; margin-left: 624px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">volume</div></div></div></foreignObject><text x="663" y="454" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">volume</text></switch></g><rect x="723" y="400" width="80" height="60" fill="#6d8764" stroke="#3a5431" 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: 78px; height: 1px; padding-top: 430px; margin-left: 724px;"><div style="box-sizing: border-box; font-size: 0px; text-align: center;" data-drawio-colors="color: #ffffff; "><div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: rgb(255, 255, 255); line-height: 1.2; pointer-events: all; white-space: normal; overflow-wrap: normal;">volume</div></div></div></foreignObject><text x="763" y="434" fill="#ffffff" font-family="Helvetica" font-size="12px" text-anchor="middle">volume</text></switch></g><path d="M 413 80 L 413 113.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 413 118.88 L 409.5 111.88 L 413 113.63 L 416.5 111.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 353 150 L 319.37 150" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 314.12 150 L 321.12 146.5 L 319.37 150 L 321.12 153.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 413 180 L 413 193.63" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 413 198.88 L 409.5 191.88 L 413 193.63 L 416.5 191.88 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 383 260 L 278.98 297.82" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 274.05 299.62 L 279.43 293.94 L 278.98 297.82 L 281.83 300.52 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 443 260 L 547.02 297.82" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 551.95 299.62 L 544.17 300.52 L 547.02 297.82 L 546.57 293.94 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 243 360 L 168.7 397.15" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 164 399.5 L 168.7 393.24 L 168.7 397.15 L 171.83 399.5 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 273 360 L 264.25 403.76" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 263.22 408.9 L 261.16 401.35 L 264.25 403.76 L 268.02 402.73 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 311.57 360 L 357.97 396.09" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 362.12 399.31 L 354.44 397.78 L 357.97 396.09 L 358.74 392.25 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 523 360 L 468.3 396.47" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 463.93 399.38 L 467.81 392.58 L 468.3 396.47 L 471.7 398.41 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 553 360 L 561.95 413.72" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 562.82 418.9 L 558.21 412.57 L 561.95 413.72 L 565.12 411.42 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 583 360 L 657.91 416.18" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 662.11 419.33 L 654.41 417.93 L 657.91 416.18 L 658.61 412.33 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/><path d="M 613 360 L 756.85 398.36" fill="none" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="stroke"/><path d="M 761.92 399.71 L 754.25 401.29 L 756.85 398.36 L 756.06 394.53 Z" fill="rgb(0, 0, 0)" stroke="rgb(0, 0, 0)" stroke-miterlimit="10" pointer-events="all"/></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>
\ No newline at end of file