Source code

Revision control

Copy as Markdown

Other Tools

SVG Preview (Scaled)

Preview of https://hg.mozilla.org/mozilla-central/raw-file/tip/services/settings/docs/synchronization-flow.svg
<!-- This Source Code Form is subject to the terms of the Mozilla Public
License, v. 2.0. If a copy of the MPL was not distributed with this file,
You can obtain one at http://mozilla.org/MPL/2.0/. -->
<svg id="mermaid-1614267332297" width="100%" xmlns="http://www.w3.org/2000/svg" height="1191.02001953125" style="max-width: 681.097900390625px;" viewBox="0 0 681.097900390625 1191.02001953125"><style>#mermaid-1614267332297{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-1614267332297 .error-icon{fill:#552222;}#mermaid-1614267332297 .error-text{fill:#552222;stroke:#552222;}#mermaid-1614267332297 .edge-thickness-normal{stroke-width:2px;}#mermaid-1614267332297 .edge-thickness-thick{stroke-width:3.5px;}#mermaid-1614267332297 .edge-pattern-solid{stroke-dasharray:0;}#mermaid-1614267332297 .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-1614267332297 .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-1614267332297 .marker{fill:#333333;stroke:#333333;}#mermaid-1614267332297 .marker.cross{stroke:#333333;}#mermaid-1614267332297 svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-1614267332297 .label{font-family:"trebuchet ms",verdana,arial,sans-serif;color:#333;}#mermaid-1614267332297 .cluster-label text{fill:#333;}#mermaid-1614267332297 .cluster-label span{color:#333;}#mermaid-1614267332297 .label text,#mermaid-1614267332297 span{fill:#333;color:#333;}#mermaid-1614267332297 .node rect,#mermaid-1614267332297 .node circle,#mermaid-1614267332297 .node ellipse,#mermaid-1614267332297 .node polygon,#mermaid-1614267332297 .node path{fill:#ECECFF;stroke:#9370DB;stroke-width:1px;}#mermaid-1614267332297 .node .label{text-align:center;}#mermaid-1614267332297 .node.clickable{cursor:pointer;}#mermaid-1614267332297 .arrowheadPath{fill:#333333;}#mermaid-1614267332297 .edgePath .path{stroke:#333333;stroke-width:1.5px;}#mermaid-1614267332297 .flowchart-link{stroke:#333333;fill:none;}#mermaid-1614267332297 .edgeLabel{background-color:#e8e8e8;text-align:center;}#mermaid-1614267332297 .edgeLabel rect{opacity:0.5;background-color:#e8e8e8;fill:#e8e8e8;}#mermaid-1614267332297 .cluster rect{fill:#ffffde;stroke:#aaaa33;stroke-width:1px;}#mermaid-1614267332297 .cluster text{fill:#333;}#mermaid-1614267332297 .cluster span{color:#333;}#mermaid-1614267332297 div.mermaidTooltip{position:absolute;text-align:center;max-width:200px;padding:2px;font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:12px;background:hsl(80,100%,96.2745098039%);border:1px solid #aaaa33;border-radius:2px;pointer-events:none;z-index:100;}#mermaid-1614267332297:root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;}#mermaid-1614267332297 flowchart{fill:apa;}</style><g><g class="output"><g class="clusters"></g><g class="edgePaths"><g class="edgePath LS-0 LE-pull" style="opacity: 1;" id="L-0-pull"><path class="path" d="M342.5449962615967,48L342.5449962615967,73L342.5449962615967,98" marker-end="url(#arrowhead2240)" style="fill:none"></path><defs><marker id="arrowhead2240" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath LS-pull LE-merge" style="opacity: 1;" id="L-pull-merge"><path class="path" d="M312.50888548956976,138L274.96374702453613,163L274.96374702453613,188" marker-end="url(#arrowhead2241)" style="fill:none"></path><defs><marker id="arrowhead2241" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath LS-merge LE-valid" style="opacity: 1;" id="L-merge-valid"><path class="path" d="M274.96374702453613,228L274.96374702453613,253L275.46374702453613,278.5000038146973" marker-end="url(#arrowhead2242)" style="fill:none"></path><defs><marker id="arrowhead2242" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath LS-valid LE-Success" style="opacity: 1;" id="L-valid-Success"><path class="path" d="M244.2903903057476,415.77665167354536L204.9066619873047,481.45001220703125L204.9066619873047,549.5725135803223" marker-end="url(#arrowhead2243)" style="fill:none"></path><defs><marker id="arrowhead2243" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath LS-valid LE-retried" style="opacity: 1;" id="L-valid-retried"><path class="path" d="M306.6371009195334,415.7766468679424L345.0208320617676,481.45001220703125L345.5208320617674,516.9500122070311" marker-end="url(#arrowhead2244)" style="fill:none"></path><defs><marker id="arrowhead2244" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath LS-retried LE-validchanges" style="opacity: 1;" id="L-retried-validchanges"><path class="path" d="M314.3468395079885,592.021022399834L219.85833358764648,657.6950149536133L220.35833358764648,693.1950157165527" marker-end="url(#arrowhead2245)" style="fill:none"></path><defs><marker id="arrowhead2245" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath LS-retried LE-valid2" style="opacity: 1;" id="L-retried-valid2"><path class="path" d="M380.78403175221416,587.931815263167L519.0187530517578,657.6950149536133L519.5187530517578,693.1950157165533" marker-end="url(#arrowhead2246)" style="fill:none"></path><defs><marker id="arrowhead2246" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath LS-validchanges LE-restoredata" style="opacity: 1;" id="L-validchanges-restoredata"><path class="path" d="M266.73461943413736,847.1437237665461L336.4000015258789,928.0200119018555L336.4000015258789,983.0200119018555L336.4000015258789,1028.0200119018555L336.4000015258789,1053.0200119018555" marker-end="url(#arrowhead2247)" style="fill:none"></path><defs><marker id="arrowhead2247" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath LS-validchanges LE-clear" style="opacity: 1;" id="L-validchanges-clear"><path class="path" d="M173.98204703465768,847.1437245859271L103.31666564941406,928.0200119018555L103.31666564941406,963.0200119018555" marker-end="url(#arrowhead2248)" style="fill:none"></path><defs><marker id="arrowhead2248" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath LS-restore LE-Failure" style="opacity: 1;" id="L-restore-Failure"><path class="path" d="M103.31666564941406,1093.0200119018555L103.31666564941406,1118.0200119018555L184.9666633605957,1149.5473614070174" marker-end="url(#arrowhead2249)" style="fill:none"></path><defs><marker id="arrowhead2249" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath LS-valid2 LE-clear2" style="opacity: 1;" id="L-valid2-clear2"><path class="path" d="M535.6179849609663,877.4207777038293L544.904167175293,928.0200119018555L544.904167175293,963.0200119018555" marker-end="url(#arrowhead2250)" style="fill:none"></path><defs><marker id="arrowhead2250" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath LS-valid2 LE-Retry" style="opacity: 1;" id="L-valid2-Retry"><path class="path" d="M471.3317676967353,845.3330257838934L393.7083320617676,928.0200119018555L393.7083320617676,983.0200119018555L393.7083320617676,1028.0200119018555L541.872917175293,1065.6716907714963" marker-end="url(#arrowhead2251)" style="fill:none"></path><defs><marker id="arrowhead2251" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath LS-Retry LE-pull" style="opacity: 1;" id="L-Retry-pull"><path class="path" d="M599.7062454223633,1057.4159367943996L654.1812515258789,1028.0200119018555L654.1812515258789,983.0200119018555L654.1812515258789,928.0200119018555L654.1812515258789,792.8575134277344L654.1812515258789,657.6950149536133L654.1812515258789,569.5725135803223L654.1812515258789,481.45001220703125L654.1812515258789,362.2250061035156L654.1812515258789,253L654.1812515258789,208L654.1812515258789,163L397.03666496276855,125.86854882938192" marker-end="url(#arrowhead2252)" style="fill:none"></path><defs><marker id="arrowhead2252" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath LS-clear2 LE-Retry" style="opacity: 1;" id="L-clear2-Retry"><path class="path" d="M544.904167175293,1003.0200119018555L544.904167175293,1028.0200119018555L559.2849527994791,1053.0200119018555" marker-end="url(#arrowhead2253)" style="fill:none"></path><defs><marker id="arrowhead2253" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath LS-clear LE-restore" style="opacity: 1;" id="L-clear-restore"><path class="path" d="M103.31666564941406,1003.0200119018555L103.31666564941406,1028.0200119018555L103.31666564941406,1053.0200119018555" marker-end="url(#arrowhead2254)" style="fill:none"></path><defs><marker id="arrowhead2254" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g><g class="edgePath LS-restoredata LE-Failure" style="opacity: 1;" id="L-restoredata-Failure"><path class="path" d="M336.4000015258789,1093.0200119018555L336.4000015258789,1118.0200119018555L254.75000381469727,1149.5473614070174" marker-end="url(#arrowhead2255)" style="fill:none"></path><defs><marker id="arrowhead2255" viewBox="0 0 10 10" refX="9" refY="5" markerUnits="strokeWidth" markerWidth="8" markerHeight="6" orient="auto"><path d="M 0 0 L 10 5 L 0 10 z" class="arrowheadPath" style="stroke-width: 1px; stroke-dasharray: 1px, 0px;"></path></marker></defs></g></g><g class="edgeLabels"><g class="edgeLabel" style="opacity: 1;" transform=""><g transform="translate(0,0)" class="label"><rect rx="0" ry="0" width="0" height="0"></rect><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-0-pull" class="edgeLabel L-LS-0' L-LE-pull"></span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform=""><g transform="translate(0,0)" class="label"><rect rx="0" ry="0" width="0" height="0"></rect><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-pull-merge" class="edgeLabel L-LS-pull' L-LE-merge"></span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform=""><g transform="translate(0,0)" class="label"><rect rx="0" ry="0" width="0" height="0"></rect><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-merge-valid" class="edgeLabel L-LS-merge' L-LE-valid"></span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform="translate(204.9066619873047,481.45001220703125)"><g transform="translate(-11.324996948242188,-10)" class="label"><rect rx="0" ry="0" width="22.649993896484375" height="20"></rect><foreignObject width="22.649993896484375" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-valid-Success" class="edgeLabel L-LS-valid' L-LE-Success">Yes</span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform="translate(345.0208320617676,481.45001220703125)"><g transform="translate(-9.399993896484375,-10)" class="label"><rect rx="0" ry="0" width="18.79998779296875" height="20"></rect><foreignObject width="18.79998779296875" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-valid-retried" class="edgeLabel L-LS-valid' L-LE-retried">No</span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform="translate(219.85833358764648,657.6950149536133)"><g transform="translate(-11.324996948242188,-10)" class="label"><rect rx="0" ry="0" width="22.649993896484375" height="20"></rect><foreignObject width="22.649993896484375" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-retried-validchanges" class="edgeLabel L-LS-retried' L-LE-validchanges">Yes</span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform="translate(519.0187530517578,657.6950149536133)"><g transform="translate(-9.399993896484375,-10)" class="label"><rect rx="0" ry="0" width="18.79998779296875" height="20"></rect><foreignObject width="18.79998779296875" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-retried-valid2" class="edgeLabel L-LS-retried' L-LE-valid2">No</span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform="translate(336.4000015258789,983.0200119018555)"><g transform="translate(-11.324996948242188,-10)" class="label"><rect rx="0" ry="0" width="22.649993896484375" height="20"></rect><foreignObject width="22.649993896484375" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-validchanges-restoredata" class="edgeLabel L-LS-validchanges' L-LE-restoredata">Yes</span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform="translate(103.31666564941406,928.0200119018555)"><g transform="translate(-9.399993896484375,-10)" class="label"><rect rx="0" ry="0" width="18.79998779296875" height="20"></rect><foreignObject width="18.79998779296875" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-validchanges-clear" class="edgeLabel L-LS-validchanges' L-LE-clear">No</span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform=""><g transform="translate(0,0)" class="label"><rect rx="0" ry="0" width="0" height="0"></rect><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-restore-Failure" class="edgeLabel L-LS-restore' L-LE-Failure"></span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform="translate(544.904167175293,928.0200119018555)"><g transform="translate(-9.399993896484375,-10)" class="label"><rect rx="0" ry="0" width="18.79998779296875" height="20"></rect><foreignObject width="18.79998779296875" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-valid2-clear2" class="edgeLabel L-LS-valid2' L-LE-clear2">No</span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform="translate(393.7083320617676,983.0200119018555)"><g transform="translate(-11.324996948242188,-10)" class="label"><rect rx="0" ry="0" width="22.649993896484375" height="20"></rect><foreignObject width="22.649993896484375" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-valid2-Retry" class="edgeLabel L-LS-valid2' L-LE-Retry">Yes</span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform="translate(654.1812515258789,569.5725135803223)"><g transform="translate(-18.916671752929688,-10)" class="label"><rect rx="0" ry="0" width="37.833343505859375" height="20"></rect><foreignObject width="37.833343505859375" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-Retry-pull" class="edgeLabel L-LS-Retry' L-LE-pull">Retry</span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform=""><g transform="translate(0,0)" class="label"><rect rx="0" ry="0" width="0" height="0"></rect><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-clear2-Retry" class="edgeLabel L-LS-clear2' L-LE-Retry"></span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform=""><g transform="translate(0,0)" class="label"><rect rx="0" ry="0" width="0" height="0"></rect><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-clear-restore" class="edgeLabel L-LS-clear' L-LE-restore"></span></div></foreignObject></g></g><g class="edgeLabel" style="opacity: 1;" transform=""><g transform="translate(0,0)" class="label"><rect rx="0" ry="0" width="0" height="0"></rect><foreignObject width="0" height="0"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;"><span id="L-L-restoredata-Failure" class="edgeLabel L-LS-restoredata' L-LE-Failure"></span></div></foreignObject></g></g></g><g class="nodes"><g class="node default" style="opacity: 1;" id="flowchart-0-2553" transform="translate(342.5449962615967,28)"><rect rx="0" ry="0" x="-26.125" y="-20" width="52.25" height="40" class="label-container" style="fill:#00ff00;"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-16.125,-10)"><foreignObject width="32.25" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Sync</div></foreignObject></g></g></g><g class="node default" style="opacity: 1;" id="flowchart-pull-2554" transform="translate(342.5449962615967,118)"><rect rx="0" ry="0" x="-54.491668701171875" y="-20" width="108.98333740234375" height="40" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-44.491668701171875,-10)"><foreignObject width="88.98333740234375" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Pull changes</div></foreignObject></g></g></g><g class="node default" style="opacity: 1;" id="flowchart-merge-2556" transform="translate(274.96374702453613,208)"><rect rx="0" ry="0" x="-69.30000305175781" y="-20" width="138.60000610351562" height="40" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-59.30000305175781,-10)"><foreignObject width="118.60000610351562" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Merge with local</div></foreignObject></g></g></g><g class="node default" style="opacity: 1;" id="flowchart-valid-2558" transform="translate(274.96374702453613,362.2250061035156)"><polygon points="84.22500228881836,0 168.45000457763672,-84.22500228881836 84.22500228881836,-168.45000457763672 0,-84.22500228881836" transform="translate(-84.22500228881836,84.22500228881836)" class="label-container"></polygon><g class="label" transform="translate(0,0)"><g transform="translate(-63.583335876464844,-10)"><foreignObject width="127.16667175292969" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Is signature valid?</div></foreignObject></g></g></g><g class="node default" style="opacity: 1;" id="flowchart-Success-2560" transform="translate(204.9066619873047,569.5725135803223)"><rect rx="0" ry="0" x="-36.991668701171875" y="-20" width="73.98333740234375" height="40" class="label-container" style="fill:#00ff00;"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-26.991668701171875,-10)"><foreignObject width="53.98333740234375" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Success</div></foreignObject></g></g></g><g class="node default" style="opacity: 1;" id="flowchart-retried-2562" transform="translate(345.0208320617676,569.5725135803223)"><polygon points="53.122501373291016,0 106.24500274658203,-53.122501373291016 53.122501373291016,-106.24500274658203 0,-53.122501373291016" transform="translate(-53.122501373291016,53.122501373291016)" class="label-container"></polygon><g class="label" transform="translate(0,0)"><g transform="translate(-29.025001525878906,-10)"><foreignObject width="58.05000305175781" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Retried?</div></foreignObject></g></g></g><g class="node default" style="opacity: 1;" id="flowchart-validchanges-2564" transform="translate(219.85833358764648,792.8575134277344)"><polygon points="100.16249771118164,0 200.3249954223633,-100.16249771118164 100.16249771118164,-200.3249954223633 0,-100.16249771118164" transform="translate(-100.16249771118164,100.16249771118164)" class="label-container"></polygon><g class="label" transform="translate(0,0)"><g transform="translate(-81.29166412353516,-10)"><foreignObject width="162.5833282470703" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Valid without changes?</div></foreignObject></g></g></g><g class="node default" style="opacity: 1;" id="flowchart-valid2-2566" transform="translate(519.0187530517578,792.8575134277344)"><polygon points="100.16249771118164,0 200.3249954223633,-100.16249771118164 100.16249771118164,-200.3249954223633 0,-100.16249771118164" transform="translate(-100.16249771118164,100.16249771118164)" class="label-container"></polygon><g class="label" transform="translate(0,0)"><g transform="translate(-81.29166412353516,-10)"><foreignObject width="162.5833282470703" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Valid without changes?</div></foreignObject></g></g></g><g class="node default" style="opacity: 1;" id="flowchart-restoredata-2568" transform="translate(336.4000015258789,1073.0200119018555)"><rect rx="0" ry="0" x="-87.76667022705078" y="-20" width="175.53334045410156" height="40" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-77.76667022705078,-10)"><foreignObject width="155.53334045410156" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Restore previous data</div></foreignObject></g></g></g><g class="node default" style="opacity: 1;" id="flowchart-clear-2570" transform="translate(103.31666564941406,983.0200119018555)"><rect rx="0" ry="0" x="-48.39167022705078" y="-20" width="96.78334045410156" height="40" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-38.39167022705078,-10)"><foreignObject width="76.78334045410156" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Clear local</div></foreignObject></g></g></g><g class="node default" style="opacity: 1;" id="flowchart-restore-2571" transform="translate(103.31666564941406,1073.0200119018555)"><rect rx="0" ry="0" x="-95.31666564941406" y="-20" width="190.63333129882812" height="40" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-85.31666564941406,-10)"><foreignObject width="170.63333129882812" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Restore packaged dump</div></foreignObject></g></g></g><g class="node default" style="opacity: 1;" id="flowchart-Failure-2572" transform="translate(219.85833358764648,1163.0200119018555)"><rect rx="0" ry="0" x="-34.89167022705078" y="-20" width="69.78334045410156" height="40" class="label-container" style="fill:#ff0000;"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-24.89167022705078,-10)"><foreignObject width="49.78334045410156" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Failure</div></foreignObject></g></g></g><g class="node default" style="opacity: 1;" id="flowchart-clear2-2574" transform="translate(544.904167175293,983.0200119018555)"><rect rx="0" ry="0" x="-48.39167022705078" y="-20" width="96.78334045410156" height="40" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-38.39167022705078,-10)"><foreignObject width="76.78334045410156" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Clear local</div></foreignObject></g></g></g><g class="node default" style="opacity: 1;" id="flowchart-Retry-2576" transform="translate(570.7895812988281,1073.0200119018555)"><rect rx="0" ry="0" x="-28.916664123535156" y="-20" width="57.83332824707031" height="40" class="label-container"></rect><g class="label" transform="translate(0,0)"><g transform="translate(-18.916664123535156,-10)"><foreignObject width="37.83332824707031" height="20"><div xmlns="http://www.w3.org/1999/xhtml" style="display: inline-block; white-space: nowrap;">Retry</div></foreignObject></g></g></g></g></g></g></svg>