<?xml version="1.0" encoding="utf-8"?>
<ClassDiagram MajorVersion="1" MinorVersion="1">
  <Comment CommentText="Stream Decorator for sector chains">
    <Position X="0.542" Y="4.292" Height="0.344" Width="2.085" />
  </Comment>
  <Comment CommentText="Concrete directory entry implementation, not exposed to the API">
    <Position X="6.75" Y="3.75" Height="0.455" Width="2.294" />
  </Comment>
  <Comment CommentText="Implements bridge pattern for directory entries used in the API">
    <Position X="3.281" Y="4.89" Height="0.385" Width="1.93" />
  </Comment>
  <Comment CommentText="Compound file header">
    <Position X="4.886" Y="0.865" Height="0.281" Width="1.387" />
  </Comment>
  <Comment CommentText="Internal interface, not exposed to API">
    <Position X="3.802" Y="3.042" Height="0.42" Width="1.44" />
  </Comment>
  <Comment CommentText="Heap-safe (see comments) sector collection">
    <Position X="4.917" Y="1.886" Height="0.271" Width="2.512" />
  </Comment>
  <Class Name="OpenMcdf.Header" Collapsed="true">
    <Position X="4.5" Y="0.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>gAAEAAAQIBQIAgEUgEIBYgDg0GEAwUAAABAAAAGQgCA=</HashCode>
      <FileName>Header.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="OpenMcdf.CFStorage" Collapsed="true">
    <Position X="3.75" Y="6" Width="1.5" />
    <Compartments>
      <Compartment Name="Properties" Collapsed="true" />
      <Compartment Name="Methods" Collapsed="true" />
      <Compartment Name="Fields" Collapsed="true" />
    </Compartments>
    <TypeIdentifier>
      <HashCode>AAAAAAAAAAAAAEYAAAQEIBAAAAEABAAAAAACAAAAAAA=</HashCode>
      <FileName>CFStorage.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="OpenMcdf.StreamView" Collapsed="true">
    <Position X="1" Y="3.75" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAACAAAAQAAgGkoAIABgAAAAAAQACAAAAAGIACA=</HashCode>
      <FileName>StreamView.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="OpenMcdf.DirectoryEntry" Collapsed="true">
    <Position X="7.25" Y="3.25" Width="1.5" />
    <TypeIdentifier>
      <HashCode>QIQAwEAAkAAAgMQAgIDAgAQkEADAAKwgAAAsIAHEAAA=</HashCode>
      <FileName>DirectoryEntry.cs</FileName>
    </TypeIdentifier>
    <Lollipop Position="0.19" />
  </Class>
  <Class Name="OpenMcdf.CompoundFile" Collapsed="true" BaseTypeListCollapsed="true">
    <Position X="1" Y="0.5" Width="1.5" />
    <AssociationLine Name="sectors" Type="OpenMcdf.SectorCollection">
      <MemberNameLabel ManuallyPlaced="true">
        <Position X="0.966" Y="0.12" />
      </MemberNameLabel>
    </AssociationLine>
    <AssociationLine Name="header" Type="OpenMcdf.Header">
      <MemberNameLabel ManuallyPlaced="true">
        <Position X="0.997" Y="0.11" />
      </MemberNameLabel>
    </AssociationLine>
    <AssociationLine Name="directoryEntries" Type="OpenMcdf.IDirectoryEntry" ManuallyRouted="true">
      <Path>
        <Point X="1.75" Y="1.009" />
        <Point X="1.75" Y="2.815" />
        <Point X="4.75" Y="2.815" />
      </Path>
      <MemberNameLabel ManuallyPlaced="true">
        <Position X="0.828" Y="-0.065" />
      </MemberNameLabel>
    </AssociationLine>
    <TypeIdentifier>
      <HashCode>oTUGgNQVUmMEQBB0AARISKAAEAMEAmRARs0BQeeQFCg=</HashCode>
      <FileName>CompoundFile.cs</FileName>
    </TypeIdentifier>
    <ShowAsAssociation>
      <Field Name="sectors" />
      <Field Name="header" />
    </ShowAsAssociation>
    <ShowAsCollectionAssociation>
      <Field Name="directoryEntries" />
    </ShowAsCollectionAssociation>
    <Lollipop Position="0.2" Collapsed="true" />
  </Class>
  <Class Name="OpenMcdf.CFItem" Collapsed="true">
    <Position X="4.75" Y="4.5" Width="1.5" />
    <Compartments>
      <Compartment Name="Methods" Collapsed="true" />
    </Compartments>
    <AssociationLine Name="DirEntry" Type="OpenMcdf.IDirectoryEntry" FixedToPoint="true">
      <Path>
        <Point X="5.5" Y="4.5" />
        <Point X="5.5" Y="3.13" />
      </Path>
      <MemberNameLabel ManuallyPlaced="true">
        <Position X="-0.807" Y="0.539" />
      </MemberNameLabel>
    </AssociationLine>
    <TypeIdentifier>
      <HashCode>QAAEAAAABAAAgAUggAAAgAQAAAAAAIAAAQACCAAAAiQ=</HashCode>
      <FileName>CFItem.cs</FileName>
    </TypeIdentifier>
    <ShowAsAssociation>
      <Property Name="DirEntry" />
    </ShowAsAssociation>
    <Lollipop Position="0.292" />
  </Class>
  <Class Name="OpenMcdf.CFStream" Collapsed="true">
    <Position X="6" Y="6" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AAAAAAABEAAAACAEAAAAAAAAAAAAAAAAAAAAAAAAAAA=</HashCode>
      <FileName>CFStream.cs</FileName>
    </TypeIdentifier>
  </Class>
  <Class Name="OpenMcdf.SectorCollection" Collapsed="true">
    <Position X="4.5" Y="1.5" Width="1.5" />
    <TypeIdentifier>
      <HashCode>AGIAAEAAAAAAABAQDAAABAQAAAQAAAQAGEAAggBSIAA=</HashCode>
      <FileName>SectorCollection.cs</FileName>
    </TypeIdentifier>
    <Lollipop Position="0.2" />
  </Class>
  <Interface Name="OpenMcdf.IDirectoryEntry" Collapsed="true">
    <Position X="4.75" Y="2.5" Width="1.5" />
    <Compartments>
      <Compartment Name="Properties" Collapsed="true" />
      <Compartment Name="Methods" Collapsed="true" />
    </Compartments>
    <TypeIdentifier>
      <HashCode>QAAAQAAAEAAAgMAAAAAAgAQkAAAAACwAAAAAIAHEAAA=</HashCode>
      <FileName>IDirectoryEntry.cs</FileName>
    </TypeIdentifier>
  </Interface>
  <Font Name="Tahoma" Size="8.25" />
</ClassDiagram>