<!--
        DTD for parsing the following Edgar Forms; 
        144:   Notice of Proposed Sale of Securities Pursuant to Rule 
               144 Under the Securities Act of 1933
          3:   Initial Statement of Beneficial Ownership of Securities
          4:   Statement of Changes in Beneficial Ownership
          5:   Annual Statement of Changes in Beneficial Ownership

        Usage of cross-referencing comment tags:

        Format = Matches Form Number X; General Section Number.Question Number
                         (Sub-Question Letter) - Text Description of Question
                 (Repeatable on subsequent lines if element matches multiple 
                 questions)
                       
                 In general, text desciptions reproduce all or part of the 
                 question as given on the EDGAR form. Truncations in the 
                 question are represented by the use of elipses ( ... ).

        Key:
            1 = Header area (general information on individuals and 
                companies involved and the transaction being reported)
            
            I = Table I 
                (Form: 3 - Non-Derivative Securities Beneficially Owned 
                       4 - Non-Derivative Securities Beneficially Owned 
                       5 - Non-Derivative Securities Beneficially Owned 
                     144 - Securities to be Sold
                 )

            II = Table II 
                 (Form: 3 - Derivative Securities Beneficially Owned
                        4 - Derivative Securities Beneficially Owned
                        5 - Derivative Securities Beneficially Owned
                      144 - Securities Sold During the Past Three Months
                  )

            2 = Footer area (Signature, Date, Remarks)
-->
<!-- 
        Parameter Entity Declarations 
        
        DTD Data Types:
        
        entity       description
        ======       ===========
        MONTH        The month of the year, e.g., "January"  
        DAY          The day of the month, e.g., "1"
        YEAR         A four-digit year, e.g., "1999"
        
        CURRENCY     currency types we support, e.g., USD, YEN, FF, etc.

        dollarAmount A real number
        
        personName   Character data
-->

<!ENTITY % DAY   "CDATA">
<!ENTITY % MONTH "CDATA">
<!ENTITY % YEAR  "CDATA">

<!ENTITY % CURRENCY 
" AUD | ATS | BEF | CAD | CHF | CNY | DEM |
  DKK | ESP | EUR | FIM | FRF | GBP | GRD |
  HKD | INR | ITL | JPY | MXP | NLG | NOK |
  PTE | RUR | SGD | SEK | USD " >

<!ENTITY % dollarAmount "CDATA">

<!ENTITY % personName "CDATA">


<!--
        Top Level Element Declaration
-->
<!ELEMENT beneficial.1  (header.b1, nonDerivative*, derivative*,
                         (securitiesToBeSold, securitiesSold)*, footer?) >

<!-- 
        Matches 4;1.0 - Check box if no longer subject to section 16
                5;1.0 - Check box if no longer subject to section 16
                5;1.0 - Form 3 Holdings Reported
                5;1.0 - Form 4 Transactions Reported
-->
<!ATTLIST beneficial.1
          amendment                  (Y|N)  'N'
          notSubjectToSection16      (Y|N)  'N'
          form3HoldingsReported      (Y|N)  'N'
          form4TransactionsReported  (Y|N)  'N' >

<!--
        Matches all;section 1 - Header 
-->
<!ELEMENT header.b1  (issuer.b1, (filer|seller), eventDate?, originalDate?,
                   (securityTitle,  broker?, numberShares?, marketValue?,
                    numberOutstanding?, saleDate?, securitiesExchange?)* )? >

<!ELEMENT issuer.b1     (irs-id?, filedBy?, fileNumber?, address?) >
<!ATTLIST issuer.b1
          name       CDATA  #IMPLIED
          symbol     CDATA  #IMPLIED >

<!--
        Matches 144:1.1(b) - IRS Ident. No
                3:4:5;1.3  - IRS Identification Number
-->
<!ELEMENT irs-id  (#PCDATA )>

<!--
        Matches 3;1.7 - Individual or Joint/Group Filing 
                4;1.7 - Individual or Joint/Group Filing 
                5;1.7 - Individual or Joint/Group Filing 
-->
<!ELEMENT filedBy  EMPTY >
<!ATTLIST filedBy
          type     (individual | group) 'individual' >

<!--
        Matches 144;1.1(c) - SEC File Number
-->
<!ELEMENT fileNumber  (#PCDATA) >

<!--
         Matches 144;1.1(d) - Address of Issuer
                 144;1.2(d) - Address (of Seller)
                 144;1.3(b) - ...Address of Each Broker
                 3:4:5;1.1  - ... Address of Reporting Person
 -->
<!-- Already declared in edgardoc.dtd -->
<!--
<!ELEMENT address (postal, phone?) >

<!ELEMENT postal  (street+, (city|region|code|country)*) >
<!ELEMENT street  (#PCDATA) >
<!ELEMENT city    (#PCDATA) >
<!ELEMENT region  (#PCDATA) >
<!ELEMENT code    (#PCDATA) >
<!ELEMENT country (#PCDATA) >
-->
<!--
        Matches 144;1.1(e) - Telephone number
-->
<!--
<!ELEMENT phone EMPTY >
<!ATTLIST phone  area   CDATA  #IMPLIED
                 number CDATA  #IMPLIED >
-->

<!--
        Matches 3;1.1 - Name ... of Reporting Person
                4;1.1 - Name ... of Reporting Person
                5;1.1 - Name ... of Reporting Person
-->
<!ELEMENT filer      (irs-id?, relationshipToIssuer?, address?) >
<!ATTLIST filer
          lastName   %personName;  #REQUIRED
          firstName  %personName;  #REQUIRED
          middleName %personName;  #IMPLIED
          fullName   %personName;  #REQUIRED >

<!--
        Matches 144;1.1(c) - Relationship to Issuer 
                3;1.5      - Relationship to Issuer
                4;1.6      - Relationship to Issuer
                5;1.6      - Relationship to Issuer
-->
<!ELEMENT relationshipToIssuer EMPTY>
<!ATTLIST relationshipToIssuer
          addendum             CDATA     #IMPLIED
          director             (Y | N )  'N'
          officer              (Y | N )  'N'
          owner                (Y | N )  'N'
          other                (Y | N )  'N'
          footnote             IDREF     #IMPLIED >

<!--
        Matches 144;1.1(a) - Name of Issuer
                3;1.4      - Issuer Name and Ticker or Tracking Symbol 
                4;1.2      - Issuer Name and Ticker or Tracking Symbol 
                5;1.2      - Issuer Name and Ticker or Tracking Symbol 
-->
<!-- 
        Matches 144;1.2(a) - Name of Person for Whose Account the Securities 
                             are to be Sold
                144;II.1 - Name ... of Seller
-->
<!ELEMENT seller      (irs-id?, relationshipToIssuer?, address?) >
<!ATTLIST seller
          lastName    %personName;   #REQUIRED
          firstName   %personName;   #REQUIRED
          middleName  %personName;   #IMPLIED
          fullName    %personName;   #REQUIRED >

<!--
        Matches 3;1.2 - Date of Event Requiring Statement
                4;1.4 - Statement for Month/Date
                5;1.4 - Statement for Month/Date
-->
<!ELEMENT eventDate EMPTY>
<!ATTLIST eventDate
          day       %DAY;    #IMPLIED
          month     %MONTH;  #REQUIRED
          year      %YEAR;   #REQUIRED >

<!--
        Matches 3;1.6 - If Amendment, Date of Original 
                4;1.5 - If Amendment, Date of Original 
                5;1.5 - If Amendment, Date of Original 
-->
<!ELEMENT originalDate EMPTY>
<!ATTLIST originalDate
          day          %DAY;    #IMPLIED
          month        %MONTH;  #REQUIRED
          year         %YEAR;   #REQUIRED >

<!--
        Matches 144;1.3(a) - Title of the Class of Securities to be Sold
                3;I.1      - Title of Security
                4;I.1      - Title of Security
                5;I.1      - Title of Security
                3;II.1     - Title of Derivative Security
                4;II.1     - Title of Derivative Security
                5;II.1     - Title of Derivative Security
-->
<!ELEMENT securityTitle (#PCDATA) >
<!ATTLIST securityTitle
          footnote      IDREF  #IMPLIED >

<!--
        Matches 144; 1.2(b) - Name ... of Each Broker
-->
<!ELEMENT broker       (brokerNumber?, address?) >
<!ATTLIST broker
          lastName     %personName;    #REQUIRED
          firstName    %personName;    #REQUIRED
          middleName   %personName;    #IMPLIED
          fullName     %personName;    #REQUIRED >

<!-- 
        Matches 144;3(SEC USE ONLY) - Broker-Dealer File Number        
-->
<!ELEMENT brokerNumber  (#PCDATA) >

<!--
        Matches 144;3(c) - Number of Shares or other Units to be sold
-->
<!ELEMENT numberShares  (#PCDATA) >

<!--
        Matches 144;3(d) - Aggregate Market Value (incl. date)
-->
<!ELEMENT marketValue (marketDate) >
<!ATTLIST marketValue
          currency    (%CURRENCY;)   'USD'
          value       %dollarAmount; #REQUIRED >

<!ELEMENT marketDate  EMPTY >
<!ATTLIST marketDate
          day         %DAY;           #IMPLIED
          month       %MONTH;         #REQUIRED
          year        %YEAR;          #REQUIRED >

<!--
        Matches 144;3(e) - Number of Shares or other Units Outstanding
-->
<!ELEMENT numberOutstanding  (#PCDATA) >

<!--
        Matches 144;3(f) - Approximate date of Sale
                144;II.(3) - Date of Sale
-->
<!ELEMENT saleDate EMPTY >
<!ATTLIST saleDate
          day      %DAY;    #IMPLIED
          month    %MONTH;  #REQUIRED
          year     %YEAR;   #REQUIRED >

<!--
        Matches 144;3(g) - Name of each Securities Exchange
-->
<!ELEMENT securitiesExchange (#PCDATA) >
<!ATTLIST securitiesExchange
          footnote           IDREF  #IMPLIED >

<!--
        Matches 3;section I - Table I (Non-Derivative Securities)
                4;section I - Table I (Non-Derivative Securities)
                5;section I - Table I (Non-Derivative Securities)
-->
<!ELEMENT nonDerivative  ((securityTitle, ownership, natureOfOwnership?),
                          (amountOwned?, transactionDate?, transactionCode?,
                           acquireDispose?, amountOwnedEOY?,
                           amountOwnedEOM?)? )* >

<!--
        Matches 3;I.2 - Amount of Securities Beneficially Owned 
-->
<!ELEMENT amountOwned  (#PCDATA) >

<!--
        Matches 3;I.3 - Ownership Form: Direct or Indirect 
                4;I.6 - Ownership Form: Direct or Indirect 
                5;I.6 - Ownership Form: Direct or Indirect 
-->
<!ELEMENT ownership EMPTY >
<!ATTLIST ownership
          form      (D | I) 'D' >

<!--
        Matches 3;I.4   - Nature of Indirect Beneficial Ownership 
                4;I.7   - Nature of Indirect Beneficial Ownership 
                5;I.7   - Nature of Indirect Beneficial Ownership 
                3;II.6  - Nature of Indirect Beneficial Ownership 
                4;II.11 - Nature of Indirect Beneficial Ownership 
                5;II.11 - Nature of Indirect Beneficial Ownership 
-->
<!ELEMENT natureOfOwnership  (#PCDATA) >

<!--
        Matches 4;I.2 - Transaction Date 
                5;I.2 - Transaction Date
                4;I.3 - Transaction Date
                5;I.3 - Transaction Date
-->
<!ELEMENT transactionDate EMPTY >
<!ATTLIST transactionDate
          day   %DAY;     #IMPLIED
          month %MONTH;   #REQUIRED
          year  %YEAR;    #REQUIRED >
<!--
        Matches 4;I.3 - Transaction Code
                5;I.3 - Transaction Code 
-->
<!ELEMENT transactionCode EMPTY >
<!ATTLIST transactionCode
          code            CDATA  #IMPLIED
          v.code          CDATA  #IMPLIED >

<!--
        Matches 4;I.4  - Securities Acquired or Disposed of 
                5;I.4  - Securities Acquired or Disposed of 
                4;II.5 - Number of Derivative Securities Acquired or 
                          Disposed of
                5;II.5 - Number of Derivative Securities Acquired or 
                          Disposed of
-->
<!ELEMENT acquireDispose      EMPTY >
<!ATTLIST acquireDispose
          amount              CDATA        #IMPLIED
          price               CDATA        #IMPLIED
          acquiredOrDisposed  (A | D | NA) 'NA'
          securitiesAcquired  CDATA        ''
          securitiesDisposed  CDATA        ''
          footnote            IDREF        #IMPLIED >

<!--
        Matches 4;I.5  - Amount of Securities Beneficially Owned at End of
                          Month 
                4;II.9 - Number of Derivative Securities Beneficially Owned at 
                          End of Month 
-->
<!ELEMENT amountOwnedEOM  (#PCDATA) >
<!ATTLIST amountOwnedEOM
          footnote        IDREF  #IMPLIED >

<!--
        Matches 5;I.5  - Amount of Securities Beneficially Owned at End of 
                          Issuer's Fiscal Year 
                5;II.9 - Number of Derivative Securities Beneficially Owned at 
                          End of Year 
-->
<!ELEMENT amountOwnedEOY  (#PCDATA) >
<!ATTLIST amountOwnedEOY
          footnote        IDREF  #IMPLIED >

<!--
        Matches 3;II - Derivative Securities...
                4;II - Derivative Securities...
                5;II - Derivative Securities...
-->
<!ELEMENT derivative  ((securityTitle, exercisableDate?, expirationDate?,
                        underlyingSecurity, price?, ownership?,
                        natureOfOwnership?), ((amountOwnedEOM|amountOwnedEOY),
                        transactionDate, transactionCode, acquireDispose)?)? >

<!-- 
        Matches 3;II.2 - Date Exercisable...
                4;II.6 - Date Exercisable...
                5;II.6 - Date Exercisable...
-->
<!ELEMENT exercisableDate EMPTY>
<!ATTLIST exercisableDate
          day   %DAY;     #IMPLIED
          month %MONTH;   #REQUIRED
          year  %YEAR;    #REQUIRED >
<!--                           
        Matches 3;II.2 - ...Expiration Date
                4;II.6 - ...Expiration Date
                5;II.6 - ...Expiration Date
-->
<!ELEMENT expirationDate EMPTY>
<!ATTLIST expirationDate
          day   %DAY;    #IMPLIED
          month %MONTH;  #REQUIRED
          year  %YEAR;   #REQUIRED >
<!--
        Matches 3;II.3 - Title and Amount of Underlying Securities 
                4;II.7 - Title and Amount of Underlying Securities 
                5;II.7 - Title and Amount of Underlying Securities 
-->
<!ELEMENT underlyingSecurity  (amount)? >
<!ATTLIST underlyingSecurity
          securityTitle       CDATA  #IMPLIED
          footnote            IDREF  #IMPLIED >


<!--
        Matches 4;II.8 - Price of Derivative Security 
                5;II.8 - Price of Derivative Security 
-->
<!ELEMENT price       EMPTY >
<!ATTLIST price
          dollarValue %dollarAmount;  #REQUIRED >

<!--
        Matches 144;I.0 - Securities to be Sold
-->
<!ELEMENT securitiesToBeSold (securityTitle, acquiredDate, natureOfAcquisition,
                              acquiredFrom, amount, paymentDate, paymentNature) >

<!--
        Matches 144;I.2 - Date You Acquired
-->
<!ELEMENT acquiredDate   EMPTY>
<!ATTLIST acquiredDate
          day   %DAY;    #IMPLIED
          month %MONTH;  #REQUIRED
          year  %YEAR;   #REQUIRED >
                        
<!--
        Matches 144;I.3 - Nature of Acquisition Transaction
-->
<!ELEMENT natureOfAcquisition  (#PCDATA )>

<!--
        Matches 144;I.4 - Name of Person from whom acquired (If a gift, also 
                           give date donor acquired)
-->
<!ELEMENT acquiredFrom (#PCDATA) >
<!--
        Matches 144;I.5 - Amount of Securities Acquired
                144;II.3 - Amount of Securities Sold
-->
<!ELEMENT amount  (#PCDATA) >

<!--
        Matches 144;I.6 - Date of Payment
-->
<!ELEMENT paymentDate    EMPTY >
<!ATTLIST paymentDate
          day   %DAY;    #IMPLIED
          month %MONTH;  #REQUIRED
          year  %YEAR;   #REQUIRED >

<!--
        Matches 144;I.7 - Nature of Payment
-->
<!ELEMENT paymentNature  (#PCDATA) >
<!ATTLIST paymentNature
          footnote       IDREF  #IMPLIED >

<!--
        Matches 144;II.0 - Securities Sold During the Past Three Months
-->
<!ELEMENT securitiesSold  (seller, securityTitle, saleDate?, amount?, gross?) >

<!--
        Matches 144;II.5 - Gross Proceeds
-->
<!ELEMENT gross       (#PCDATA) >
<!ATTLIST gross
          dollarValue %dollarAmount;  #REQUIRED >

<!--
        Matches 144;2.0 - Remarks, Date of Notice, Signature
                      3 - Explanation of Responses, Signature of Reporting 
                          Person, Date
                      4 - Explanation of Responses, Signature of Reporting 
                          Person, Date
                      5 - Explanation of Responses, Signature of Reporting 
                          Person, Date
-->
<!ELEMENT footer         (signature*, signatureDate*, footnotes*, filer?) >

<!ELEMENT signature      (#PCDATA) >

<!ELEMENT signatureDate EMPTY>
<!ATTLIST signatureDate
          day   %DAY;    #IMPLIED
          month %MONTH;  #REQUIRED
          year  %YEAR;   #REQUIRED >

<!ELEMENT footnotes      (#PCDATA) >
<!ATTLIST footnotes
          footnoteAnchor ID  #IMPLIED >


