MZ��������������������@������������������������������������������	�!�L�!This program cannot be run in DOS mode.

$�������PE��L�J��J����������!����� ���������� �������@�� ��������������������@�����������������������������������������O������������������������� ��������������������������������������������������� ������������� ��H�����������.text������ �������������������� ��`.rsrc��������������������������@��@.reloc������ �������������������@��B�������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������H��������� ;����������@��rg�����������������������������������������0��������s��
}	��r��p(��
o��
*���0������(��
t��o��
+�*���0������(��
t��o��
+�*���0������(��
t��o��
+�*���0������(��
t��o��
+�*���0������(��
t��o��
+�*���0�
�����r��p
+�*��0��������s��(��
*0�*����
r
��p(��
(��
r-��p(��
r��p(��
}��(��
o��
o��
r7��p{��rW��p(��
(��
(��(��
&(��ra��p(��
(��
&(��rs��p(��
(��
&(��r���p(��
(��
&(��r���p(��
(��
&(��r���p(��
(��
&(��r���p(��
(��
&�
r���ps��
z
X
r�p(��
(��
(��

	(��
	s ��
s!��
}��{��o"��
�,o#��
��
	,	($��
�X
rO�p(��
(��{��(��
t��(>��rw�po%��
X
r��p(��
{��r��p(��
X
r��p(��
{��r#�p(��
X
rE�p(��
{��r��p(��r��p(��
{��r��p(��
X
r�p(��
{��rK�p(��r��p(&��
o'��
o(��
+%o)��
t	��o,��		(
��o*��
-��u/��

,
o#��
�r��p(��
{��r�p(��r;�p(&��
o'��


o(��
+o)��
t
��(��o*��
-��u/��,o#��
�drE�p(��
*��@����[����
)���,F�����AT
�����d2�������%����������������������������������������������������������������0������-rW�ps+��
z,38o��o,��
ri�po-��
o.��

o/��
(��o0��
-8@��o6��-8/��{	��o1��
,8��{	��o2��
(��ro�p~3��
o4��
YE���������
������"���+(r��p
+(r��p
+ r��p
+r��p
+r��p
+r��p
+�r��p~3��
	o4��
rw�po%��
r��po'��
o(��

8@��
o)��
t	��o4��9!��r�po,��
r	�po-��
o.��
r�pr��po5��
(6��
r�p�7��(7��
o8��
r=�p(&��
o9��
-'r�p�9��(7��
o8��
r=�p(&��
o9��
,s{��rC�pr_�p(&��
o9��
u6��,r�po.��
(6��
r��po9��
		,'	o,��
r��po-��
o.��
r��pr��po5��
o*��

,
o,��,
(
��
o*��
:�����
u/��,o#��
�{��(��*��A�������S��f���������0�P����-r�ps+��
zri�po:��

o5��(��r#�p~3��
o4��
r��p~3��
r7�po4��
rI�p~3��
rc�po:��
o4��
rw�po%��
rm�po'��
o(��
+Fo)��
t6��
r�p	o.��
(6��
o*��,o,��,(
��o*��
-��u/��,o#��
�o,��
r��po-��
,:r�po.��
(6��
o*��		,	o,��

,	
(
��{��(��*�����S������������������0���������(;��
s<��
}��s<��
}��s<��
}��s<��
}��s<��
}��s<��
}��{��r��p(
��(;��
{��r��p(
��((;��
{��r��p(
��2(;��
{��r�p(
��<(;��
{��r/�p(
��P(;��
{��rK�p(
��d(;��
*0��������{��rW��p(��
(��
o=��
*���0�N�����s>��

ro�p~3��
(��o4��
r��p~3��
(��o4��
r��p~3��
(��o4��
+�*��0�5�����(��(��

(?��
s@��
{��oA��
�
,o#��
�*�������*�
����������������0�������r��p}��r��p}��r��p}��r��p}��r��p}��r��p}��r��p(B��
(C��
r��p���
(D��
(E��
�@���(F��
(G��
r	�p(H��
(I��
(J��
(K��
(L��
(M��
(N��
(O��
(P��
(Q��
(R��
(S��
(T��
*�0������{��
+�*�0��������}��(U��
*��0������{��
+�*�0��������}��(U��
*��0������{��
+�*�0��������}��(U��
*��0������{��
+�*�0��������}��(U��
*��0������{��
+�*�0��������}��(U��
*��0������{��
+�*�0��������}��(U��
*��0������{��
+�*�0��������}��(U��
*��0������s��
}"��(Z��
}#��}$��o��,rW	�p} ��r�	�p}!��+Io[��
E���������+0r
�p} ��rb
�p}!��+rl
�p} ��rb
�p}!��+�("��r�
�po'��

o(��
8���o)��
t
��o,��
ri�po-��
o.��
{"��(7��o\��
r�
�po'��

	o(��
8Z��o)��
t
��o,��
ri�po-��
o.��
r�
�pr�pr�pr$�pr2�prD�p��o]��
%	9��	(^��
		r�
�p.8	r�p.M	r�p.i	r$�p.w	r2�p;����	rD�p;����8����{"��{"��o_��
o\��
8����{"��o,��
rc�po-��
o.��
o\��
+x{"��(4��o\��
+a{"��(<��o\��
+J{"��o,��
rc�po-��
o.��
o\��
+%{"��o,��
rc�po-��
o.��
o\��
+�o*��
:�����u/��

,
o#��
�o*��
:(����u/��,o#��
�*��A4���������m��]�����������������������������0������{ ��
+�*�0������{!��
+�*�0������{#��
+�*�0������{$��
+�*�0������(#��o��
+�*0�R���!��r�po0��
-
r�p(6��
("��rC�pr=�p(&��
o9��

-+o`��
r��poa��
+�*��0����#��ob��
2oc��
:.~3��
8���r�pod��
,r�pr��po5��
ob��
	2,o/��
rP�po0��
:����o/��
r`�po0��
:����
r�pr��p��oe��
%,/(^��
r�p.
r��p.
+(9��
+(8��
+�-~3��
8)��o/��
r��po0��
,*o/��
r��po0��
-(#��o��(6��
8����r��p(6��
8����r��pr�pr��pr��pr��pr��p��oe��
%
9����	(^��

	r��p.*	r�p.L	r��p.s	r��p.s	r��p.k	r��p.c+k( ��o/��
r��pr��po5��
(!��(&��
+I( ��o/��
r��pr��po5��
r��p(!��(f��
+~3��
+(:��+~3��
+�*��0�����$��ob��
/8����oc��
:@����ob��
	2&o/��
rP�po0��
-'o/��
r`�po0��
-{"��o_��

,+[r��pog��
%2Yoe��
+'r��pog��
%2Yoe��
+	o/��
r��poh��
Xo/��
+�*�0������(*��(;��
+�*��0������(*��(7��
+�*��0�w���%��oc��
:3r�po0��
-+Yr�po0��
-
r�p(6��
("��rC�pr=�p(&��
o9��

-("��r��pr=�p(&��
o9��

+�*�0�V���&��oc��
:3r��po0��
-
+8r��po0��
-
r��p(6��
("��r�pr=�p(&��
o9��

+�*��0�;��'��-
8/��oi��
r6�p(j��
,
8��(;��,
8��rN�p�I��(7��
o8��
r=�p(&��
o9��
,4r�p�J��(7��
o8��
r=�p(&��
o9��
,
8����
8����rN�p�K��(7��
o8��
r=�p(&��
o9��
,.r�p�J��(7��
o8��
r=�p(&��
o9��
,
+\
+XrN�p�L��(7��
o8��
r=�p(&��
o9��
,
+.r�p�M��(7��
o8��
r��p(&��
o9��
,
+
+�*�0����'��(*��(,��
+�*��0������(-���
+�*�0������(-���
+�*�0������(-���
+�*�0������(-���
+�*�0������(-���
+�*�0������(?��
(k��

+�*0�$��(��r�p�O��(7��
o8��
r��p(&��
o9��
u6��
,
o.��
8����r�p�7��(7��
o8��
r��p(&��
o9��
u6��,
o.��
8����r�p�9��(7��
o8��
r��p(&��
o9��
u6��,
o.��
+vr�p�P��(7��
o8��
r��p(&��
o9��
u6��
	,
	o.��
+?r�p�Q��(7��
o8��
r��p(&��
o9��
u6��,o.��
++�*0���)��sl��

r
�po9��
,(om��
r��p(n��
,om��
oo��
&.op��
&r�
�po9��
,!om��
r��p(n��
,om��
oo��
&+o,��
rc�po-��
o.��
oo��
&(op��
&rz�po'��

+2	1	,op��
&	oq��
t
��r	�po:��
oo��
&	X
	or��
2�)op��
&os��
r��p-+(3��r��p(&��
+�*�0�I��+��-	8;��
(;��,#r��p-+(3��r��p(&��
	8��oi��
r6�p(j��
,?o,��
ri�po-��
o.��
o/��
r��p-+(3��r��p(&��
	8���rN�p�I��(7��
o8��
r=�p(&��
o9��
,Zr�p�J��(7��
o8��
r��p(&��
o9��
u6��
	,-	o.��
r��p-+(3��r��p(&��
	8:��rN�p�K��(7��
o8��
r=�p(&��
o9��
,]r�p�J��(7��
o8��
r��p(&��
o9��
u6��,.o.��
r��p-+(3��r��p(&��
	8����(=��
,	8����rN�p�L��(7��
o8��
r=�p(&��
o9��
,?o,��
ri�po-��
o.��
o/��
r��p-+(3��r��p(&��
	+?o,��
ri�po-��
o.��
o/��
r��p-+(3��r��p(&��
	+�	*���0���,��-~3��

8��(;��
,r�pr�p(&��

8����r�p�J��(7��
o8��
r��p(&��
o9��
u6��,|rN�p�I��(7��
o8��
r=�p(&��
o9��
,r�po.��
r�p(&��

+xrN�p�K��(7��
o8��
r=�p(&��
o9��
,r�po.��
r�p(&��

+:r�p�M��(7��
o8��
r�p(&��
o9��
u6��,	o.��

+
+�	*0����-��(+��
,(5��++�*0������(*��(6��
+�*�0�����.��r��pog��
%2Yoe��
rb�p(6��

+%r��pog��
%2
Yoe��

+o/��

r��poh��
oe��
Xo/��

�1��( ���r��pr��po5��
�rn�p�	�rz�p�(!���(t��
+�*0�i���0��-+`rN�p�S��(7��
o8��
r=�p(&��
o9��
,6r�p�T��(7��
o8��
r��p(&��
o9��
u6��
,	o.��
++�*���0�����1��r�p�U��(7��
o8��
r��p(&��
o9��

-o,��
rc�po-��
o.��
+^r��p�M��(7��
o8��
r��p(&��
o9��
-o,��
rc�po-��
o.��
+om��
r��pom��
r��p(f��
+�*0�E���0��r��po9��
u6��
,+o.��
r��p(n��
,r{�po.��
(3��(6��
++�*���0�����2��~%��%
(u��
~%��ov��
+Oo)��
t��
o"��39o#��o[��
�G��o[��
�G��(w��
,o#��o��o��3�?o*��
-��u/��,o#��
�s��~%��ox��
&�	(y��
�*������\t��������������������������������������0��������sz��
�%��*A��<?xml version="1.0" encoding="utf-8" ?>
<!--
// NAnt - A .NET build tool
// Copyright (C) 2001-2003 Gerry Shaw
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
//
// Ian MacLean (ian@maclean.ms)
// Scott Hernandez (ScottHernandez-at-Hotmail....com)
// Gert Driesen (gert.driesen@ardatis.com)
-->

<xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:NAntUtil="urn:NAntUtil" exclude-result-prefixes="NAntUtil" version="1.0">
    <xsl:include href="tags.xslt" />
    <xsl:include href="common.xslt" />
    <xsl:include href="nant-attributes.xslt" />

    <xsl:output 
        method="xml" 
        indent="yes" 
        encoding="utf-8" 
        version="1.0"  
        doctype-public="-//W3C//DTD XHTML 1.1//EN" 
        doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" 
        omit-xml-declaration="yes"
        standalone="yes"
        />

    <xsl:param name="productName"></xsl:param>
    <xsl:param name="productVersion"></xsl:param>
    <xsl:param name="productUrl"></xsl:param>

    <!-- The class we are documenting this time. This value will be passed in by the caller. argv[] equivalent. Default value is used for testing -->
    <xsl:param name="class-id">T:NAnt.Core.Types.FileSet</xsl:param>

    <!-- helper values for adjusting the paths -->
    <xsl:param name="refType">Type</xsl:param>

    <xsl:template match="/">
        <html xmlns="http://www.w3.org/1999/xhtml">
            <xsl:comment> Documenting <xsl:value-of select="$class-id" /> </xsl:comment>
            <xsl:choose>
                <xsl:when test="$refType = 'Enum'"><xsl:apply-templates select="//enumeration[@id = $class-id]" mode="EnumDoc" /></xsl:when>
                <xsl:otherwise><xsl:apply-templates select="//class[@id = $class-id]" mode="TypeDoc" /></xsl:otherwise>
            </xsl:choose>
        </html>
    </xsl:template>

    <xsl:template match="class" mode="TypeDoc">
        <xsl:variable name="name">
            <xsl:choose>
                <xsl:when test="attribute/property[@name = 'Name']">&lt;<xsl:value-of select="attribute/property[@name = 'Name']/@value" />&gt;</xsl:when>
                <xsl:otherwise><xsl:value-of select="@name" /></xsl:otherwise>
            </xsl:choose> 
        </xsl:variable>
        <xsl:variable name="parentPage">
            <xsl:choose>
                <xsl:when test="$refType = 'Task'">../tasks/index.html</xsl:when>
                <xsl:when test="$refType = 'Type'">../types/index.html</xsl:when>
                <xsl:when test="$refType = 'Filter'">../filters/index.html</xsl:when>
                <xsl:when test="$refType = 'Element'"></xsl:when>
            </xsl:choose>
        </xsl:variable>
        <head>
            <meta http-equiv="Content-Language" content="en-ca" />
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <link rel="stylesheet" type="text/css" href="../style.css" />
            <title><xsl:value-of select="$name" /><xsl:text> </xsl:text><xsl:value-of select="$refType" /></title>
        </head>
        <body>
            <table width="100%" border="0" cellspacing="0" cellpadding="2" class="NavBar">
                <tr>
                    <td class="NavBar-Cell">
                        <xsl:element name="a">
                            <xsl:attribute name="href"><xsl:value-of select="$productUrl" /></xsl:attribute>
                            <b><xsl:value-of select="$productName" /></b>
                        </xsl:element>
                        <img alt="->" src="../images/arrow.gif" />
                        <a href="../index.html">Help</a>
                        <img alt="->" src="../images/arrow.gif" />
                        <xsl:choose>
                            <xsl:when test="string-length($parentPage) > 0">
                                <a href="{$parentPage}"><xsl:value-of select="$refType" /> Reference</a>
                            </xsl:when>
                            <xsl:otherwise>
                                <span><xsl:value-of select="$refType" /> Reference</span>
                            </xsl:otherwise>
                        </xsl:choose>
                        <img alt="->" src="../images/arrow.gif" /><xsl:text> </xsl:text>
                        <xsl:value-of select="$name" />
                    </td>
                    <td class="NavBar-Cell" align="right">
                        v<xsl:value-of select="$productVersion" />
                    </td>
                </tr>
            </table>
            <h1><xsl:value-of select="$name" /></h1>
            <xsl:if test="ancestor-or-self::node()/documentation/preliminary | /ndoc/preliminary">
                <xsl:call-template name="preliminary-section"/>
            </xsl:if>
            <xsl:apply-templates select="." />
            <h3>Requirements</h3>
            <div style="margin-left: 20px;">
                <b>Assembly:</b><xsl:text> </xsl:text><xsl:value-of select="ancestor::assembly/@name" /> (<xsl:value-of select="ancestor::assembly/@version" />)
            </div>
            <xsl:call-template name="seealso-section" />
        </body>
    </xsl:template>

    <!-- match class tag for info about a type -->
    <xsl:template match="class">
        <!-- output whether type is deprecated -->
        <xsl:variable name="ObsoleteAttribute" select="attribute[@name = 'System.ObsoleteAttribute']" />
        <xsl:if test="count($ObsoleteAttribute) > 0">
            <p>
                <i>(Deprecated)</i>
            </p>
        </xsl:if>
        
        <p><xsl:apply-templates select="documentation/summary" mode="slashdoc" /></p>
        <!-- Remarks -->
        <xsl:apply-templates select="documentation/remarks" mode="slashdoc" />

        <xsl:variable name="properties" select="property[attribute/@name = 'NAnt.Core.Attributes.TaskAttributeAttribute']" />
        <xsl:if test="count($properties) != 0">
            <h3>Parameters</h3>
            <div class="table">
                <table>
                    <tr>
                        <th>Attribute</th>
                        <th style="text-align: center;">Type</th>
                        <th>Description</th>
                        <th style="text-align: center;">Required</th>
                    </tr>
                    <xsl:apply-templates select="$properties" mode="TypeDoc">
                        <!-- sort order: any property declared from the documented class, then by required, last by name-->
                        <xsl:sort select="boolean(@declaringType)" />
                        <xsl:sort select="attribute[@name = 'NAnt.Core.Attributes.TaskAttributeAttribute']/property[@name = 'Required']/@value" order="descending" />
                        <xsl:sort select="attribute[@name = 'NAnt.Core.Attributes.TaskAttributeAttribute']/property[@name = 'Name']/@value" />
                    </xsl:apply-templates>
                </table>
            </div>
        </xsl:if>

        <xsl:variable name="FrameworkProperties" select="property[attribute/@name = 'NAnt.Core.Attributes.FrameworkConfigurableAttribute']" />
        <xsl:if test="count($FrameworkProperties) != 0">
            <h3>Framework-configurable parameters</h3>
            <div class="table">
                <table>
                    <tr>
                        <th>Attribute</th>
                        <th style="text-align: center;">Type</th>
                        <th>Description</th>
                        <th style="text-align: center;">Required</th>
                    </tr>
                    <xsl:apply-templates select="$FrameworkProperties" mode="TypeDoc">
                        <xsl:sort select="attribute[@name = 'NAnt.Core.Attributes.FrameworkConfigurableAttribute']/property[@name = 'Name']/@value" />
                    </xsl:apply-templates>
                </table>
            </div>
        </xsl:if>

        <!-- nested elements -->
        <xsl:variable name="arrays" select="property[attribute/@name = 'NAnt.Core.Attributes.BuildElementArrayAttribute' ]" />
        <xsl:variable name="colls" select="property[attribute/@name = 'NAnt.Core.Attributes.BuildElementCollectionAttribute' ]" />
        <xsl:variable name="elements" select="property[attribute/@name = 'NAnt.Core.Attributes.BuildElementAttribute' ]" />
        <xsl:variable name="orderedElements" select="method[attribute/@name = 'NAnt.Core.Attributes.BuildElementAttribute' ]" />

        <xsl:if test="count($arrays) != 0 or count($elements) != 0 or count($colls) != 0 or count($orderedElements) != 0">
            <h3>Nested Elements:</h3>
            <xsl:apply-templates select="child::*/attribute" mode="NestedElements">
                <xsl:sort select="property[@name='Required' and @value='True']" />
            </xsl:apply-templates>
        </xsl:if>

        <!-- Example -->
        <xsl:if test="count(documentation/example) != 0">
            <h3>Examples</h3>
            <ul class="examples">
                <xsl:apply-templates select="documentation/example" mode="slashdoc" />
            </ul>
        </xsl:if>
    </xsl:template>

    <!-- returns the summary doc string for a given class property (called from the property templates )-->
    <xsl:template match="class/property" mode="docstring">
        <xsl:choose>
            <xsl:when test="@declaringType">
                <xsl:variable name="ObsoleteAttribute" select="//class[@id = concat('T:', current()/@declaringType)]/*[@name = current()/@name]/attribute[@name = 'System.ObsoleteAttribute']" />
                <xsl:if test="count($ObsoleteAttribute) > 0">
                    <i>Deprecated.</i>
                    <xsl:text> </xsl:text>
                </xsl:if>
                <xsl:apply-templates select="//class[@id = concat('T:', current()/@declaringType)]/*[@name = current()/@name]/documentation/summary" mode="slashdoc" />
            </xsl:when>
            <xsl:otherwise>
                <xsl:variable name="ObsoleteAttribute" select="attribute[@name = 'System.ObsoleteAttribute']" />
                <xsl:if test="count($ObsoleteAttribute) > 0">
                    <i>Deprecated.</i>
                    <xsl:text> </xsl:text>
                </xsl:if>
                <xsl:apply-templates select="documentation/summary" mode="slashdoc" />
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>

    <!-- returns the summary doc string for a given class method -->
    <xsl:template match="class/method" mode="docstring">
        <xsl:choose>
            <xsl:when test="@declaringType">
                <xsl:variable name="ObsoleteAttribute" select="//class[@id = concat('T:', current()/@declaringType)]/*[@name = current()/@name]/attribute[@name = 'System.ObsoleteAttribute']" />
                <xsl:if test="count($ObsoleteAttribute) > 0">
                    <i>Deprecated.</i>
                    <xsl:text> </xsl:text>
                </xsl:if>
                <xsl:apply-templates select="//class[@id = concat('T:', current()/@declaringType)]/*[@name = current()/@name]/documentation/summary" mode="slashdoc" />
            </xsl:when>
            <xsl:otherwise>
                <xsl:variable name="ObsoleteAttribute" select="attribute[@name = 'System.ObsoleteAttribute']" />
                <xsl:if test="count($ObsoleteAttribute) > 0">
                    <i>Deprecated.</i>
                    <xsl:text> </xsl:text>
                </xsl:if>
                <xsl:apply-templates select="documentation/summary" mode="slashdoc" />
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>

    <xsl:template match="enumeration" mode="EnumDoc">
        <xsl:variable name="name"><xsl:value-of select="@name" /></xsl:variable>
        <xsl:variable name="parentPage">../index.html</xsl:variable>
        <head>
            <meta http-equiv="Content-Language" content="en-ca" />
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <link rel="stylesheet" type="text/css" href="../style.css" />
            <title><xsl:value-of select="$name" /> enum</title>
        </head>
        <body>
            <table width="100%" border="0" cellspacing="0" cellpadding="2" class="NavBar">
                <tr>
                    <td class="NavBar-Cell">
                        <xsl:element name="a">
                            <xsl:attribute name="href"><xsl:value-of select="$productUrl" /></xsl:attribute>
                            <b><xsl:value-of select="$productName" /></b>
                        </xsl:element>
                        <img alt="->" src="../images/arrow.gif" />
                        <a href="../index.html">Help</a>
                        <img alt="->" src="../images/arrow.gif" />
                        <span><xsl:value-of select="$refType" /> Reference</span>
                        <img alt="->" src="../images/arrow.gif" /><xsl:text> </xsl:text>
                        <xsl:value-of select="$name" />
                    </td>
                    <td class="NavBar-Cell" align="right">
                        v<xsl:value-of select="$productVersion" />
                    </td>
                </tr>
            </table>
            <h1><xsl:value-of select="$name" /></h1>
            <xsl:if test="ancestor-or-self::node()/documentation/preliminary | /ndoc/preliminary">
                <xsl:call-template name="preliminary-section"/>
            </xsl:if>
            <xsl:apply-templates select="." />
            <h3>Requirements</h3>
            <div style="margin-left: 20px;">
                <b>Assembly:</b><xsl:text> </xsl:text><xsl:value-of select="ancestor::assembly/@name" /> (<xsl:value-of select="ancestor::assembly/@version" />)
            </div>
            <xsl:call-template name="seealso-section" />
        </body>
    </xsl:template>

    <!-- match enumeration tag for info about an enum type -->
    <xsl:template match="enumeration">
        <!-- output whether type is deprecated -->
        <xsl:variable name="ObsoleteAttribute" select="attribute[@name = 'System.ObsoleteAttribute']" />
        <xsl:if test="count($ObsoleteAttribute) > 0">
            <p>
                <i>(Deprecated)</i>
            </p>
        </xsl:if>
        
        <p><xsl:apply-templates select="documentation/summary" mode="slashdoc" /></p>
        <!-- Remarks -->
        <xsl:apply-templates select="documentation/remarks" mode="slashdoc" />

        <xsl:variable name="fields" select="field" />
        <xsl:if test="count($fields) != 0">
            <h3>Fields</h3>
            <div class="table">
                <table>
                    <tr>
                        <th>Field</th>
                        <th>Description</th>
                    </tr>
                    <xsl:apply-templates select="$fields" mode="EnumDoc">
                        <xsl:sort select="@name" />
                    </xsl:apply-templates>
                </table>
            </div>
        </xsl:if>
    </xsl:template>

    <!-- returns the summary doc string for a given enumeration field -->
    <xsl:template match="enumeration/field" mode="docstring">
        <xsl:variable name="ObsoleteAttribute" select="attribute[@name = 'System.ObsoleteAttribute']" />
        <xsl:if test="count($ObsoleteAttribute) > 0">
            <i>Deprecated.</i>
            <xsl:text> </xsl:text>
        </xsl:if>
        <xsl:apply-templates select="documentation/summary" mode="slashdoc" />
    </xsl:template>

    <!-- match enumeration field -->
    <xsl:template match="enumeration/field" mode="EnumDoc">
        <xsl:element name="tr">
            <xsl:element name="td">
                <xsl:attribute name="valign">top</xsl:attribute>
                <xsl:value-of select="@name" />
            </xsl:element>
            <td>
                <xsl:apply-templates mode="docstring" select="." />
            </td>
        </xsl:element>
    </xsl:template>
</xsl:stylesheet>
����<?xml version="1.0" encoding="utf-8" ?>
<!--
// NAnt - A .NET build tool
// Copyright (C) 2001-2003 Gerry Shaw
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
//
// Ian MacLean (ian@maclean.ms)
// Scott Hernandez (ScottHernandez-at-Hotmail....com)
-->

<xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:NAntUtil="urn:NAntUtil" exclude-result-prefixes="NAntUtil" version="1.0">
    <xsl:include href="tags.xslt" />
    <xsl:include href="common.xslt" />
    <xsl:include href="nant-attributes.xslt" />

    <xsl:output 
        method="xml" 
        indent="yes" 
        encoding="utf-8" 
        version="1.0"  
        doctype-public="-//W3C//DTD XHTML 1.1//EN" 
        doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" 
        omit-xml-declaration="yes"
        standalone="yes"
        />
    
    <xsl:param name="productName"></xsl:param>
    <xsl:param name="productVersion"></xsl:param>
    <xsl:param name="productUrl"></xsl:param>    
    <xsl:param name="method-id"></xsl:param>
    <xsl:param name="functionName"></xsl:param>
    <xsl:param name="refType">Function</xsl:param>

    <xsl:template match="/">
        <html xmlns="http://www.w3.org/1999/xhtml">
            <xsl:comment> Documenting <xsl:value-of select="$functionName" /> </xsl:comment>
            <xsl:apply-templates select="//method[@id=$method-id]" mode="FunctionDoc" />
        </html>
    </xsl:template>

    <xsl:template match="method" mode="FunctionDoc">
        <xsl:variable name="Prefix" select="../attribute[@name='NAnt.Core.Attributes.FunctionSetAttribute']/property[@name='Prefix']/@value" />
        <xsl:variable name="Name" select="attribute[@name='NAnt.Core.Attributes.FunctionAttribute']/property[@name='Name']/@value" />
        <xsl:variable name="name"><xsl:value-of select="$Prefix" />::<xsl:value-of select="$Name" /></xsl:variable>
        <head>
            <meta http-equiv="Content-Language" content="en-ca" />
            <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
            <link rel="stylesheet" type="text/css" href="../style.css" />
            <title><xsl:value-of select="$name" /> Function</title>
        </head>
        <body>
            <table width="100%" border="0" cellspacing="0" cellpadding="2" class="NavBar">
                <tr>
                    <td class="NavBar-Cell">
                        <xsl:element name="a">
                            <xsl:attribute name="href"><xsl:value-of select="$productUrl" /></xsl:attribute>
                            <b><xsl:value-of select="$productName" /></b>
                        </xsl:element>
                        <img alt="->" src="../images/arrow.gif" />
                        <a href="../index.html">Help</a>
                        <img alt="->" src="../images/arrow.gif" />
                        <a href="index.html">Function Reference</a>
                        <img alt="->" src="../images/arrow.gif" /><xsl:text> </xsl:text>
                        <xsl:value-of select="$name" />
                    </td>
                    <td class="NavBar-Cell" align="right">
                        v<xsl:value-of select="$productVersion" />
                    </td>
                </tr>
            </table>

            <h1><xsl:value-of select="$name" /></h1>
            <xsl:if test="ancestor-or-self::node()/documentation/preliminary | /ndoc/preliminary">
                <xsl:call-template name="preliminary-section"/>
            </xsl:if>

            <!-- output whether type is deprecated -->
            <xsl:variable name="ObsoleteAttribute" select="attribute[@name = 'System.ObsoleteAttribute']" />
            <xsl:if test="count($ObsoleteAttribute) > 0">
                <p>
                    <i>(Deprecated)</i>
                </p>
            </xsl:if>

            <p><xsl:apply-templates select="documentation/summary" mode="slashdoc" /></p>

            <h3>Usage</h3>
            <code>
                 <xsl:call-template name="get-a-href-with-name">
                    <xsl:with-param name="cref" select="concat('T:', @returnType)" />
                </xsl:call-template>
                <xsl:text> </xsl:text>
                <xsl:value-of select="$name" />(<xsl:for-each select="parameter"><xsl:if test="position() != 1">, </xsl:if><span class="parameter"><xsl:value-of select="@name" /></span></xsl:for-each>)
            </code>
            <p/>

            <xsl:if test="count(parameter) != 0">
                <h3>Parameters</h3>
                <div class="table">
                    <table>
                        <tr>
                            <th>Name</th>
                            <th>Type</th>
                            <th>Description</th>
                        </tr>
                        <xsl:for-each select="parameter">
                            <tr>
                                <td><xsl:value-of select="@name" /></td>
                                <td>
                                    <xsl:call-template name="get-a-href-with-name">
                                        <xsl:with-param name="cref" select="concat('T:', @type)" />
                                    </xsl:call-template>
                                </td>
                                <xsl:variable name="paramname" select="@name" />
                                <td><xsl:apply-templates select="../documentation/param[@name=$paramname]/node()" mode="slashdoc" /></td>
                            </tr>
                        </xsl:for-each>
                    </table>
                </div>
            </xsl:if>
            <xsl:if test="count(documentation/returns) != 0">
                <h3>Return Value</h3>
                <xsl:apply-templates select="documentation/returns/node()" mode="slashdoc" />
            </xsl:if>
            <xsl:call-template name="exceptions-section" />
            <xsl:if test="count(documentation/remarks) != 0">
                <h3>Remarks</h3>
                <xsl:apply-templates select="documentation/remarks" mode="slashdoc" />
            </xsl:if>
            <xsl:if test="count(documentation/example) != 0">
                <h3>Examples</h3>
                <ul class="examples">
                    <xsl:apply-templates select="documentation/example" mode="slashdoc" />
                </ul>
            </xsl:if>
            <h3>Requirements</h3>
            <div style="margin-left: 20px;">
                <b>Assembly:</b><xsl:text> </xsl:text><xsl:value-of select="ancestor::assembly/@name" /> (<xsl:value-of select="ancestor::assembly/@version" />)
            </div>
            <xsl:call-template name="seealso-section" />
        </body>
    </xsl:template>
    <xsl:template name="exceptions-section">
        <xsl:if test="documentation/exception">
            <h3>Exceptions</h3>
            The function will fail in any of the following circumstances:
            <div style="margin-left: 40px;">
                <ul>
                    <xsl:for-each select="documentation/exception">
                        <xsl:sort select="@name" />
                        <li>
                            <xsl:apply-templates select="./node()" mode="slashdoc" />
                            <xsl:if test="not(./node())">&#160;</xsl:if>
                        </li>
                    </xsl:for-each>
                </ul>
            </div>
        </xsl:if>
    </xsl:template>
</xsl:stylesheet>
����7��<?xml version="1.0" encoding="utf-8" ?>
<!--
// NAnt - A .NET build tool
// Copyright (C) 2003 Scott Hernandez
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
//
// Scott Hernandez (ScottHernandez-at-Hotmail....com)
-->

<xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml"  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:NAntUtil="urn:NAntUtil" exclude-result-prefixes="NAntUtil" version="1.0">
    <!-- match attribute by names -->
    <xsl:template match="attribute[@name = 'NAnt.Core.Attributes.BuildElementAttribute' and ancestor::property]" mode="NestedElements">
        <xsl:comment>Element</xsl:comment>
        <xsl:call-template name="NestedElement">
            <xsl:with-param name="elementTypeParam" select="../@type" />
        </xsl:call-template>
    </xsl:template>

    <xsl:template match="attribute[@name = 'NAnt.Core.Attributes.BuildElementAttribute' and ancestor::method]" mode="NestedElements">
        <xsl:comment>Element</xsl:comment>
        <xsl:call-template name="NestedElement">
            <xsl:with-param name="elementTypeParam" select="../parameter[position()=1]/@type" />
        </xsl:call-template>
    </xsl:template>

    <xsl:template match="attribute[@name = 'NAnt.Core.Attributes.BuildElementArrayAttribute']" mode="NestedElements">
        <xsl:comment>Array</xsl:comment>
        <xsl:call-template name="NestedElementArray">
            <xsl:with-param name="elementTypeParam">
                <xsl:choose>
                    <xsl:when test="property[@name='ElementType']/@value != 'null'">
                        <xsl:value-of select="property[@name='ElementType']/@value" />
                    </xsl:when>
                    <xsl:otherwise>
                        <xsl:variable name="elementType" select="translate(translate(concat('T:', ../@type), '[]', ''), '+', '.')" />
                        <xsl:choose>
                            <!-- check if we're dealing with array of elements -->
                            <xsl:when test="NAntUtil:IsElement($elementType)">
                                <xsl:value-of select="../@type" />
                            </xsl:when>
                            <!-- check if we're dealing with strongly typed collection -->
                            <xsl:when test="count(NAntUtil:GetClassNode($elementType)/method[@name = 'Add' and @access = 'Public' and count(child::parameter) = 1]) > 0">
                                <xsl:value-of select="NAntUtil:GetClassNode($elementType)/method[@name = 'Add' and @access = 'Public' and count(child::parameter) = 1]/child::parameter[position() = 1]/@type" />
                            </xsl:when>
                        </xsl:choose>
                    </xsl:otherwise>
                </xsl:choose>
            </xsl:with-param>
        </xsl:call-template>
    </xsl:template>

    <xsl:template match="attribute[@name = 'NAnt.Core.Attributes.BuildElementCollectionAttribute']" mode="NestedElements">
        <xsl:comment>Collection</xsl:comment>
        <xsl:call-template name="NestedElementCollection">
            <xsl:with-param name="elementTypeParam">
                <xsl:choose>
                    <xsl:when test="property[@name='ElementType']/@value != 'null'">
                        <xsl:value-of select="property[@name='ElementType']/@value" />
                    </xsl:when>
                    <xsl:otherwise>
                        <xsl:variable name="elementType" select="translate(translate(concat('T:', ../@type), '[]', ''), '+', '.')" />
                        <xsl:choose>
                            <!-- check if we're dealing with array of elements -->
                            <xsl:when test="NAntUtil:IsElement($elementType)">
                                <xsl:value-of select="../@type" />
                            </xsl:when>
                            <!-- check if we're dealing with strongly typed collection -->
                            <xsl:when test="count(NAntUtil:GetClassNode($elementType)/method[@name = 'Add' and @access = 'Public' and count(child::parameter) = 1]) > 0">
                                <xsl:value-of select="NAntUtil:GetClassNode($elementType)/method[@name = 'Add' and @access = 'Public' and count(child::parameter) = 1]/child::parameter[position() = 1]/@type" />
                            </xsl:when>
                        </xsl:choose>
                    </xsl:otherwise>
                </xsl:choose>
            </xsl:with-param>
        </xsl:call-template>
    </xsl:template>

    <xsl:template name="NestedElementArray">
        <xsl:param name="elementTypeParam" select="'#'" />
        
        <xsl:variable name="elementType" select="translate(translate(concat('T:', $elementTypeParam), '[]', ''), '+', '.')" />
        <xsl:comment>NestedElementArray=<xsl:value-of select="$elementType" /></xsl:comment>
        
        <!-- only output link when element is global type -->
        <h4>
            <xsl:element name="a">
                <xsl:attribute name="id">
                    <xsl:value-of select="property[@name='Name']/@value" />
                </xsl:attribute>
            </xsl:element>
            <!-- only output link when element is global type -->
            <xsl:choose>
                <xsl:when test="NAntUtil:IsDataType($elementType)">
                    &lt;<a href="{NAntUtil:GetHRef($elementType)}"><xsl:value-of select="property[@name='Name']/@value" /></a>&gt;
                </xsl:when>
                <xsl:otherwise>
                    &lt;<xsl:value-of select="property[@name='Name']/@value" />&gt;
                </xsl:otherwise>
            </xsl:choose>
        </h4>

        <div class="nested-element">
            <!-- generates docs from summary xmldoc comments -->
            <xsl:apply-templates select=".." mode="docstring" />

            <xsl:variable name="typeNode" select="NAntUtil:GetClassNode($elementType)" />
            <xsl:if test="$typeNode and not(NAntUtil:IsDataType($elementType))">
                <xsl:apply-templates select="$typeNode" />
            </xsl:if>
        </div>

        <h4>
            <xsl:element name="a">
                <xsl:attribute name="id">
                    <xsl:value-of select="property[@name='Name']/@value" />
                </xsl:attribute>
            </xsl:element>
            <!-- only output link when element is global type -->
            <xsl:choose>
                <xsl:when test="NAntUtil:IsDataType($elementType)">
                    &lt;/<a href="{NAntUtil:GetHRef($elementType)}"><xsl:value-of select="property[@name='Name']/@value" /></a>&gt;
                </xsl:when>
                <xsl:otherwise>
                    &lt;/<xsl:value-of select="property[@name='Name']/@value" />&gt;
                </xsl:otherwise>
            </xsl:choose>
        </h4>
    </xsl:template>

    <xsl:template name="NestedElementCollection">
        <xsl:param name="elementTypeParam" select="'#'" />
        <xsl:variable name="childElementType" select="translate(translate(concat('T:', $elementTypeParam), '[]', ''), '+', '.')" />

        <xsl:variable name="childElementName">
            <xsl:value-of select="property[@name='ChildElementName']/@value" />
        </xsl:variable>

        <h4>
            <xsl:element name="a">
                <xsl:attribute name="id">
                    <xsl:value-of select="property[@name='Name']/@value" />
                </xsl:attribute>
            </xsl:element>
            &lt;<xsl:value-of select="property[@name='Name']/@value" />&gt;
        </h4>
        
        <div class="nested-element">
            <!-- generates docs from summary xmldoc comments -->
            <xsl:apply-templates select=".." mode="docstring" />

            <!-- put child element docs inline, if not derive from DataTypeBase -->
            <xsl:variable name="childTypeNode" select="NAntUtil:GetClassNode($childElementType)" />
            <xsl:choose>
                <xsl:when test="$childTypeNode and not(NAntUtil:IsDataType($childElementType))">
                    <h5>&lt;<xsl:value-of select="$childElementName" />&gt;</h5>
                    <div class="nested-element">
                        <xsl:apply-templates select="$childTypeNode" />
                    </div>
                    <h5>&lt;/<xsl:value-of select="$childElementName" />&gt;</h5>
                </xsl:when>
                <xsl:otherwise>
                    <h5>&lt;<a href="{NAntUtil:GetHRef($childElementType)}"><xsl:value-of select="$childElementName" /></a>/&gt;</h5>
                </xsl:otherwise>
            </xsl:choose>
        </div>
       
        <h4>&lt;/<xsl:value-of select="property[@name='Name']/@value" />&gt;</h4>
    </xsl:template>

    <xsl:template name="NestedElement">
        <xsl:param name="elementTypeParam" select="'#'" />
        <xsl:variable name="elementType" select="translate(translate(concat('T:', $elementTypeParam), '[]', ''), '+', '.')" />
        
        <!-- only output link when element is global type -->
        <h4>
            <xsl:element name="a">
                <xsl:attribute name="id">
                    <xsl:value-of select="property[@name='Name']/@value" />
                </xsl:attribute>
            </xsl:element>
            <!-- only output link when element is global type -->
            <xsl:choose>
                <xsl:when test="NAntUtil:IsDataType($elementType)">
                    &lt;<a href="{NAntUtil:GetHRef($elementType)}"><xsl:value-of select="property[@name='Name']/@value" /></a>&gt;
                </xsl:when>
                <xsl:otherwise>
                    &lt;<xsl:value-of select="property[@name='Name']/@value" />&gt;
                </xsl:otherwise>
            </xsl:choose>
        </h4>

        <div class="nested-element">
            <!-- generates docs from summary xmldoc comments -->
            <xsl:apply-templates select=".." mode="docstring" />

            <!-- 
                put the nested element class docs inline if the element does 
                not derive from DataTypeBase (meaning, is not a global type)
            -->
            <xsl:variable name="typeNode" select="NAntUtil:GetClassNode($elementType)" />
            <xsl:if test="$typeNode and not(NAntUtil:IsDataType($elementType))">
                <xsl:apply-templates select="$typeNode" />
            </xsl:if>
            <p />
        </div>

        <h4>
            <xsl:element name="a">
                <xsl:attribute name="id">
                    <xsl:value-of select="property[@name='Name']/@value" />
                </xsl:attribute>
            </xsl:element>
            <!-- only output link when element is global type -->
            <xsl:choose>
                <xsl:when test="NAntUtil:IsDataType($elementType)">
                    &lt;/<a href="{NAntUtil:GetHRef($elementType)}"><xsl:value-of select="property[@name='Name']/@value" /></a>&gt;
                </xsl:when>
                <xsl:otherwise>
                    &lt;/<xsl:value-of select="property[@name='Name']/@value" />&gt;
                </xsl:otherwise>
            </xsl:choose>
        </h4>
    </xsl:template>

    <!-- match TaskAttribute property tag -->
    <xsl:template match="class/property[attribute/@name = 'NAnt.Core.Attributes.TaskAttributeAttribute']" mode="TypeDoc">
        <xsl:variable name="Required" select="attribute/property[@name = 'Required']/@value" />
        <xsl:element name="tr">
            <xsl:element name="td">
                <xsl:attribute name="valign">top</xsl:attribute>
                <xsl:if test="$Required = 'True'">
                    <xsl:attribute name="class">required</xsl:attribute>
                </xsl:if>
                <xsl:value-of select="attribute/property[@name = 'Name']/@value" />
            </xsl:element>
            <td style="text-align: center;">
                <xsl:call-template name="get-a-href-with-name">
                    <xsl:with-param name="cref" select="concat('T:', @type)" />
                </xsl:call-template>
            </td>
            <td>
                <xsl:apply-templates mode="docstring" select="." />
                <xsl:if test="attribute/property[@name='ExpandProperties' and @value='False']">
                    <p style="font-weight: bold;">
                        This attribute's properties will not be automatically expanded!
                    </p>
                </xsl:if>
                
            </td>
            <td style="text-align: center;"><xsl:value-of select="string($Required)" /></td>
        </xsl:element>
    </xsl:template>
    
    <!-- match FrameworkConfigurable property tag -->
    <xsl:template match="class/property[attribute/@name = 'NAnt.Core.Attributes.FrameworkConfigurableAttribute']" mode="TypeDoc">
        <xsl:variable name="FrameworkConfigurableAttribute" select="attribute[@name = 'NAnt.Core.Attributes.FrameworkConfigurableAttribute']" />
        <xsl:variable name="Required" select="$FrameworkConfigurableAttribute/property[@name = 'Required']/@value" />
        <tr>
            <td valign="top"><xsl:value-of select="$FrameworkConfigurableAttribute/property[@name = 'Name']/@value" /></td>
            <td style="text-align: center;">
                <xsl:call-template name="get-a-href-with-name">
                    <xsl:with-param name="cref" select="concat('T:', @type)" />
                </xsl:call-template>
            </td>
            <td><xsl:apply-templates select="." mode="docstring" /></td>
            <td style="text-align: center;"><xsl:value-of select="string($Required)" /></td>
        </tr>
    </xsl:template>
</xsl:stylesheet>
���E)��<?xml version="1.0" encoding="utf-8" ?>
<!--
// NAnt - A .NET build tool
// Copyright (C) 2001-2003 Gerry Shaw
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
//
// Ian MacLean (ian@maclean.ms)
-->
<xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:NAntUtil="urn:NAntUtil" exclude-result-prefixes="NAntUtil"
    version="1.0">
    <xsl:include href="tags.xslt" />
    <xsl:include href="common.xslt" />
    
    <xsl:output 
        method="xml" 
        indent="yes" 
        encoding="utf-8" 
        version="1.0"  
        doctype-public="-//W3C//DTD XHTML 1.1//EN" 
        doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" 
        omit-xml-declaration="yes"
        standalone="yes"
        />

    <xsl:param name="productName"></xsl:param>
    <xsl:param name="productVersion"></xsl:param>
    <xsl:param name="productUrl"></xsl:param>

    <!-- 
    this stylesheet uses 'unique' trick published at:

    http://sources.redhat.com/ml/xsl-list/2001-06/msg00066.html

    we use it to traverse a unique list of categories ordered by name
    -->
    <xsl:key name="classCategory" match="class[attribute/@name='NAnt.Core.Attributes.FunctionSetAttribute']"
        use="attribute[@name='NAnt.Core.Attributes.FunctionSetAttribute']/property[@name='Category']/@value" />

    <xsl:template match="/">
        <html xmlns="http://www.w3.org/1999/xhtml">
            <head>
                <meta http-equiv="Content-Language" content="en-ca" />
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                <meta name="description" content="Function Reference" />
                <link rel="stylesheet" type="text/css" href="../style.css" />
                <title>Function Reference</title>
            </head>
            <body>
                <table width="100%" border="0" cellspacing="0" cellpadding="2" class="NavBar">
                    <tr>
                        <td class="NavBar-Cell">
                            <xsl:element name="a">
                                <xsl:attribute name="href"><xsl:value-of select="$productUrl" /></xsl:attribute>
                                <b><xsl:value-of select="$productName" /></b>
                            </xsl:element>
                            <img alt="->" src="../images/arrow.gif" />
                            <a href="../index.html">Help</a>
                            <img alt="->" src="../images/arrow.gif" />
                            Function Reference
                        </td>
                        <td class="NavBar-Cell" align="right">
                            v<xsl:value-of select="$productVersion" />
                        </td>
                    </tr>
                </table>
                <h1>Function Reference</h1>
                <xsl:if test="ancestor-or-self::node()/documentation/preliminary | /ndoc/preliminary">
                    <xsl:call-template name="preliminary-section"/>
                </xsl:if>
                <!-- table of contents, only document functions in classes that pass NamespaceFilter -->
                <xsl:for-each select="//class[attribute/@name='NAnt.Core.Attributes.FunctionSetAttribute' and starts-with(substring(@id, 3, string-length(@id) - 2), NAntUtil:GetNamespaceFilter())]">
                    <xsl:sort select="number(attribute[@name='NAnt.Core.Attributes.FunctionSetAttribute']/property[@name='UserDocSortOrder']/@value)"
                        order="ascending" />
                    <xsl:sort select="attribute[@name='NAnt.Core.Attributes.FunctionSetAttribute']/property[@name='Category']/@value"
                        order="ascending" />
                    <xsl:variable name="this_cat" select="attribute[@name='NAnt.Core.Attributes.FunctionSetAttribute']/property[@name='Category']/@value" />
                    <!-- 'unique' - see above -->
                    <xsl:if test="generate-id()=generate-id(key('classCategory',attribute[@name='NAnt.Core.Attributes.FunctionSetAttribute']/property[@name='Category']/@value)[1])">
                        <a><xsl:attribute name="href">#<xsl:value-of select="NAntUtil:UrlEncode($this_cat)" /></xsl:attribute>
                            <xsl:value-of select="$this_cat" /> Functions</a>
                        <br />
                    </xsl:if>
                </xsl:for-each>
                <!-- only document functions in classes that pass NamespaceFilter -->
                <xsl:for-each select="//class[attribute/@name='NAnt.Core.Attributes.FunctionSetAttribute' and starts-with(substring(@id, 3, string-length(@id) - 2), NAntUtil:GetNamespaceFilter())]">
                    <xsl:sort select="number(attribute[@name='NAnt.Core.Attributes.FunctionSetAttribute']/property[@name='UserDocSortOrder']/@value)"
                        order="ascending" />
                    <xsl:sort select="attribute[@name='NAnt.Core.Attributes.FunctionSetAttribute']/property[@name='Category']/@value"
                        order="ascending" />
                    <xsl:variable name="this_cat" select="attribute[@name='NAnt.Core.Attributes.FunctionSetAttribute']/property[@name='Category']/@value" />
                    <!-- 'unique' - see above -->
                    <xsl:if test="generate-id()=generate-id(key('classCategory',attribute[@name='NAnt.Core.Attributes.FunctionSetAttribute']/property[@name='Category']/@value)[1])">
                        <a>
                            <xsl:attribute name="id">
                                <xsl:value-of select="NAntUtil:UrlEncode($this_cat)" />
                            </xsl:attribute>
                        </a>
                        <h3><xsl:value-of select="$this_cat" /> Functions</h3>
                        <div class="table">
                            <table>
                                <colgroup>
                                    <col style="white-space: nowrap;" />
                                    <col />
                                </colgroup>
                                <tr>
                                    <th>Name</th>
                                    <th>Summary</th>
                                </tr>
                                <!-- for each class having FunctionSet attribute with this category and passing NamespaceFilter, then for each method having Function attribute -->
                                <xsl:for-each select="//class[attribute[@name='NAnt.Core.Attributes.FunctionSetAttribute']/property[@name='Category']/@value=$this_cat and starts-with(substring(@id, 3, string-length(@id) - 2), NAntUtil:GetNamespaceFilter())]/method[attribute/@name='NAnt.Core.Attributes.FunctionAttribute']">
                                    <xsl:sort select="../attribute[@name='NAnt.Core.Attributes.FunctionSetAttribute']/property[@name='Prefix']/@value"
                                        order="ascending" />
                                    <xsl:sort select="attribute[@name='NAnt.Core.Attributes.FunctionAttribute']/property[@name='Name']/@value"
                                        order="ascending" />
                                    <xsl:apply-templates select="." />
                                </xsl:for-each>
                            </table>
                        </div>
                    </xsl:if>
                </xsl:for-each>
            </body>
        </html>
    </xsl:template>
    
    <xsl:template match="interface|enumeration" />
    
    <!-- match class tag -->
    <xsl:template match="method">
        <xsl:variable name="ObsoleteAttribute" select="attribute[@name='System.ObsoleteAttribute']" />
        <xsl:variable name="Prefix" select="../attribute[@name='NAnt.Core.Attributes.FunctionSetAttribute']/property[@name='Prefix']/@value" />
        <xsl:variable name="Name" select="attribute[@name='NAnt.Core.Attributes.FunctionAttribute']/property[@name='Name']/@value" />
        <xsl:variable name="Category" select="../attribute[@name='NAnt.Core.Attributes.FunctionSetAttribute']/property[@name='Category']/@value" />
        <xsl:choose>
            <!-- check if the task is deprecated -->
            <xsl:when test="count($ObsoleteAttribute) > 0">
                <xsl:variable name="IsErrorValue" select="$ObsoleteAttribute/property[@name = 'IsError']/@value" />
                <!-- only list function in index if IsError property of ObsoleteAttribute is not set to 'True' -->
                <xsl:if test="$IsErrorValue != 'True'">
                    <tr>
                        <!-- output function name in italics to indicate that its deprecated -->
                        <td>
                            <a>
                                <xsl:attribute name="href"><xsl:value-of select="string(NAntUtil:GetHRef(@id))" /></xsl:attribute>
                                <i><xsl:value-of select="$Prefix" />::<xsl:value-of select="$Name" /></i>
                            </a>
                        </td>
                        <td>
                            <xsl:apply-templates select="documentation/summary/node()" mode="slashdoc" />
                        </td>
                    </tr>
                </xsl:if>
            </xsl:when>
            <xsl:otherwise>
                <tr>
                    <td>
                        <a>
                            <xsl:attribute name="href"><xsl:value-of select="string(NAntUtil:GetHRef(@id))" /></xsl:attribute>
                            <xsl:value-of select="$Prefix" />::<xsl:value-of select="$Name" />
                        </a>
                    </td>
                    <td>
                        <xsl:apply-templates select="documentation/summary/node()" mode="slashdoc" />
                    </td>
                </tr>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>
</xsl:stylesheet>
���|��<?xml version="1.0" encoding="utf-8" ?>
<!--
// NAnt - A .NET build tool
// Copyright (C) 2001-2003 Gerry Shaw
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
//
// Ian MacLean (ian@maclean.ms)
// Gerry Shaw (gerry_shaw@yahoo.com)
-->
<xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:NAntUtil="urn:NAntUtil" exclude-result-prefixes="NAntUtil" version="1.0">
    <xsl:include href="tags.xslt" />
    <xsl:include href="common.xslt" />

    <xsl:output 
        method="xml"
        indent="yes"
        encoding="utf-8"
        version="1.0"
        doctype-public="-//W3C//DTD XHTML 1.1//EN"
        doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"
        omit-xml-declaration="yes"
        standalone="yes"
        />

    <xsl:param name="productName"></xsl:param>
    <xsl:param name="productVersion"></xsl:param>
    <xsl:param name="productUrl"></xsl:param>

    <xsl:template match="/">
        <html xmlns="http://www.w3.org/1999/xhtml">
            <head>
                <meta http-equiv="Content-Language" content="en-ca" />
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                <meta name="description" content="Task Reference" />
                <link rel="stylesheet" type="text/css" href="../style.css" />
                <title>Task Reference</title>
            </head>
            <body>
                <table width="100%" border="0" cellspacing="0" cellpadding="2" class="NavBar">
                    <tr>
                        <td class="NavBar-Cell">
                            <xsl:element name="a">
                                <xsl:attribute name="href"><xsl:value-of select="$productUrl" /></xsl:attribute>
                                <b><xsl:value-of select="$productName" /></b>
                            </xsl:element>
                            <img alt="->" src="../images/arrow.gif" />
                            <a href="../index.html">Help</a>
                            <img alt="->" src="../images/arrow.gif" />
                            Task Reference
                        </td>
                        <td class="NavBar-Cell" align="right">
                            v<xsl:value-of select="$productVersion" />
                        </td>
                    </tr>
                </table>
                <h1>Task Reference</h1>
                <xsl:if test="ancestor-or-self::node()/documentation/preliminary | /ndoc/preliminary">
                    <xsl:call-template name="preliminary-section"/>
                </xsl:if>
                <div class="table">
                    <table>
                        <colgroup>
                            <col />
                            <col />
                        </colgroup>
                        <tr>
                            <th>Task</th>
                            <th>Summary</th>
                        </tr>
                        <xsl:apply-templates select="//class[attribute/@name = 'NAnt.Core.Attributes.TaskNameAttribute']">
                            <xsl:sort select="attribute/property[@name = 'Name']/@value" />
                        </xsl:apply-templates>
                    </table>
                </div>
            </body>
        </html>
    </xsl:template>

    <xsl:template match="interface|enumeration" />

    <!-- match class tag -->
    <xsl:template match="class">
        <xsl:if test="starts-with(substring(@id, 3, string-length(@id) - 2), NAntUtil:GetNamespaceFilter()) and NAntUtil:IsTask(@id)">
            <xsl:variable name="ObsoleteAttribute" select="attribute[@name = 'System.ObsoleteAttribute']" />
            <xsl:choose>
                <!-- check if the task is deprecated -->
                <xsl:when test="count($ObsoleteAttribute) > 0">
                    <xsl:variable name="IsErrorValue" select="$ObsoleteAttribute/property[@name = 'IsError']/@value" />
                    <!-- only list task in index if IsError property of ObsoleteAttribute is not set to 'True' -->
                    <xsl:if test="$IsErrorValue != 'True'">
                        <xsl:element name="tr">
                            <!-- output task name in italics to indicate that its deprecated -->
                            <td>
                                <a>
                                    <xsl:attribute name="href"><xsl:value-of select="NAntUtil:UrlEncode(attribute[@name = 'NAnt.Core.Attributes.TaskNameAttribute']/property[@name='Name']/@value)" />.html</xsl:attribute>
                                    <i><xsl:value-of select="attribute/property[@name = 'Name']/@value" /></i>
                                </a>
                            </td>
                            <td>
                                <xsl:apply-templates select="documentation/summary/node()" mode="slashdoc" />
                            </td>
                        </xsl:element>
                    </xsl:if>
                </xsl:when>
                <xsl:otherwise>
                    <xsl:element name="tr">
                        <td>
                            <a>
                                <xsl:attribute name="href"><xsl:value-of select="NAntUtil:UrlEncode(attribute[@name = 'NAnt.Core.Attributes.TaskNameAttribute']/property[@name = 'Name']/@value)" />.html</xsl:attribute>
                                <xsl:value-of select="attribute/property[@name='Name']/@value" />
                            </a>
                        </td>
                        <td>
                            <xsl:apply-templates select="documentation/summary/node()" mode="slashdoc" />
                        </td>
                    </xsl:element>
                </xsl:otherwise>
            </xsl:choose>
        </xsl:if>
    </xsl:template>
</xsl:stylesheet>
��<?xml version="1.0" encoding="utf-8" ?>
<!--
// NAnt - A .NET build tool
// Copyright (C) 2001-2003 Gerry Shaw
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
//
// Ian MacLean (ian@maclean.ms)
-->
<xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:NAntUtil="urn:NAntUtil" exclude-result-prefixes="NAntUtil" version="1.0"> 
    <xsl:include href="tags.xslt" />
    <xsl:include href="common.xslt" />

    <xsl:output 
        method="xml" 
        indent="yes" 
        encoding="utf-8" 
        version="1.0"  
        doctype-public="-//W3C//DTD XHTML 1.1//EN" 
        doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" 
        omit-xml-declaration="yes"
        standalone="yes"
        />

    <xsl:param name="productName"></xsl:param>
    <xsl:param name="productVersion"></xsl:param>
    <xsl:param name="productUrl"></xsl:param>

    <xsl:template match="/">
        <html xmlns="http://www.w3.org/1999/xhtml">
            <head>
                <meta http-equiv="Content-Language" content="en-ca" />
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                <meta name="description" content="Data Type Reference" />
                <link rel="stylesheet" type="text/css" href="../style.css" />
                <title>Data Type Reference</title>
            </head>
            <body>
                <table width="100%" border="0" cellspacing="0" cellpadding="2" class="NavBar">
                    <tr>
                        <td class="NavBar-Cell">
                            <xsl:element name="a">
                                <xsl:attribute name="href"><xsl:value-of select="$productUrl" /></xsl:attribute>
                                <b><xsl:value-of select="$productName" /></b>
                            </xsl:element>
                            <img alt="->" src="../images/arrow.gif" />
                            <a href="../index.html">Help</a>
                            <img alt="->" src="../images/arrow.gif" />
                            Type Reference
                        </td>
                        <td class="NavBar-Cell" align="right">
                            v<xsl:value-of select="$productVersion" />
                        </td>
                    </tr>
                </table>
                <h1>Type Reference</h1>
                <xsl:if test="ancestor-or-self::node()/documentation/preliminary | /ndoc/preliminary">
                    <xsl:call-template name="preliminary-section"/>
                </xsl:if>
                <div class="table">
                    <table>
                        <tr>
                            <th>Type</th>
                            <th>Summary</th>
                        </tr>
                        <xsl:apply-templates select="//class[descendant::base/@id='T:NAnt.Core.DataTypeBase']">
                            <xsl:sort select="attribute/property[@name='Name']/@value" />
                        </xsl:apply-templates>
                    </table>
                </div>
            </body>
        </html>
    </xsl:template>
    
    <xsl:template match="interface|enumeration" />

    <!-- match class tag -->
    <xsl:template match="class">
        <!-- ensure type should actually be documented -->
        <xsl:if test="starts-with(substring(@id, 3, string-length(@id) - 2), NAntUtil:GetNamespaceFilter()) and NAntUtil:IsDataType(@id)">
            <xsl:variable name="ObsoleteAttribute" select="attribute[@name='System.ObsoleteAttribute']" />
            <xsl:choose>
                <!-- check if the task is deprecated -->
                <xsl:when test="count($ObsoleteAttribute) > 0">
                    <xsl:variable name="IsErrorValue" select="$ObsoleteAttribute/property[@name='IsError']/@value" />
                    <!-- only list type in index if IsError property of ObsoleteAttribute is not set to 'True' -->
                    <xsl:if test="$IsErrorValue != 'True'">
                        <tr>
                            <!-- output type name in italics to indicate that its deprecated -->
                            <td><a><xsl:attribute name="href"><xsl:value-of select="NAntUtil:UrlEncode(attribute/property[@name='Name']/@value)" />.html</xsl:attribute><i><xsl:value-of select="attribute[@name='NAnt.Core.Attributes.ElementNameAttribute']/property[@name='Name']/@value" /></i></a></td>
                            <td><xsl:apply-templates select="documentation/summary/node()" mode="slashdoc" /></td>
                        </tr>
                    </xsl:if>
                </xsl:when>
                <xsl:otherwise>
                    <tr>
                        <td><a><xsl:attribute name="href"><xsl:value-of select="NAntUtil:UrlEncode(attribute/property[@name='Name']/@value)" />.html</xsl:attribute><xsl:value-of select="attribute[@name='NAnt.Core.Attributes.ElementNameAttribute']/property[@name='Name']/@value" /></a></td>
                        <td><xsl:apply-templates select="documentation/summary/node()" mode="slashdoc" /></td>
                    </tr>
                </xsl:otherwise>
            </xsl:choose>
        </xsl:if>
    </xsl:template>
</xsl:stylesheet>
&��<?xml version="1.0" encoding="utf-8" ?>
<!--
// NAnt - A .NET build tool
// Copyright (C) 2001-2003 Gerry Shaw
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
//
// Gert Driesen (gert.driesen@ardatis.com)
-->
<xsl:stylesheet xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:NAntUtil="urn:NAntUtil" exclude-result-prefixes="NAntUtil" version="1.0"> 
    <xsl:include href="tags.xslt" />
    <xsl:include href="common.xslt" />

    <xsl:output 
        method="xml" 
        indent="yes" 
        encoding="utf-8" 
        version="1.0" 
        doctype-public="-//W3C//DTD XHTML 1.1//EN" 
        doctype-system="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" 
        omit-xml-declaration="yes"
        standalone="yes"
        />

    <xsl:param name="productName"></xsl:param>
    <xsl:param name="productVersion"></xsl:param>
    <xsl:param name="productUrl"></xsl:param>

    <xsl:template match="/">
        <html xmlns="http://www.w3.org/1999/xhtml">
            <head>
                <meta http-equiv="Content-Language" content="en-ca" />
                <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
                <meta name="description" content="Filter Reference" />
                <link rel="stylesheet" type="text/css" href="../style.css" />
                <title>Filter Reference</title>
            </head>
            <body>
                <table width="100%" border="0" cellspacing="0" cellpadding="2" class="NavBar">
                    <tr>
                        <td class="NavBar-Cell">
                            <xsl:element name="a">
                                <xsl:attribute name="href"><xsl:value-of select="$productUrl" /></xsl:attribute>
                                <b><xsl:value-of select="$productName" /></b>
                            </xsl:element>
                            <img alt="->" src="../images/arrow.gif" />
                            <a href="../index.html">Help</a>
                            <img alt="->" src="../images/arrow.gif" />
                            Filter Reference
                        </td>
                        <td class="NavBar-Cell" align="right">
                            v<xsl:value-of select="$productVersion" />
                        </td>
                    </tr>
                </table>
                <h1>Filter Reference</h1>
                <xsl:if test="ancestor-or-self::node()/documentation/preliminary | /ndoc/preliminary">
                    <xsl:call-template name="preliminary-section"/>
                </xsl:if>
                <div class="table">
                    <table>
                        <tr>
                            <th>Filter</th>
                            <th>Summary</th>
                        </tr>
                        <xsl:apply-templates select="//class[descendant::base/@id='T:NAnt.Core.Filters.Filter']">
                            <xsl:sort select="attribute/property[@name='Name']/@value" />
                        </xsl:apply-templates>
                    </table>
                </div>
            </body>
        </html>
    </xsl:template>
    
    <xsl:template match="interface|enumeration" />

    <!-- match class tag -->
    <xsl:template match="class">
        <!-- ensure type should actually be documented -->
        <xsl:if test="starts-with(substring(@id, 3, string-length(@id) - 2), NAntUtil:GetNamespaceFilter()) and NAntUtil:IsFilter(@id)">
            <xsl:variable name="ObsoleteAttribute" select="attribute[@name='System.ObsoleteAttribute']" />
            <xsl:choose>
                <!-- check if the task is deprecated -->
                <xsl:when test="count($ObsoleteAttribute) > 0">
                    <xsl:variable name="IsErrorValue" select="$ObsoleteAttribute/property[@name='IsError']/@value" />
                    <!-- only list type in index if IsError property of ObsoleteAttribute is not set to 'True' -->
                    <xsl:if test="$IsErrorValue != 'True'">
                        <tr>
                            <!-- output type name in italics to indicate that its deprecated -->
                            <td><a><xsl:attribute name="href"><xsl:value-of select="NAntUtil:UrlEncode(attribute/property[@name='Name']/@value)" />.html</xsl:attribute><i><xsl:value-of select="attribute[@name='NAnt.Core.Attributes.ElementNameAttribute']/property[@name='Name']/@value" /></i></a></td>
                            <td><xsl:apply-templates select="documentation/summary/node()" mode="slashdoc" /></td>
                        </tr>
                    </xsl:if>
                </xsl:when>
                <xsl:otherwise>
                    <tr>
                        <td><a><xsl:attribute name="href"><xsl:value-of select="NAntUtil:UrlEncode(attribute/property[@name='Name']/@value)" />.html</xsl:attribute><xsl:value-of select="attribute[@name='NAnt.Core.Attributes.ElementNameAttribute']/property[@name='Name']/@value" /></a></td>
                        <td><xsl:apply-templates select="documentation/summary/node()" mode="slashdoc" /></td>
                    </tr>
                </xsl:otherwise>
            </xsl:choose>
        </xsl:if>
    </xsl:template>
</xsl:stylesheet>
���=��<?xml version="1.0" encoding="utf-8" ?>
<!--
// NAnt - A .NET build tool
// Copyright (C) 2001-2003 Gerry Shaw
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
//
// Ian MacLean (ian@maclean.ms)
// Gerry Shaw (gerry_shaw@yahoo.com)
// Gert Driesen (gert.driesen@ardatis.com)
// Scott Hernandez (ScottHernandez-at-Hotmail....com)
-->
<xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:doc="http://ndoc.sf.net/doc" xmlns:NAntUtil="urn:NAntUtil" exclude-result-prefixes="doc NAntUtil">
    <!--
     | Identity Template
     +-->
    <xsl:template match="node()|@*" mode="slashdoc">
        <xsl:copy>
            <xsl:apply-templates select="@*|node()" mode="slashdoc" />
        </xsl:copy>
    </xsl:template>

    <!--
     | Block Tags
     +-->
    <doc:template>
        <summary>A normal paragraph. This ends up being a <b>p</b> tag.
        (Did we really need the extra three letters?)</summary>
    </doc:template>

    <xsl:template match="para" mode="slashdoc" doc:group="block" doc:msdn="ms-help://MS.NETFrameworkSDK/csref/html/vclrfpara.htm">
        <p>
            <xsl:apply-templates select="./node()" mode="slashdoc" />
        </p>
    </xsl:template>

    <doc:template>
        <summary>Use the lang attribute to indicate that the text of the
        paragraph is only appropriate for a specific language.</summary>
    </doc:template>

    <xsl:template match="para[@lang]" mode="slashdoc" doc:group="block">
        <p>
            <span class="lang">
                <xsl:text>[</xsl:text>
                <xsl:call-template name="get-lang">
                    <xsl:with-param name="lang" select="@lang" />
                </xsl:call-template>
                <xsl:text>]</xsl:text>
            </span>
            <xsl:text>&#160;</xsl:text>
            <xsl:apply-templates select="./node()" mode="slashdoc" />
        </p>
    </xsl:template>

    <doc:template>
        <summary>Multiple lines of code.</summary>
    </doc:template>

    <xsl:template match="code" mode="slashdoc" doc:group="block" doc:msdn="ms-help://MS.NETFrameworkSDK/csref/html/vclrfcode.htm">
        <pre class="code">
            <xsl:apply-templates mode="slashdoc" />
        </pre>
    </xsl:template>

    <doc:template>
        <summary>Use the lang attribute to indicate that the code
        sample is only appropriate for a specific language.</summary>
    </doc:template>

    <xsl:template match="code[@lang]" mode="slashdoc" doc:group="block">
        <pre class="code">
            <span class="lang">
                <xsl:text>[</xsl:text>
                <xsl:call-template name="get-lang">
                    <xsl:with-param name="lang" select="@lang" />
                </xsl:call-template>
                <xsl:text>]</xsl:text>
            </span>
            <xsl:apply-templates mode="slashdoc" />
        </pre>
    </xsl:template>

    <doc:template>
        <summary>See <a href="ms-help://MS.NETFrameworkSDK/cpref/html/frlrfSystemXmlXmlDocumentClassLoadTopic.htm">XmlDocument.Load</a>
        for an example of a note.</summary>
    </doc:template>

    <xsl:template match="h3" mode="slashdoc" doc:group="block">
        <h3>
            <xsl:apply-templates select="./node()" mode="slashdoc" />
        </h3>
    </xsl:template>

    <xsl:template match="note" mode="slashdoc" doc:group="block">
        <p class="i2">
            <xsl:choose>
                <xsl:when test="@type='caution'">
                    <b>CAUTION:</b>
                </xsl:when>
                <xsl:when test="@type='inheritinfo'">
                    <b>Notes to Inheritors: </b>
                </xsl:when>
                <xsl:when test="@type='inotes'">
                    <b>Notes to Implementers: </b>
                </xsl:when>
                <xsl:otherwise>
                    <b>Note:</b>
                </xsl:otherwise>
            </xsl:choose>
            <xsl:text> </xsl:text>
            <xsl:apply-templates mode="slashdoc" />
        </p>
    </xsl:template>

    <xsl:template match="list[@type='bullet']" mode="slashdoc" doc:group="block" doc:msdn="ms-help://MS.NETFrameworkSDK/csref/html/vclrflist.htm">
        <ul style="list-style-type: disc;">
            <xsl:apply-templates select="item" mode="slashdoc" />
        </ul>
    </xsl:template>

    <xsl:template match="list[@type='bullet']/item" mode="slashdoc" doc:msdn="ms-help://MS.NETFrameworkSDK/csref/html/vclrflist.htm">
        <li>
            <xsl:apply-templates select="./node()" mode="slashdoc" />
        </li>
    </xsl:template>

    <xsl:template match="list[@type='bullet']/item/term" mode="slashdoc" doc:msdn="ms-help://MS.NETFrameworkSDK/csref/html/vclrflist.htm">
        <b><xsl:apply-templates select="./node()" mode="slashdoc" /> - </b>
    </xsl:template>

    <xsl:template match="list[@type='bullet']/item/description" mode="slashdoc" doc:msdn="ms-help://MS.NETFrameworkSDK/csref/html/vclrflist.htm">
        <xsl:apply-templates select="./node()" mode="slashdoc" />
    </xsl:template>

    <xsl:template match="list[@type='number']" mode="slashdoc" doc:group="block" doc:msdn="ms-help://MS.NETFrameworkSDK/csref/html/vclrflist.htm">
        <ol>
            <xsl:apply-templates select="item" mode="slashdoc" />
        </ol>
    </xsl:template>

    <xsl:template match="list[@type='number']/item" mode="slashdoc" doc:msdn="ms-help://MS.NETFrameworkSDK/csref/html/vclrflist.htm">
        <li>
            <xsl:apply-templates select="./node()" mode="slashdoc" />
        </li>
    </xsl:template>

    <xsl:template match="list[@type='number']/item/term" mode="slashdoc" doc:msdn="ms-help://MS.NETFrameworkSDK/csref/html/vclrflist.htm">
        <b><xsl:apply-templates select="./node()" mode="slashdoc" /> - </b>
    </xsl:template>

    <xsl:template match="list[@type='number']/item/description" mode="slashdoc" doc:msdn="ms-help://MS.NETFrameworkSDK/csref/html/vclrflist.htm">
        <xsl:apply-templates select="./node()" mode="slashdoc" />
    </xsl:template>

    <xsl:template match="list[@type='table']" mode="slashdoc" doc:group="block" doc:msdn="ms-help://MS.NETFrameworkSDK/csref/html/vclrflist.htm">
        <div class="table">
            <table>
                <xsl:apply-templates select="listheader" mode="slashdoc" />
                <xsl:apply-templates select="item" mode="slashdoc" />
            </table>
        </div>
    </xsl:template>

    <xsl:template match="list[@type='table']/listheader" mode="slashdoc" doc:msdn="ms-help://MS.NETFrameworkSDK/csref/html/vclrflist.htm">
        <tr>
            <xsl:apply-templates mode="slashdoc" />
        </tr>
    </xsl:template>

    <xsl:template match="list[@type='table']/listheader/term" mode="slashdoc" doc:msdn="ms-help://MS.NETFrameworkSDK/csref/html/vclrflist.htm">
        <th>
            <xsl:apply-templates select="./node()" mode="slashdoc" />
        </th>
    </xsl:template>

    <xsl:template match="list[@type='table']/listheader/description" mode="slashdoc" doc:msdn="ms-help://MS.NETFrameworkSDK/csref/html/vclrflist.htm">
        <th>
            <xsl:apply-templates select="./node()" mode="slashdoc" />
        </th>
    </xsl:template>

    <xsl:template match="list[@type='table']/item" mode="slashdoc" doc:msdn="ms-help://MS.NETFrameworkSDK/csref/html/vclrflist.htm">
        <tr>
            <xsl:apply-templates mode="slashdoc" />
        </tr>
    </xsl:template>

    <xsl:template match="list[@type='table']/item/term" mode="slashdoc" doc:msdn="ms-help://MS.NETFrameworkSDK/csref/html/vclrflist.htm">
        <td>
            <xsl:apply-templates select="./node()" mode="slashdoc" />
        </td>
    </xsl:template>

    <xsl:template match="list[@type='table']/item/description" mode="slashdoc" doc:msdn="ms-help://MS.NETFrameworkSDK/csref/html/vclrflist.htm">
        <td>
            <xsl:apply-templates select="./node()" mode="slashdoc" />
        </td>
    </xsl:template>

    <!--
     | Inline Tags
     +-->
    <xsl:template match="c" mode="slashdoc" doc:group="inline" doc:msdn="ms-help://MS.NETFrameworkSDK/csref/html/vclrfc.htm">
        <code>
            <xsl:apply-templates mode="slashdoc" />
        </code>
    </xsl:template>

    <xsl:template match="paramref[@name]" mode="slashdoc" doc:group="inline" doc:msdn="ms-help://MS.NETFrameworkSDK/csref/html/vclrfparamref.htm">
        <i>
            <xsl:value-of select="@name" />
        </i>
    </xsl:template>

    <xsl:template match="see[@cref]" mode="slashdoc" doc:group="inline" doc:msdn="ms-help://MS.NETFrameworkSDK/csref/html/vclrfsee.htm">
        <xsl:call-template name="get-a-href">
            <xsl:with-param name="cref" select="@cref" />
        </xsl:call-template>
        <xsl:choose>
            <!-- if this is a task add suffix task-->
            <xsl:when test="boolean(NAntUtil:IsTask(@cref))">
                <xsl:text> task</xsl:text>
            </xsl:when>
            <!-- if this is a functionset add suffix functions -->
            <xsl:when test="boolean(NAntUtil:IsFunctionSet(@cref))">
                <xsl:text> functions</xsl:text>
            </xsl:when>
        </xsl:choose>
    </xsl:template>

    <!-- get-a-href -->
    <xsl:template name="get-a-href">
        <xsl:param name="cref" />
        <xsl:variable name="href" select="string(NAntUtil:GetHRef($cref))" />
        <xsl:choose>
            <xsl:when test="$href = ''">
                <xsl:choose>
                    <!-- if this is a task add suffix task-->
                    <xsl:when test="boolean(NAntUtil:IsTask($cref))">
                        <code>
                            <xsl:value-of select="string(NAntUtil:GetTaskName($cref))" />
                        </code>
                    </xsl:when>
                    <xsl:otherwise>
                        <code>
                            <xsl:value-of select="string(NAntUtil:GetName($cref))" />
                        </code>
                    </xsl:otherwise>
                </xsl:choose>
            </xsl:when>
            <xsl:otherwise>
                <xsl:element name="a">
                    <xsl:attribute name="href">
                        <xsl:value-of select="$href" />
                    </xsl:attribute>
                    <xsl:choose>
                        <xsl:when test="node()">
                            <xsl:value-of select="." />
                        </xsl:when>
                        <xsl:otherwise>
                            <xsl:value-of select="string(NAntUtil:GetName($cref))" />
                        </xsl:otherwise>
                    </xsl:choose>
                </xsl:element>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>

    <!-- get-a-href-with-name -->
    <xsl:template name="get-a-href-with-name">
        <xsl:param name="cref" />
        <xsl:variable name="type" select="substring($cref, 3, string-length($cref) - 2)" />
        <xsl:variable name="href">
            <xsl:choose>
                <xsl:when test="$type='System.Byte'"></xsl:when>
                <xsl:when test="$type='System.SByte'"></xsl:when>
                <xsl:when test="$type='System.Int16'"></xsl:when>
                <xsl:when test="$type='System.UInt16'"></xsl:when>
                <xsl:when test="$type='System.Int32'"></xsl:when>
                <xsl:when test="$type='System.UInt32'"></xsl:when>
                <xsl:when test="$type='System.Int64'"></xsl:when>
                <xsl:when test="$type='System.UInt64'"></xsl:when>
                <xsl:when test="$type='System.Single'"></xsl:when>
                <xsl:when test="$type='System.Double'"></xsl:when>
                <xsl:when test="$type='System.Decimal'"></xsl:when>
                <xsl:when test="$type='System.String'"></xsl:when>
                <xsl:when test="$type='System.Char'"></xsl:when>
                <xsl:when test="$type='System.Boolean'"></xsl:when>
                <xsl:when test="$type='System.IO.FileInfo'"></xsl:when>
                <xsl:when test="$type='System.IO.DirectoryInfo'"></xsl:when>
                <xsl:when test="$type='System.DateTime'"></xsl:when>
                <xsl:when test="$type='System.TimeSpan'"></xsl:when>
                <xsl:otherwise>
                    <xsl:if test="count(//enumeration[@id=$cref]) != 0 or starts-with(substring($cref, 3, string-length($cref) - 2), 'System.')">
                        <xsl:value-of select="string(NAntUtil:GetHRef($cref))" />
                    </xsl:if>
                </xsl:otherwise>
            </xsl:choose>
        </xsl:variable>
        <xsl:choose>
            <xsl:when test="$href=''">
                <xsl:call-template name="get-type-name">
                    <xsl:with-param name="type" select="substring($cref, 3, string-length($cref) - 2)" />
                </xsl:call-template>
            </xsl:when>
            <xsl:otherwise>
                <xsl:element name="a">
                    <xsl:attribute name="href">
                        <xsl:value-of select="$href" />
                    </xsl:attribute>
                    <xsl:call-template name="get-type-name">
                        <xsl:with-param name="type" select="substring($cref, 3, string-length($cref) - 2)" />
                    </xsl:call-template>
                </xsl:element>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>

    <xsl:template match="see[@href]" mode="slashdoc" doc:group="inline">
        <a href="{@href}">
            <xsl:choose>
                <xsl:when test="node()">
                    <xsl:value-of select="." />
                </xsl:when>
                <xsl:otherwise>
                    <xsl:value-of select="@href" />
                </xsl:otherwise>
            </xsl:choose>
        </a>
    </xsl:template>

    <xsl:template match="see[@langword]" mode="slashdoc" doc:group="inline">
        <xsl:choose>
            <xsl:when test="@langword='null'">
                <xsl:text>a null reference (</xsl:text>
                <b>Nothing</b>
                <xsl:text> in Visual Basic)</xsl:text>
            </xsl:when>
            <xsl:when test="@langword='sealed'">
                <xsl:text>sealed (</xsl:text>
                <b>NotInheritable</b>
                <xsl:text> in Visual Basic)</xsl:text>
            </xsl:when>
            <xsl:when test="@langword='static'">
                <xsl:text>static (</xsl:text>
                <b>Shared</b>
                <xsl:text> in Visual Basic)</xsl:text>
            </xsl:when>
            <xsl:when test="@langword='abstract'">
                <xsl:text>abstract (</xsl:text>
                <b>MustInherit</b>
                <xsl:text> in Visual Basic)</xsl:text>
            </xsl:when>
            <xsl:when test="@langword='virtual'">
                <xsl:text>virtual (</xsl:text>
                <b>CanOverride</b>
                <xsl:text> in Visual Basic)</xsl:text>
            </xsl:when>
            <xsl:otherwise>
                <b>
                    <xsl:value-of select="@langword" />
                </b>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>
</xsl:stylesheet>
��Z��<?xml version="1.0" encoding="utf-8" ?>
<!--
// NAnt - A .NET build tool
// Copyright (C) 2001-2003 Gerry Shaw
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
//
// Ian MacLean (ian@maclean.ms)
// Gerry Shaw (gerry_shaw@yahoo.com)
// Gert Driesen (gert.driesen@ardatis.com)
-->
<xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:NAntUtil="urn:NAntUtil" exclude-result-prefixes="NAntUtil">
    <xsl:template name="get-type-name">
        <xsl:param name="type" />
        <xsl:variable name="namespace">
            <xsl:value-of select="concat(../../@name, '.')" />
        </xsl:variable>
        <xsl:choose>
            <xsl:when test="contains($type, $namespace)">
                <xsl:value-of select="string(NAntUtil:GetName(concat('T:',$type)))" />
            </xsl:when>
            <xsl:otherwise>
                <xsl:call-template name="csharp-type">
                    <xsl:with-param name="runtime-type" select="$type" />
                </xsl:call-template>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>

    <xsl:template name="csharp-type">
        <xsl:param name="runtime-type" />
        <xsl:variable name="old-type">
            <xsl:choose>
                <xsl:when test="contains($runtime-type, '[')">
                    <xsl:value-of select="substring-before($runtime-type, '[')" />
                </xsl:when>
                <xsl:when test="contains($runtime-type, '&amp;')">
                    <xsl:value-of select="substring-before($runtime-type, '&amp;')" />
                </xsl:when>
                <xsl:otherwise>
                    <xsl:value-of select="$runtime-type" />
                </xsl:otherwise>
            </xsl:choose>
        </xsl:variable>
        <xsl:variable name="new-type">
            <xsl:choose>
                <xsl:when test="$old-type='System.Byte'">byte</xsl:when>
                <xsl:when test="$old-type='Byte'">byte</xsl:when>
                <xsl:when test="$old-type='System.SByte'">sbyte</xsl:when>
                <xsl:when test="$old-type='SByte'">sbyte</xsl:when>
                <xsl:when test="$old-type='System.Int16'">short</xsl:when>
                <xsl:when test="$old-type='Int16'">short</xsl:when>
                <xsl:when test="$old-type='System.UInt16'">ushort</xsl:when>
                <xsl:when test="$old-type='UInt16'">ushort</xsl:when>
                <xsl:when test="$old-type='System.Int32'">int</xsl:when>
                <xsl:when test="$old-type='Int32'">int</xsl:when>
                <xsl:when test="$old-type='System.UInt32'">uint</xsl:when>
                <xsl:when test="$old-type='UInt32'">uint</xsl:when>
                <xsl:when test="$old-type='System.Int64'">long</xsl:when>
                <xsl:when test="$old-type='Int64'">long</xsl:when>
                <xsl:when test="$old-type='System.UInt64'">ulong</xsl:when>
                <xsl:when test="$old-type='UInt64'">ulong</xsl:when>
                <xsl:when test="$old-type='System.Single'">float</xsl:when>
                <xsl:when test="$old-type='Single'">float</xsl:when>
                <xsl:when test="$old-type='System.Double'">double</xsl:when>
                <xsl:when test="$old-type='Double'">double</xsl:when>
                <xsl:when test="$old-type='System.Decimal'">decimal</xsl:when>
                <xsl:when test="$old-type='Decimal'">decimal</xsl:when>
                <xsl:when test="$old-type='System.String'">string</xsl:when>
                <xsl:when test="$old-type='String'">string</xsl:when>
                <xsl:when test="$old-type='System.Char'">char</xsl:when>
                <xsl:when test="$old-type='Char'">char</xsl:when>
                <xsl:when test="$old-type='System.Boolean'">bool</xsl:when>
                <xsl:when test="$old-type='Boolean'">bool</xsl:when>
                <xsl:when test="$old-type='System.Void'">void</xsl:when>
                <xsl:when test="$old-type='Void'">void</xsl:when>
                <xsl:when test="$old-type='System.Object'">object</xsl:when>
                <xsl:when test="$old-type='Object'">object</xsl:when>
                <xsl:when test="$old-type='System.IO.FileInfo'">file</xsl:when>
                <xsl:when test="$old-type='System.IO.DirectoryInfo'">directory</xsl:when>
                <xsl:when test="$old-type='System.DateTime'">datetime</xsl:when>
                <xsl:when test="$old-type='System.TimeSpan'">timespan</xsl:when>
                <xsl:otherwise>
                    <xsl:value-of select="string(NAntUtil:GetName(concat('T:',$runtime-type)))" />
                </xsl:otherwise>
            </xsl:choose>
        </xsl:variable>
        <xsl:choose>
            <xsl:when test="contains($runtime-type, '[')">
                <xsl:value-of select="concat($new-type, '[', substring-after($runtime-type, '['))" />
            </xsl:when>
            <xsl:otherwise>
                <xsl:value-of select="$new-type" />
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>

    <!-- strip these elements, leave the text... -->
    <xsl:template match="summary" mode="slashdoc">
        <xsl:apply-templates mode="slashdoc" />
    </xsl:template>

    <xsl:template match="remarks" mode="slashdoc">
        <xsl:apply-templates mode="slashdoc" />
    </xsl:template>

    <xsl:template match="example" mode="slashdoc">
        <li>
            <xsl:apply-templates mode="slashdoc" />
        </li>
    </xsl:template>

    <xsl:template name="seealso-section">
        <xsl:if test="documentation//seealso">
            <h3>See Also</h3>
            <xsl:for-each select="documentation//seealso">
                <xsl:choose>
                    <xsl:when test="@cref">
                        <xsl:call-template name="get-a-href">
                            <xsl:with-param name="cref" select="@cref" />
                        </xsl:call-template>
                        <!-- if this is a functionset add suffix Functions -->
                        <xsl:if test="boolean(NAntUtil:IsFunctionSet(@cref))">
                            <xsl:text> Functions</xsl:text>
                        </xsl:if>
                    </xsl:when>
                    <xsl:when test="@href">
                        <a href="{@href}">
                            <xsl:value-of select="." />
                        </a>
                    </xsl:when>
                </xsl:choose>
                <xsl:if test="position()!= last()">
                    <xsl:text> | </xsl:text>
                </xsl:if>
            </xsl:for-each>
        </xsl:if>
    </xsl:template>

    <xsl:template name="preliminary-section">
        <p class="topicstatus">
            <xsl:choose>
                <xsl:when test="documentation/preliminary[text()]">
                    <xsl:value-of select="documentation/preliminary"/>
                </xsl:when>
                <xsl:when test="ancestor::node()/documentation/preliminary[text()]">
                    <xsl:value-of select="ancestor::node()/documentation/preliminary" />
                </xsl:when>
                <xsl:otherwise>
                    <xsl:text>[This is preliminary documentation and subject to change.]</xsl:text>
                </xsl:otherwise>
            </xsl:choose>
        </p>
    </xsl:template>
</xsl:stylesheet>
������J��J�������y�������RSDSG ���1�O�h�]07#����D:\Source\nant-20090505T191601Z\build\net-1.0.win32\nant-0.86-debug\bin\NDoc.Documenter.NAnt.pdb����BSJB���������v1.0.3705������l���|��#~�������#Strings�����!�����#US��2�����#GUID����2��p��#Blob���������W�	����3������V������%���?���3���z���������3������������������	�����
�������B�-�
��������-�
������
���w������_#��m����������
�n[���
���
���
���
��
�(�
�A�
�\�
�w�
���
���
���
���
����
�1		
�X	E	�l	#��{	#�
��	����	��
��	�	
��	��
��	�
�
��&
#�
�O
�	
�Y
�	�w
#�
��
��
��
�	
��
�	
��
�	
��
�	
��
�	
��
��
��
�	
����'��
�?[
�������������D/
�_����/
�&

�8
�	�E
�
�U
�	
�
j
��
��
��
��
��
���-��@#��t^��^��^��-����y%��/�z��r%��/�����/��/�/
�I
�]%��/��/
����������������[�j��������j�	�
������j�
�������j�������&��5��H��Y��f����������P[�V�X^�V�]^�V�b^�V�r^�V���^�V�z^�V��^�����������������������Q���Q���Q���Q���Q���Q��Q���&��5��@��N��S>�xBP ������"��| ������&��� ������&��� �����&��� �����$&��!�����7&��0!�����F&��H!������Y"��`!������g*��%������u0���'�������:��@)�������"��,*�������B��X*�������I�	��*�������N�	�+������"���,������&��,���������4,�������
�L,�������
�h,�����&���,�����,����,�����$&���,�����<����,�����7&���,�����O���-�����^&��-�����n���8-������&��P-�����~���l-������F�D0������&��\0������&��t0������N��0������S��0�������&���0�������X� 1�������^�$3������^��3������
^�4������^�04������(c��4������8c�5������Ji�`6������\p��6������rv��6������}v��6�������v ��6�������v!��6�������v"�7�������^#�(7�������{$�X8��������%�x9��������'��;�������{)��<��������*�=��������,�8=������	^.�>������${/�|>������7{0�(?������O{1�|?������e�2�h@�����t�4�����	���n���w�������������������������
���
���:���:���:���:���:���:���:���������������(���(���(���(���(���(���n���(���(���(���(���(���(���:�������2���?���n���?���n�������?�������?���(���n�������2��������q����y��������������������������������������������������������������������9��"�	������Y"��������	����	����	�	�	�!��	�
�
�)8
�1g
�A��	�
�	��
�Q�1��"�1��
y�
"���
Y�� "I�3)�K0�Y6�e������I������I��&������v9��v9�
���Y����� �q��&�I��cQ��^���)��"�)��
��Y��"��/

��)�`
������
4��
:��
@��
D��
����
����
������(���?���X���n����������������������� NU"�!���)���1���1���!��"����9���I��&����9��^I��A!X�-@�8��Bv��� �K�SI�_&��m.q�B��"�I�W&��e.�s]�sd��k�z@��&�� ����a�K0���a�
����a���,�b��0�g��4�l��8�q��<�v��@�{��D����d����h����l�X�p�a�t��x��|�.�s�(.�k�b.�{�h.��(.��(.���.�3�(.�;��.�C��.�K�.�S�>.�[�K.�c���������j	��	�(	�j)��)�.)�:I�.I�(I��i�(i�.i����3��.��.��_��:di[�nsw{���^�����(/U]af�������>��")4Jq���������B���������W���W���W���'W���6W���AW����W��������W���'W���6W����W���W���{W����W��������������������	������
�������������������������������������������� ���!���"�!��#�#������V�T
��������j�����P�������#���������������
����������������
�����������������
���������V�T
��������%��������������9���������������A�����
���`�����,���������Q��D������u����������������������
�������H����������<Module>�NDoc.Documenter.NAnt.dll�NDoc.Core�NDoc.Core.Reflection�BaseReflectionDocumenter�NAntDocumenter�NDoc.Documenter.NAnt�mscorlib�System�Enum�ElementDocType�BaseReflectionDocumenterConfig�NAntDocumenterConfig�Object�NAntXsltUtilities�System.Xml�System.Xml.Xsl�XslTransform�_xsltTaskIndex�_xsltTypeIndex�_xsltFunctionIndex�_xsltFilterIndex�_xsltTypeDoc�_xsltFunctionDoc�XmlDocument�_xmlDocumentation�_resourceDirectory�System.Collections.Specialized�StringDictionary�_writtenFiles�.ctor�get_OutputDirectory�get_NamespaceFilter�get_ProductName�get_ProductVersion�get_ProductUrl�get_MainOutputFile�Clear�Project�Build�XmlNode�DocumentType�XmlElement�DocumentFunction�MakeTransforms�MakeTransform�XsltArgumentList�CreateXsltArgumentList�TransformAndWriteResult�OutputDirectory�NamespaceFilter�ProductName�ProductVersion�ProductUrl�MainOutputFile�value__�None�Task�DataTypeElement�Element�Filter�FunctionSet�_outputDirectory�_sdkLinksOnWeb�_productName�_productVersion�_productUrl�_nantBaseUri�_namespaceFilter�set_OutputDirectory�get_SdkLinksOnWeb�set_SdkLinksOnWeb�set_ProductName�set_ProductVersion�set_ProductUrl�get_NAntBaseUri�set_NAntBaseUri�set_NamespaceFilter�SdkLinksOnWeb�NAntBaseUri�SdkDoc10BaseUrl�SdkDoc11BaseUrl�SdkDocPageExt�MsdnOnlineSdkBaseUrl�MsdnOnlineSdkPageExt�SystemPrefix�MicrosoftWin32Prefix�_sdkDocBaseUrl�_sdkDocExt�_elementNames�_doc�_config�System.Collections�ArrayList�Instances�get_SdkDocBaseUrl�get_SdkDocExt�get_Document�get_Config�GetNamespaceFilter�System.Xml.XPath�XPathNodeIterator�GetClassNode�GetHRef�GetName�GetTaskName�GetElementName�GetTypeNodeByID�GetMethodNodeByID�GetElementDocType�GetElementDocTypeByID�IsDataType�IsElement�IsFilter�IsTask�IsFunctionSet�UrlEncode�GetElementNameForProperty�GetFileNameForFunction�GetFileNameForType�GetElementNameForType�GetFilenameForSystemMember�GetTaskNameForType�GetElementNameForMethod�GetHRefForFunctionSet�CreateInstance�.cctor�SdkDocBaseUrl�SdkDocExt�Document�Config�System.Reflection�AssemblyKeyNameAttribute�AssemblyDelaySignAttribute�AssemblyInformationalVersionAttribute�AssemblyVersionAttribute�AssemblyCultureAttribute�AssemblyTrademarkAttribute�AssemblyCopyrightAttribute�AssemblyProductAttribute�AssemblyCompanyAttribute�AssemblyConfigurationAttribute�AssemblyDescriptionAttribute�AssemblyTitleAttribute�CLSCompliantAttribute�System.Runtime.InteropServices�ComVisibleAttribute�System.Diagnostics�DebuggableAttribute�BaseDocumenter�IDocumenterConfig�set_Config�project�OnDocBuildingStep�Environment�SpecialFolder�GetFolderPath�System.IO�Path�Combine�Type�GetType�Module�get_Module�Assembly�get_Assembly�EmbeddedResources�WriteEmbeddedResources�Directory�DirectoryInfo�CreateDirectory�DocumenterException�Exception�GetTempFileName�MakeXmlFile�FileStream�FileMode�FileAccess�FileShare�Stream�Load�IDisposable�Dispose�File�Delete�AddExtensionObject�String�Concat�XmlNodeList�SelectNodes�IEnumerator�GetEnumerator�get_Current�MoveNext�typeNode�docType�utilities�ArgumentNullException�XmlAttributeCollection�get_Attributes�XmlAttribute�get_ItemOf�get_Value�Substring�StartsWith�ContainsValue�Add�Empty�AddParam�Replace�NAnt.Core�NAnt.Core.Attributes�BuildElementArrayAttribute�RuntimeTypeHandle�GetTypeFromHandle�get_FullName�SelectSingleNode�BuildElementCollectionAttribute�functionElement�GetAttribute�OnDocBuildingProgress�transform�fileName�arguments�filename�System.Text�Encoding�get_UTF8�StreamWriter�IXPathNavigable�TextWriter�Transform�System.Globalization�CultureInfo�get_InvariantCulture�DateTime�get_Now�get_Year�Int32�IFormatProvider�Format�set_CopyrightText�set_CopyrightHref�set_ShowMissingParams�set_ShowMissingRemarks�set_ShowMissingReturns�set_ShowMissingSummaries�set_ShowMissingValues�set_DocumentAttributes�set_DocumentEmptyNamespaces�set_DocumentInternals�set_DocumentPrivates�set_DocumentProtected�set_SkipNamespacesWithoutSummaries�EditorBrowsableFilterLevel�set_EditorBrowsableFilter�value�BaseDocumenterConfig�SetDirty�System.ComponentModel�CategoryAttribute�DescriptionAttribute�DefaultValueAttribute�doc�config�SdkVersion�get_SdkDocVersion�set_Item�get_Name�IsInterned�get_Item�id�XPathNavigator�CreateNavigator�Select�cref�get_Length�get_Chars�EndsWith�IndexOf�LastIndexOf�get_LocalName�op_Equality�DataTypeBase�ElementNameAttribute�NAnt.Core.Filters�FunctionSetAttribute�System.Web�HttpUtility�propertyNode�TaskAttributeAttribute�BuildElementAttribute�FrameworkConfigurableAttribute�functionNode�urlEncode�StringBuilder�get_InnerText�op_Inequality�Append�get_Count�ToString�type�TaskNameAttribute�methodNode�FunctionAttribute�System.Threading�Monitor�Enter�Equals�Exit�Documenter.xslt.type-doc.xslt�Documenter.xslt.function-doc.xslt�Documenter.xslt.nant-attributes.xslt�Documenter.xslt.function-index.xslt�Documenter.xslt.task-index.xslt�Documenter.xslt.type-index.xslt�Documenter.xslt.filter-index.xslt�Documenter.xslt.tags.xslt�Documenter.xslt.common.xslt�����	N�A�n�t���I�n�i�t�i�a�l�i�z�i�n�g�.�.�.��	N�D�o�c��D�o�c�u�m�e�n�t�e�r�.�x�s�l�t��	x�s�l�t��e�l�e�m�e�n�t�s��f�u�n�c�t�i�o�n�s��t�y�p�e�s��t�a�s�k�s��e�n�u�m�s��f�i�l�t�e�r�s��YT�h�e� �o�u�t�p�u�t� �d�i�r�e�c�t�o�r�i�e�s� �c�o�u�l�d� �n�o�t� �b�e� �c�r�e�a�t�e�d�.��9M�e�r�g�i�n�g� �X�M�L� �d�o�c�u�m�e�n�t�a�t�i�o�n�.�.�.��'B�u�i�l�d�i�n�g� �m�a�p�p�i�n�g�.�.�.��u�r�n�:�N�A�n�t�U�t�i�l��7C�r�e�a�t�i�n�g� �T�a�s�k� �I�n�d�e�x� �P�a�g�e�.�.�.��!t�a�s�k�s�/�i�n�d�e�x�.�h�t�m�l��7C�r�e�a�t�i�n�g� �T�y�p�e� �I�n�d�e�x� �P�a�g�e�.�.�.��!t�y�p�e�s�/�i�n�d�e�x�.�h�t�m�l��;C�r�e�a�t�i�n�g� �F�i�l�t�e�r� �I�n�d�e�x� �P�a�g�e�.�.�.��%f�i�l�t�e�r�s�/�i�n�d�e�x�.�h�t�m�l��?C�r�e�a�t�i�n�g� �F�u�n�c�t�i�o�n� �I�n�d�e�x� �P�a�g�e�.�.�.��)f�u�n�c�t�i�o�n�s�/�i�n�d�e�x�.�h�t�m�l��9G�e�n�e�r�a�t�i�n�g� �T�a�s�k� �D�o�c�u�m�e�n�t�s�.�.�.����/�/�c�l�a�s�s�[�s�t�a�r�t�s�-�w�i�t�h�(�s�u�b�s�t�r�i�n�g�(�@�i�d�,� �3�,� �s�t�r�i�n�g�-�l�e�n�g�t�h�(�@�i�d�)� �-� �2�)�,� �'�'�)�]�AG�e�n�e�r�a�t�i�n�g� �F�u�n�c�t�i�o�n� �D�o�c�u�m�e�n�t�s�.�.�.���!/�/�m�e�t�h�o�d�[�a�t�t�r�i�b�u�t�e�/�@�n�a�m�e� �=� �'�N�A�n�t�.�C�o�r�e�.�A�t�t�r�i�b�u�t�e�s�.�F�u�n�c�t�i�o�n�A�t�t�r�i�b�u�t�e�'� �a�n�d� �a�n�c�e�s�t�o�r�:�:�c�l�a�s�s�[�s�t�a�r�t�s�-�w�i�t�h�(�s�u�b�s�t�r�i�n�g�(�@�i�d�,� �3�,� �s�t�r�i�n�g�-�l�e�n�g�t�h�(�@�i�d�)� �-� �2�)�,� �'�	'�)�]�]�C�o�m�p�l�e�t�e��t�y�p�e�N�o�d�e��i�d��c�l�a�s�s�-�i�d�	T�y�p�e��E�l�e�m�e�n�t��	T�a�s�k��	E�n�u�m��
F�i�l�t�e�r��
O�t�h�e�r�?��r�e�f�T�y�p�e��'p�r�o�p�e�r�t�y�[�a�t�t�r�i�b�u�t�e�]��T�:��	t�y�p�e��[�]��#a�t�t�r�i�b�u�t�e�[�@�n�a�m�e�=�'�'�]�/�/�c�l�a�s�s�[�@�i�d�=�'�M'�]�/�m�e�t�h�o�d�[�@�n�a�m�e�=�'�A�d�d�'�]�/�p�a�r�a�m�e�t�e�r�/�@�t�y�p�e�Aa�t�t�r�i�b�u�t�e�/�p�r�o�p�e�r�t�y�[�@�E�l�e�m�e�n�t�T�y�p�e�]��v�a�l�u�e��+��.��f�u�n�c�t�i�o�n�E�l�e�m�e�n�t��m�e�t�h�o�d�-�i�d�F�u�n�c�t�i�o�n��f�u�n�c�t�i�o�n�N�a�m�e��	n�a�m�e��p�a�r�a�m�e�t�e�r�/�@�t�y�p�e��r�e�t�u�r�n�T�y�p�e��t�a�s�k�-�i�n�d�e�x�.�x�s�l�t�t�y�p�e�-�i�n�d�e�x�.�x�s�l�t�#f�i�l�t�e�r�-�i�n�d�e�x�.�x�s�l�t�'f�u�n�c�t�i�o�n�-�i�n�d�e�x�.�x�s�l�t�t�y�p�e�-�d�o�c�.�x�s�l�t�#f�u�n�c�t�i�o�n�-�d�o�c�.�x�s�l�t�p�r�o�d�u�c�t�N�a�m�e��p�r�o�d�u�c�t�V�e�r�s�i�o�n��p�r�o�d�u�c�t�U�r�l��d�o�c�/�h�e�l�p�/�t�a�s�k�s��CC�o�p�y�r�i�g�h�t� �(�C�)� �2�0�0�1�-�{�0�}� �G�e�r�r�y� �S�h�a�w�9h�t�t�p�:�/�/�n�a�n�t�.�s�o�u�r�c�e�f�o�r�g�e�.�n�e�t�/����h�t�t�p�:�/�/�m�s�d�n�.�m�i�c�r�o�s�o�f�t�.�c�o�m�/�l�i�b�r�a�r�y�/�d�e�f�a�u�l�t�.�a�s�p�?�u�r�l�=�/�l�i�b�r�a�r�y�/�e�n�-�u�s�/�c�p�r�e�f�/�h�t�m�l�/�f�r�l�r�f�	.�a�s�p��[m�s�-�h�e�l�p�:�/�/�M�S�.�N�E�T�F�r�a�m�e�w�o�r�k�S�D�K�/�c�p�r�e�f�/�h�t�m�l�/�f�r�l�r�f�	.�h�t�m��cm�s�-�h�e�l�p�:�/�/�M�S�.�N�E�T�F�r�a�m�e�w�o�r�k�S�D�K�v�1�.�1�/�c�p�r�e�f�/�h�t�m�l�/�f�r�l�r�f�/�/�c�l�a�s�s��
*�[�@�i�d�]��c�o�n�s�t�r�u�c�t�o�r��f�i�e�l�d��p�r�o�p�e�r�t�y��
m�e�t�h�o�d��o�p�e�r�a�t�o�r��e�v�e�n�t��S�y�s�t�e�m�.��!M�i�c�r�o�s�o�f�t�.�W�i�n�3�2�.��M�:��N�A�n�t�.��N�A�n�t�.�C�o�n�t�r�i�b��.�.�/��N�:��F�:��P�:��E�:��C�l�a�s�s�T�o�p�i�c��.�#�c��(��'/�/�e�n�u�m�e�r�a�t�i�o�n�[�@�i�d�=�'�/�/�m�e�t�h�o�d�[�@�i�d�=�'�e�n�u�m�e�r�a�t�i�o�n��1d�e�s�c�e�n�d�a�n�t�:�:�b�a�s�e�[�@�i�d�=�'�T�:�E'�]�/�p�r�o�p�e�r�t�y�[�@�n�a�m�e�=�'�P�r�e�f�i�x�'�]�/�@�v�a�l�u�e�A'�]�/�p�r�o�p�e�r�t�y�[�@�n�a�m�e�=�'�N�a�m�e�'�]�/�@�v�a�l�u�e���.�.�/�a�t�t�r�i�b�u�t�e�[�@�n�a�m�e�=�'�N�A�n�t�.�C�o�r�e�.�A�t�t�r�i�b�u�t�e�s�.�F�u�n�c�t�i�o�n�S�e�t�A�t�t�r�i�b�u�t�e�'�]�/�p�r�o�p�e�r�t�y�[�@�n�a�m�e�=�'�P�r�e�f�i�x�'�]�/�@�v�a�l�u�e���a�t�t�r�i�b�u�t�e�[�@�n�a�m�e�=�'�N�A�n�t�.�C�o�r�e�.�A�t�t�r�i�b�u�t�e�s�.�F�u�n�c�t�i�o�n�A�t�t�r�i�b�u�t�e�'�]�/�p�r�o�p�e�r�t�y�[�@�n�a�m�e�=�'�N�a�m�e�'�]�/�@�v�a�l�u�e�p�a�r�a�m�e�t�e�r��f�u�n�c�t�i�o�n�s�/��.�h�t�m�l��
t�a�s�k�s�/��
e�n�u�m�s�/��
t�y�p�e�s�/��f�i�l�t�e�r�s�/��e�l�e�m�e�n�t�s�/��.�.�/�s�d�k�/��<��>��I'�]�/�p�r�o�p�e�r�t�y�[�@�n�a�m�e�=�'�C�a�t�e�g�o�r�y�'�]�/�@�v�a�l�u�e�.�c�t�o�r��C�l�a�s�s��T�o�p�i�c��).�.�/�a�t�t�r�i�b�u�t�e�[�@�n�a�m�e�=�'�:�:��(�)����a�t�t�r�i�b�u�t�e�[�@�n�a�m�e�=�'�N�A�n�t�.�C�o�r�e�.�A�t�t�r�i�b�u�t�e�s�.�F�u�n�c�t�i�o�n�S�e�t�A�t�t�r�i�b�u�t�e�'�]�/�p�r�o�p�e�r�t�y�[�@�n�a�m�e�=�'�C�a�t�e�g�o�r�y�'�]�/�@�v�a�l�u�e�+f�u�n�c�t�i�o�n�s�/�i�n�d�e�x�.�h�t�m�l�#���\�D�F�iح�XK+���e�	�z\V4�� � � !	 % )  �- -(�����������������������  � (�Zm�s�-�h�e�l�p�:�/�/�M�S�.�N�E�T�F�r�a�m�e�w�o�r�k�S�D�K�/�c�p�r�e�f�/�h�t�m�l�/�f�r�l�r�f�bm�s�-�h�e�l�p�:�/�/�M�S�.�N�E�T�F�r�a�m�e�w�o�r�k�S�D�K�v�1�.�1�/�c�p�r�e�f�/�h�t�m�l�/�f�r�l�r�f�.�h�t�m���h�t�t�p�:�/�/�m�s�d�n�.�m�i�c�r�o�s�o�f�t�.�c�o�m�/�l�i�b�r�a�r�y�/�d�e�f�a�u�l�t�.�a�s�p�?�u�r�l�=�/�l�i�b�r�a�r�y�/�e�n�-�u�s�/�c�p�r�e�f�/�h�t�m�l�/�f�r�l�r�f�.�a�s�p�S�y�s�t�e�m�.� M�i�c�r�o�s�o�f�t�.�W�i�n�3�2�.�1  � � 5  % %   % % ���(�(�  �y y ���� ��� ��� ��������� ���� !
 ������ ��� � �� ��� �)������-��%��)��������������-������%) ��� ��    �����-%%��%%������
-��%��%���� --���� �� ��-�������������� �	�� �	���� �Documentation Main Settings��N�IThe path to the output directory where the generated docs will be placed.��M�HTurning this flag on will point all SDK links to the online MSDN library�������Output��I�DThe name of the product for which documentation should be generated.��	�NAnt��L�GThe version of the product for which documentation should be generated.��W�RThe URL of the website of the product for which documentation should be generated.��+�&The base URI for linking to NAnt docs.��S�NThe root namespace to document, or an empty string to document all namespaces.�� �����)��)���������� ��!%55  � %%%��?_�
:������������� �I �I %�I%��)�I
����
����%�	��%%�  1����	�0.86��'�"Copyright (C) 2001-2009 Gerry Shaw�� �http://nant.sourceforge.net���nightly���A .NET Build Tool������������������������ �����������������������������������_CorDllMain�mscoree.dll������%� @������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������0����������������������H���X��������������4���V�S�_�V�E�R�S�I�O�N�_�I�N�F�O�����������V�����T
V�������?�������������������������D����V�a�r�F�i�l�e�I�n�f�o�����$����T�r�a�n�s�l�a�t�i�o�n�������� ���S�t�r�i�n�g�F�i�l�e�I�n�f�o�������0�0�0�0�0�4�b�0���<���C�o�m�m�e�n�t�s���A� �.�N�E�T� �B�u�i�l�d� �T�o�o�l���X���C�o�m�p�a�n�y�N�a�m�e�����h�t�t�p�:�/�/�n�a�n�t�.�s�o�u�r�c�e�f�o�r�g�e�.�n�e�t���4���F�i�l�e�D�e�s�c�r�i�p�t�i�o�n�����N�A�n�t�����8���F�i�l�e�V�e�r�s�i�o�n�����0�.�8�6�.�3�4�1�2�.�0���T���I�n�t�e�r�n�a�l�N�a�m�e���N�D�o�c�.�D�o�c�u�m�e�n�t�e�r�.�N�A�n�t�.�d�l�l�����l�#��L�e�g�a�l�C�o�p�y�r�i�g�h�t���C�o�p�y�r�i�g�h�t� �(�C�)� �2�0�0�1�-�2�0�0�9� �G�e�r�r�y� �S�h�a�w�����,���L�e�g�a�l�T�r�a�d�e�m�a�r�k�s����� ���\���O�r�i�g�i�n�a�l�F�i�l�e�n�a�m�e���N�D�o�c�.�D�o�c�u�m�e�n�t�e�r�.�N�A�n�t�.�d�l�l�����,���P�r�o�d�u�c�t�N�a�m�e�����N�A�n�t�����0���P�r�o�d�u�c�t�V�e�r�s�i�o�n���0�.�8�6�����@���A�s�s�e�m�b�l�y� �V�e�r�s�i�o�n���0�.�8�6�.�3�4�1�2�.�0����������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������4������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������