<?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="paper">
      <dia:composite type="paper">
        <dia:attribute name="name">
          <dia:string>#A4#</dia:string>
        </dia:attribute>
        <dia:attribute name="tmargin">
          <dia:real val="2.8222"/>
        </dia:attribute>
        <dia:attribute name="bmargin">
          <dia:real val="2.8222"/>
        </dia:attribute>
        <dia:attribute name="lmargin">
          <dia:real val="2.8222"/>
        </dia:attribute>
        <dia:attribute name="rmargin">
          <dia:real val="2.8222"/>
        </dia:attribute>
        <dia:attribute name="is_portrait">
          <dia:boolean val="true"/>
        </dia:attribute>
        <dia:attribute name="scaling">
          <dia:real val="1"/>
        </dia:attribute>
        <dia:attribute name="fitto">
          <dia:boolean val="false"/>
        </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>
    </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="-22,-7"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="-22.05,-7.05;6.5196,5.45"/>
      </dia:attribute>
      <dia:attribute name="elem_corner">
        <dia:point val="-22,-7"/>
      </dia:attribute>
      <dia:attribute name="elem_width">
        <dia:real val="28.4696"/>
      </dia:attribute>
      <dia:attribute name="elem_height">
        <dia:real val="12.4"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string>#Fl_IO#</dia:string>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="abstract">
        <dia:boolean val="true"/>
      </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="foreground_color">
        <dia:color val="#000000"/>
      </dia:attribute>
      <dia:attribute name="background_color">
        <dia:color val="#ffffff"/>
      </dia:attribute>
      <dia:attribute name="normal_font">
        <dia:font name="Courier"/>
      </dia:attribute>
      <dia:attribute name="abstract_font">
        <dia:font name="Courier-Oblique"/>
      </dia:attribute>
      <dia:attribute name="classname_font">
        <dia:font name="Helvetica-Bold"/>
      </dia:attribute>
      <dia:attribute name="abstract_classname_font">
        <dia:font name="Helvetica-BoldOblique"/>
      </dia:attribute>
      <dia:attribute name="font_height">
        <dia:real val="0.8"/>
      </dia:attribute>
      <dia:attribute name="abstract_font_height">
        <dia:real val="0.8"/>
      </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="attributes"/>
      <dia:attribute name="operations">
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#flags#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#void#</dia:string>
          </dia:attribute>
          <dia:attribute name="visibility">
            <dia:enum val="2"/>
          </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>#value#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#int#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string/>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
          </dia:attribute>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#flags#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#int#</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="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>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#can_read#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#bool#</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="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>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#can_write#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#bool#</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="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>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#can_seek#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#bool#</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="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>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#read#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#int#</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="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>#buffer#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#void*#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string/>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
            <dia:composite type="umlparameter">
              <dia:attribute name="name">
                <dia:string>#length#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#int#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string/>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
          </dia:attribute>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#write#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#int#</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="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>#buffer#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#void*#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string/>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
            <dia:composite type="umlparameter">
              <dia:attribute name="name">
                <dia:string>#length#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#int#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string/>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
          </dia:attribute>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#skip#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#int#</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="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>#length#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#int#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string/>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
          </dia:attribute>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#seek#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#int#</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="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>#pos#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#int#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string/>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
          </dia:attribute>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#pos#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#int#</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="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>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#flush#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#int#</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="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>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#add_callback#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#int#</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="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>#cb#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#Fl_IO_Callback#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string/>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
            <dia:composite type="umlparameter">
              <dia:attribute name="name">
                <dia:string>#when#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#int#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string>#ALWAYS#</dia:string>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
          </dia:attribute>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#remove_callback#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#int#</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="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>#cb#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#Fl_IO_Callback#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <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 - Class" version="0" id="O1">
      <dia:attribute name="obj_pos">
        <dia:point val="-30,12"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="-30.05,11.95;-8.0188,15.65"/>
      </dia:attribute>
      <dia:attribute name="elem_corner">
        <dia:point val="-30,12"/>
      </dia:attribute>
      <dia:attribute name="elem_width">
        <dia:real val="21.9312"/>
      </dia:attribute>
      <dia:attribute name="elem_height">
        <dia:real val="3.6"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string>#Fl_Buffered_IO#</dia:string>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <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="foreground_color">
        <dia:color val="#000000"/>
      </dia:attribute>
      <dia:attribute name="background_color">
        <dia:color val="#ffffff"/>
      </dia:attribute>
      <dia:attribute name="normal_font">
        <dia:font name="Courier"/>
      </dia:attribute>
      <dia:attribute name="abstract_font">
        <dia:font name="Courier-Oblique"/>
      </dia:attribute>
      <dia:attribute name="classname_font">
        <dia:font name="Helvetica-Bold"/>
      </dia:attribute>
      <dia:attribute name="abstract_classname_font">
        <dia:font name="Helvetica-BoldOblique"/>
      </dia:attribute>
      <dia:attribute name="font_height">
        <dia:real val="0.8"/>
      </dia:attribute>
      <dia:attribute name="abstract_font_height">
        <dia:real val="0.8"/>
      </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="attributes"/>
      <dia:attribute name="operations">
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#Fl_Buffered_IO#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <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="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>#io#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#Fl_IO#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string/>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
          </dia:attribute>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#Fl_Buffered_IO#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <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="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>#io#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#Fl_IO#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string/>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
            <dia:composite type="umlparameter">
              <dia:attribute name="name">
                <dia:string>#buffer_size#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#int#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <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 - Generalization" version="0" id="O2">
      <dia:attribute name="obj_pos">
        <dia:point val="-7.7652,5.4"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="-19.0844,5.35;-6.9152,12.05"/>
      </dia:attribute>
      <dia:attribute name="orth_points">
        <dia:point val="-7.7652,5.4"/>
        <dia:point val="-7.7652,10"/>
        <dia:point val="-19.0344,10"/>
        <dia:point val="-19.0344,12"/>
      </dia:attribute>
      <dia:attribute name="orth_orient">
        <dia:enum val="1"/>
        <dia:enum val="0"/>
        <dia:enum val="1"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <dia:string/>
      </dia:attribute>
      <dia:connections>
        <dia:connection handle="0" to="O0" connection="6"/>
        <dia:connection handle="1" to="O1" connection="1"/>
      </dia:connections>
    </dia:object>
    <dia:object type="UML - Class" version="0" id="O3">
      <dia:attribute name="obj_pos">
        <dia:point val="-18,19"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="-18.05,18.95;7.1492,23.45"/>
      </dia:attribute>
      <dia:attribute name="elem_corner">
        <dia:point val="-18,19"/>
      </dia:attribute>
      <dia:attribute name="elem_width">
        <dia:real val="25.0992"/>
      </dia:attribute>
      <dia:attribute name="elem_height">
        <dia:real val="4.4"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string>#Fl_File_IO#</dia:string>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <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="foreground_color">
        <dia:color val="#000000"/>
      </dia:attribute>
      <dia:attribute name="background_color">
        <dia:color val="#ffffff"/>
      </dia:attribute>
      <dia:attribute name="normal_font">
        <dia:font name="Courier"/>
      </dia:attribute>
      <dia:attribute name="abstract_font">
        <dia:font name="Courier-Oblique"/>
      </dia:attribute>
      <dia:attribute name="classname_font">
        <dia:font name="Helvetica-Bold"/>
      </dia:attribute>
      <dia:attribute name="abstract_classname_font">
        <dia:font name="Helvetica-BoldOblique"/>
      </dia:attribute>
      <dia:attribute name="font_height">
        <dia:real val="0.8"/>
      </dia:attribute>
      <dia:attribute name="abstract_font_height">
        <dia:real val="0.8"/>
      </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="attributes"/>
      <dia:attribute name="operations">
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#Fl_File_IO#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <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="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>#file_name#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#const char *#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string/>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
            <dia:composite type="umlparameter">
              <dia:attribute name="name">
                <dia:string>#mode#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#int#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string>#RW#</dia:string>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
          </dia:attribute>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#Fl_File_IO#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <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="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>#file#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#FILE*#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string/>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
          </dia:attribute>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#Fl_File_IO#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <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="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>#fd#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#int#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <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 - Class" version="0" id="O4">
      <dia:attribute name="obj_pos">
        <dia:point val="-2,12"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="-2.05,11.95;21.0372,15.65"/>
      </dia:attribute>
      <dia:attribute name="elem_corner">
        <dia:point val="-2,12"/>
      </dia:attribute>
      <dia:attribute name="elem_width">
        <dia:real val="22.9872"/>
      </dia:attribute>
      <dia:attribute name="elem_height">
        <dia:real val="3.6"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string>#Fl_Socket_IO#</dia:string>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <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="foreground_color">
        <dia:color val="#000000"/>
      </dia:attribute>
      <dia:attribute name="background_color">
        <dia:color val="#ffffff"/>
      </dia:attribute>
      <dia:attribute name="normal_font">
        <dia:font name="Courier"/>
      </dia:attribute>
      <dia:attribute name="abstract_font">
        <dia:font name="Courier-Oblique"/>
      </dia:attribute>
      <dia:attribute name="classname_font">
        <dia:font name="Helvetica-Bold"/>
      </dia:attribute>
      <dia:attribute name="abstract_classname_font">
        <dia:font name="Helvetica-BoldOblique"/>
      </dia:attribute>
      <dia:attribute name="font_height">
        <dia:real val="0.8"/>
      </dia:attribute>
      <dia:attribute name="abstract_font_height">
        <dia:real val="0.8"/>
      </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="attributes"/>
      <dia:attribute name="operations">
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#Fl_Socket_IO#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <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="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>#url#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#const char *#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string/>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
          </dia:attribute>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#Fl_Socket_IO#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <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="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>#server#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#const char *#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string/>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
            <dia:composite type="umlparameter">
              <dia:attribute name="name">
                <dia:string>#port#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#int#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <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 - Generalization" version="0" id="O5">
      <dia:attribute name="obj_pos">
        <dia:point val="-7.7652,5.4"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="-8.6152,5.35;-5.4004,19.05"/>
      </dia:attribute>
      <dia:attribute name="orth_points">
        <dia:point val="-7.7652,5.4"/>
        <dia:point val="-7.7652,10"/>
        <dia:point val="-5.4504,10"/>
        <dia:point val="-5.4504,19"/>
      </dia:attribute>
      <dia:attribute name="orth_orient">
        <dia:enum val="1"/>
        <dia:enum val="0"/>
        <dia:enum val="1"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <dia:string/>
      </dia:attribute>
      <dia:connections>
        <dia:connection handle="0" to="O0" connection="6"/>
        <dia:connection handle="1" to="O3" connection="1"/>
      </dia:connections>
    </dia:object>
    <dia:object type="UML - Generalization" version="0" id="O6">
      <dia:attribute name="obj_pos">
        <dia:point val="-7.7652,5.4"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="-8.6152,5.35;9.5436,12.05"/>
      </dia:attribute>
      <dia:attribute name="orth_points">
        <dia:point val="-7.7652,5.4"/>
        <dia:point val="-7.7652,10"/>
        <dia:point val="9.4936,10"/>
        <dia:point val="9.4936,12"/>
      </dia:attribute>
      <dia:attribute name="orth_orient">
        <dia:enum val="1"/>
        <dia:enum val="0"/>
        <dia:enum val="1"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <dia:string/>
      </dia:attribute>
      <dia:connections>
        <dia:connection handle="0" to="O0" connection="6"/>
        <dia:connection handle="1" to="O4" connection="1"/>
      </dia:connections>
    </dia:object>
    <dia:object type="UML - Class" version="0" id="O7">
      <dia:attribute name="obj_pos">
        <dia:point val="10,-7"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="9.95,-7.05;26.3932,-4.15"/>
      </dia:attribute>
      <dia:attribute name="elem_corner">
        <dia:point val="10,-7"/>
      </dia:attribute>
      <dia:attribute name="elem_width">
        <dia:real val="16.3432"/>
      </dia:attribute>
      <dia:attribute name="elem_height">
        <dia:real val="2.8"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string>#File_Access#</dia:string>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <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="foreground_color">
        <dia:color val="#000000"/>
      </dia:attribute>
      <dia:attribute name="background_color">
        <dia:color val="#ffffff"/>
      </dia:attribute>
      <dia:attribute name="normal_font">
        <dia:font name="Courier"/>
      </dia:attribute>
      <dia:attribute name="abstract_font">
        <dia:font name="Courier-Oblique"/>
      </dia:attribute>
      <dia:attribute name="classname_font">
        <dia:font name="Helvetica-Bold"/>
      </dia:attribute>
      <dia:attribute name="abstract_classname_font">
        <dia:font name="Helvetica-BoldOblique"/>
      </dia:attribute>
      <dia:attribute name="font_height">
        <dia:real val="0.8"/>
      </dia:attribute>
      <dia:attribute name="abstract_font_height">
        <dia:real val="0.8"/>
      </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="attributes"/>
      <dia:attribute name="operations">
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#open#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#Fl_IO#</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="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>#url#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#const char *#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <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 - Dependency" version="0" id="O8">
      <dia:attribute name="obj_pos">
        <dia:point val="18.1716,-7"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="-8.2152,-9.8;18.2216,-6.55"/>
      </dia:attribute>
      <dia:attribute name="orth_points">
        <dia:point val="18.1716,-7"/>
        <dia:point val="18.1716,-9"/>
        <dia:point val="-7.7652,-9"/>
        <dia:point val="-7.7652,-7"/>
      </dia:attribute>
      <dia:attribute name="orth_orient">
        <dia:enum val="1"/>
        <dia:enum val="0"/>
        <dia:enum val="1"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="draw_arrow">
        <dia:boolean val="true"/>
      </dia:attribute>
      <dia:connections>
        <dia:connection handle="0" to="O7" connection="1"/>
        <dia:connection handle="1" to="O0" connection="1"/>
      </dia:connections>
    </dia:object>
    <dia:object type="UML - Note" version="0" id="O9">
      <dia:attribute name="obj_pos">
        <dia:point val="9,-2"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="8.95,-2.05;29.882,6.15"/>
      </dia:attribute>
      <dia:attribute name="elem_corner">
        <dia:point val="9,-2"/>
      </dia:attribute>
      <dia:attribute name="elem_width">
        <dia:real val="20.832"/>
      </dia:attribute>
      <dia:attribute name="elem_height">
        <dia:real val="8.1"/>
      </dia:attribute>
      <dia:attribute name="text">
        <dia:composite type="text">
          <dia:attribute name="string">
            <dia:string>#The File_Access class (singleton)
would be used to open a resource.
Depending on the file type and 
location type, it would return a 
correct Fl_IO.
Location types: file, http://, ftp://,
zip, etc.
for example one could open a file in a
zip archive#</dia:string>
          </dia:attribute>
          <dia:attribute name="font">
            <dia:font name="Courier"/>
          </dia:attribute>
          <dia:attribute name="height">
            <dia:real val="0.8"/>
          </dia:attribute>
          <dia:attribute name="pos">
            <dia:point val="9.35,-0.75531"/>
          </dia:attribute>
          <dia:attribute name="color">
            <dia:color val="#000000"/>
          </dia:attribute>
          <dia:attribute name="alignment">
            <dia:enum val="0"/>
          </dia:attribute>
        </dia:composite>
      </dia:attribute>
    </dia:object>
    <dia:object type="Standard - Line" version="0" id="O10">
      <dia:attribute name="obj_pos">
        <dia:point val="18.1716,-4.2"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="18.1035,-4.26814;19.4841,-1.93186"/>
      </dia:attribute>
      <dia:attribute name="conn_endpoints">
        <dia:point val="18.1716,-4.2"/>
        <dia:point val="19.416,-2"/>
      </dia:attribute>
      <dia:attribute name="numcp">
        <dia:int val="1"/>
      </dia:attribute>
      <dia:connections>
        <dia:connection handle="0" to="O7" connection="6"/>
        <dia:connection handle="1" to="O9" connection="1"/>
      </dia:connections>
    </dia:object>
    <dia:object type="UML - Class" version="0" id="O11">
      <dia:attribute name="obj_pos">
        <dia:point val="-25,-18"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="-25.05,-18.05;9.8732,-11.15"/>
      </dia:attribute>
      <dia:attribute name="elem_corner">
        <dia:point val="-25,-18"/>
      </dia:attribute>
      <dia:attribute name="elem_width">
        <dia:real val="34.8232"/>
      </dia:attribute>
      <dia:attribute name="elem_height">
        <dia:real val="6.8"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string>#Fl_Directory_IO#</dia:string>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <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="foreground_color">
        <dia:color val="#000000"/>
      </dia:attribute>
      <dia:attribute name="background_color">
        <dia:color val="#ffffff"/>
      </dia:attribute>
      <dia:attribute name="normal_font">
        <dia:font name="Courier"/>
      </dia:attribute>
      <dia:attribute name="abstract_font">
        <dia:font name="Courier-Oblique"/>
      </dia:attribute>
      <dia:attribute name="classname_font">
        <dia:font name="Helvetica-Bold"/>
      </dia:attribute>
      <dia:attribute name="abstract_classname_font">
        <dia:font name="Helvetica-BoldOblique"/>
      </dia:attribute>
      <dia:attribute name="font_height">
        <dia:real val="0.8"/>
      </dia:attribute>
      <dia:attribute name="abstract_font_height">
        <dia:real val="0.8"/>
      </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="attributes"/>
      <dia:attribute name="operations">
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#Fl_Directory_IO#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <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="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>#path#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#const char *#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string/>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
          </dia:attribute>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#goto_first#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#int#</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="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>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#next#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#int#</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="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>#???#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>##</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string/>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
          </dia:attribute>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#find#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#int#</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="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>#???#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>##</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string/>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
          </dia:attribute>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#open_sub_directory#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#Fl_Directory_IO#</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="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>#name#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#const char *#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string/>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
          </dia:attribute>
        </dia:composite>
        <dia:composite type="umloperation">
          <dia:attribute name="name">
            <dia:string>#open_file#</dia:string>
          </dia:attribute>
          <dia:attribute name="stereotype">
            <dia:string/>
          </dia:attribute>
          <dia:attribute name="type">
            <dia:string>#Fl_File_IO#</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="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>#name#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#const char *#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string/>
              </dia:attribute>
              <dia:attribute name="kind">
                <dia:enum val="0"/>
              </dia:attribute>
            </dia:composite>
            <dia:composite type="umlparameter">
              <dia:attribute name="name">
                <dia:string>#mode#</dia:string>
              </dia:attribute>
              <dia:attribute name="type">
                <dia:string>#int#</dia:string>
              </dia:attribute>
              <dia:attribute name="value">
                <dia:string>#Fl_File_IO::RW#</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 - Dependency" version="0" id="O12">
      <dia:attribute name="obj_pos">
        <dia:point val="18.1716,-7"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="-8.0384,-11.65;18.2216,-6.95"/>
      </dia:attribute>
      <dia:attribute name="orth_points">
        <dia:point val="18.1716,-7"/>
        <dia:point val="18.1716,-9"/>
        <dia:point val="-7.5884,-9"/>
        <dia:point val="-7.5884,-11.2"/>
      </dia:attribute>
      <dia:attribute name="orth_orient">
        <dia:enum val="1"/>
        <dia:enum val="0"/>
        <dia:enum val="1"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="draw_arrow">
        <dia:boolean val="true"/>
      </dia:attribute>
      <dia:connections>
        <dia:connection handle="0" to="O7" connection="1"/>
        <dia:connection handle="1" to="O11" connection="6"/>
      </dia:connections>
    </dia:object>
    <dia:object type="UML - Class" version="0" id="O13">
      <dia:attribute name="obj_pos">
        <dia:point val="-11,-24"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="-11.05,-24.05;-4.531,-21.75"/>
      </dia:attribute>
      <dia:attribute name="elem_corner">
        <dia:point val="-11,-24"/>
      </dia:attribute>
      <dia:attribute name="elem_width">
        <dia:real val="6.419"/>
      </dia:attribute>
      <dia:attribute name="elem_height">
        <dia:real val="2.2"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string>#Fl_Zip_IO#</dia:string>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <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="foreground_color">
        <dia:color val="#000000"/>
      </dia:attribute>
      <dia:attribute name="background_color">
        <dia:color val="#ffffff"/>
      </dia:attribute>
      <dia:attribute name="normal_font">
        <dia:font name="Courier"/>
      </dia:attribute>
      <dia:attribute name="abstract_font">
        <dia:font name="Courier-Oblique"/>
      </dia:attribute>
      <dia:attribute name="classname_font">
        <dia:font name="Helvetica-Bold"/>
      </dia:attribute>
      <dia:attribute name="abstract_classname_font">
        <dia:font name="Helvetica-BoldOblique"/>
      </dia:attribute>
      <dia:attribute name="font_height">
        <dia:real val="0.8"/>
      </dia:attribute>
      <dia:attribute name="abstract_font_height">
        <dia:real val="0.8"/>
      </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="attributes"/>
      <dia:attribute name="operations"/>
      <dia:attribute name="template">
        <dia:boolean val="false"/>
      </dia:attribute>
      <dia:attribute name="templates"/>
    </dia:object>
    <dia:object type="UML - Generalization" version="0" id="O14">
      <dia:attribute name="obj_pos">
        <dia:point val="-7.5884,-18"/>
      </dia:attribute>
      <dia:attribute name="obj_bb">
        <dia:rectangle val="-8.4384,-21.85;-6.7384,-17.95"/>
      </dia:attribute>
      <dia:attribute name="orth_points">
        <dia:point val="-7.5884,-18"/>
        <dia:point val="-7.5884,-20"/>
        <dia:point val="-7.7905,-20"/>
        <dia:point val="-7.7905,-21.8"/>
      </dia:attribute>
      <dia:attribute name="orth_orient">
        <dia:enum val="1"/>
        <dia:enum val="0"/>
        <dia:enum val="1"/>
      </dia:attribute>
      <dia:attribute name="name">
        <dia:string/>
      </dia:attribute>
      <dia:attribute name="stereotype">
        <dia:string/>
      </dia:attribute>
      <dia:connections>
        <dia:connection handle="0" to="O11" connection="1"/>
        <dia:connection handle="1" to="O13" connection="6"/>
      </dia:connections>
    </dia:object>
  </dia:layer>
</dia:diagram>
