<mxfile host="Electron" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/26.0.3 Chrome/130.0.6723.137 Electron/33.2.1 Safari/537.36" version="26.0.3">
  <diagram name="Page-1" id="8yVsWk3zc1R4zZ_1FHf9">
    <mxGraphModel dx="954" dy="674" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
      <root>
        <mxCell id="0" />
        <mxCell id="1" parent="0" />
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-1" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" source="deOWAsg3AfZKw-_Y8Y0p-6" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="200" y="280" as="sourcePoint" />
            <mxPoint x="680" y="280" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-2" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="240" y="360" as="sourcePoint" />
            <mxPoint x="240" y="280" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-3" value="&lt;div&gt;CLIENT A&lt;br&gt;&lt;/div&gt;&lt;div&gt;check if&lt;/div&gt;&lt;div&gt;lockfile exists&lt;br&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=top;whiteSpace=wrap;rounded=0;labelBackgroundColor=#E5CCFF;" parent="1" vertex="1">
          <mxGeometry x="200" y="355" width="80" height="55" as="geometry" />
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-4" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" target="deOWAsg3AfZKw-_Y8Y0p-6" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="330" y="360" as="sourcePoint" />
            <mxPoint x="330" y="180" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-5" value="&lt;div&gt;CLIENT A&lt;br&gt;&lt;/div&gt;&lt;div&gt;write ID to lockfile&lt;br&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=top;whiteSpace=wrap;rounded=0;labelBackgroundColor=#E5CCFF;" parent="1" vertex="1">
          <mxGeometry x="290" y="355" width="80" height="55" as="geometry" />
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-7" value="" style="endArrow=none;html=1;rounded=0;endFill=0;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="200" y="280" as="sourcePoint" />
            <mxPoint x="330" y="280" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-6" value="lockfile" style="rounded=0;whiteSpace=wrap;html=1;" parent="1" vertex="1">
          <mxGeometry x="330" y="270" width="270" height="20" as="geometry" />
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-8" value="&lt;div&gt;CLIENT B&lt;br&gt;&lt;/div&gt;&lt;div&gt;check if&lt;/div&gt;&lt;div&gt;lockfile exists&lt;br&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=bottom;whiteSpace=wrap;rounded=0;labelBackgroundColor=#CCCCFF;textShadow=0;fontColor=default;" parent="1" vertex="1">
          <mxGeometry x="240" y="150" width="80" height="50" as="geometry" />
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-9" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="deOWAsg3AfZKw-_Y8Y0p-8" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="430" y="310" as="sourcePoint" />
            <mxPoint x="280" y="280" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-10" value="&lt;div&gt;CLIENT B&lt;br&gt;&lt;/div&gt;&lt;div&gt;write ID to lockfile&lt;br&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=bottom;whiteSpace=wrap;rounded=0;labelBackgroundColor=#CCCCFF;textShadow=0;fontColor=default;" parent="1" vertex="1">
          <mxGeometry x="340" y="150" width="60" height="50" as="geometry" />
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-11" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="deOWAsg3AfZKw-_Y8Y0p-10" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="520" y="300" as="sourcePoint" />
            <mxPoint x="370" y="270" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-12" value="&lt;div&gt;CLIENT B&lt;br&gt;&lt;/div&gt;&lt;div&gt;delete&lt;/div&gt;&lt;div&gt;lockfile&lt;br&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=bottom;whiteSpace=wrap;rounded=0;fontColor=default;labelBackgroundColor=#CCCCFF;" parent="1" vertex="1">
          <mxGeometry x="560" y="150" width="80" height="50" as="geometry" />
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-13" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="deOWAsg3AfZKw-_Y8Y0p-12" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="750" y="300" as="sourcePoint" />
            <mxPoint x="600" y="270" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-14" value="&lt;div&gt;CLIENT C&lt;br&gt;&lt;/div&gt;&lt;div&gt;check if&lt;/div&gt;&lt;div&gt;lockfile exists&lt;br&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=bottom;whiteSpace=wrap;rounded=0;labelBackgroundColor=#CCFFFF;fontColor=default;" parent="1" vertex="1">
          <mxGeometry x="480" y="150" width="80" height="50" as="geometry" />
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-15" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="1" source="deOWAsg3AfZKw-_Y8Y0p-14" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="670" y="310" as="sourcePoint" />
            <mxPoint x="520" y="270" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-16" value="&lt;div&gt;CLIENT B&lt;br&gt;&lt;/div&gt;&lt;div&gt;check ID&lt;/div&gt;&lt;div&gt;in lockfile&lt;br&gt;&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=bottom;whiteSpace=wrap;rounded=0;labelBackgroundColor=#CCCCFF;textShadow=0;fontColor=default;" parent="1" vertex="1">
          <mxGeometry x="410" y="150" width="60" height="50" as="geometry" />
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-17" value="" style="endArrow=classic;html=1;rounded=0;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="440" y="200" as="sourcePoint" />
            <mxPoint x="440" y="270" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-18" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=1;entryDx=0;entryDy=0;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="410" y="360" as="sourcePoint" />
            <mxPoint x="410" y="290" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-19" value="&lt;div&gt;CLIENT A&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;check ID&lt;/div&gt;in lockfile&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=top;whiteSpace=wrap;rounded=0;labelBackgroundColor=#E5CCFF;" parent="1" vertex="1">
          <mxGeometry x="380" y="355" width="60" height="60" as="geometry" />
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-20" value="time" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="650" y="280" width="30" height="20" as="geometry" />
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-22" value="&lt;font color=&quot;#ff0000&quot;&gt;&lt;b&gt;X&lt;/b&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="410" y="290" width="20" height="25" as="geometry" />
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-23" value="&lt;span class=&quot;box&quot;&gt;&lt;font color=&quot;#009900&quot;&gt;✓&lt;/font&gt;&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
          <mxGeometry x="440" y="245" width="20" height="25" as="geometry" />
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-24" value="&lt;font color=&quot;#ff0000&quot;&gt;&lt;b&gt;X&lt;/b&gt;&lt;/font&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="520" y="245" width="20" height="25" as="geometry" />
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-25" value="&lt;span class=&quot;box&quot;&gt;&lt;font color=&quot;#009900&quot;&gt;✓&lt;/font&gt;&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
          <mxGeometry x="280" y="255" width="20" height="25" as="geometry" />
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-26" value="&lt;span class=&quot;box&quot;&gt;&lt;font color=&quot;#009900&quot;&gt;✓&lt;/font&gt;&lt;/span&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;fontStyle=1" parent="1" vertex="1">
          <mxGeometry x="240" y="280" width="20" height="25" as="geometry" />
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-28" value="CLEINT B holds lock" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="1" vertex="1">
          <mxGeometry x="460" y="110" width="120" height="20" as="geometry" />
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-29" value="" style="endArrow=none;dashed=1;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" source="deOWAsg3AfZKw-_Y8Y0p-16" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="440" y="140" as="sourcePoint" />
            <mxPoint x="460" y="120" as="targetPoint" />
            <Array as="points">
              <mxPoint x="440" y="120" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="deOWAsg3AfZKw-_Y8Y0p-30" value="" style="endArrow=none;dashed=1;html=1;rounded=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="1" edge="1">
          <mxGeometry width="50" height="50" relative="1" as="geometry">
            <mxPoint x="600" y="150" as="sourcePoint" />
            <mxPoint x="580" y="120" as="targetPoint" />
            <Array as="points">
              <mxPoint x="600" y="120" />
            </Array>
          </mxGeometry>
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
