<?xml version="1.0" encoding="UTF-8"?>
<dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
  <dia:diagramdata>
    <dia:attribute name="background">
      <dia:color val="#ffffff"/>
    </dia:attribute>
    <dia:attribute name="pagebreak">
      <dia:color val="#000099"/>
    </dia:attribute>
    <dia:attribute name="paper">
      <dia:composite type="paper">
        <dia:attribute name="name">
          <dia:string>#Letter#</dia:string>
        </dia:attribute>
        <dia:attribute name="tmargin">
          <dia:real val="2.5399999618530273"/>
        </dia:attribute>
        <dia:attribute name="bmargin">
          <dia:real val="2.5399999618530273"/>
        </dia:attribute>
        <dia:attribute name="lmargin">
          <dia:real val="2.5399999618530273"/>
        </dia:attribute>
        <dia:attribute name="rmargin">
          <dia:real val="2.5399999618530273"/>
        </dia:attribute>
        <dia:attribute name="is_portrait">
          <dia:boolean val="false"/>
        </dia:attribute>
        <dia:attribute name="scaling">
          <dia:real val="0.67733335494995117"/>
        </dia:attribute>
        <dia:attribute name="fitto">
          <dia:boolean val="true"/>
        </dia:attribute>
        <dia:attribute name="fitwidth">
          <dia:int val="1"/>
        </dia:attribute>
        <dia:attribute name="fitheight">
          <dia:int val="1"/>
        </dia:attribute>
      </dia:composite>
    </dia:attribute>
    <dia:attribute name="grid">
      <dia:composite type="grid">
        <dia:attribute name="width_x">
          <dia:real val="1"/>
        </dia:attribute>
        <dia:attribute name="width_y">
          <dia:real val="1"/>
        </dia:attribute>
        <dia:attribute name="visible_x">
          <dia:int val="1"/>
        </dia:attribute>
        <dia:attribute name="visible_y">
          <dia:int val="1"/>
        </dia:attribute>
        <dia:composite type="color"/>
      </dia:composite>
    </dia:attribute>
    <dia:attribute name="color">
      <dia:color val="#d8e5e5"/>
    </dia:attribute>
    <dia:attribute name="guides">
      <dia:composite type="guides">
        <dia:attribute name="hguides"/>
        <dia:attribute name="vguides"/>
      </dia:composite>
    </dia:attribute>
  </dia:diagramdata>
  <dia:layer name="Background" visible="true">
    <dia:object type="UML - Class" version="0" id="O0">
      <dia:attribute name="obj_pos">
        <dia:point val="5.5,5.05"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="5.45,5;28.55,11.9"/>
      </dia:attribute>
      <dia:attribute name="elem_corner">
        <dia:point val="5.5,5.05"/>
      </dia:attribute>
      <dia:attribute name="elem_width">
        <dia:real val="23"/>
      </dia:attribute>
      <dia:attribute name="elem_height">
        <dia:real val="6.8000000000000007"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string>#ClassName#</dia:string>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <dia:string>##</dia:string>
      </dia:attribute>
      <dia:attribute name="comment">
        <dia:string>#(names of abstract classes are italicized)#</dia:string>
      </dia:attribute>
      <dia:attribute name="abstract">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="suppress_attributes">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="suppress_operations">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="visible_attributes">
        <dia:boolean val="true"/>
      </dia:attribute>
      <dia:attribute name="visible_operations">
        <dia:boolean val="true"/>
      </dia:attribute>
      <dia:attribute name="visible_comments">
        <dia:boolean val="true"/>
      </dia:attribute>
      <dia:attribute name="wrap_operations">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="wrap_after_char">
        <dia:int val="40"/>
      </dia:attribute>
      <dia:attribute name="line_color">
        <dia:color val="#000000"/>
      </dia:attribute>
      <dia:attribute name="fill_color">
        <dia:color val="#ffffff"/>
      </dia:attribute>
      <dia:attribute name="text_color">
        <dia:color val="#000000"/>
      </dia:attribute>
      <dia:attribute name="normal_font">
        <dia:font family="monospace" style="0" name="Courier"/>
      </dia:attribute>
      <dia:attribute name="abstract_font">
        <dia:font family="monospace" style="88" name="Courier"/>
      </dia:attribute>
      <dia:attribute name="polymorphic_font">
        <dia:font family="monospace" style="8" name="Courier"/>
      </dia:attribute>
      <dia:attribute name="classname_font">
        <dia:font family="sans" style="80" name="Helvetica"/>
      </dia:attribute>
      <dia:attribute name="abstract_classname_font">
        <dia:font family="sans" style="88" name="Helvetica"/>
      </dia:attribute>
      <dia:attribute name="comment_font">
        <dia:font family="sans" style="8" name="Helvetica"/>
      </dia:attribute>
      <dia:attribute name="font_height">
        <dia:real val="0.80000000000000004"/>
      </dia:attribute>
      <dia:attribute name="polymorphic_font_height">
        <dia:real val="0.80000000000000004"/>
      </dia:attribute>
      <dia:attribute name="abstract_font_height">
        <dia:real val="0.80000000000000004"/>
      </dia:attribute>
      <dia:attribute name="classname_font_height">
        <dia:real val="1"/>
      </dia:attribute>
      <dia:attribute name="abstract_classname_font_height">
        <dia:real val="1"/>
      </dia:attribute>
      <dia:attribute name="comment_font_height">
        <dia:real val="1"/>
      </dia:attribute>
      <dia:attribute name="attributes">
        <dia:composite type="umlattribute">
          <dia:attribute name="name">
            <dia:string>#publicAttrName#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#attrType#</dia:string>
          </dia:attribute>
          <dia:attribute name="value">
            <dia:string>##</dia:string>
          </dia:attribute>
          <dia:attribute name="comment">
            <dia:string>##</dia:string>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
        </dia:composite>
        <dia:composite type="umlattribute">
          <dia:attribute name="name">
            <dia:string>#privateAttrName#</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#attrType#</dia:string>
          </dia:attribute>
          <dia:attribute name="value">
            <dia:string>##</dia:string>
          </dia:attribute>
          <dia:attribute name="comment">
            <dia:string>##</dia:string>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="1"/>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
        </dia:composite>
      </dia:attribute>
      <dia:attribute name="operations">
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#abstractOperationName#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string>##</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#operationType#</dia:string>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="comment">
            <dia:string>##</dia:string>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="true"/>
          </dia:attribute>
          <dia:attribute name="inheritance_type">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="query">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters">
            <dia:composite type="umlparameter">
              <dia:attribute name="name">
                <dia:string>#paramName#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#paramType#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string>##</dia:string>
              </dia:attribute>
              <dia:attribute name="comment">
                <dia:string>##</dia:string>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="1"/>
              </dia:attribute>
            </dia:composite>
          </dia:attribute>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#polymorphicOperationName#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string>##</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#operationType#</dia:string>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="comment">
            <dia:string>##</dia:string>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="inheritance_type">
            <dia:enum val="1"/>
          </dia:attribute>
          <dia:attribute name="query">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters">
            <dia:composite type="umlparameter">
              <dia:attribute name="name">
                <dia:string>#paramName#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#paramType#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string>##</dia:string>
              </dia:attribute>
              <dia:attribute name="comment">
                <dia:string>##</dia:string>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="1"/>
              </dia:attribute>
            </dia:composite>
          </dia:attribute>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#leafOperationName#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string>##</dia:string>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#operationType#</dia:string>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="0"/>
          </dia:attribute>
          <dia:attribute name="comment">
            <dia:string>##</dia:string>
          </dia:attribute>
          <dia:attribute name="abstract">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="inheritance_type">
            <dia:enum val="2"/>
          </dia:attribute>
          <dia:attribute name="query">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="class_scope">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="parameters">
            <dia:composite type="umlparameter">
              <dia:attribute name="name">
                <dia:string>#paramName#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#paramType#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string>##</dia:string>
              </dia:attribute>
              <dia:attribute name="comment">
                <dia:string>##</dia:string>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="1"/>
              </dia:attribute>
            </dia:composite>
            <dia:composite type="umlparameter">
              <dia:attribute name="name">
                <dia:string>##</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>##</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string>##</dia:string>
              </dia:attribute>
              <dia:attribute name="comment">
                <dia:string>##</dia:string>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
          </dia:attribute>
        </dia:composite>
      </dia:attribute>
      <dia:attribute name="template">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="templates"/>
    </dia:object>
    <dia:object type="UML - Association" version="0" id="O1">
      <dia:attribute name="obj_pos">
        <dia:point val="28.5,7.95"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="27.75,2.15;39.2,9.55"/>
      </dia:attribute>
      <dia:attribute name="orth_points">
        <dia:point val="28.5,7.95"/>
        <dia:point val="30,7.95"/>
        <dia:point val="30,3"/>
        <dia:point val="35,3"/>
      </dia:attribute>
      <dia:attribute name="orth_orient">
        <dia:enum val="0"/>
        <dia:enum val="1"/>
        <dia:enum val="0"/>
      </dia:attribute>
      <dia:attribute name="autorouting">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string>#is-part-of (aggregate)#</dia:string>
      </dia:attribute>
      <dia:attribute name="direction">
        <dia:enum val="0"/>
      </dia:attribute>
      <dia:attribute name="ends">
        <dia:composite>
          <dia:attribute name="role">
            <dia:string>##</dia:string>
          </dia:attribute>
          <dia:attribute name="multiplicity">
            <dia:string>##</dia:string>
          </dia:attribute>
          <dia:attribute name="arrow">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="aggregate">
            <dia:enum val="1"/>
          </dia:attribute>
        </dia:composite>
        <dia:composite>
          <dia:attribute name="role">
            <dia:string>##</dia:string>
          </dia:attribute>
          <dia:attribute name="multiplicity">
            <dia:string>#multiplicity#</dia:string>
          </dia:attribute>
          <dia:attribute name="arrow">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="aggregate">
            <dia:enum val="0"/>
          </dia:attribute>
        </dia:composite>
      </dia:attribute>
      <dia:connections>
        <dia:connection handle="0" to="O0" connection="9"/>
      </dia:connections>
    </dia:object>
    <dia:object type="UML - Association" version="0" id="O2">
      <dia:attribute name="obj_pos">
        <dia:point val="34,12"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="27.75,8;38.2,12.75"/>
      </dia:attribute>
      <dia:attribute name="orth_points">
        <dia:point val="34,12"/>
        <dia:point val="30,12"/>
        <dia:point val="30,8.75"/>
        <dia:point val="28.5,8.75"/>
      </dia:attribute>
      <dia:attribute name="orth_orient">
        <dia:enum val="0"/>
        <dia:enum val="1"/>
        <dia:enum val="0"/>
      </dia:attribute>
      <dia:attribute name="autorouting">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string>#contains (composition)#</dia:string>
      </dia:attribute>
      <dia:attribute name="direction">
        <dia:enum val="0"/>
      </dia:attribute>
      <dia:attribute name="ends">
        <dia:composite>
          <dia:attribute name="role">
            <dia:string>##</dia:string>
          </dia:attribute>
          <dia:attribute name="multiplicity">
            <dia:string>#multiplicity#</dia:string>
          </dia:attribute>
          <dia:attribute name="arrow">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="aggregate">
            <dia:enum val="0"/>
          </dia:attribute>
        </dia:composite>
        <dia:composite>
          <dia:attribute name="role">
            <dia:string>##</dia:string>
          </dia:attribute>
          <dia:attribute name="multiplicity">
            <dia:string>##</dia:string>
          </dia:attribute>
          <dia:attribute name="arrow">
            <dia:boolean val="false"/>
          </dia:attribute>
          <dia:attribute name="aggregate">
            <dia:enum val="2"/>
          </dia:attribute>
        </dia:composite>
      </dia:attribute>
      <dia:connections>
        <dia:connection handle="1" to="O0" connection="11"/>
      </dia:connections>
    </dia:object>
    <dia:object type="UML - Generalization" version="0" id="O3">
      <dia:attribute name="obj_pos">
        <dia:point val="14.5,2.05"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="13.475,2;18.025,5.1"/>
      </dia:attribute>
      <dia:attribute name="orth_points">
        <dia:point val="14.5,2.05"/>
        <dia:point val="14.5,3.55"/>
        <dia:point val="17,3.55"/>
        <dia:point val="17,5.05"/>
      </dia:attribute>
      <dia:attribute name="orth_orient">
        <dia:enum val="1"/>
        <dia:enum val="0"/>
        <dia:enum val="1"/>
      </dia:attribute>
      <dia:attribute name="orth_autoroute">
        <dia:boolean val="true"/>
      </dia:attribute>
      <dia:attribute name="line_colour">
        <dia:color val="#000000"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string>#inherits-from#</dia:string>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <dia:string>##</dia:string>
      </dia:attribute>
      <dia:connections>
        <dia:connection handle="1" to="O0" connection="1"/>
      </dia:connections>
    </dia:object>
  </dia:layer>
</dia:diagram>
