<mxfile host="Electron" modified="2024-05-07T09:35:52.261Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/24.2.5 Chrome/120.0.6099.109 Electron/28.1.0 Safari/537.36" etag="DmmaRJrs2XHzGILdNXqB" version="24.2.5" type="device">
  <diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
    <mxGraphModel dx="1061" dy="1458" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="1169" pageHeight="827" math="0" shadow="0">
      <root>
        <mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
        <mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
        <mxCell id="k0BLKvAXlocCeE4DJ_wN-23" value="&lt;span style=&quot;white-space: pre;&quot;&gt;&#x9;&lt;/span&gt;Package: load_balancer" style="whiteSpace=wrap;html=1;shape=mxgraph.basic.document;align=left;verticalAlign=top;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
          <mxGeometry x="10" y="-820" width="1120" height="790" as="geometry" />
        </mxCell>
        <mxCell id="k0BLKvAXlocCeE4DJ_wN-25" value="&lt;span style=&quot;white-space: pre;&quot;&gt;&#x9;&lt;/span&gt;Package: heater_interface" style="whiteSpace=wrap;html=1;shape=mxgraph.basic.document;align=left;verticalAlign=top;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
          <mxGeometry x="797" y="-720" width="263" height="670" as="geometry" />
        </mxCell>
        <mxCell id="k0BLKvAXlocCeE4DJ_wN-24" value="&lt;span style=&quot;white-space: pre;&quot;&gt;&#x9;&lt;/span&gt;Package: db_interface" style="whiteSpace=wrap;html=1;shape=mxgraph.basic.document;align=left;verticalAlign=top;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
          <mxGeometry x="20" y="-720" width="360" height="370" as="geometry" />
        </mxCell>
        <mxCell id="k0BLKvAXlocCeE4DJ_wN-22" value="&lt;span style=&quot;white-space: pre;&quot;&gt;&#x9;&lt;/span&gt;Package: heater" style="whiteSpace=wrap;html=1;shape=mxgraph.basic.document;align=left;verticalAlign=top;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
          <mxGeometry x="1180" y="-820" width="375" height="525" as="geometry" />
        </mxCell>
        <mxCell id="zkfFHV4jXpPFQw0GAbJ--0" value="LoadBalancer" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
          <mxGeometry x="440" y="-690" width="290" height="240" as="geometry">
            <mxRectangle x="230" y="140" width="160" height="26" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="zkfFHV4jXpPFQw0GAbJ--1" value="heater_instances : HeaterInstance []" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--0" vertex="1">
          <mxGeometry y="26" width="290" height="26" as="geometry" />
        </mxCell>
        <mxCell id="zkfFHV4jXpPFQw0GAbJ--2" value="db_interface : DBInterface" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" parent="zkfFHV4jXpPFQw0GAbJ--0" vertex="1">
          <mxGeometry y="52" width="290" height="30" as="geometry" />
        </mxCell>
        <mxCell id="zkfFHV4jXpPFQw0GAbJ--3" value="foo" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" parent="zkfFHV4jXpPFQw0GAbJ--0" vertex="1">
          <mxGeometry y="82" width="290" height="26" as="geometry" />
        </mxCell>
        <mxCell id="zkfFHV4jXpPFQw0GAbJ--4" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--0" vertex="1">
          <mxGeometry y="108" width="290" height="8" as="geometry" />
        </mxCell>
        <mxCell id="zkfFHV4jXpPFQw0GAbJ--5" value="bar" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--0" vertex="1">
          <mxGeometry y="116" width="290" height="26" as="geometry" />
        </mxCell>
        <mxCell id="zkfFHV4jXpPFQw0GAbJ--17" value="HeaterInstance" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
          <mxGeometry x="835" y="-440" width="160" height="216" as="geometry">
            <mxRectangle x="550" y="140" width="160" height="26" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="zkfFHV4jXpPFQw0GAbJ--18" value="host : str" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--17" vertex="1">
          <mxGeometry y="26" width="160" height="26" as="geometry" />
        </mxCell>
        <mxCell id="zkfFHV4jXpPFQw0GAbJ--19" value="user : str" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" parent="zkfFHV4jXpPFQw0GAbJ--17" vertex="1">
          <mxGeometry y="52" width="160" height="26" as="geometry" />
        </mxCell>
        <mxCell id="zkfFHV4jXpPFQw0GAbJ--20" value="ssh_key : ssh_key" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" parent="zkfFHV4jXpPFQw0GAbJ--17" vertex="1">
          <mxGeometry y="78" width="160" height="26" as="geometry" />
        </mxCell>
        <mxCell id="zkfFHV4jXpPFQw0GAbJ--22" value="owner : Owner" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" parent="zkfFHV4jXpPFQw0GAbJ--17" vertex="1">
          <mxGeometry y="104" width="160" height="26" as="geometry" />
        </mxCell>
        <mxCell id="zkfFHV4jXpPFQw0GAbJ--23" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--17" vertex="1">
          <mxGeometry y="130" width="160" height="8" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-31" value="foo" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="zkfFHV4jXpPFQw0GAbJ--17" vertex="1">
          <mxGeometry y="138" width="160" height="26" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-0" value="Instance" style="swimlane;fontStyle=2;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
          <mxGeometry x="830" y="-690" width="170" height="160" as="geometry">
            <mxRectangle x="340" y="380" width="170" height="26" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-5" value="ssh_session : undefined" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="5vzdqylje9so0Pf0NUx3-0" vertex="1">
          <mxGeometry y="26" width="170" height="30" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-7" value="demand : undefined" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="5vzdqylje9so0Pf0NUx3-0" vertex="1">
          <mxGeometry y="56" width="170" height="30" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-8" value="outcome : undefined" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="5vzdqylje9so0Pf0NUx3-0" vertex="1">
          <mxGeometry y="86" width="170" height="30" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-9" value="status : bool" style="text;html=1;align=left;verticalAlign=middle;resizable=0;points=[];autosize=1;strokeColor=none;fillColor=none;" parent="5vzdqylje9so0Pf0NUx3-0" vertex="1">
          <mxGeometry y="116" width="170" height="30" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-2" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="5vzdqylje9so0Pf0NUx3-0" vertex="1">
          <mxGeometry y="146" width="170" height="14" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-3" value="" style="endArrow=block;endSize=10;endFill=1;shadow=0;strokeWidth=1;rounded=0;curved=0;edgeStyle=elbowEdgeStyle;elbow=vertical;entryX=0.5;entryY=1;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zkfFHV4jXpPFQw0GAbJ--17" target="5vzdqylje9so0Pf0NUx3-0" edge="1">
          <mxGeometry width="160" relative="1" as="geometry">
            <mxPoint x="917" y="-418" as="sourcePoint" />
            <mxPoint x="807" y="-520" as="targetPoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-15" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;endArrow=open;endFill=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zkfFHV4jXpPFQw0GAbJ--2" target="zkfFHV4jXpPFQw0GAbJ--18" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="760" y="-390" as="targetPoint" />
            <Array as="points">
              <mxPoint x="760" y="-625" />
              <mxPoint x="760" y="-401" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-16" value="0..n" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
          <mxGeometry x="730" y="-650" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-17" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
          <mxGeometry x="760" y="-430" width="37" height="30" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-18" value="orchestrates" style="text;html=1;align=left;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
          <mxGeometry x="730" y="-400" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-19" value="Owner" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
          <mxGeometry x="835" y="-160" width="160" height="90" as="geometry">
            <mxRectangle x="130" y="380" width="160" height="26" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-20" value="first_name : str" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="5vzdqylje9so0Pf0NUx3-19" vertex="1">
          <mxGeometry y="26" width="160" height="26" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-21" value="last_name : str" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rounded=0;shadow=0;html=0;" parent="5vzdqylje9so0Pf0NUx3-19" vertex="1">
          <mxGeometry y="52" width="160" height="26" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-22" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="5vzdqylje9so0Pf0NUx3-19" vertex="1">
          <mxGeometry y="78" width="160" height="8" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=open;endFill=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" target="5vzdqylje9so0Pf0NUx3-19" edge="1">
          <mxGeometry relative="1" as="geometry">
            <mxPoint x="690" y="-310" as="targetPoint" />
            <mxPoint x="915" y="-222" as="sourcePoint" />
          </mxGeometry>
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-26" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
          <mxGeometry x="912" y="-190" width="36" height="30" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-27" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
          <mxGeometry x="910" y="-224" width="40" height="30" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-28" value="owned by" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
          <mxGeometry x="850" y="-210" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-32" value="DBSettings" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
          <mxGeometry x="30" y="-690" width="270" height="70" as="geometry">
            <mxRectangle x="130" y="380" width="160" height="26" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-33" value="file_path : str" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="5vzdqylje9so0Pf0NUx3-32" vertex="1">
          <mxGeometry y="26" width="270" height="26" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-35" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="5vzdqylje9so0Pf0NUx3-32" vertex="1">
          <mxGeometry y="52" width="270" height="8" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-39" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;endArrow=open;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="5vzdqylje9so0Pf0NUx3-36" target="5vzdqylje9so0Pf0NUx3-32" edge="1">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-36" value="DBInterface" style="swimlane;fontStyle=0;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeLast=0;collapsible=1;marginBottom=0;rounded=0;shadow=0;strokeWidth=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
          <mxGeometry x="30" y="-590" width="280" height="220" as="geometry">
            <mxRectangle x="130" y="380" width="160" height="26" as="alternateBounds" />
          </mxGeometry>
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-37" value="settings : DBSettings" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="5vzdqylje9so0Pf0NUx3-36" vertex="1">
          <mxGeometry y="26" width="280" height="26" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-38" value="" style="line;html=1;strokeWidth=1;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;" parent="5vzdqylje9so0Pf0NUx3-36" vertex="1">
          <mxGeometry y="52" width="280" height="8" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-46" value="add_instance(instance : HeaterInstance) : void" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="5vzdqylje9so0Pf0NUx3-36" vertex="1">
          <mxGeometry y="60" width="280" height="26" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-47" value="update_instance(instance : HeaterInstance) : void" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="5vzdqylje9so0Pf0NUx3-36" vertex="1">
          <mxGeometry y="86" width="280" height="26" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-51" value="remove_instance(instance : HeaterInstance) : void" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" parent="5vzdqylje9so0Pf0NUx3-36" vertex="1">
          <mxGeometry y="112" width="280" height="26" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-40" value="1&lt;div&gt;1&lt;/div&gt;" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
          <mxGeometry x="150" y="-620" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-42" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0;exitY=0.5;exitDx=0;exitDy=0;entryX=1;entryY=0.5;entryDx=0;entryDy=0;endArrow=open;endFill=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="zkfFHV4jXpPFQw0GAbJ--2" target="5vzdqylje9so0Pf0NUx3-37" edge="1">
          <mxGeometry relative="1" as="geometry">
            <Array as="points">
              <mxPoint x="390" y="-623" />
              <mxPoint x="390" y="-551" />
            </Array>
          </mxGeometry>
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-44" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
          <mxGeometry x="300" y="-580" width="40" height="30" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-45" value="1" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
          <mxGeometry x="400" y="-650" width="40" height="30" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-48" value="uses" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
          <mxGeometry x="380" y="-560" width="60" height="30" as="geometry" />
        </mxCell>
        <mxCell id="5vzdqylje9so0Pf0NUx3-49" value="has" style="text;html=1;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
          <mxGeometry x="130" y="-620" width="40" height="30" as="geometry" />
        </mxCell>
        <mxCell id="k0BLKvAXlocCeE4DJ_wN-26" value="get_instances() : HeaterInstance []" style="text;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
          <mxGeometry x="30" y="-450" width="280" height="26" as="geometry" />
        </mxCell>
        <mxCell id="k0BLKvAXlocCeE4DJ_wN-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="5vzdqylje9so0Pf0NUx3-18" target="5vzdqylje9so0Pf0NUx3-18">
          <mxGeometry relative="1" as="geometry" />
        </mxCell>
      </root>
    </mxGraphModel>
  </diagram>
</mxfile>
