<?xml version = "1.0" encoding = "ISO-8859-1" ?>
<!--

    Licensed to the Apache Software Foundation (ASF) under one
    or more contributor license agreements.  See the NOTICE file
    distributed with this work for additional information
    regarding copyright ownership.  The ASF licenses this file
    to you under the Apache License, Version 2.0 (the
    "License"); you may not use this file except in compliance
    with the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing,
    software distributed under the License is distributed on an
    "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
    KIND, either express or implied.  See the License for the
    specific language governing permissions and limitations
    under the License.

-->
<!DOCTYPE argo SYSTEM "argo.dtd" >
<argo>
  <documentation>
    <authorname></authorname>
    <version></version>
    <description>
      
    </description>
  </documentation>
  
  <searchpath href="PROJECT_DIR" />
  <member
    type="pgml"
    name="node_API_API_classdiagram3.pgml"
  />
  <member
    type="pgml"
    name="node_API_API_usecasediagram3.pgml"
  />
  <member
    type="xmi"
    name="node_API.xmi"
  />
  <member
    type="pgml"
    name="node_API_API_classdiagram4.pgml"
  />
  <member
    type="pgml"
    name="node_API_API_classdiagram5.pgml"
  />
  <member
    type="pgml"
    name="classdiagram6.pgml"
  />
  <member
    type="pgml"
    name="classdiagram7.pgml"
  />
  <member
    type="pgml"
    name="classdiagram8.pgml"
  />
  <historyfile name="" />
  <stats>
    <stat name="clicksInToDoPane"
         value="0" />
    <stat name="dblClicksInToDoPane"
         value="0" />
    <stat name="longestToDoList"
         value="187" />
    <stat name="longestAdd"
         value="0" />
    <stat name="longestHot"
         value="0" />
    <stat name="numCriticsFired"
         value="32877" />
    <stat name="numNotValid"
         value="4" />
    <stat name="numCriticsApplied"
         value="0" />
    <stat name="toDoPerspectivesChanged"
         value="0" />
    <stat name="navPerspectivesChanged"
         value="0" />
    <stat name="clicksInNavPane"
         value="0" />
    <stat name="numFinds"
         value="0" />
    <stat name="numJumpToRelated"
         value="0" />
    <stat name="numDecisionModel"
         value="0" />
    <stat name="numGoalsModel"
         value="0" />
    <stat name="numCriticBrowser"
         value="0" />
    <stat name="numNavConfig"
         value="0" />
    <stat name="numHushes"
         value="0" />
    <stat name="numChecks"
         value="0" />
    <stat name="Num_Button_Clicks"
         value="0" />
    <stat name="Drags_To_New"
         value="0" />
    <stat name="Drags_To_Existing"
         value="0" />
  </stats>
</argo>
